diff --git a/ProductApp/Podfile b/ProductApp/Podfile index 8c6b7c1..e20e435 100644 --- a/ProductApp/Podfile +++ b/ProductApp/Podfile @@ -55,6 +55,7 @@ pod 'IJKMediaFramework' pod 'GPUImage', '~> 0.1.7' + post_install do |installer| installer.generated_projects.each do |project| project.targets.each do |target| diff --git a/ProductApp/Podfile.lock b/ProductApp/Podfile.lock index 13df17e..cc0dabb 100644 --- a/ProductApp/Podfile.lock +++ b/ProductApp/Podfile.lock @@ -147,6 +147,6 @@ SPEC CHECKSUMS: YYText: 5c461d709e24d55a182d1441c41dc639a18a4849 ZXSDK: 414bed508b670437a9bdf7c75d49816b8cb7b2d4 -PODFILE CHECKSUM: 1554ca8f2595affc7e6b34bd057cd94aede8c771 +PODFILE CHECKSUM: bcc8f6d45a6d9e9ca08dab989a3fbfb48ab85b82 COCOAPODS: 1.16.2 diff --git a/ProductApp/Pods/Manifest.lock b/ProductApp/Pods/Manifest.lock index 13df17e..cc0dabb 100644 --- a/ProductApp/Pods/Manifest.lock +++ b/ProductApp/Pods/Manifest.lock @@ -147,6 +147,6 @@ SPEC CHECKSUMS: YYText: 5c461d709e24d55a182d1441c41dc639a18a4849 ZXSDK: 414bed508b670437a9bdf7c75d49816b8cb7b2d4 -PODFILE CHECKSUM: 1554ca8f2595affc7e6b34bd057cd94aede8c771 +PODFILE CHECKSUM: bcc8f6d45a6d9e9ca08dab989a3fbfb48ab85b82 COCOAPODS: 1.16.2 diff --git a/ProductApp/Pods/Pods.xcodeproj/project.pbxproj b/ProductApp/Pods/Pods.xcodeproj/project.pbxproj index cb99c74..6446a89 100644 --- a/ProductApp/Pods/Pods.xcodeproj/project.pbxproj +++ b/ProductApp/Pods/Pods.xcodeproj/project.pbxproj @@ -786,10 +786,10 @@ C9BECB705B57C9CA396F20CE1D15FEBB /* GPUImageLuminosity.h in Headers */ = {isa = PBXBuildFile; fileRef = CEA8415B54BB965FEB95721C10E085DE /* GPUImageLuminosity.h */; settings = {ATTRIBUTES = (Public, ); }; }; C9E19D164C26414115CC969ED9A303C1 /* MASLayoutConstraint.m in Sources */ = {isa = PBXBuildFile; fileRef = 226C0A85199BDEF6F5EA53D307D2FBFF /* MASLayoutConstraint.m */; }; C9EA8ADF176E3A9958740431739FA3E4 /* YYTextTransaction.m in Sources */ = {isa = PBXBuildFile; fileRef = 6298C84AE7B5F5BBDD0708B311158809 /* YYTextTransaction.m */; }; - CA1622BC2DB3996D00DC4977 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = CA1622BB2DB3996D00DC4977 /* PrivacyInfo.xcprivacy */; }; - CA1622BE2DB3997900DC4977 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = CA1622BD2DB3997900DC4977 /* PrivacyInfo.xcprivacy */; }; - CA1622C02DB3998000DC4977 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = CA1622BF2DB3998000DC4977 /* PrivacyInfo.xcprivacy */; }; - CA1622C22DB3998A00DC4977 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = CA1622C12DB3998A00DC4977 /* PrivacyInfo.xcprivacy */; }; + CA346DA72DBA387A003ACC9A /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = CA346DA62DBA387A003ACC9A /* PrivacyInfo.xcprivacy */; }; + CA346DA92DBA3895003ACC9A /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = CA346DA82DBA3895003ACC9A /* PrivacyInfo.xcprivacy */; }; + CA346DAB2DBA38AB003ACC9A /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = CA346DAA2DBA38AB003ACC9A /* PrivacyInfo.xcprivacy */; }; + CA346DAD2DBA38C2003ACC9A /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = CA346DAC2DBA38C2003ACC9A /* PrivacyInfo.xcprivacy */; }; CAAB694385C9A801C78AB8DBE8347DD4 /* LSTTimer.m in Sources */ = {isa = PBXBuildFile; fileRef = 121FC3F8B11EEDDD9BBDA7B531D1513A /* LSTTimer.m */; }; CAC6AAA190B25BEB0E1AC58E17FD306E /* GPUImageVignetteFilter.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BAA70E1314696C9AFE5E1841699BF6A /* GPUImageVignetteFilter.h */; settings = {ATTRIBUTES = (Public, ); }; }; CB523A85597E60951556592B5A0C6E24 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8F600F1CA15D691D31DDF0276857B5E8 /* QuartzCore.framework */; }; @@ -1990,11 +1990,11 @@ C9851AEC079A715E46465DF335EEBD48 /* GPUImage3x3ConvolutionFilter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GPUImage3x3ConvolutionFilter.m; path = framework/Source/GPUImage3x3ConvolutionFilter.m; sourceTree = ""; }; C9A2E21C31DE2E3131A6CAFDCD231267 /* GPUImageRGBDilationFilter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GPUImageRGBDilationFilter.m; path = framework/Source/GPUImageRGBDilationFilter.m; sourceTree = ""; }; C9F746C8FD4A4F4033D7847DD09A837D /* GPUImageSingleComponentGaussianBlurFilter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GPUImageSingleComponentGaussianBlurFilter.m; path = framework/Source/GPUImageSingleComponentGaussianBlurFilter.m; sourceTree = ""; }; - CA1622BB2DB3996D00DC4977 /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = PrivacyInfo.xcprivacy; sourceTree = ""; }; - CA1622BD2DB3997900DC4977 /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = PrivacyInfo.xcprivacy; sourceTree = ""; }; - CA1622BF2DB3998000DC4977 /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = PrivacyInfo.xcprivacy; sourceTree = ""; }; - CA1622C12DB3998A00DC4977 /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = PrivacyInfo.xcprivacy; sourceTree = ""; }; CA267BB7199D3688F0BA429134BB5CDD /* GPUImage-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "GPUImage-Info.plist"; sourceTree = ""; }; + CA346DA62DBA387A003ACC9A /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = PrivacyInfo.xcprivacy; sourceTree = ""; }; + CA346DA82DBA3895003ACC9A /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = PrivacyInfo.xcprivacy; sourceTree = ""; }; + CA346DAA2DBA38AB003ACC9A /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = PrivacyInfo.xcprivacy; sourceTree = ""; }; + CA346DAC2DBA38C2003ACC9A /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = PrivacyInfo.xcprivacy; sourceTree = ""; }; CA5EFA32D9C41C2D0E3CCF850491B733 /* GTCommonSDK.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = GTCommonSDK.debug.xcconfig; sourceTree = ""; }; CAE8F8F4597186B5E3C392390810B230 /* GPUImageLocalBinaryPatternFilter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GPUImageLocalBinaryPatternFilter.m; path = framework/Source/GPUImageLocalBinaryPatternFilter.m; sourceTree = ""; }; CAF177272A6C2EC127E83FFBBD0D383E /* GPUImageExclusionBlendFilter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GPUImageExclusionBlendFilter.h; path = framework/Source/GPUImageExclusionBlendFilter.h; sourceTree = ""; }; @@ -2563,7 +2563,6 @@ 3BEBF6F920D22C7C36313114D58C7465 /* IQKeyboardManager */ = { isa = PBXGroup; children = ( - CA1622BD2DB3997900DC4977 /* PrivacyInfo.xcprivacy */, 5C4B30BFD3FBFF2B60E4C05C2AC62522 /* IQBarButtonItem.h */, 48369F2018B664EDDDBB167FD2CABBF9 /* IQBarButtonItem.m */, 2A05F81EBDD3BEE1213FF041CDFABB90 /* IQKeyboardManager.h */, @@ -2592,6 +2591,7 @@ 935CDF98EE5F469FCA9D477F0D0B07C6 /* IQUIView+IQKeyboardToolbar.m */, 295337B6229D2202B7214376D600487F /* IQUIViewController+Additions.h */, 18C1160BC489D1F57F7EA340ABAFFA51 /* IQUIViewController+Additions.m */, + CA346DA82DBA3895003ACC9A /* PrivacyInfo.xcprivacy */, 1226E2495447ADEAB873E8096632BE47 /* Support Files */, ); path = IQKeyboardManager; @@ -2656,7 +2656,6 @@ 4FF2F86D64CC2575524B4A5139D59B90 /* AFNetworking */ = { isa = PBXGroup; children = ( - CA1622BB2DB3996D00DC4977 /* PrivacyInfo.xcprivacy */, B795F1A6955DDD466997D27377C809FC /* AFNetworking.h */, F9EA88B854072D929C34AF5AC9994CC1 /* NSURLSession */, C4CC74FD4CC57F669A121477DAF75D76 /* Reachability */, @@ -2664,6 +2663,7 @@ 5BFFCA1708646B0633933C429065FA63 /* Serialization */, 4B8A5731B36E3AEAC4AFC60DFF2F3EE4 /* Support Files */, DB0D5BA0B3943BDE22916B0C317A5AC7 /* UIKit */, + CA346DA62DBA387A003ACC9A /* PrivacyInfo.xcprivacy */, ); path = AFNetworking; sourceTree = ""; @@ -3176,10 +3176,10 @@ 72B88ED2D4BE5FDF1F7D6994999EB7AD /* Reachability */ = { isa = PBXGroup; children = ( - CA1622C12DB3998A00DC4977 /* PrivacyInfo.xcprivacy */, 6B493CCDE374C010469FD509019F86CD /* Reachability.h */, 6DF395687D44DF71467C2B21D0EAC894 /* Reachability.m */, 9D05990688A8B997EE1ADAF21E0FFD0A /* Support Files */, + CA346DAC2DBA38C2003ACC9A /* PrivacyInfo.xcprivacy */, ); path = Reachability; sourceTree = ""; @@ -3351,7 +3351,7 @@ 9AC28619FF446F94BBA664458C8DEECF /* MBProgressHUD */ = { isa = PBXGroup; children = ( - CA1622BF2DB3998000DC4977 /* PrivacyInfo.xcprivacy */, + CA346DAA2DBA38AB003ACC9A /* PrivacyInfo.xcprivacy */, 3C317C35AD622FBA114C582966C9CD1D /* MBProgressHUD.h */, E176DA2A37585DE44BB3ADB2618802FC /* MBProgressHUD.m */, 50A96AF9B95438E6DF56347516F4545F /* Support Files */, @@ -5094,7 +5094,7 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - CA1622BC2DB3996D00DC4977 /* PrivacyInfo.xcprivacy in Resources */, + CA346DA72DBA387A003ACC9A /* PrivacyInfo.xcprivacy in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -5102,7 +5102,7 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - CA1622C22DB3998A00DC4977 /* PrivacyInfo.xcprivacy in Resources */, + CA346DAD2DBA38C2003ACC9A /* PrivacyInfo.xcprivacy in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -5118,7 +5118,7 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - CA1622BE2DB3997900DC4977 /* PrivacyInfo.xcprivacy in Resources */, + CA346DA92DBA3895003ACC9A /* PrivacyInfo.xcprivacy in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -5133,7 +5133,7 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - CA1622C02DB3998000DC4977 /* PrivacyInfo.xcprivacy in Resources */, + CA346DAB2DBA38AB003ACC9A /* PrivacyInfo.xcprivacy in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/ProductApp/ProductApp.xcodeproj/project.pbxproj b/ProductApp/ProductApp.xcodeproj/project.pbxproj index 7a73e61..372462c 100644 --- a/ProductApp/ProductApp.xcodeproj/project.pbxproj +++ b/ProductApp/ProductApp.xcodeproj/project.pbxproj @@ -13,6 +13,11 @@ CA1622B82DB3913100DC4977 /* ShiPinDianHuaShowView.m in Sources */ = {isa = PBXBuildFile; fileRef = CA1622B62DB3913100DC4977 /* ShiPinDianHuaShowView.m */; }; CA1622B92DB3913100DC4977 /* CamerMYSonView.m in Sources */ = {isa = PBXBuildFile; fileRef = CA1622B12DB3913100DC4977 /* CamerMYSonView.m */; }; CA1622BA2DB3913100DC4977 /* CamerMYYuLanView.m in Sources */ = {isa = PBXBuildFile; fileRef = CA1622B32DB3913100DC4977 /* CamerMYYuLanView.m */; }; + CA346D022DB9C69C003ACC9A /* MyFaBuShiPinSonCollectionViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = CA346D012DB9C69C003ACC9A /* MyFaBuShiPinSonCollectionViewCell.m */; }; + CA346D062DB9C7DB003ACC9A /* MyFaBuShiPinDetailViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CA346D052DB9C7DB003ACC9A /* MyFaBuShiPinDetailViewController.m */; }; + CA346D0A2DB9C7FD003ACC9A /* MyFaBuShiPinDetailView.m in Sources */ = {isa = PBXBuildFile; fileRef = CA346D092DB9C7FD003ACC9A /* MyFaBuShiPinDetailView.m */; }; + CA346D0D2DB9CF55003ACC9A /* UserMaterialModel.m in Sources */ = {isa = PBXBuildFile; fileRef = CA346D0C2DB9CF55003ACC9A /* UserMaterialModel.m */; }; + CA346D102DB9D250003ACC9A /* MaterialTagModel.m in Sources */ = {isa = PBXBuildFile; fileRef = CA346D0F2DB9D250003ACC9A /* MaterialTagModel.m */; }; CA3CD5792D913CFA002707C1 /* TimeTools.m in Sources */ = {isa = PBXBuildFile; fileRef = CA3CD5782D913CFA002707C1 /* TimeTools.m */; }; CA3CD57A2D913CFA002707C1 /* Tools.m in Sources */ = {isa = PBXBuildFile; fileRef = CA3CD5762D913CFA002707C1 /* Tools.m */; }; CA3CD5C92D913E12002707C1 /* MIUAES.m in Sources */ = {isa = PBXBuildFile; fileRef = CA3CD5C42D913E12002707C1 /* MIUAES.m */; }; @@ -25,12 +30,6 @@ CA4401092DA3724C00DFD65C /* D-DIN-PRO-500-Medium.otf in Resources */ = {isa = PBXBuildFile; fileRef = CA4401082DA3724C00DFD65C /* D-DIN-PRO-500-Medium.otf */; }; CA4401742DA3B12800DFD65C /* TTTAttributedLabel.m in Sources */ = {isa = PBXBuildFile; fileRef = CA4401722DA3B12800DFD65C /* TTTAttributedLabel.m */; }; CA44018E2DA3C76E00DFD65C /* D-DIN-PRO-700-Bold.otf in Resources */ = {isa = PBXBuildFile; fileRef = CA44018D2DA3C76E00DFD65C /* D-DIN-PRO-700-Bold.otf */; }; - CA651D992DB1E2D200B37092 /* ShiPinJiLuViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CA651D982DB1E2D200B37092 /* ShiPinJiLuViewController.m */; }; - CA651D9D2DB1E6B500B37092 /* JiLuAudioView.m in Sources */ = {isa = PBXBuildFile; fileRef = CA651D9C2DB1E6B500B37092 /* JiLuAudioView.m */; }; - CA651DA22DB1E6C500B37092 /* JiLuAudioTableViewCellOModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA651DA12DB1E6C500B37092 /* JiLuAudioTableViewCellOModel.swift */; }; - CA651DA32DB1E6C500B37092 /* JiLuAudioTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = CA651DA02DB1E6C500B37092 /* JiLuAudioTableViewCell.m */; }; - CA651DA82DB1E6CC00B37092 /* JiLuAudioPlayView.m in Sources */ = {isa = PBXBuildFile; fileRef = CA651DA52DB1E6CC00B37092 /* JiLuAudioPlayView.m */; }; - CA651DA92DB1E6CC00B37092 /* JiLuAudioPlayViewOModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA651DA62DB1E6CC00B37092 /* JiLuAudioPlayViewOModel.swift */; }; CA651DBA2DB22C2D00B37092 /* ZhiXunViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CA651DB92DB22C2D00B37092 /* ZhiXunViewController.m */; }; CA651DBE2DB230B300B37092 /* ZhiXunFenLaiModel.m in Sources */ = {isa = PBXBuildFile; fileRef = CA651DBD2DB230B300B37092 /* ZhiXunFenLaiModel.m */; }; CA651DC22DB2320800B37092 /* ZhiXunFenLaiView.m in Sources */ = {isa = PBXBuildFile; fileRef = CA651DC12DB2320800B37092 /* ZhiXunFenLaiView.m */; }; @@ -40,6 +39,31 @@ CA87E1AE2DA66AF900005681 /* load_start.pag in Resources */ = {isa = PBXBuildFile; fileRef = CA87E1AD2DA66AF900005681 /* load_start.pag */; }; CA87E1AF2DA66AF900005681 /* download_progress.pag in Resources */ = {isa = PBXBuildFile; fileRef = CA87E1AB2DA66AF900005681 /* download_progress.pag */; }; CA87E1B02DA66AF900005681 /* download_success.pag in Resources */ = {isa = PBXBuildFile; fileRef = CA87E1AC2DA66AF900005681 /* download_success.pag */; }; + CA93AC052DB8B988005BB040 /* ShuCaiKuViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CA93AC042DB8B988005BB040 /* ShuCaiKuViewController.m */; }; + CA93AC202DB8BA1A005BB040 /* JiLuAudioPlayView.m in Sources */ = {isa = PBXBuildFile; fileRef = CA93AC072DB8BA1A005BB040 /* JiLuAudioPlayView.m */; }; + CA93AC212DB8BA1A005BB040 /* JiLuAudioView.m in Sources */ = {isa = PBXBuildFile; fileRef = CA93AC172DB8BA1A005BB040 /* JiLuAudioView.m */; }; + CA93AC222DB8BA1A005BB040 /* JiLuImageCollectionViewCellOModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA93AC0F2DB8BA1A005BB040 /* JiLuImageCollectionViewCellOModel.swift */; }; + CA93AC232DB8BA1A005BB040 /* JiLuImageCollectionViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = CA93AC0E2DB8BA1A005BB040 /* JiLuImageCollectionViewCell.m */; }; + CA93AC242DB8BA1A005BB040 /* RecordImageModel.m in Sources */ = {isa = PBXBuildFile; fileRef = CA93AC122DB8BA1A005BB040 /* RecordImageModel.m */; }; + CA93AC252DB8BA1A005BB040 /* RecordImageModelSuper.m in Sources */ = {isa = PBXBuildFile; fileRef = CA93AC142DB8BA1A005BB040 /* RecordImageModelSuper.m */; }; + CA93AC262DB8BA1A005BB040 /* JiLuAudioTableViewCellOModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA93AC0C2DB8BA1A005BB040 /* JiLuAudioTableViewCellOModel.swift */; }; + CA93AC272DB8BA1A005BB040 /* JiLuViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CA93AC1E2DB8BA1A005BB040 /* JiLuViewController.m */; }; + CA93AC282DB8BA1A005BB040 /* JiLuHeaderView.m in Sources */ = {isa = PBXBuildFile; fileRef = CA93AC192DB8BA1A005BB040 /* JiLuHeaderView.m */; }; + CA93AC292DB8BA1A005BB040 /* JiLuAudioTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = CA93AC0B2DB8BA1A005BB040 /* JiLuAudioTableViewCell.m */; }; + CA93AC2A2DB8BA1A005BB040 /* JiLuAudioPlayViewOModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA93AC082DB8BA1A005BB040 /* JiLuAudioPlayViewOModel.swift */; }; + CA93AC2B2DB8BA1A005BB040 /* JiLuImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = CA93AC1B2DB8BA1A005BB040 /* JiLuImageView.m */; }; + CA93AC2F2DB8BC5A005BB040 /* ShuCaiKuHeaderView.m in Sources */ = {isa = PBXBuildFile; fileRef = CA93AC2E2DB8BC5A005BB040 /* ShuCaiKuHeaderView.m */; }; + CA93AC332DB8C1E3005BB040 /* ShuCaiKuViewCollectionViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = CA93AC322DB8C1E3005BB040 /* ShuCaiKuViewCollectionViewCell.m */; }; + CA93AC362DB8C724005BB040 /* WaterFallLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = CA93AC352DB8C724005BB040 /* WaterFallLayout.m */; }; + CA93AC392DB8CF14005BB040 /* ShuCaiKuViewLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = CA93AC382DB8CF14005BB040 /* ShuCaiKuViewLayout.m */; }; + CA93AC3D2DB8D70C005BB040 /* ShuCaiKuDetailViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CA93AC3C2DB8D70C005BB040 /* ShuCaiKuDetailViewController.m */; }; + CA93AC412DB8D746005BB040 /* ShuCaiKuDetailView.m in Sources */ = {isa = PBXBuildFile; fileRef = CA93AC402DB8D746005BB040 /* ShuCaiKuDetailView.m */; }; + CA93AC452DB8DF4D005BB040 /* ShuCaiKuFaBuViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CA93AC442DB8DF4D005BB040 /* ShuCaiKuFaBuViewController.m */; }; + CA93AC492DB8E3BA005BB040 /* ShuCaiKuFaBuView.m in Sources */ = {isa = PBXBuildFile; fileRef = CA93AC482DB8E3BA005BB040 /* ShuCaiKuFaBuView.m */; }; + CA93AC4C2DB8ECC9005BB040 /* ShuCaiKuFaBuTypeAlterView.m in Sources */ = {isa = PBXBuildFile; fileRef = CA93AC4B2DB8ECC9005BB040 /* ShuCaiKuFaBuTypeAlterView.m */; }; + CA93AC502DB8EE97005BB040 /* ShuCaiKuFaBuTypeAlterCollectionViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = CA93AC4F2DB8EE97005BB040 /* ShuCaiKuFaBuTypeAlterCollectionViewCell.m */; }; + CA93AC542DB8F54C005BB040 /* MyFaBuShiPinViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CA93AC532DB8F54C005BB040 /* MyFaBuShiPinViewController.m */; }; + CA93AC572DB8F674005BB040 /* MyFaBuShiPinSonViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CA93AC562DB8F674005BB040 /* MyFaBuShiPinSonViewController.m */; }; CA9935012D9CEA7200E3F6CB /* AlimamaShuHeiTi.ttf in Resources */ = {isa = PBXBuildFile; fileRef = CA9935002D9CEA7200E3F6CB /* AlimamaShuHeiTi.ttf */; }; CAAD73522DA4B2AC00927BA5 /* ffmpeg.c in Sources */ = {isa = PBXBuildFile; fileRef = CAAD72C12DA4B2AC00927BA5 /* ffmpeg.c */; }; CAAD73532DA4B2AC00927BA5 /* cmdutils.c in Sources */ = {isa = PBXBuildFile; fileRef = CAAD72BB2DA4B2AC00927BA5 /* cmdutils.c */; }; @@ -72,7 +96,6 @@ CAAD737D2DA4B35000927BA5 /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CAAD737C2DA4B35000927BA5 /* OpenGLES.framework */; }; CAAD737F2DA4B35C00927BA5 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CAAD737E2DA4B35C00927BA5 /* QuartzCore.framework */; }; CAAD73AE2DA4CAE300927BA5 /* CustomAssetResourceLoader.m in Sources */ = {isa = PBXBuildFile; fileRef = CAAD73AD2DA4CAE300927BA5 /* CustomAssetResourceLoader.m */; }; - CAAF720B2DB0D72C007DCA17 /* log_tmc.png in Resources */ = {isa = PBXBuildFile; fileRef = CAAF720A2DB0D72C007DCA17 /* log_tmc.png */; }; CAC346EC2D9E249F00E7E3D6 /* WMLightView.m in Sources */ = {isa = PBXBuildFile; fileRef = CAC346E52D9E249F00E7E3D6 /* WMLightView.m */; }; CAC346ED2D9E249F00E7E3D6 /* WMPlayer.m in Sources */ = {isa = PBXBuildFile; fileRef = CAC346E82D9E249F00E7E3D6 /* WMPlayer.m */; }; CAC346EE2D9E249F00E7E3D6 /* WMPlayerModel.m in Sources */ = {isa = PBXBuildFile; fileRef = CAC346EA2D9E249F00E7E3D6 /* WMPlayerModel.m */; }; @@ -384,6 +407,16 @@ CA1622B32DB3913100DC4977 /* CamerMYYuLanView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = CamerMYYuLanView.m; sourceTree = ""; }; CA1622B52DB3913100DC4977 /* ShiPinDianHuaShowView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ShiPinDianHuaShowView.h; sourceTree = ""; }; CA1622B62DB3913100DC4977 /* ShiPinDianHuaShowView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ShiPinDianHuaShowView.m; sourceTree = ""; }; + CA346D002DB9C69C003ACC9A /* MyFaBuShiPinSonCollectionViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MyFaBuShiPinSonCollectionViewCell.h; sourceTree = ""; }; + CA346D012DB9C69C003ACC9A /* MyFaBuShiPinSonCollectionViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MyFaBuShiPinSonCollectionViewCell.m; sourceTree = ""; }; + CA346D042DB9C7DB003ACC9A /* MyFaBuShiPinDetailViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MyFaBuShiPinDetailViewController.h; sourceTree = ""; }; + CA346D052DB9C7DB003ACC9A /* MyFaBuShiPinDetailViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MyFaBuShiPinDetailViewController.m; sourceTree = ""; }; + CA346D082DB9C7FD003ACC9A /* MyFaBuShiPinDetailView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MyFaBuShiPinDetailView.h; sourceTree = ""; }; + CA346D092DB9C7FD003ACC9A /* MyFaBuShiPinDetailView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MyFaBuShiPinDetailView.m; sourceTree = ""; }; + CA346D0B2DB9CF55003ACC9A /* UserMaterialModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = UserMaterialModel.h; sourceTree = ""; }; + CA346D0C2DB9CF55003ACC9A /* UserMaterialModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = UserMaterialModel.m; sourceTree = ""; }; + CA346D0E2DB9D250003ACC9A /* MaterialTagModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MaterialTagModel.h; sourceTree = ""; }; + CA346D0F2DB9D250003ACC9A /* MaterialTagModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MaterialTagModel.m; sourceTree = ""; }; CA3CD5752D913CFA002707C1 /* Tools.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Tools.h; sourceTree = ""; }; CA3CD5762D913CFA002707C1 /* Tools.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = Tools.m; sourceTree = ""; }; CA3CD5772D913CFA002707C1 /* TimeTools.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TimeTools.h; sourceTree = ""; }; @@ -405,16 +438,6 @@ CA4401712DA3B12800DFD65C /* TTTAttributedLabel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TTTAttributedLabel.h; sourceTree = ""; }; CA4401722DA3B12800DFD65C /* TTTAttributedLabel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = TTTAttributedLabel.m; sourceTree = ""; }; CA44018D2DA3C76E00DFD65C /* D-DIN-PRO-700-Bold.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "D-DIN-PRO-700-Bold.otf"; sourceTree = ""; }; - CA651D972DB1E2D200B37092 /* ShiPinJiLuViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ShiPinJiLuViewController.h; sourceTree = ""; }; - CA651D982DB1E2D200B37092 /* ShiPinJiLuViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ShiPinJiLuViewController.m; sourceTree = ""; }; - CA651D9B2DB1E6B500B37092 /* JiLuAudioView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = JiLuAudioView.h; sourceTree = ""; }; - CA651D9C2DB1E6B500B37092 /* JiLuAudioView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = JiLuAudioView.m; sourceTree = ""; }; - CA651D9F2DB1E6C500B37092 /* JiLuAudioTableViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = JiLuAudioTableViewCell.h; sourceTree = ""; }; - CA651DA02DB1E6C500B37092 /* JiLuAudioTableViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = JiLuAudioTableViewCell.m; sourceTree = ""; }; - CA651DA12DB1E6C500B37092 /* JiLuAudioTableViewCellOModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = JiLuAudioTableViewCellOModel.swift; sourceTree = ""; }; - CA651DA42DB1E6CC00B37092 /* JiLuAudioPlayView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = JiLuAudioPlayView.h; sourceTree = ""; }; - CA651DA52DB1E6CC00B37092 /* JiLuAudioPlayView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = JiLuAudioPlayView.m; sourceTree = ""; }; - CA651DA62DB1E6CC00B37092 /* JiLuAudioPlayViewOModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = JiLuAudioPlayViewOModel.swift; sourceTree = ""; }; CA651DB82DB22C2D00B37092 /* ZhiXunViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ZhiXunViewController.h; sourceTree = ""; }; CA651DB92DB22C2D00B37092 /* ZhiXunViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ZhiXunViewController.m; sourceTree = ""; }; CA651DBC2DB230B300B37092 /* ZhiXunFenLaiModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ZhiXunFenLaiModel.h; sourceTree = ""; }; @@ -430,6 +453,53 @@ CA87E1AB2DA66AF900005681 /* download_progress.pag */ = {isa = PBXFileReference; lastKnownFileType = file; path = download_progress.pag; sourceTree = ""; }; CA87E1AC2DA66AF900005681 /* download_success.pag */ = {isa = PBXFileReference; lastKnownFileType = file; path = download_success.pag; sourceTree = ""; }; CA87E1AD2DA66AF900005681 /* load_start.pag */ = {isa = PBXFileReference; lastKnownFileType = file; path = load_start.pag; sourceTree = ""; }; + CA93AC032DB8B988005BB040 /* ShuCaiKuViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ShuCaiKuViewController.h; sourceTree = ""; }; + CA93AC042DB8B988005BB040 /* ShuCaiKuViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ShuCaiKuViewController.m; sourceTree = ""; }; + CA93AC062DB8BA1A005BB040 /* JiLuAudioPlayView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = JiLuAudioPlayView.h; sourceTree = ""; }; + CA93AC072DB8BA1A005BB040 /* JiLuAudioPlayView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = JiLuAudioPlayView.m; sourceTree = ""; }; + CA93AC082DB8BA1A005BB040 /* JiLuAudioPlayViewOModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = JiLuAudioPlayViewOModel.swift; sourceTree = ""; }; + CA93AC0A2DB8BA1A005BB040 /* JiLuAudioTableViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = JiLuAudioTableViewCell.h; sourceTree = ""; }; + CA93AC0B2DB8BA1A005BB040 /* JiLuAudioTableViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = JiLuAudioTableViewCell.m; sourceTree = ""; }; + CA93AC0C2DB8BA1A005BB040 /* JiLuAudioTableViewCellOModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = JiLuAudioTableViewCellOModel.swift; sourceTree = ""; }; + CA93AC0D2DB8BA1A005BB040 /* JiLuImageCollectionViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = JiLuImageCollectionViewCell.h; sourceTree = ""; }; + CA93AC0E2DB8BA1A005BB040 /* JiLuImageCollectionViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = JiLuImageCollectionViewCell.m; sourceTree = ""; }; + CA93AC0F2DB8BA1A005BB040 /* JiLuImageCollectionViewCellOModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = JiLuImageCollectionViewCellOModel.swift; sourceTree = ""; }; + CA93AC112DB8BA1A005BB040 /* RecordImageModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RecordImageModel.h; sourceTree = ""; }; + CA93AC122DB8BA1A005BB040 /* RecordImageModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RecordImageModel.m; sourceTree = ""; }; + CA93AC132DB8BA1A005BB040 /* RecordImageModelSuper.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RecordImageModelSuper.h; sourceTree = ""; }; + CA93AC142DB8BA1A005BB040 /* RecordImageModelSuper.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RecordImageModelSuper.m; sourceTree = ""; }; + CA93AC162DB8BA1A005BB040 /* JiLuAudioView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = JiLuAudioView.h; sourceTree = ""; }; + CA93AC172DB8BA1A005BB040 /* JiLuAudioView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = JiLuAudioView.m; sourceTree = ""; }; + CA93AC182DB8BA1A005BB040 /* JiLuHeaderView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = JiLuHeaderView.h; sourceTree = ""; }; + CA93AC192DB8BA1A005BB040 /* JiLuHeaderView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = JiLuHeaderView.m; sourceTree = ""; }; + CA93AC1A2DB8BA1A005BB040 /* JiLuImageView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = JiLuImageView.h; sourceTree = ""; }; + CA93AC1B2DB8BA1A005BB040 /* JiLuImageView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = JiLuImageView.m; sourceTree = ""; }; + CA93AC1D2DB8BA1A005BB040 /* JiLuViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = JiLuViewController.h; sourceTree = ""; }; + CA93AC1E2DB8BA1A005BB040 /* JiLuViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = JiLuViewController.m; sourceTree = ""; }; + CA93AC2D2DB8BC5A005BB040 /* ShuCaiKuHeaderView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ShuCaiKuHeaderView.h; sourceTree = ""; }; + CA93AC2E2DB8BC5A005BB040 /* ShuCaiKuHeaderView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ShuCaiKuHeaderView.m; sourceTree = ""; }; + CA93AC312DB8C1E3005BB040 /* ShuCaiKuViewCollectionViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ShuCaiKuViewCollectionViewCell.h; sourceTree = ""; }; + CA93AC322DB8C1E3005BB040 /* ShuCaiKuViewCollectionViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ShuCaiKuViewCollectionViewCell.m; sourceTree = ""; }; + CA93AC342DB8C724005BB040 /* WaterFallLayout.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WaterFallLayout.h; sourceTree = ""; }; + CA93AC352DB8C724005BB040 /* WaterFallLayout.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = WaterFallLayout.m; sourceTree = ""; }; + CA93AC372DB8CF14005BB040 /* ShuCaiKuViewLayout.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ShuCaiKuViewLayout.h; sourceTree = ""; }; + CA93AC382DB8CF14005BB040 /* ShuCaiKuViewLayout.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ShuCaiKuViewLayout.m; sourceTree = ""; }; + CA93AC3B2DB8D70C005BB040 /* ShuCaiKuDetailViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ShuCaiKuDetailViewController.h; sourceTree = ""; }; + CA93AC3C2DB8D70C005BB040 /* ShuCaiKuDetailViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ShuCaiKuDetailViewController.m; sourceTree = ""; }; + CA93AC3F2DB8D746005BB040 /* ShuCaiKuDetailView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ShuCaiKuDetailView.h; sourceTree = ""; }; + CA93AC402DB8D746005BB040 /* ShuCaiKuDetailView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ShuCaiKuDetailView.m; sourceTree = ""; }; + CA93AC432DB8DF4D005BB040 /* ShuCaiKuFaBuViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ShuCaiKuFaBuViewController.h; sourceTree = ""; }; + CA93AC442DB8DF4D005BB040 /* ShuCaiKuFaBuViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ShuCaiKuFaBuViewController.m; sourceTree = ""; }; + CA93AC472DB8E3BA005BB040 /* ShuCaiKuFaBuView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ShuCaiKuFaBuView.h; sourceTree = ""; }; + CA93AC482DB8E3BA005BB040 /* ShuCaiKuFaBuView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ShuCaiKuFaBuView.m; sourceTree = ""; }; + CA93AC4A2DB8ECC9005BB040 /* ShuCaiKuFaBuTypeAlterView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ShuCaiKuFaBuTypeAlterView.h; sourceTree = ""; }; + CA93AC4B2DB8ECC9005BB040 /* ShuCaiKuFaBuTypeAlterView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ShuCaiKuFaBuTypeAlterView.m; sourceTree = ""; }; + CA93AC4E2DB8EE97005BB040 /* ShuCaiKuFaBuTypeAlterCollectionViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ShuCaiKuFaBuTypeAlterCollectionViewCell.h; sourceTree = ""; }; + CA93AC4F2DB8EE97005BB040 /* ShuCaiKuFaBuTypeAlterCollectionViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ShuCaiKuFaBuTypeAlterCollectionViewCell.m; sourceTree = ""; }; + CA93AC522DB8F54C005BB040 /* MyFaBuShiPinViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MyFaBuShiPinViewController.h; sourceTree = ""; }; + CA93AC532DB8F54C005BB040 /* MyFaBuShiPinViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MyFaBuShiPinViewController.m; sourceTree = ""; }; + CA93AC552DB8F674005BB040 /* MyFaBuShiPinSonViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MyFaBuShiPinSonViewController.h; sourceTree = ""; }; + CA93AC562DB8F674005BB040 /* MyFaBuShiPinSonViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MyFaBuShiPinSonViewController.m; sourceTree = ""; }; CA9935002D9CEA7200E3F6CB /* AlimamaShuHeiTi.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = AlimamaShuHeiTi.ttf; sourceTree = ""; }; CAAD72BA2DA4B2AC00927BA5 /* cmdutils_common_opts.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = cmdutils_common_opts.h; sourceTree = ""; }; CAAD72BB2DA4B2AC00927BA5 /* cmdutils.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = cmdutils.c; sourceTree = ""; }; @@ -583,7 +653,6 @@ CAAD737E2DA4B35C00927BA5 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; CAAD73AC2DA4CAE300927BA5 /* CustomAssetResourceLoader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CustomAssetResourceLoader.h; sourceTree = ""; }; CAAD73AD2DA4CAE300927BA5 /* CustomAssetResourceLoader.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = CustomAssetResourceLoader.m; sourceTree = ""; }; - CAAF720A2DB0D72C007DCA17 /* log_tmc.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = log_tmc.png; sourceTree = ""; }; CAC346DF2D9E249F00E7E3D6 /* UIViewController+ShouldAutorotate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "UIViewController+ShouldAutorotate.h"; sourceTree = ""; }; CAC346E02D9E249F00E7E3D6 /* UIViewController+ShouldAutorotate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "UIViewController+ShouldAutorotate.m"; sourceTree = ""; }; CAC346E22D9E249F00E7E3D6 /* FastForwardView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = FastForwardView.h; sourceTree = ""; }; @@ -1260,6 +1329,34 @@ path = view; sourceTree = ""; }; + CA346CFF2DB9C68A003ACC9A /* cell */ = { + isa = PBXGroup; + children = ( + CA346D002DB9C69C003ACC9A /* MyFaBuShiPinSonCollectionViewCell.h */, + CA346D012DB9C69C003ACC9A /* MyFaBuShiPinSonCollectionViewCell.m */, + ); + path = cell; + sourceTree = ""; + }; + CA346D032DB9C7BB003ACC9A /* 详情 */ = { + isa = PBXGroup; + children = ( + CA346D072DB9C7F3003ACC9A /* view */, + CA346D042DB9C7DB003ACC9A /* MyFaBuShiPinDetailViewController.h */, + CA346D052DB9C7DB003ACC9A /* MyFaBuShiPinDetailViewController.m */, + ); + path = "详情"; + sourceTree = ""; + }; + CA346D072DB9C7F3003ACC9A /* view */ = { + isa = PBXGroup; + children = ( + CA346D082DB9C7FD003ACC9A /* MyFaBuShiPinDetailView.h */, + CA346D092DB9C7FD003ACC9A /* MyFaBuShiPinDetailView.m */, + ); + path = view; + sourceTree = ""; + }; CA3CD5C22D913E12002707C1 /* otherAES */ = { isa = PBXGroup; children = ( @@ -1288,47 +1385,6 @@ path = TTTAttributedLabel; sourceTree = ""; }; - CA651D962DB1E2BB00B37092 /* 记录 */ = { - isa = PBXGroup; - children = ( - CA651DA72DB1E6CC00B37092 /* 播放音频 */, - CA651D9E2DB1E6B800B37092 /* cell */, - CA651D9A2DB1E2D500B37092 /* view */, - CA651D972DB1E2D200B37092 /* ShiPinJiLuViewController.h */, - CA651D982DB1E2D200B37092 /* ShiPinJiLuViewController.m */, - ); - path = "记录"; - sourceTree = ""; - }; - CA651D9A2DB1E2D500B37092 /* view */ = { - isa = PBXGroup; - children = ( - CA651D9B2DB1E6B500B37092 /* JiLuAudioView.h */, - CA651D9C2DB1E6B500B37092 /* JiLuAudioView.m */, - ); - path = view; - sourceTree = ""; - }; - CA651D9E2DB1E6B800B37092 /* cell */ = { - isa = PBXGroup; - children = ( - CA651D9F2DB1E6C500B37092 /* JiLuAudioTableViewCell.h */, - CA651DA02DB1E6C500B37092 /* JiLuAudioTableViewCell.m */, - CA651DA12DB1E6C500B37092 /* JiLuAudioTableViewCellOModel.swift */, - ); - path = cell; - sourceTree = ""; - }; - CA651DA72DB1E6CC00B37092 /* 播放音频 */ = { - isa = PBXGroup; - children = ( - CA651DA42DB1E6CC00B37092 /* JiLuAudioPlayView.h */, - CA651DA52DB1E6CC00B37092 /* JiLuAudioPlayView.m */, - CA651DA62DB1E6CC00B37092 /* JiLuAudioPlayViewOModel.swift */, - ); - path = "播放音频"; - sourceTree = ""; - }; CA651DB72DB22C2000B37092 /* 资讯 */ = { isa = PBXGroup; children = ( @@ -1372,6 +1428,164 @@ path = cell; sourceTree = ""; }; + CA93AC022DB8B977005BB040 /* 素材库 */ = { + isa = PBXGroup; + children = ( + CA93AC422DB8DF32005BB040 /* 发布 */, + CA93AC3A2DB8D6F9005BB040 /* 详情 */, + CA93AC302DB8C1D4005BB040 /* cell */, + CA93AC2C2DB8BC27005BB040 /* view */, + CA93AC032DB8B988005BB040 /* ShuCaiKuViewController.h */, + CA93AC042DB8B988005BB040 /* ShuCaiKuViewController.m */, + ); + path = "素材库"; + sourceTree = ""; + }; + CA93AC092DB8BA1A005BB040 /* 播放音频 */ = { + isa = PBXGroup; + children = ( + CA93AC062DB8BA1A005BB040 /* JiLuAudioPlayView.h */, + CA93AC072DB8BA1A005BB040 /* JiLuAudioPlayView.m */, + CA93AC082DB8BA1A005BB040 /* JiLuAudioPlayViewOModel.swift */, + ); + path = "播放音频"; + sourceTree = ""; + }; + CA93AC102DB8BA1A005BB040 /* cell */ = { + isa = PBXGroup; + children = ( + CA93AC0A2DB8BA1A005BB040 /* JiLuAudioTableViewCell.h */, + CA93AC0B2DB8BA1A005BB040 /* JiLuAudioTableViewCell.m */, + CA93AC0C2DB8BA1A005BB040 /* JiLuAudioTableViewCellOModel.swift */, + CA93AC0D2DB8BA1A005BB040 /* JiLuImageCollectionViewCell.h */, + CA93AC0E2DB8BA1A005BB040 /* JiLuImageCollectionViewCell.m */, + CA93AC0F2DB8BA1A005BB040 /* JiLuImageCollectionViewCellOModel.swift */, + ); + path = cell; + sourceTree = ""; + }; + CA93AC152DB8BA1A005BB040 /* model */ = { + isa = PBXGroup; + children = ( + CA93AC112DB8BA1A005BB040 /* RecordImageModel.h */, + CA93AC122DB8BA1A005BB040 /* RecordImageModel.m */, + CA93AC132DB8BA1A005BB040 /* RecordImageModelSuper.h */, + CA93AC142DB8BA1A005BB040 /* RecordImageModelSuper.m */, + ); + path = model; + sourceTree = ""; + }; + CA93AC1C2DB8BA1A005BB040 /* view */ = { + isa = PBXGroup; + children = ( + CA93AC162DB8BA1A005BB040 /* JiLuAudioView.h */, + CA93AC172DB8BA1A005BB040 /* JiLuAudioView.m */, + CA93AC182DB8BA1A005BB040 /* JiLuHeaderView.h */, + CA93AC192DB8BA1A005BB040 /* JiLuHeaderView.m */, + CA93AC1A2DB8BA1A005BB040 /* JiLuImageView.h */, + CA93AC1B2DB8BA1A005BB040 /* JiLuImageView.m */, + ); + path = view; + sourceTree = ""; + }; + CA93AC1F2DB8BA1A005BB040 /* 记录 */ = { + isa = PBXGroup; + children = ( + CA93AC092DB8BA1A005BB040 /* 播放音频 */, + CA93AC102DB8BA1A005BB040 /* cell */, + CA93AC152DB8BA1A005BB040 /* model */, + CA93AC1C2DB8BA1A005BB040 /* view */, + CA93AC1D2DB8BA1A005BB040 /* JiLuViewController.h */, + CA93AC1E2DB8BA1A005BB040 /* JiLuViewController.m */, + ); + path = "记录"; + sourceTree = ""; + }; + CA93AC2C2DB8BC27005BB040 /* view */ = { + isa = PBXGroup; + children = ( + CA93AC2D2DB8BC5A005BB040 /* ShuCaiKuHeaderView.h */, + CA93AC2E2DB8BC5A005BB040 /* ShuCaiKuHeaderView.m */, + ); + path = view; + sourceTree = ""; + }; + CA93AC302DB8C1D4005BB040 /* cell */ = { + isa = PBXGroup; + children = ( + CA93AC312DB8C1E3005BB040 /* ShuCaiKuViewCollectionViewCell.h */, + CA93AC322DB8C1E3005BB040 /* ShuCaiKuViewCollectionViewCell.m */, + CA93AC342DB8C724005BB040 /* WaterFallLayout.h */, + CA93AC352DB8C724005BB040 /* WaterFallLayout.m */, + CA93AC372DB8CF14005BB040 /* ShuCaiKuViewLayout.h */, + CA93AC382DB8CF14005BB040 /* ShuCaiKuViewLayout.m */, + ); + path = cell; + sourceTree = ""; + }; + CA93AC3A2DB8D6F9005BB040 /* 详情 */ = { + isa = PBXGroup; + children = ( + CA93AC3E2DB8D73A005BB040 /* view */, + CA93AC3B2DB8D70C005BB040 /* ShuCaiKuDetailViewController.h */, + CA93AC3C2DB8D70C005BB040 /* ShuCaiKuDetailViewController.m */, + ); + path = "详情"; + sourceTree = ""; + }; + CA93AC3E2DB8D73A005BB040 /* view */ = { + isa = PBXGroup; + children = ( + CA93AC3F2DB8D746005BB040 /* ShuCaiKuDetailView.h */, + CA93AC402DB8D746005BB040 /* ShuCaiKuDetailView.m */, + ); + path = view; + sourceTree = ""; + }; + CA93AC422DB8DF32005BB040 /* 发布 */ = { + isa = PBXGroup; + children = ( + CA93AC4D2DB8EE88005BB040 /* cell */, + CA93AC462DB8DF98005BB040 /* view */, + CA93AC432DB8DF4D005BB040 /* ShuCaiKuFaBuViewController.h */, + CA93AC442DB8DF4D005BB040 /* ShuCaiKuFaBuViewController.m */, + ); + path = "发布"; + sourceTree = ""; + }; + CA93AC462DB8DF98005BB040 /* view */ = { + isa = PBXGroup; + children = ( + CA93AC472DB8E3BA005BB040 /* ShuCaiKuFaBuView.h */, + CA93AC482DB8E3BA005BB040 /* ShuCaiKuFaBuView.m */, + CA93AC4A2DB8ECC9005BB040 /* ShuCaiKuFaBuTypeAlterView.h */, + CA93AC4B2DB8ECC9005BB040 /* ShuCaiKuFaBuTypeAlterView.m */, + ); + path = view; + sourceTree = ""; + }; + CA93AC4D2DB8EE88005BB040 /* cell */ = { + isa = PBXGroup; + children = ( + CA93AC4E2DB8EE97005BB040 /* ShuCaiKuFaBuTypeAlterCollectionViewCell.h */, + CA93AC4F2DB8EE97005BB040 /* ShuCaiKuFaBuTypeAlterCollectionViewCell.m */, + ); + path = cell; + sourceTree = ""; + }; + CA93AC512DB8F537005BB040 /* 发布视频 */ = { + isa = PBXGroup; + children = ( + CA346D032DB9C7BB003ACC9A /* 详情 */, + CA346CFF2DB9C68A003ACC9A /* cell */, + CA93AC522DB8F54C005BB040 /* MyFaBuShiPinViewController.h */, + CA93AC532DB8F54C005BB040 /* MyFaBuShiPinViewController.m */, + CA93AC552DB8F674005BB040 /* MyFaBuShiPinSonViewController.h */, + CA93AC562DB8F674005BB040 /* MyFaBuShiPinSonViewController.m */, + ); + path = "发布视频"; + sourceTree = ""; + }; CAAD72C32DA4B2AC00927BA5 /* FFmpeg */ = { isa = PBXGroup; children = ( @@ -1854,7 +2068,6 @@ CAFA62232DB0E92600FD9D86 /* 视频转音频 */ = { isa = PBXGroup; children = ( - CA651D962DB1E2BB00B37092 /* 记录 */, CAFA62202DB0E92600FD9D86 /* view */, CAFA62212DB0E92600FD9D86 /* ShiPingTiQuYinPingViewController.h */, CAFA62222DB0E92600FD9D86 /* ShiPingTiQuYinPingViewController.m */, @@ -2186,6 +2399,7 @@ CAFA629E2DB0E92600FD9D86 /* WoDe */ = { isa = PBXGroup; children = ( + CA93AC512DB8F537005BB040 /* 发布视频 */, CAFA62542DB0E92600FD9D86 /* 兑换钻石 */, CAFA62572DB0E92600FD9D86 /* FenXiang */, CAFA62682DB0E92600FD9D86 /* 会员中心 */, @@ -2312,6 +2526,10 @@ CAFA62E52DB0E92600FD9D86 /* KCSPWXVideoLogsModel.h */, CAFA62E62DB0E92600FD9D86 /* KCSPWXVideoLogsModel.m */, CAFA62E72DB0E92600FD9D86 /* KCSPWXVideoLogsModelOModel.swift */, + CA346D0B2DB9CF55003ACC9A /* UserMaterialModel.h */, + CA346D0C2DB9CF55003ACC9A /* UserMaterialModel.m */, + CA346D0E2DB9D250003ACC9A /* MaterialTagModel.h */, + CA346D0F2DB9D250003ACC9A /* MaterialTagModel.m */, ); path = model; sourceTree = ""; @@ -2430,7 +2648,6 @@ CA87E1AC2DA66AF900005681 /* download_success.pag */, CA87E1AD2DA66AF900005681 /* load_start.pag */, CA3CD6142D9140FB002707C1 /* PrivacyInfo.xcprivacy */, - CAAF720A2DB0D72C007DCA17 /* log_tmc.png */, CAC346F62D9E394200E7E3D6 /* ProductApp-Bridging-Header.h */, ); path = ProductApp; @@ -3129,10 +3346,12 @@ CAFA631E2DB0E92600FD9D86 /* NetWorkManager */, CAFA62B92DB0E92600FD9D86 /* alters */, CAFA62BC2DB0E92600FD9D86 /* LoadAlter */, + CA93AC022DB8B977005BB040 /* 素材库 */, CA651DB72DB22C2000B37092 /* 资讯 */, CAFA62442DB0E92600FD9D86 /* ShouYe */, CAFA629E2DB0E92600FD9D86 /* WoDe */, CAFA62CA2DB0E92600FD9D86 /* login */, + CA93AC1F2DB8BA1A005BB040 /* 记录 */, ); path = ProductMain; sourceTree = ""; @@ -3286,7 +3505,6 @@ CB489FDB2744A30000DA044A /* vedio_play_list.png in Resources */, CA3CD6152D9140FB002707C1 /* PrivacyInfo.xcprivacy in Resources */, CB489FAD2744A0BD00DA044A /* FSActionSheet_cancel@3x.png in Resources */, - CAAF720B2DB0D72C007DCA17 /* log_tmc.png in Resources */, CB489F7F2744A0BD00DA044A /* sign.txt in Resources */, CB489FC02744A0BD00DA044A /* loading5@2x.png in Resources */, CB489FBE2744A0BD00DA044A /* loading@3x.png in Resources */, @@ -3396,6 +3614,7 @@ CB489F742744A0BD00DA044A /* MCTabBar.m in Sources */, CB489FB12744A0BD00DA044A /* FSActionSheetCell.m in Sources */, CB489F6D2744A0BD00DA044A /* UIView+Additions.m in Sources */, + CA93AC572DB8F674005BB040 /* MyFaBuShiPinSonViewController.m in Sources */, CB489FA92744A0BD00DA044A /* UIView+XLExtension.m in Sources */, CA3CD5CE2D913E3D002707C1 /* YSAPIClient.m in Sources */, CB489F512744A0BD00DA044A /* PGJSearchView.m in Sources */, @@ -3411,6 +3630,7 @@ CAFA632A2DB0E92600FD9D86 /* KCSPApplePayManager.m in Sources */, CAFA632B2DB0E92600FD9D86 /* GuanYuWoMenViewController.m in Sources */, CAFA632C2DB0E92600FD9D86 /* ShiPingZBHFVideoView.m in Sources */, + CA93AC542DB8F54C005BB040 /* MyFaBuShiPinViewController.m in Sources */, CAFA632D2DB0E92600FD9D86 /* HuiYuanZXView.m in Sources */, CAFA632E2DB0E92600FD9D86 /* ShiPingHaoViewControllerOModel.swift in Sources */, CAFA632F2DB0E92600FD9D86 /* ShiPingZBHFVideoCollectionViewCell.m in Sources */, @@ -3453,9 +3673,8 @@ CAFA63562DB0E92600FD9D86 /* KCSPUserRZModelOModel.swift in Sources */, CAFA63572DB0E92600FD9D86 /* ZhiBoHuiFangViewController.m in Sources */, CAFA63582DB0E92600FD9D86 /* KCSPActivityExchangesModelOModel.swift in Sources */, + CA93AC392DB8CF14005BB040 /* ShuCaiKuViewLayout.m in Sources */, CA651DBE2DB230B300B37092 /* ZhiXunFenLaiModel.m in Sources */, - CA651DA82DB1E6CC00B37092 /* JiLuAudioPlayView.m in Sources */, - CA651DA92DB1E6CC00B37092 /* JiLuAudioPlayViewOModel.swift in Sources */, CAFA63592DB0E92600FD9D86 /* PeiZhiShowViewController.m in Sources */, CAFA635A2DB0E92600FD9D86 /* UrlXiaZaiViewController.m in Sources */, CAFA635B2DB0E92600FD9D86 /* AppleDengLuView.m in Sources */, @@ -3495,20 +3714,36 @@ CAFA637E2DB0E92600FD9D86 /* ShareAlterView.m in Sources */, CAFA637F2DB0E92600FD9D86 /* ShiPingEditShiChangView.m in Sources */, CA651DCC2DB237F700B37092 /* ZhiXunListModel.m in Sources */, - CA651D9D2DB1E6B500B37092 /* JiLuAudioView.m in Sources */, CAFA63802DB0E92600FD9D86 /* SheZhiViewControllerOModel.swift in Sources */, CAFA63812DB0E92600FD9D86 /* GuiZheAlterView.m in Sources */, + CA93AC362DB8C724005BB040 /* WaterFallLayout.m in Sources */, CAFA63822DB0E92600FD9D86 /* ZhangHaoBDTableViewCellOModel.swift in Sources */, CAFA63832DB0E92600FD9D86 /* KCSPImageProcesscModel.m in Sources */, CAFA63842DB0E92600FD9D86 /* KCSPUserRZModel.m in Sources */, + CA93AC202DB8BA1A005BB040 /* JiLuAudioPlayView.m in Sources */, + CA93AC212DB8BA1A005BB040 /* JiLuAudioView.m in Sources */, + CA93AC222DB8BA1A005BB040 /* JiLuImageCollectionViewCellOModel.swift in Sources */, + CA93AC232DB8BA1A005BB040 /* JiLuImageCollectionViewCell.m in Sources */, + CA93AC242DB8BA1A005BB040 /* RecordImageModel.m in Sources */, + CA93AC2F2DB8BC5A005BB040 /* ShuCaiKuHeaderView.m in Sources */, + CA93AC252DB8BA1A005BB040 /* RecordImageModelSuper.m in Sources */, + CA93AC262DB8BA1A005BB040 /* JiLuAudioTableViewCellOModel.swift in Sources */, + CA93AC272DB8BA1A005BB040 /* JiLuViewController.m in Sources */, + CA93AC282DB8BA1A005BB040 /* JiLuHeaderView.m in Sources */, + CA93AC292DB8BA1A005BB040 /* JiLuAudioTableViewCell.m in Sources */, + CA93AC2A2DB8BA1A005BB040 /* JiLuAudioPlayViewOModel.swift in Sources */, + CA93AC2B2DB8BA1A005BB040 /* JiLuImageView.m in Sources */, + CA93AC4C2DB8ECC9005BB040 /* ShuCaiKuFaBuTypeAlterView.m in Sources */, CAFA63852DB0E92600FD9D86 /* GengXinAlterView.m in Sources */, CAFA63862DB0E92600FD9D86 /* KCSPActivityExchangesModel.m in Sources */, + CA346D062DB9C7DB003ACC9A /* MyFaBuShiPinDetailViewController.m in Sources */, CAFA63872DB0E92600FD9D86 /* ImageCollectionViewCellOModel.swift in Sources */, CAFA63882DB0E92600FD9D86 /* GengXinAlterViewOModel.swift in Sources */, CAFA63892DB0E92600FD9D86 /* KCSPWXVideoLogsModelOModel.swift in Sources */, CAFA638A2DB0E92600FD9D86 /* ZhuanShiAlterView.m in Sources */, CAFA638C2DB0E92600FD9D86 /* GongGongNetManagerOModel.swift in Sources */, CAFA638D2DB0E92600FD9D86 /* DynamicVideoViewController.m in Sources */, + CA93AC3D2DB8D70C005BB040 /* ShuCaiKuDetailViewController.m in Sources */, CAFA638E2DB0E92600FD9D86 /* ImagesConnectManager.m in Sources */, CAFA638F2DB0E92600FD9D86 /* XiaZaiManager.m in Sources */, CAFA63902DB0E92600FD9D86 /* ZhangHaoBDTableViewCell.m in Sources */, @@ -3543,8 +3778,10 @@ CAFA63B02DB0E92600FD9D86 /* HuiYuanZXGoodsView.m in Sources */, CAFA63B12DB0E92600FD9D86 /* DuiHuanZSLineView.m in Sources */, CAFA63B22DB0E92600FD9D86 /* IJKPlayerPlayViewController.m in Sources */, + CA93AC052DB8B988005BB040 /* ShuCaiKuViewController.m in Sources */, CAFA63B32DB0E92600FD9D86 /* DuiHuanZSLineViewOModel.swift in Sources */, CAFA63B42DB0E92600FD9D86 /* KCSPM3sModel.m in Sources */, + CA93AC502DB8EE97005BB040 /* ShuCaiKuFaBuTypeAlterCollectionViewCell.m in Sources */, CAFA63B52DB0E92600FD9D86 /* KCSPHUDAlterView.m in Sources */, CAFA63B62DB0E92600FD9D86 /* YiJianFanKuiView.m in Sources */, CAFA63B72DB0E92600FD9D86 /* KCSPUserMenusModel.m in Sources */, @@ -3557,12 +3794,16 @@ CAFA63BB2DB0E92600FD9D86 /* KCSPUserSharesModel.m in Sources */, CB489FA32744A0BD00DA044A /* ZJContentView.m in Sources */, CB489F6C2744A0BD00DA044A /* RadianDisView.m in Sources */, + CA346D022DB9C69C003ACC9A /* MyFaBuShiPinSonCollectionViewCell.m in Sources */, + CA93AC492DB8E3BA005BB040 /* ShuCaiKuFaBuView.m in Sources */, CB489DDB27449D5D00DA044A /* main.m in Sources */, CB489FB02744A0BD00DA044A /* FSActionSheet.m in Sources */, CA3CD5C92D913E12002707C1 /* MIUAES.m in Sources */, CA3CD5CA2D913E12002707C1 /* GTMBases64.m in Sources */, CA3CD5CB2D913E12002707C1 /* NSData+PEHIExtension.m in Sources */, + CA346D0A2DB9C7FD003ACC9A /* MyFaBuShiPinDetailView.m in Sources */, CB489F652744A0BD00DA044A /* DAYComponentView.m in Sources */, + CA346D102DB9D250003ACC9A /* MaterialTagModel.m in Sources */, CB489FAC2744A0BD00DA044A /* XLPhotoBrowser.m in Sources */, CB489F522744A0BD00DA044A /* PlayAudio.m in Sources */, CB489F662744A0BD00DA044A /* DAYUtils.m in Sources */, @@ -3589,12 +3830,15 @@ CB489FA62744A0BD00DA044A /* ZJScrollSegmentView.m in Sources */, CB489F812744A0BD00DA044A /* GTMBase64.m in Sources */, CB489F962744A0BD00DA044A /* SmsloginCodeModel.m in Sources */, + CA346D0D2DB9CF55003ACC9A /* UserMaterialModel.m in Sources */, + CA93AC332DB8C1E3005BB040 /* ShuCaiKuViewCollectionViewCell.m in Sources */, CB489F712744A0BD00DA044A /* RootTabBarController.m in Sources */, CB489F762744A0BD00DA044A /* UIColor+LSFoundation.m in Sources */, CB489F952744A0BD00DA044A /* BaseRequestDataController.m in Sources */, CB489F8A2744A0BD00DA044A /* UIButton+HQCustomIcon.m in Sources */, CB489F632744A0BD00DA044A /* CountDownManager.m in Sources */, CB489F9A2744A0BD00DA044A /* baseInfoModel.m in Sources */, + CA93AC412DB8D746005BB040 /* ShuCaiKuDetailView.m in Sources */, CB489F6E2744A0BD00DA044A /* UIButton+EnlargeTouchArea.m in Sources */, CB489F972744A0BD00DA044A /* WkWebviewViewController.m in Sources */, CB489F692744A0BD00DA044A /* CalendarDataDays.m in Sources */, @@ -3614,9 +3858,9 @@ CB489FA22744A0BD00DA044A /* UIViewController+ZJScrollPageController.m in Sources */, CB489F5A2744A0BD00DA044A /* YQLocationTransform.m in Sources */, CB489F782744A0BD00DA044A /* NSBundle+DAUtils.m in Sources */, - CA651D992DB1E2D200B37092 /* ShiPinJiLuViewController.m in Sources */, CBD422BD28DAF34B00C32440 /* IndexSectionView.m in Sources */, CB489FA12744A0BD00DA044A /* ZJTitleView.m in Sources */, + CA93AC452DB8DF4D005BB040 /* ShuCaiKuFaBuViewController.m in Sources */, CB489FAF2744A0BD00DA044A /* FSActionSheetConfig.m in Sources */, CB489FB52744A0BD00DA044A /* HYTimePickerView.m in Sources */, CA16225F2DB336EB00DC4977 /* VideoDaoFangManager.m in Sources */, @@ -3631,8 +3875,6 @@ CAC346EE2D9E249F00E7E3D6 /* WMPlayerModel.m in Sources */, CAC346EF2D9E249F00E7E3D6 /* UIViewController+ShouldAutorotate.m in Sources */, CAC346F02D9E249F00E7E3D6 /* FastForwardView.m in Sources */, - CA651DA22DB1E6C500B37092 /* JiLuAudioTableViewCellOModel.swift in Sources */, - CA651DA32DB1E6C500B37092 /* JiLuAudioTableViewCell.m in Sources */, CB489F562744A0BD00DA044A /* amrFileCodec.m in Sources */, CB489F572744A0BD00DA044A /* AudioRecored.m in Sources */, ); @@ -3781,7 +4023,7 @@ CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = ProductApp/ProductApp.entitlements; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 19; + CURRENT_PROJECT_VERSION = 100; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEFINES_MODULE = YES; DEVELOPMENT_TEAM = B8MTNU3W9A; @@ -3837,9 +4079,13 @@ "$(PROJECT_DIR)/ProductApp/ProductMain/EasyVideoRecorderLib", "$(PROJECT_DIR)/ProductApp/EasyVideoRecorderLib", ); - MARKETING_VERSION = 2.5.4; + MARKETING_VERSION = 1.0; PRODUCT_BUNDLE_IDENTIFIER = com.devcon.video; PRODUCT_NAME = "$(TARGET_NAME)"; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; + SUPPORTS_MACCATALYST = NO; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; + SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO; SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_OBJC_BRIDGING_HEADER = "ProductApp/ProductApp-Bridging-Header.h"; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; @@ -3857,7 +4103,7 @@ CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = ProductApp/ProductApp.entitlements; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 19; + CURRENT_PROJECT_VERSION = 100; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEFINES_MODULE = YES; DEVELOPMENT_TEAM = B8MTNU3W9A; @@ -3913,9 +4159,13 @@ "$(PROJECT_DIR)/ProductApp/ProductMain/EasyVideoRecorderLib", "$(PROJECT_DIR)/ProductApp/EasyVideoRecorderLib", ); - MARKETING_VERSION = 2.5.4; + MARKETING_VERSION = 1.0; PRODUCT_BUNDLE_IDENTIFIER = com.devcon.video; PRODUCT_NAME = "$(TARGET_NAME)"; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; + SUPPORTS_MACCATALYST = NO; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; + SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO; SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_OBJC_BRIDGING_HEADER = "ProductApp/ProductApp-Bridging-Header.h"; SWIFT_VERSION = 5.0; diff --git a/ProductApp/ProductApp.xcworkspace/xcuserdata/gongzuo.xcuserdatad/UserInterfaceState.xcuserstate b/ProductApp/ProductApp.xcworkspace/xcuserdata/gongzuo.xcuserdatad/UserInterfaceState.xcuserstate index 4d0fe08..9426a1f 100644 Binary files a/ProductApp/ProductApp.xcworkspace/xcuserdata/gongzuo.xcuserdatad/UserInterfaceState.xcuserstate and b/ProductApp/ProductApp.xcworkspace/xcuserdata/gongzuo.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/ProductApp/ProductApp/AppDelegate.m b/ProductApp/ProductApp/AppDelegate.m index 8d62a76..5434ddb 100644 --- a/ProductApp/ProductApp/AppDelegate.m +++ b/ProductApp/ProductApp/AppDelegate.m @@ -53,7 +53,7 @@ // [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(tuisongJianTing) name:@"updataUserState" object:nil]; - [WXApi registerApp:WXAPPID universalLink:WXUrlLink]; + [WXApi registerApp:WXinAPPID universalLink:WXinUrlLink]; dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ [self getTuiSheZhi:launchOptions]; @@ -78,7 +78,7 @@ self.window.overrideUserInterfaceStyle = UIUserInterfaceStyleLight; [GeYanSdk setEloginTimeout:10]; //登录超时时长 // NSLog(@"pgj = %@",[GeYanSdk getVersion]); //初始化 - [GeYanSdk startWithAppId:GTAPPID + [GeYanSdk startWithAppId:GTuiAPPID withCallback:^(BOOL isSuccess, NSError *error, NSString *gtcid) { NSLog(@"GeYanSdk startWithAppId gtcid:%@", gtcid); }]; @@ -107,7 +107,7 @@ self.window.overrideUserInterfaceStyle = UIUserInterfaceStyleLight; } -(void)applicationDidEnterBackground:(UIApplication *)application { - [[KCSPXZManager shareManager] cancelDownloadWithUrl:@""]; + [[KCSPXZManager shareManager] cancelDownloadUrl:@""]; [XiaZaiAlter disMis]; } @@ -171,7 +171,7 @@ self.window.overrideUserInterfaceStyle = UIUserInterfaceStyleLight; if([UserDetailModel zhiFuState]==NO)return; - NSString *strjjm = [MIUAES SB_AES_Decrypt:strvalue mode:SBModeCBC key:AESDecodeKey keySize:SBKeySizeAES256 iv:[AESDecodeKey substringWithRange:NSMakeRange(0, 16)] padding:SBCryptorPKCS7Padding]; + NSString *strjjm = [MIUAES SB_AES_Decrypt:strvalue mode:SBModeCBC key:AESJieMiKey keySize:SBKeySizeAES256 iv:[AESJieMiKey substringWithRange:NSMakeRange(0, 16)] padding:SBCryptorPKCS7Padding]; NSDictionary *dictemp = [NSJSONSerialization JSONObjectWithData:[strjjm dataUsingEncoding:NSUTF8StringEncoding] options:NSJSONReadingMutableLeaves error:nil]; @@ -352,16 +352,16 @@ self.window.overrideUserInterfaceStyle = UIUserInterfaceStyleLight; SendAuthResp* authResp = (SendAuthResp*)resp; if (authResp.errCode == 0) { // 用户确认授权,发送全局通知,处理逻辑 - [[NSNotificationCenter defaultCenter] postNotificationName: WXDengLuSQ + [[NSNotificationCenter defaultCenter] postNotificationName: WXinDengLuSQ object: authResp]; - [[NSNotificationCenter defaultCenter] postNotificationName: WXDengZBHF + [[NSNotificationCenter defaultCenter] postNotificationName: WXinDengZBHF object: authResp]; } else { // 用户取消授权,发送全局通知,处理逻辑 - [[NSNotificationCenter defaultCenter] postNotificationName: WXDengLuSQ + [[NSNotificationCenter defaultCenter] postNotificationName: WXinDengLuSQ object: nil]; - [[NSNotificationCenter defaultCenter] postNotificationName: WXDengZBHF + [[NSNotificationCenter defaultCenter] postNotificationName: WXinDengZBHF object: nil]; } } @@ -371,18 +371,18 @@ self.window.overrideUserInterfaceStyle = UIUserInterfaceStyleLight; switch (response.errCode) { case WXSuccess: { - [[NSNotificationCenter defaultCenter] postNotificationName: WXZhiFuSQ object: @"1"]; + [[NSNotificationCenter defaultCenter] postNotificationName: WXinZFuSQ object: @"1"]; } break; case WXErrCodeUserCancel: { - [[NSNotificationCenter defaultCenter] postNotificationName: WXZhiFuSQ object: @"-1"]; + [[NSNotificationCenter defaultCenter] postNotificationName: WXinZFuSQ object: @"-1"]; [HXHud showMessage:response.errStr.length==0?@"用户取消":response.errStr afterDelayType:0]; } break; default: { - [[NSNotificationCenter defaultCenter] postNotificationName: WXZhiFuSQ object: @"0"]; + [[NSNotificationCenter defaultCenter] postNotificationName: WXinZFuSQ object: @"0"]; [HXHud showMessage:response.errStr.length==0?@"用户取消":response.errStr afterDelayType:0]; } break; diff --git a/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/51 1.png b/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/51 1.png new file mode 100644 index 0000000..ec8ee90 Binary files /dev/null and b/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/51 1.png differ diff --git a/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/51 10.png b/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/51 10.png new file mode 100644 index 0000000..a53c11b Binary files /dev/null and b/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/51 10.png differ diff --git a/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/51 11.png b/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/51 11.png new file mode 100644 index 0000000..8d1a5fe Binary files /dev/null and b/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/51 11.png differ diff --git a/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/51 12.png b/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/51 12.png new file mode 100644 index 0000000..dcc3547 Binary files /dev/null and b/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/51 12.png differ diff --git a/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/51 13.png b/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/51 13.png new file mode 100644 index 0000000..ccbc0d1 Binary files /dev/null and b/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/51 13.png differ diff --git a/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/51 14.png b/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/51 14.png new file mode 100644 index 0000000..5c306f9 Binary files /dev/null and b/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/51 14.png differ diff --git a/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/51 15.png b/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/51 15.png new file mode 100644 index 0000000..52dde0a Binary files /dev/null and b/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/51 15.png differ diff --git a/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/51 2.png b/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/51 2.png new file mode 100644 index 0000000..24045dc Binary files /dev/null and b/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/51 2.png differ diff --git a/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/51 3.png b/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/51 3.png new file mode 100644 index 0000000..caf1717 Binary files /dev/null and b/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/51 3.png differ diff --git a/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/51 4.png b/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/51 4.png new file mode 100644 index 0000000..9e8561e Binary files /dev/null and b/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/51 4.png differ diff --git a/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/51 5.png b/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/51 5.png new file mode 100644 index 0000000..8787898 Binary files /dev/null and b/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/51 5.png differ diff --git a/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/51 6.png b/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/51 6.png new file mode 100644 index 0000000..db012ce Binary files /dev/null and b/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/51 6.png differ diff --git a/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/51 7.png b/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/51 7.png new file mode 100644 index 0000000..97953fe Binary files /dev/null and b/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/51 7.png differ diff --git a/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/51 8.png b/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/51 8.png new file mode 100644 index 0000000..97953fe Binary files /dev/null and b/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/51 8.png differ diff --git a/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/51 9.png b/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/51 9.png new file mode 100644 index 0000000..8d3e34e Binary files /dev/null and b/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/51 9.png differ diff --git a/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/51.png b/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/51.png new file mode 100644 index 0000000..95797b6 Binary files /dev/null and b/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/51.png differ diff --git a/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/Contents.json b/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/Contents.json index 75f8739..427a918 100644 --- a/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/Contents.json +++ b/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -1,111 +1,114 @@ { "images" : [ { - "filename" : "未命名_副本2 15.png", - "idiom" : "iphone", + "filename" : "51 15.png", + "idiom" : "universal", + "platform" : "ios", "scale" : "2x", "size" : "20x20" }, { - "filename" : "未命名_副本2 10.png", - "idiom" : "iphone", + "filename" : "51 13.png", + "idiom" : "universal", + "platform" : "ios", "scale" : "3x", "size" : "20x20" }, { - "filename" : "未命名_副本2 11.png", - "idiom" : "iphone", + "filename" : "51 14.png", + "idiom" : "universal", + "platform" : "ios", "scale" : "2x", "size" : "29x29" }, { - "filename" : "未命名_副本2 6.png", - "idiom" : "iphone", + "filename" : "51 10.png", + "idiom" : "universal", + "platform" : "ios", "scale" : "3x", "size" : "29x29" }, { - "filename" : "未命名_副本2 7.png", - "idiom" : "iphone", + "filename" : "51 12.png", + "idiom" : "universal", + "platform" : "ios", + "scale" : "2x", + "size" : "38x38" + }, + { + "filename" : "51 9.png", + "idiom" : "universal", + "platform" : "ios", + "scale" : "3x", + "size" : "38x38" + }, + { + "filename" : "51 11.png", + "idiom" : "universal", + "platform" : "ios", "scale" : "2x", "size" : "40x40" }, { - "filename" : "未命名_副本2 4.png", - "idiom" : "iphone", + "filename" : "51 8.png", + "idiom" : "universal", + "platform" : "ios", "scale" : "3x", "size" : "40x40" }, { - "filename" : "未命名_副本2 5.png", - "idiom" : "iphone", + "filename" : "51 7.png", + "idiom" : "universal", + "platform" : "ios", "scale" : "2x", "size" : "60x60" }, { - "filename" : "未命名_副本2 1.png", - "idiom" : "iphone", + "filename" : "51 2.png", + "idiom" : "universal", + "platform" : "ios", "scale" : "3x", "size" : "60x60" }, { - "filename" : "未命名_副本2 17.png", - "idiom" : "ipad", - "scale" : "1x", - "size" : "20x20" - }, - { - "filename" : "未命名_副本2 14.png", - "idiom" : "ipad", + "filename" : "51 6.png", + "idiom" : "universal", + "platform" : "ios", "scale" : "2x", - "size" : "20x20" + "size" : "64x64" }, { - "filename" : "未命名_副本2 16.png", - "idiom" : "ipad", - "scale" : "1x", - "size" : "29x29" + "filename" : "51 1.png", + "idiom" : "universal", + "platform" : "ios", + "scale" : "3x", + "size" : "64x64" }, { - "filename" : "未命名_副本2 12.png", - "idiom" : "ipad", + "filename" : "51 5.png", + "idiom" : "universal", + "platform" : "ios", "scale" : "2x", - "size" : "29x29" + "size" : "68x68" }, { - "filename" : "未命名_副本2 13.png", - "idiom" : "ipad", - "scale" : "1x", - "size" : "40x40" - }, - { - "filename" : "未命名_副本2 8.png", - "idiom" : "ipad", - "scale" : "2x", - "size" : "40x40" - }, - { - "filename" : "未命名_副本2 9.png", - "idiom" : "ipad", - "scale" : "1x", - "size" : "76x76" - }, - { - "filename" : "未命名_副本2 3.png", - "idiom" : "ipad", + "filename" : "51 4.png", + "idiom" : "universal", + "platform" : "ios", "scale" : "2x", "size" : "76x76" }, { - "filename" : "未命名_副本2 2.png", - "idiom" : "ipad", + "filename" : "51 3.png", + "idiom" : "universal", + "platform" : "ios", "scale" : "2x", "size" : "83.5x83.5" }, { - "filename" : "未命名_副本2.png", - "idiom" : "ios-marketing", - "scale" : "1x", + "filename" : "51.png", + "idiom" : "universal", + "platform" : "ios", "size" : "1024x1024" } ], diff --git a/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/未命名_副本2 1.png b/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/未命名_副本2 1.png deleted file mode 100644 index 88b5785..0000000 Binary files a/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/未命名_副本2 1.png and /dev/null differ diff --git a/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/未命名_副本2 10.png b/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/未命名_副本2 10.png deleted file mode 100644 index 9dddc3f..0000000 Binary files a/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/未命名_副本2 10.png and /dev/null differ diff --git a/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/未命名_副本2 11.png b/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/未命名_副本2 11.png deleted file mode 100644 index 606edbf..0000000 Binary files a/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/未命名_副本2 11.png and /dev/null differ diff --git a/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/未命名_副本2 12.png b/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/未命名_副本2 12.png deleted file mode 100644 index 606edbf..0000000 Binary files a/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/未命名_副本2 12.png and /dev/null differ diff --git a/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/未命名_副本2 13.png b/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/未命名_副本2 13.png deleted file mode 100644 index 0bcd091..0000000 Binary files a/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/未命名_副本2 13.png and /dev/null differ diff --git a/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/未命名_副本2 14.png b/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/未命名_副本2 14.png deleted file mode 100644 index 0bcd091..0000000 Binary files a/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/未命名_副本2 14.png and /dev/null differ diff --git a/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/未命名_副本2 15.png b/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/未命名_副本2 15.png deleted file mode 100644 index 0bcd091..0000000 Binary files a/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/未命名_副本2 15.png and /dev/null differ diff --git a/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/未命名_副本2 16.png b/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/未命名_副本2 16.png deleted file mode 100644 index d04a5e9..0000000 Binary files a/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/未命名_副本2 16.png and /dev/null differ diff --git a/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/未命名_副本2 17.png b/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/未命名_副本2 17.png deleted file mode 100644 index b3d2ad1..0000000 Binary files a/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/未命名_副本2 17.png and /dev/null differ diff --git a/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/未命名_副本2 2.png b/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/未命名_副本2 2.png deleted file mode 100644 index f177de6..0000000 Binary files a/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/未命名_副本2 2.png and /dev/null differ diff --git a/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/未命名_副本2 3.png b/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/未命名_副本2 3.png deleted file mode 100644 index e703a26..0000000 Binary files a/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/未命名_副本2 3.png and /dev/null differ diff --git a/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/未命名_副本2 4.png b/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/未命名_副本2 4.png deleted file mode 100644 index 27e5f47..0000000 Binary files a/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/未命名_副本2 4.png and /dev/null differ diff --git a/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/未命名_副本2 5.png b/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/未命名_副本2 5.png deleted file mode 100644 index 27e5f47..0000000 Binary files a/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/未命名_副本2 5.png and /dev/null differ diff --git a/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/未命名_副本2 6.png b/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/未命名_副本2 6.png deleted file mode 100644 index dfaf473..0000000 Binary files a/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/未命名_副本2 6.png and /dev/null differ diff --git a/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/未命名_副本2 7.png b/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/未命名_副本2 7.png deleted file mode 100644 index 95c89b6..0000000 Binary files a/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/未命名_副本2 7.png and /dev/null differ diff --git a/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/未命名_副本2 8.png b/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/未命名_副本2 8.png deleted file mode 100644 index 95c89b6..0000000 Binary files a/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/未命名_副本2 8.png and /dev/null differ diff --git a/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/未命名_副本2 9.png b/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/未命名_副本2 9.png deleted file mode 100644 index fb455ef..0000000 Binary files a/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/未命名_副本2 9.png and /dev/null differ diff --git a/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/未命名_副本2.png b/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/未命名_副本2.png deleted file mode 100644 index 26df9aa..0000000 Binary files a/ProductApp/ProductApp/Assets.xcassets/AppIcon.appiconset/未命名_副本2.png and /dev/null differ diff --git a/ProductApp/ProductApp/Assets.xcassets/logicon.imageset/150@1x_副本.png b/ProductApp/ProductApp/Assets.xcassets/logicon.imageset/150@1x_副本.png new file mode 100644 index 0000000..e2b628a Binary files /dev/null and b/ProductApp/ProductApp/Assets.xcassets/logicon.imageset/150@1x_副本.png differ diff --git a/ProductApp/ProductApp/Assets.xcassets/logicon.imageset/Contents.json b/ProductApp/ProductApp/Assets.xcassets/logicon.imageset/Contents.json index 91af999..85a84fe 100644 --- a/ProductApp/ProductApp/Assets.xcassets/logicon.imageset/Contents.json +++ b/ProductApp/ProductApp/Assets.xcassets/logicon.imageset/Contents.json @@ -5,7 +5,7 @@ "scale" : "1x" }, { - "filename" : "未命名_副本.png", + "filename" : "150@1x_副本.png", "idiom" : "universal", "scale" : "2x" }, diff --git a/ProductApp/ProductApp/Assets.xcassets/logicon.imageset/未命名_副本.png b/ProductApp/ProductApp/Assets.xcassets/logicon.imageset/未命名_副本.png deleted file mode 100644 index 8c6243b..0000000 Binary files a/ProductApp/ProductApp/Assets.xcassets/logicon.imageset/未命名_副本.png and /dev/null differ diff --git a/ProductApp/ProductApp/Assets.xcassets/tabbar/tab_素材库N.imageset/Contents.json b/ProductApp/ProductApp/Assets.xcassets/tabbar/tab_素材库N.imageset/Contents.json new file mode 100644 index 0000000..7b6156b --- /dev/null +++ b/ProductApp/ProductApp/Assets.xcassets/tabbar/tab_素材库N.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "容器@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "容器@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/ProductApp/ProductApp/Assets.xcassets/tabbar/tab_素材库N.imageset/容器@2x.png b/ProductApp/ProductApp/Assets.xcassets/tabbar/tab_素材库N.imageset/容器@2x.png new file mode 100644 index 0000000..67f18d7 Binary files /dev/null and b/ProductApp/ProductApp/Assets.xcassets/tabbar/tab_素材库N.imageset/容器@2x.png differ diff --git a/ProductApp/ProductApp/Assets.xcassets/tabbar/tab_素材库N.imageset/容器@3x.png b/ProductApp/ProductApp/Assets.xcassets/tabbar/tab_素材库N.imageset/容器@3x.png new file mode 100644 index 0000000..5ff9ed5 Binary files /dev/null and b/ProductApp/ProductApp/Assets.xcassets/tabbar/tab_素材库N.imageset/容器@3x.png differ diff --git a/ProductApp/ProductApp/Assets.xcassets/tabbar/tab_素材库Y.imageset/Contents.json b/ProductApp/ProductApp/Assets.xcassets/tabbar/tab_素材库Y.imageset/Contents.json new file mode 100644 index 0000000..7b6156b --- /dev/null +++ b/ProductApp/ProductApp/Assets.xcassets/tabbar/tab_素材库Y.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "容器@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "容器@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/ProductApp/ProductApp/Assets.xcassets/tabbar/tab_素材库Y.imageset/容器@2x.png b/ProductApp/ProductApp/Assets.xcassets/tabbar/tab_素材库Y.imageset/容器@2x.png new file mode 100644 index 0000000..4d833d6 Binary files /dev/null and b/ProductApp/ProductApp/Assets.xcassets/tabbar/tab_素材库Y.imageset/容器@2x.png differ diff --git a/ProductApp/ProductApp/Assets.xcassets/tabbar/tab_素材库Y.imageset/容器@3x.png b/ProductApp/ProductApp/Assets.xcassets/tabbar/tab_素材库Y.imageset/容器@3x.png new file mode 100644 index 0000000..e70446b Binary files /dev/null and b/ProductApp/ProductApp/Assets.xcassets/tabbar/tab_素材库Y.imageset/容器@3x.png differ diff --git a/ProductApp/ProductApp/Assets.xcassets/tabbar/tab_资讯N.imageset/Contents.json b/ProductApp/ProductApp/Assets.xcassets/tabbar/tab_记录N.imageset/Contents.json similarity index 100% rename from ProductApp/ProductApp/Assets.xcassets/tabbar/tab_资讯N.imageset/Contents.json rename to ProductApp/ProductApp/Assets.xcassets/tabbar/tab_记录N.imageset/Contents.json diff --git a/ProductApp/ProductApp/Assets.xcassets/tabbar/tab_资讯N.imageset/容器@2x(1).png b/ProductApp/ProductApp/Assets.xcassets/tabbar/tab_记录N.imageset/容器@2x(1).png similarity index 100% rename from ProductApp/ProductApp/Assets.xcassets/tabbar/tab_资讯N.imageset/容器@2x(1).png rename to ProductApp/ProductApp/Assets.xcassets/tabbar/tab_记录N.imageset/容器@2x(1).png diff --git a/ProductApp/ProductApp/Assets.xcassets/tabbar/tab_资讯N.imageset/容器@3x(1).png b/ProductApp/ProductApp/Assets.xcassets/tabbar/tab_记录N.imageset/容器@3x(1).png similarity index 100% rename from ProductApp/ProductApp/Assets.xcassets/tabbar/tab_资讯N.imageset/容器@3x(1).png rename to ProductApp/ProductApp/Assets.xcassets/tabbar/tab_记录N.imageset/容器@3x(1).png diff --git a/ProductApp/ProductApp/Assets.xcassets/tabbar/tab_资讯Y.imageset/Contents.json b/ProductApp/ProductApp/Assets.xcassets/tabbar/tab_记录Y.imageset/Contents.json similarity index 100% rename from ProductApp/ProductApp/Assets.xcassets/tabbar/tab_资讯Y.imageset/Contents.json rename to ProductApp/ProductApp/Assets.xcassets/tabbar/tab_记录Y.imageset/Contents.json diff --git a/ProductApp/ProductApp/Assets.xcassets/tabbar/tab_资讯Y.imageset/容器@2x(4).png b/ProductApp/ProductApp/Assets.xcassets/tabbar/tab_记录Y.imageset/容器@2x(4).png similarity index 100% rename from ProductApp/ProductApp/Assets.xcassets/tabbar/tab_资讯Y.imageset/容器@2x(4).png rename to ProductApp/ProductApp/Assets.xcassets/tabbar/tab_记录Y.imageset/容器@2x(4).png diff --git a/ProductApp/ProductApp/Assets.xcassets/tabbar/tab_资讯Y.imageset/容器@3x(4).png b/ProductApp/ProductApp/Assets.xcassets/tabbar/tab_记录Y.imageset/容器@3x(4).png similarity index 100% rename from ProductApp/ProductApp/Assets.xcassets/tabbar/tab_资讯Y.imageset/容器@3x(4).png rename to ProductApp/ProductApp/Assets.xcassets/tabbar/tab_记录Y.imageset/容器@3x(4).png diff --git a/ProductApp/ProductApp/Assets.xcassets/我的/my_bj.imageset/Contents.json b/ProductApp/ProductApp/Assets.xcassets/我的/my_bj.imageset/Contents.json index 04a2b73..a59ffdc 100644 --- a/ProductApp/ProductApp/Assets.xcassets/我的/my_bj.imageset/Contents.json +++ b/ProductApp/ProductApp/Assets.xcassets/我的/my_bj.imageset/Contents.json @@ -5,12 +5,12 @@ "scale" : "1x" }, { - "filename" : "组 45694@2x.png", + "filename" : "组 45890@2x.png", "idiom" : "universal", "scale" : "2x" }, { - "filename" : "组 45694@3x.png", + "filename" : "组 45890@3x.png", "idiom" : "universal", "scale" : "3x" } diff --git a/ProductApp/ProductApp/Assets.xcassets/我的/my_bj.imageset/组 45694@2x.png b/ProductApp/ProductApp/Assets.xcassets/我的/my_bj.imageset/组 45694@2x.png deleted file mode 100644 index b3ae5e9..0000000 Binary files a/ProductApp/ProductApp/Assets.xcassets/我的/my_bj.imageset/组 45694@2x.png and /dev/null differ diff --git a/ProductApp/ProductApp/Assets.xcassets/我的/my_bj.imageset/组 45694@3x.png b/ProductApp/ProductApp/Assets.xcassets/我的/my_bj.imageset/组 45694@3x.png deleted file mode 100644 index b8e630f..0000000 Binary files a/ProductApp/ProductApp/Assets.xcassets/我的/my_bj.imageset/组 45694@3x.png and /dev/null differ diff --git a/ProductApp/ProductApp/Assets.xcassets/我的/my_bj.imageset/组 45890@2x.png b/ProductApp/ProductApp/Assets.xcassets/我的/my_bj.imageset/组 45890@2x.png new file mode 100644 index 0000000..ff68b07 Binary files /dev/null and b/ProductApp/ProductApp/Assets.xcassets/我的/my_bj.imageset/组 45890@2x.png differ diff --git a/ProductApp/ProductApp/Assets.xcassets/我的/my_bj.imageset/组 45890@3x.png b/ProductApp/ProductApp/Assets.xcassets/我的/my_bj.imageset/组 45890@3x.png new file mode 100644 index 0000000..2e3deb8 Binary files /dev/null and b/ProductApp/ProductApp/Assets.xcassets/我的/my_bj.imageset/组 45890@3x.png differ diff --git a/ProductApp/ProductApp/Assets.xcassets/我的/my_bj_nomo.imageset/Contents.json b/ProductApp/ProductApp/Assets.xcassets/我的/my_bj_nomo.imageset/Contents.json new file mode 100644 index 0000000..d2996e2 --- /dev/null +++ b/ProductApp/ProductApp/Assets.xcassets/我的/my_bj_nomo.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "蒙版组 13138@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "蒙版组 13138@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/ProductApp/ProductApp/Assets.xcassets/我的/my_bj_nomo.imageset/蒙版组 13138@2x.png b/ProductApp/ProductApp/Assets.xcassets/我的/my_bj_nomo.imageset/蒙版组 13138@2x.png new file mode 100644 index 0000000..69c730f Binary files /dev/null and b/ProductApp/ProductApp/Assets.xcassets/我的/my_bj_nomo.imageset/蒙版组 13138@2x.png differ diff --git a/ProductApp/ProductApp/Assets.xcassets/我的/my_bj_nomo.imageset/蒙版组 13138@3x.png b/ProductApp/ProductApp/Assets.xcassets/我的/my_bj_nomo.imageset/蒙版组 13138@3x.png new file mode 100644 index 0000000..faac2d7 Binary files /dev/null and b/ProductApp/ProductApp/Assets.xcassets/我的/my_bj_nomo.imageset/蒙版组 13138@3x.png differ diff --git a/ProductApp/ProductApp/Assets.xcassets/我的/my_bj_pt.imageset/Contents.json b/ProductApp/ProductApp/Assets.xcassets/我的/my_bj_pt.imageset/Contents.json index 04a2b73..7d3a300 100644 --- a/ProductApp/ProductApp/Assets.xcassets/我的/my_bj_pt.imageset/Contents.json +++ b/ProductApp/ProductApp/Assets.xcassets/我的/my_bj_pt.imageset/Contents.json @@ -5,12 +5,12 @@ "scale" : "1x" }, { - "filename" : "组 45694@2x.png", + "filename" : "组 45889@2x.png", "idiom" : "universal", "scale" : "2x" }, { - "filename" : "组 45694@3x.png", + "filename" : "组 45889@3x.png", "idiom" : "universal", "scale" : "3x" } diff --git a/ProductApp/ProductApp/Assets.xcassets/我的/my_bj_pt.imageset/组 45694@2x.png b/ProductApp/ProductApp/Assets.xcassets/我的/my_bj_pt.imageset/组 45694@2x.png deleted file mode 100644 index 0351638..0000000 Binary files a/ProductApp/ProductApp/Assets.xcassets/我的/my_bj_pt.imageset/组 45694@2x.png and /dev/null differ diff --git a/ProductApp/ProductApp/Assets.xcassets/我的/my_bj_pt.imageset/组 45694@3x.png b/ProductApp/ProductApp/Assets.xcassets/我的/my_bj_pt.imageset/组 45694@3x.png deleted file mode 100644 index d60cc3f..0000000 Binary files a/ProductApp/ProductApp/Assets.xcassets/我的/my_bj_pt.imageset/组 45694@3x.png and /dev/null differ diff --git a/ProductApp/ProductApp/Assets.xcassets/我的/my_bj_pt.imageset/组 45889@2x.png b/ProductApp/ProductApp/Assets.xcassets/我的/my_bj_pt.imageset/组 45889@2x.png new file mode 100644 index 0000000..89443e8 Binary files /dev/null and b/ProductApp/ProductApp/Assets.xcassets/我的/my_bj_pt.imageset/组 45889@2x.png differ diff --git a/ProductApp/ProductApp/Assets.xcassets/我的/my_bj_pt.imageset/组 45889@3x.png b/ProductApp/ProductApp/Assets.xcassets/我的/my_bj_pt.imageset/组 45889@3x.png new file mode 100644 index 0000000..1066822 Binary files /dev/null and b/ProductApp/ProductApp/Assets.xcassets/我的/my_bj_pt.imageset/组 45889@3x.png differ diff --git a/ProductApp/ProductApp/Assets.xcassets/我的/my_headnomo.imageset/150@1x_副本.png b/ProductApp/ProductApp/Assets.xcassets/我的/my_headnomo.imageset/150@1x_副本.png new file mode 100644 index 0000000..e2b628a Binary files /dev/null and b/ProductApp/ProductApp/Assets.xcassets/我的/my_headnomo.imageset/150@1x_副本.png differ diff --git a/ProductApp/ProductApp/Assets.xcassets/我的/my_headnomo.imageset/Contents.json b/ProductApp/ProductApp/Assets.xcassets/我的/my_headnomo.imageset/Contents.json index fbc3455..85a84fe 100644 --- a/ProductApp/ProductApp/Assets.xcassets/我的/my_headnomo.imageset/Contents.json +++ b/ProductApp/ProductApp/Assets.xcassets/我的/my_headnomo.imageset/Contents.json @@ -5,7 +5,7 @@ "scale" : "1x" }, { - "filename" : "未命名_副本2 5.png", + "filename" : "150@1x_副本.png", "idiom" : "universal", "scale" : "2x" }, diff --git a/ProductApp/ProductApp/Assets.xcassets/我的/my_headnomo.imageset/未命名_副本2 5.png b/ProductApp/ProductApp/Assets.xcassets/我的/my_headnomo.imageset/未命名_副本2 5.png deleted file mode 100644 index 27e5f47..0000000 Binary files a/ProductApp/ProductApp/Assets.xcassets/我的/my_headnomo.imageset/未命名_副本2 5.png and /dev/null differ diff --git a/ProductApp/ProductApp/Assets.xcassets/我的/my_发布视频.imageset/Contents.json b/ProductApp/ProductApp/Assets.xcassets/我的/my_发布视频.imageset/Contents.json new file mode 100644 index 0000000..7b6156b --- /dev/null +++ b/ProductApp/ProductApp/Assets.xcassets/我的/my_发布视频.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "容器@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "容器@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/ProductApp/ProductApp/Assets.xcassets/我的/my_发布视频.imageset/容器@2x.png b/ProductApp/ProductApp/Assets.xcassets/我的/my_发布视频.imageset/容器@2x.png new file mode 100644 index 0000000..e62af56 Binary files /dev/null and b/ProductApp/ProductApp/Assets.xcassets/我的/my_发布视频.imageset/容器@2x.png differ diff --git a/ProductApp/ProductApp/Assets.xcassets/我的/my_发布视频.imageset/容器@3x.png b/ProductApp/ProductApp/Assets.xcassets/我的/my_发布视频.imageset/容器@3x.png new file mode 100644 index 0000000..86b1ed6 Binary files /dev/null and b/ProductApp/ProductApp/Assets.xcassets/我的/my_发布视频.imageset/容器@3x.png differ diff --git a/ProductApp/ProductApp/Assets.xcassets/素材库/Contents.json b/ProductApp/ProductApp/Assets.xcassets/素材库/Contents.json new file mode 100644 index 0000000..73c0059 --- /dev/null +++ b/ProductApp/ProductApp/Assets.xcassets/素材库/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/ProductApp/ProductApp/Assets.xcassets/素材库/sc_add_video.imageset/Contents.json b/ProductApp/ProductApp/Assets.xcassets/素材库/sc_add_video.imageset/Contents.json new file mode 100644 index 0000000..e6a3e38 --- /dev/null +++ b/ProductApp/ProductApp/Assets.xcassets/素材库/sc_add_video.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "Outlined/add@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/ProductApp/ProductApp/Assets.xcassets/素材库/sc_add_video.imageset/Outlined/add@3x.png b/ProductApp/ProductApp/Assets.xcassets/素材库/sc_add_video.imageset/Outlined/add@3x.png new file mode 100644 index 0000000..78bb75d Binary files /dev/null and b/ProductApp/ProductApp/Assets.xcassets/素材库/sc_add_video.imageset/Outlined/add@3x.png differ diff --git a/ProductApp/ProductApp/Assets.xcassets/素材库/sc_del.imageset/Contents.json b/ProductApp/ProductApp/Assets.xcassets/素材库/sc_del.imageset/Contents.json new file mode 100644 index 0000000..3710a6d --- /dev/null +++ b/ProductApp/ProductApp/Assets.xcassets/素材库/sc_del.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "组 42898@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "组 42898@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/ProductApp/ProductApp/Assets.xcassets/素材库/sc_del.imageset/组 42898@2x.png b/ProductApp/ProductApp/Assets.xcassets/素材库/sc_del.imageset/组 42898@2x.png new file mode 100644 index 0000000..64c26a6 Binary files /dev/null and b/ProductApp/ProductApp/Assets.xcassets/素材库/sc_del.imageset/组 42898@2x.png differ diff --git a/ProductApp/ProductApp/Assets.xcassets/素材库/sc_del.imageset/组 42898@3x.png b/ProductApp/ProductApp/Assets.xcassets/素材库/sc_del.imageset/组 42898@3x.png new file mode 100644 index 0000000..649ea80 Binary files /dev/null and b/ProductApp/ProductApp/Assets.xcassets/素材库/sc_del.imageset/组 42898@3x.png differ diff --git a/ProductApp/ProductApp/Assets.xcassets/素材库/sc_down.imageset/Contents.json b/ProductApp/ProductApp/Assets.xcassets/素材库/sc_down.imageset/Contents.json new file mode 100644 index 0000000..7b6156b --- /dev/null +++ b/ProductApp/ProductApp/Assets.xcassets/素材库/sc_down.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "容器@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "容器@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/ProductApp/ProductApp/Assets.xcassets/素材库/sc_down.imageset/容器@2x.png b/ProductApp/ProductApp/Assets.xcassets/素材库/sc_down.imageset/容器@2x.png new file mode 100644 index 0000000..7ec1424 Binary files /dev/null and b/ProductApp/ProductApp/Assets.xcassets/素材库/sc_down.imageset/容器@2x.png differ diff --git a/ProductApp/ProductApp/Assets.xcassets/素材库/sc_down.imageset/容器@3x.png b/ProductApp/ProductApp/Assets.xcassets/素材库/sc_down.imageset/容器@3x.png new file mode 100644 index 0000000..0cc33c9 Binary files /dev/null and b/ProductApp/ProductApp/Assets.xcassets/素材库/sc_down.imageset/容器@3x.png differ diff --git a/ProductApp/ProductApp/Assets.xcassets/素材库/sc_edit.imageset/Contents.json b/ProductApp/ProductApp/Assets.xcassets/素材库/sc_edit.imageset/Contents.json new file mode 100644 index 0000000..7b6156b --- /dev/null +++ b/ProductApp/ProductApp/Assets.xcassets/素材库/sc_edit.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "容器@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "容器@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/ProductApp/ProductApp/Assets.xcassets/素材库/sc_edit.imageset/容器@2x.png b/ProductApp/ProductApp/Assets.xcassets/素材库/sc_edit.imageset/容器@2x.png new file mode 100644 index 0000000..797e8dc Binary files /dev/null and b/ProductApp/ProductApp/Assets.xcassets/素材库/sc_edit.imageset/容器@2x.png differ diff --git a/ProductApp/ProductApp/Assets.xcassets/素材库/sc_edit.imageset/容器@3x.png b/ProductApp/ProductApp/Assets.xcassets/素材库/sc_edit.imageset/容器@3x.png new file mode 100644 index 0000000..c7fd853 Binary files /dev/null and b/ProductApp/ProductApp/Assets.xcassets/素材库/sc_edit.imageset/容器@3x.png differ diff --git a/ProductApp/ProductApp/Assets.xcassets/素材库/sc_search.imageset/Contents.json b/ProductApp/ProductApp/Assets.xcassets/素材库/sc_search.imageset/Contents.json new file mode 100644 index 0000000..7b6156b --- /dev/null +++ b/ProductApp/ProductApp/Assets.xcassets/素材库/sc_search.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "容器@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "容器@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/ProductApp/ProductApp/Assets.xcassets/素材库/sc_search.imageset/容器@2x.png b/ProductApp/ProductApp/Assets.xcassets/素材库/sc_search.imageset/容器@2x.png new file mode 100644 index 0000000..7112414 Binary files /dev/null and b/ProductApp/ProductApp/Assets.xcassets/素材库/sc_search.imageset/容器@2x.png differ diff --git a/ProductApp/ProductApp/Assets.xcassets/素材库/sc_search.imageset/容器@3x.png b/ProductApp/ProductApp/Assets.xcassets/素材库/sc_search.imageset/容器@3x.png new file mode 100644 index 0000000..f78c197 Binary files /dev/null and b/ProductApp/ProductApp/Assets.xcassets/素材库/sc_search.imageset/容器@3x.png differ diff --git a/ProductApp/ProductApp/Assets.xcassets/素材库/sc_send.imageset/Contents.json b/ProductApp/ProductApp/Assets.xcassets/素材库/sc_send.imageset/Contents.json new file mode 100644 index 0000000..8925e57 --- /dev/null +++ b/ProductApp/ProductApp/Assets.xcassets/素材库/sc_send.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "容器@2x(1).png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "容器@3x(1).png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/ProductApp/ProductApp/Assets.xcassets/素材库/sc_send.imageset/容器@2x(1).png b/ProductApp/ProductApp/Assets.xcassets/素材库/sc_send.imageset/容器@2x(1).png new file mode 100644 index 0000000..cdcd17d Binary files /dev/null and b/ProductApp/ProductApp/Assets.xcassets/素材库/sc_send.imageset/容器@2x(1).png differ diff --git a/ProductApp/ProductApp/Assets.xcassets/素材库/sc_send.imageset/容器@3x(1).png b/ProductApp/ProductApp/Assets.xcassets/素材库/sc_send.imageset/容器@3x(1).png new file mode 100644 index 0000000..4146f3c Binary files /dev/null and b/ProductApp/ProductApp/Assets.xcassets/素材库/sc_send.imageset/容器@3x(1).png differ diff --git a/ProductApp/ProductApp/Assets.xcassets/素材库/sc_xq_down.imageset/Contents.json b/ProductApp/ProductApp/Assets.xcassets/素材库/sc_xq_down.imageset/Contents.json new file mode 100644 index 0000000..7b6156b --- /dev/null +++ b/ProductApp/ProductApp/Assets.xcassets/素材库/sc_xq_down.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "容器@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "容器@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/ProductApp/ProductApp/Assets.xcassets/素材库/sc_xq_down.imageset/容器@2x.png b/ProductApp/ProductApp/Assets.xcassets/素材库/sc_xq_down.imageset/容器@2x.png new file mode 100644 index 0000000..c68e1ba Binary files /dev/null and b/ProductApp/ProductApp/Assets.xcassets/素材库/sc_xq_down.imageset/容器@2x.png differ diff --git a/ProductApp/ProductApp/Assets.xcassets/素材库/sc_xq_down.imageset/容器@3x.png b/ProductApp/ProductApp/Assets.xcassets/素材库/sc_xq_down.imageset/容器@3x.png new file mode 100644 index 0000000..518ceb9 Binary files /dev/null and b/ProductApp/ProductApp/Assets.xcassets/素材库/sc_xq_down.imageset/容器@3x.png differ diff --git a/ProductApp/ProductApp/Assets.xcassets/素材库/sc_zanwushuju.imageset/Contents.json b/ProductApp/ProductApp/Assets.xcassets/素材库/sc_zanwushuju.imageset/Contents.json new file mode 100644 index 0000000..205bd65 --- /dev/null +++ b/ProductApp/ProductApp/Assets.xcassets/素材库/sc_zanwushuju.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "容器 276@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "容器 276@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/ProductApp/ProductApp/Assets.xcassets/素材库/sc_zanwushuju.imageset/容器 276@2x.png b/ProductApp/ProductApp/Assets.xcassets/素材库/sc_zanwushuju.imageset/容器 276@2x.png new file mode 100644 index 0000000..40f51d6 Binary files /dev/null and b/ProductApp/ProductApp/Assets.xcassets/素材库/sc_zanwushuju.imageset/容器 276@2x.png differ diff --git a/ProductApp/ProductApp/Assets.xcassets/素材库/sc_zanwushuju.imageset/容器 276@3x.png b/ProductApp/ProductApp/Assets.xcassets/素材库/sc_zanwushuju.imageset/容器 276@3x.png new file mode 100644 index 0000000..cb6d94f Binary files /dev/null and b/ProductApp/ProductApp/Assets.xcassets/素材库/sc_zanwushuju.imageset/容器 276@3x.png differ diff --git a/ProductApp/ProductApp/Base.lproj/LaunchScreen.storyboard b/ProductApp/ProductApp/Base.lproj/LaunchScreen.storyboard index 02b492a..772dc20 100644 --- a/ProductApp/ProductApp/Base.lproj/LaunchScreen.storyboard +++ b/ProductApp/ProductApp/Base.lproj/LaunchScreen.storyboard @@ -2,6 +2,7 @@ + @@ -15,7 +16,7 @@ - + @@ -45,6 +46,6 @@ - + diff --git a/ProductApp/ProductApp/BaseControl/AFNetworking/YSAPIClient.m b/ProductApp/ProductApp/BaseControl/AFNetworking/YSAPIClient.m index 92395fb..56b616b 100644 --- a/ProductApp/ProductApp/BaseControl/AFNetworking/YSAPIClient.m +++ b/ProductApp/ProductApp/BaseControl/AFNetworking/YSAPIClient.m @@ -301,7 +301,7 @@ static NSTimeInterval af_timeout = 30.0f; {///需要解密 NSString *strdata = [responseObject objectForKey:@"data"]; - NSString *strjjm = [MIUAES SB_AES_Decrypt:strdata mode:SBModeCBC key:AESDecodeKey keySize:SBKeySizeAES256 iv:[AESDecodeKey substringWithRange:NSMakeRange(0, 16)] padding:SBCryptorPKCS7Padding]; + NSString *strjjm = [MIUAES SB_AES_Decrypt:strdata mode:SBModeCBC key:AESJieMiKey keySize:SBKeySizeAES256 iv:[AESJieMiKey substringWithRange:NSMakeRange(0, 16)] padding:SBCryptorPKCS7Padding]; NSDictionary *dicback = [NSJSONSerialization JSONObjectWithData:[strjjm dataUsingEncoding:NSUTF8StringEncoding] options:NSJSONReadingMutableLeaves error:nil]; [UserDetailModel pushDengLuVC:[dicback objectForKey:@"code"] url:response.URL.absoluteString]; completeBlock(dicback,error); @@ -323,7 +323,7 @@ static NSTimeInterval af_timeout = 30.0f; {///需要解密 NSString *strdata = [responseObject objectForKey:@"data"]; - NSString *strjjm = [MIUAES SB_AES_Decrypt:strdata mode:SBModeCBC key:AESDecodeKey keySize:SBKeySizeAES256 iv:[AESDecodeKey substringWithRange:NSMakeRange(0, 16)] padding:SBCryptorPKCS7Padding]; + NSString *strjjm = [MIUAES SB_AES_Decrypt:strdata mode:SBModeCBC key:AESJieMiKey keySize:SBKeySizeAES256 iv:[AESJieMiKey substringWithRange:NSMakeRange(0, 16)] padding:SBCryptorPKCS7Padding]; NSDictionary *dicback = [NSJSONSerialization JSONObjectWithData:[strjjm dataUsingEncoding:NSUTF8StringEncoding] options:NSJSONReadingMutableLeaves error:nil]; [UserDetailModel pushDengLuVC:[dicback objectForKey:@"code"] url:response.URL.absoluteString]; completeBlock(dicback,error); @@ -526,7 +526,7 @@ static NSTimeInterval af_timeout = 30.0f; {///需要解密 NSString *strdata = [responseObject objectForKey:@"data"]; - NSString *strjjm = [MIUAES SB_AES_Decrypt:strdata mode:SBModeCBC key:AESDecodeKey keySize:SBKeySizeAES256 iv:[AESDecodeKey substringWithRange:NSMakeRange(0, 16)] padding:SBCryptorPKCS7Padding]; + NSString *strjjm = [MIUAES SB_AES_Decrypt:strdata mode:SBModeCBC key:AESJieMiKey keySize:SBKeySizeAES256 iv:[AESJieMiKey substringWithRange:NSMakeRange(0, 16)] padding:SBCryptorPKCS7Padding]; NSDictionary *dicback = [NSJSONSerialization JSONObjectWithData:[strjjm dataUsingEncoding:NSUTF8StringEncoding] options:NSJSONReadingMutableLeaves error:nil]; completeBlock(dicback,nil); @@ -669,7 +669,7 @@ static NSTimeInterval af_timeout = 30.0f; {///需要解密 NSString *strdata = [responseObject objectForKey:@"data"]; - NSString *strjjm = [MIUAES SB_AES_Decrypt:strdata mode:SBModeCBC key:AESDecodeKey keySize:SBKeySizeAES256 iv:[AESDecodeKey substringWithRange:NSMakeRange(0, 16)] padding:SBCryptorPKCS7Padding]; + NSString *strjjm = [MIUAES SB_AES_Decrypt:strdata mode:SBModeCBC key:AESJieMiKey keySize:SBKeySizeAES256 iv:[AESJieMiKey substringWithRange:NSMakeRange(0, 16)] padding:SBCryptorPKCS7Padding]; NSDictionary *dicback = [NSJSONSerialization JSONObjectWithData:[strjjm dataUsingEncoding:NSUTF8StringEncoding] options:NSJSONReadingMutableLeaves error:nil]; completeBlock(dicback,error); @@ -910,17 +910,17 @@ static NSTimeInterval af_timeout = 30.0f; NSString *strsign; if(body.length>0) { - strsign = [strpathtemp stringByAppendingFormat:@"%@", [NSString stringWithFormat:@"&%@&%@",body,[Tools getMd5_32Bit_String:EcodePassKey isUppercase:NO]]]; + strsign = [strpathtemp stringByAppendingFormat:@"%@", [NSString stringWithFormat:@"&%@&%@",body,[Tools getMd5_32Bit_String:EcodeJiaMiKey isUppercase:NO]]]; } else { - strsign = [strpathtemp stringByAppendingFormat:@"%@", [NSString stringWithFormat:@"&%@",[Tools getMd5_32Bit_String:EcodePassKey isUppercase:NO]]]; + strsign = [strpathtemp stringByAppendingFormat:@"%@", [NSString stringWithFormat:@"&%@",[Tools getMd5_32Bit_String:EcodeJiaMiKey isUppercase:NO]]]; } //加密 strsign = [Tools getMd5_32Bit_String:strsign isUppercase:NO]; NSString *strback = [NSString stringWithFormat:@"?%@&signature=%@",strpathtemp,strsign]; - strback = [Tools stringEncode:strback]; +// strback = [Tools stringEncode:strback]; return strback; } @@ -934,7 +934,7 @@ static NSTimeInterval af_timeout = 30.0f; NSData *data = [body objectForKey:@"file"]; - NSData *data1 = [[NSString stringWithFormat:@"&%@",[Tools getMd5_32Bit_String:EcodePassKey isUppercase:NO]] dataUsingEncoding:NSUTF8StringEncoding]; + NSData *data1 = [[NSString stringWithFormat:@"&%@",[Tools getMd5_32Bit_String:EcodeJiaMiKey isUppercase:NO]] dataUsingEncoding:NSUTF8StringEncoding]; NSData *dataall = [self appendData:[self appendData:data0 data2:data] data2:data1]; @@ -961,7 +961,7 @@ static NSTimeInterval af_timeout = 30.0f; // // [dataall appendData:data];///这个参数需要修改 // -// [dataall appendData:[[NSString stringWithFormat:@"&%@",[Tools getMd5_32Bit_String:EcodePassKey isUppercase:NO]] dataUsingEncoding:NSUTF8StringEncoding]]; +// [dataall appendData:[[NSString stringWithFormat:@"&%@",[Tools getMd5_32Bit_String:EcodeJiaMiKey isUppercase:NO]] dataUsingEncoding:NSUTF8StringEncoding]]; // // strsign = [Tools getMd5_32Bit_Data:dataall]; // NSString *strback = [NSString stringWithFormat:@"?%@&signature=%@",strpathtemp,strsign]; diff --git a/ProductApp/ProductApp/BaseControl/TabBar/TabBarController.m b/ProductApp/ProductApp/BaseControl/TabBar/TabBarController.m index 17586ea..50cedd5 100644 --- a/ProductApp/ProductApp/BaseControl/TabBar/TabBarController.m +++ b/ProductApp/ProductApp/BaseControl/TabBar/TabBarController.m @@ -11,6 +11,8 @@ #import "ShouYeViewController.h" #import "WoDeViewController.h" #import "ZhiXunViewController.h" +#import "ShuCaiKuViewController.h" +#import "JiLuViewController.h" @interface TabBarController () @@ -37,15 +39,26 @@ normalTitleColor:RGBCOLOR(117, 117, 117)]; [self.rootVcAry addObject:honeVC]; + ShuCaiKuViewController *sckVC =[[ShuCaiKuViewController alloc] init]; + [self setTabBarItem:sckVC.tabBarItem + title:@"素材库" + titleSize:10.0 + titleFontName:@"HeiTi SC" + selectedImage:@"tab_素材库Y" + selectedTitleColor:RGBCOLOR(240, 54, 94) + normalImage:@"tab_素材库N" + normalTitleColor:RGBCOLOR(117, 117, 117)]; + [self.rootVcAry addObject:sckVC]; - ZhiXunViewController *cartVC =[[ZhiXunViewController alloc] init]; + + JiLuViewController *cartVC =[[JiLuViewController alloc] init]; [self setTabBarItem:cartVC.tabBarItem - title:@"资讯" + title:@"记录" titleSize:11.0 titleFontName:@"HeiTi SC" - selectedImage:@"tab_资讯Y" + selectedImage:@"tab_记录Y" selectedTitleColor:RGBCOLOR(240, 54, 94) - normalImage:@"tab_资讯N" + normalImage:@"tab_记录N" normalTitleColor:RGBCOLOR(117, 117, 117)]; [self.rootVcAry addObject:cartVC]; diff --git a/ProductApp/ProductApp/BaseControl/UserInfo/UserDetailModel.h b/ProductApp/ProductApp/BaseControl/UserInfo/UserDetailModel.h index 3ba708e..2d0bc67 100644 --- a/ProductApp/ProductApp/BaseControl/UserInfo/UserDetailModel.h +++ b/ProductApp/ProductApp/BaseControl/UserInfo/UserDetailModel.h @@ -47,6 +47,9 @@ NS_ASSUME_NONNULL_BEGIN ///余额 @property (nonatomic , strong) NSString *balance; +///素材标签 +@property (nonatomic , strong) NSArray *arrSCTags; + @property (nonatomic , assign) BOOL isloadconfig; +(void)setLoingState:(NSString *)value; diff --git a/ProductApp/ProductApp/BaseControl/UserInfo/UserDetailModel.m b/ProductApp/ProductApp/BaseControl/UserInfo/UserDetailModel.m index 409895f..02f4425 100644 --- a/ProductApp/ProductApp/BaseControl/UserInfo/UserDetailModel.m +++ b/ProductApp/ProductApp/BaseControl/UserInfo/UserDetailModel.m @@ -143,7 +143,7 @@ static UserDetailModel *userinfo; +(void)getPaiZhiData { - NSString *stridfa = [[NSUserDefaults standardUserDefaults] objectForKey:PhoneIDFA]; + NSString *stridfa = [[NSUserDefaults standardUserDefaults] objectForKey:IOSIDFA]; [GongGongNetManager getUserConfiginfoData:nil idfa:stridfa Callback:^(BOOL state, KCSPUserSysterConfModel *responseObject, NSString * _Nullable describle) { if(state) { diff --git a/ProductApp/ProductApp/BaseControl/WMPlayer/WMPlayer.h b/ProductApp/ProductApp/BaseControl/WMPlayer/WMPlayer.h index cfb6d2f..51e8bed 100644 --- a/ProductApp/ProductApp/BaseControl/WMPlayer/WMPlayer.h +++ b/ProductApp/ProductApp/BaseControl/WMPlayer/WMPlayer.h @@ -124,6 +124,8 @@ typedef NS_ENUM(NSUInteger,WMControlType) { 是否静音 */ @property (nonatomic,assign) BOOL muted; +///是否可以操作进度默认可以操作 yes不可以操作 +@property (nonatomic , assign) BOOL isprogressSliderAction; /** 设置playerLayer的填充模式 */ diff --git a/ProductApp/ProductApp/BaseControl/WMPlayer/WMPlayer.m b/ProductApp/ProductApp/BaseControl/WMPlayer/WMPlayer.m index e701b57..0553dc5 100644 --- a/ProductApp/ProductApp/BaseControl/WMPlayer/WMPlayer.m +++ b/ProductApp/ProductApp/BaseControl/WMPlayer/WMPlayer.m @@ -157,6 +157,15 @@ static void *PlayViewStatusObservationContext = &PlayViewStatusObservationContex } return _imgvFirst; } +-(void)setIsprogressSliderAction:(BOOL)isprogressSliderAction +{ + _isprogressSliderAction = isprogressSliderAction; + if(isprogressSliderAction) + { + [self.progressSlider setUserInteractionEnabled:NO]; + [self.fullScreenBtn setHidden:YES]; + } +} ///自定义属性 - (void)setType:(NSString *)type { _type = type; @@ -1109,11 +1118,19 @@ static void *PlayViewStatusObservationContext = &PlayViewStatusObservationContex #pragma mark #pragma mark--开始拖曳sidle - (void)stratDragSlide:(UISlider *)slider{ + if(self.isprogressSliderAction==YES) + { + return; + } self.isDragingSlider = YES; } #pragma mark #pragma mark - 播放进度 - (void)updateProgress:(UISlider *)slider{ + if(self.isprogressSliderAction==YES) + { + return; + } self.isDragingSlider = NO; [self.player seekToTime:CMTimeMakeWithSeconds(slider.value, self.currentItem.currentTime.timescale)]; } diff --git a/ProductApp/ProductApp/Configure/ConfigireSetting.h b/ProductApp/ProductApp/Configure/ConfigireSetting.h index 027ff72..4ac9b20 100644 --- a/ProductApp/ProductApp/Configure/ConfigireSetting.h +++ b/ProductApp/ProductApp/Configure/ConfigireSetting.h @@ -13,9 +13,9 @@ NS_ASSUME_NONNULL_BEGIN //********************项目域名配置*********************** ///解密 -#define AESDecodeKey @"0b0d7962d67a76f00cf9fe0eec0061c2" +#define AESJieMiKey @"0b0d7962d67a76f00cf9fe0eec0061c2" ///加密字符 -#define EcodePassKey @"857d69d374694c1de46486d3bdaaac43" +#define EcodeJiaMiKey @"857d69d374694c1de46486d3bdaaac43" //******服***** #define BaseUrl @"https://kct4.batiao8.com/" @@ -92,34 +92,34 @@ alpha:alphaValue] ///设备uuid -#define PhoneIDFA @"PhoneIDFA" +#define IOSIDFA @"IOSIDFA" ///微信 -#define WXAPPID @"wx17ad11a7c06e2d60" -#define WXUrlLink @"https://kct4.batiao8.com/ulink/" +#define WXinAPPID @"wx17ad11a7c06e2d60" +#define WXinUrlLink @"https://kct4.batiao8.com/ulink/" ///友盟 -#define YMAppKey @"67fe1745bc47b67d833c8852" +#define YMengAppKey @"67fe1745bc47b67d833c8852" ///个推 -#define GTAPPID @"HE9nqTugoL8t42IrENGKf6" +#define GTuiAPPID @"HE9nqTugoL8t42IrENGKf6" -#define WXDengLuSQ @"WXDengLuSQ" ///登录 -#define WXZhiFuSQ @"WXZhiFuSQ" ///支付 +#define WXinDengLuSQ @"WXinDengLuSQ" ///登录 +#define WXinZFuSQ @"WXinZFuSQ" ///支付 /// -#define WXDengZBHF @"WXDengZBHF" ///登录 +#define WXinDengZBHF @"WXinDengZBHF" ///登录 /// ///协议弹窗 -#define YongHuXieYiState @"YongHuXieYiState" +#define UserXYiState @"UserXYiState" /// 存储的/链接和/名称/数组 -#define CopyAlterKeyInfo @"CopyAlterKeyInfos" +#define CopyUseList @"CopyUseLists" ///用户/协议 -#define YongHuXieUrl @"https://kct4.batiao8.com/static/policy2/user.html" +#define UserXieYUrl @"https://kct4.batiao8.com/static/policy2/user.html" ///隐私/政策 -#define YongHuYinSiUrl @"https://kct4.batiao8.com/static/policy2/provacy.html" +#define UserYinSiPathUrl @"https://kct4.batiao8.com/static/policy2/provacy.html" #define AppXZUrl @"itms-apps://itunes.apple.com/cn/app/id6744357775?mt=8" diff --git a/ProductApp/ProductApp/FFmpeg-iOS/KCSPFFmpegCenterManager.h b/ProductApp/ProductApp/FFmpeg-iOS/KCSPFFmpegCenterManager.h index f7565af..d4403a1 100644 --- a/ProductApp/ProductApp/FFmpeg-iOS/KCSPFFmpegCenterManager.h +++ b/ProductApp/ProductApp/FFmpeg-iOS/KCSPFFmpegCenterManager.h @@ -27,7 +27,7 @@ completionBlock:(void (^)(NSError *error))completionBlock; ///合并 commandStr命令 --(void)heBingCommandStr:(NSString *)commandStr +-(void)MergeCommandStr:(NSString *)commandStr processBlock:(void (^)(float process))processBlock completionBlock:(void (^)(NSError *error))completionBlock; diff --git a/ProductApp/ProductApp/FFmpeg-iOS/KCSPFFmpegCenterManager.m b/ProductApp/ProductApp/FFmpeg-iOS/KCSPFFmpegCenterManager.m index c39615b..aeffad2 100644 --- a/ProductApp/ProductApp/FFmpeg-iOS/KCSPFFmpegCenterManager.m +++ b/ProductApp/ProductApp/FFmpeg-iOS/KCSPFFmpegCenterManager.m @@ -86,7 +86,7 @@ } ///合并 commandStr命令 --(void)heBingCommandStr:(NSString *)commandStr +-(void)MergeCommandStr:(NSString *)commandStr processBlock:(void (^)(float process))processBlock completionBlock:(void (^)(NSError *error))completionBlock { diff --git a/ProductApp/ProductApp/ProductMain/NetWorkManager/GongGongNetManager.h b/ProductApp/ProductApp/ProductMain/NetWorkManager/GongGongNetManager.h index d008f1f..784c2c7 100644 --- a/ProductApp/ProductApp/ProductMain/NetWorkManager/GongGongNetManager.h +++ b/ProductApp/ProductApp/ProductMain/NetWorkManager/GongGongNetManager.h @@ -71,6 +71,11 @@ NS_ASSUME_NONNULL_BEGIN image:(UIImage *)image Callback:(completeModeBlock)callback; ++ (void)postUserUploadVideoData:(UIView *)view + scene:(NSString *)scene + url:(NSURL *)urlvideo + Callback:(completeModeBlock)callback; + //////////// /* 注销用户 diff --git a/ProductApp/ProductApp/ProductMain/NetWorkManager/GongGongNetManager.m b/ProductApp/ProductApp/ProductMain/NetWorkManager/GongGongNetManager.m index 6b34e8d..2647aa1 100644 --- a/ProductApp/ProductApp/ProductMain/NetWorkManager/GongGongNetManager.m +++ b/ProductApp/ProductApp/ProductMain/NetWorkManager/GongGongNetManager.m @@ -155,8 +155,13 @@ NSMutableDictionary *dicQuery = [NSMutableDictionary new]; [dicQuery setObject:[Tools isStringnil:scene] forKey:@"scene"]; + NSData *imagedata = UIImageJPEGRepresentation(image, 1.0); + if(imagedata==nil) + { + imagedata = UIImagePNGRepresentation(image); + } - [[KCSPUploadImageManager shareManager] netWorkUrlUserPost:[NSString stringWithFormat:@"%@api/user/upload",BaseUrl] UploadImage:image dicQuery:dicQuery Callback:^(BOOL state, id _Nullable responseObject, NSString * _Nullable describle) { + [[KCSPUploadImageManager shareManager] netWorkUrlUserPost:[NSString stringWithFormat:@"%@api/user/upload",BaseUrl] UploadImage:imagedata type:0 dicQuery:dicQuery Callback:^(BOOL state, id _Nullable responseObject, NSString * _Nullable describle) { BOOL stateBack = NO; NSString *describleBack = @""; if (responseObject==nil) { @@ -174,6 +179,34 @@ } }]; } + ++ (void)postUserUploadVideoData:(UIView *)view + scene:(NSString *)scene + url:(NSURL *)urlvideo + Callback:(completeModeBlock)callback +{ + NSMutableDictionary *dicQuery = [NSMutableDictionary new]; + [dicQuery setObject:[Tools isStringnil:scene] forKey:@"scene"]; + + [[KCSPUploadImageManager shareManager] netWorkUrlUserPost:[NSString stringWithFormat:@"%@api/user/upload",BaseUrl] UploadImage:[NSData dataWithContentsOfURL:urlvideo] type:1 dicQuery:dicQuery Callback:^(BOOL state, id _Nullable responseObject, NSString * _Nullable describle) { + BOOL stateBack = NO; + NSString *describleBack = @""; + if (responseObject==nil) { + describleBack = @"网络错误"; + BaseModel *model = [BaseModel new]; + model.message =describle; + callback(stateBack,model,describleBack); + }else{ + NSDictionary *dicAll=responseObject; + describleBack = dicAll[@"message"]; + if ([[NSString stringWithFormat:@"%@",dicAll[@"code"]] intValue] == 0) { + stateBack = YES; + } + callback(stateBack,[KCSPUserGXModel yy_modelWithJSON:dicAll],describleBack); + } + }]; +} + /* 注销用户 api/user/destroy diff --git a/ProductApp/ProductApp/ProductMain/NetWorkManager/KCSPNetManager.h b/ProductApp/ProductApp/ProductMain/NetWorkManager/KCSPNetManager.h index 554db73..818984d 100644 --- a/ProductApp/ProductApp/ProductMain/NetWorkManager/KCSPNetManager.h +++ b/ProductApp/ProductApp/ProductMain/NetWorkManager/KCSPNetManager.h @@ -20,6 +20,9 @@ #import "ZhiXunFenLaiModel.h" #import "ZhiXunListModel.h" +#import "MaterialTagModel.h" + + NS_ASSUME_NONNULL_BEGIN @interface KCSPNetManager : NSObject @@ -183,6 +186,69 @@ NS_ASSUME_NONNULL_BEGIN page:(NSString *)page Callback:(completeModeBlock)callback; +#pragma mark - 用户素材 +/* + 用户素材 + /api/user/material + page + status "0": 待审核 "1".通过 "2".驳回 "".所有 + */ ++(void)requestUserMaterialData:(UIView *)view + page:(NSString *)page + status:(NSString *)status + Callback:(completeModeBlock)callback; + +/* + 提交用户素材 post put + /api/user/material + pic_size 长,宽 + file_time 时长s + ID 修改的ID + download 下载次数 + */ ++(void)requestUserMaterialData:(UIView *)view + title:(NSString *)title + file:(NSDictionary *)file + pic:(NSDictionary *)pic + pic_size:(NSString *)pic_size + file_time:(NSString *)file_time + tags:(NSArray *)tags + ID:(NSString *)ID + download:(NSString *)download + Callback:(completeModeBlock)callback; + +/* + 删除用户素材 + /api/user/material + */ ++(void)requestUserMaterialData:(UIView *)view + ID:(NSString *)ID + Callback:(completeModeBlock)callback; + +/* + 标签列表 + /api/material/tag + */ ++(void)requestMaterialtagData:(UIView *)view + Callback:(completeModeBlock)callback; + +/* + 搜索素材 + /api/user/material/search + */ ++(void)requestUserMaterialSearchData:(UIView *)view + page:(NSString *)page + keywords:(NSString *)keywords + Callback:(completeModeBlock)callback; + +/* + 更新下载次数 + + */ ++(void)requestUserMaterialUpdataData:(UIView *)view + ID:(NSString *)ID + download:(NSString *)download + Callback:(completeModeBlock)callback; @end NS_ASSUME_NONNULL_END diff --git a/ProductApp/ProductApp/ProductMain/NetWorkManager/KCSPNetManager.m b/ProductApp/ProductApp/ProductMain/NetWorkManager/KCSPNetManager.m index 09d51d8..e2da4cf 100644 --- a/ProductApp/ProductApp/ProductMain/NetWorkManager/KCSPNetManager.m +++ b/ProductApp/ProductApp/ProductMain/NetWorkManager/KCSPNetManager.m @@ -662,4 +662,249 @@ } }]; } + +#pragma mark - 用户素材 +/* + 用户素材 + /api/user/material + page + status "0": 待审核 "1".通过 "2".驳回 "".所有 + */ ++(void)requestUserMaterialData:(UIView *)view + page:(NSString *)page + status:(NSString *)status + Callback:(completeModeBlock)callback +{ + NSMutableDictionary *dicQuery = [NSMutableDictionary new]; + [dicQuery setObject:[Tools isStringnil:page] forKey:@"page"]; + [dicQuery setObject:[Tools isStringnil:status] forKey:@"status"]; + [dicQuery setObject:@"20" forKey:@"size"]; + + NSMutableDictionary *dicHeader = [NSMutableDictionary new]; + + NSMutableDictionary *dicpush = [NSMutableDictionary new]; + + + [YSAPIClient requestWithRequestBaseUrl:BaseUrl Type:1 url:@"api/user/material" paraments:dicpush Headers:dicHeader Query:dicQuery completeBlock:^(id _Nullable responseObject, NSError * _Nullable error) { + BOOL state = NO; + NSString *describle = @""; + if (responseObject==nil) { + describle = @"网络错误"; + BaseModel *model = [BaseModel new]; + model.message =describle; + callback(state,model,describle); + }else{ + NSDictionary *dicAll=responseObject; + describle = dicAll[@"message"]; + if ([[NSString stringWithFormat:@"%@",dicAll[@"code"]] intValue] == 0) { + state = YES; + } + callback(state,[UserMaterialModel yy_modelWithJSON:dicAll],describle); + } + }]; +} + +/* + 提交用户素材 post put + /api/user/material + pic_size 长,宽 + file_time 时长s + ID 修改的ID + download 下载次数 + */ ++(void)requestUserMaterialData:(UIView *)view + title:(NSString *)title + file:(NSDictionary *)file + pic:(NSDictionary *)pic + pic_size:(NSString *)pic_size + file_time:(NSString *)file_time + tags:(NSArray *)tags + ID:(NSString *)ID + download:(NSString *)download + Callback:(completeModeBlock)callback +{ + NSMutableDictionary *dicQuery = [NSMutableDictionary new]; + + NSMutableDictionary *dicHeader = [NSMutableDictionary new]; + + NSMutableDictionary *dicpush = [NSMutableDictionary new]; + [dicpush setObject:[Tools isStringnil:title] forKey:@"title"]; + [dicpush setObject:file forKey:@"file"]; + [dicpush setObject:pic forKey:@"pic"]; + [dicpush setObject:[Tools isStringnil:pic_size] forKey:@"pic_size"]; + [dicpush setObject:[Tools isStringnil:file_time] forKey:@"file_time"]; + [dicpush setObject:tags forKey:@"tags"]; + + int type = 2; + if([Tools isStringnil:ID].length>0) + { + type = 3; + [dicpush setObject:[Tools isStringnil:ID] forKey:@"id"]; + [dicpush setObject:[Tools isStringnil:download] forKey:@"download"]; + } + + + [YSAPIClient requestWithRequestBaseUrl:BaseUrl Type:type url:@"api/user/material" paraments:dicpush Headers:dicHeader Query:dicQuery completeBlock:^(id _Nullable responseObject, NSError * _Nullable error) { + BOOL state = NO; + NSString *describle = @""; + if (responseObject==nil) { + describle = @"网络错误"; + BaseModel *model = [BaseModel new]; + model.message =describle; + callback(state,model,describle); + }else{ + NSDictionary *dicAll=responseObject; + describle = dicAll[@"message"]; + if ([[NSString stringWithFormat:@"%@",dicAll[@"code"]] intValue] == 0) { + state = YES; + } + callback(state,[BaseModel yy_modelWithJSON:dicAll],describle); + } + }]; +} + +/* + 删除用户素材 + /api/user/material + */ ++(void)requestUserMaterialData:(UIView *)view + ID:(NSString *)ID + Callback:(completeModeBlock)callback +{ + NSMutableDictionary *dicQuery = [NSMutableDictionary new]; + [dicQuery setObject:[Tools isStringnil:ID] forKey:@"id"]; + + NSMutableDictionary *dicHeader = [NSMutableDictionary new]; + + NSMutableDictionary *dicpush = [NSMutableDictionary new]; + + + [YSAPIClient requestWithRequestBaseUrl:BaseUrl Type:4 url:@"api/user/material" paraments:dicpush Headers:dicHeader Query:dicQuery completeBlock:^(id _Nullable responseObject, NSError * _Nullable error) { + BOOL state = NO; + NSString *describle = @""; + if (responseObject==nil) { + describle = @"网络错误"; + BaseModel *model = [BaseModel new]; + model.message =describle; + callback(state,model,describle); + }else{ + NSDictionary *dicAll=responseObject; + describle = dicAll[@"message"]; + if ([[NSString stringWithFormat:@"%@",dicAll[@"code"]] intValue] == 0) { + state = YES; + } + callback(state,[BaseModel yy_modelWithJSON:dicAll],describle); + } + }]; +} + +/* + 标签列表 + /api/material/tag + */ ++(void)requestMaterialtagData:(UIView *)view + Callback:(completeModeBlock)callback +{ + NSMutableDictionary *dicQuery = [NSMutableDictionary new]; + + NSMutableDictionary *dicHeader = [NSMutableDictionary new]; + + NSMutableDictionary *dicpush = [NSMutableDictionary new]; + + + [YSAPIClient requestWithRequestBaseUrl:BaseUrl Type:1 url:@"api/material/tag" paraments:dicpush Headers:dicHeader Query:dicQuery completeBlock:^(id _Nullable responseObject, NSError * _Nullable error) { + BOOL state = NO; + NSString *describle = @""; + if (responseObject==nil) { + describle = @"网络错误"; + BaseModel *model = [BaseModel new]; + model.message =describle; + callback(state,model,describle); + }else{ + NSDictionary *dicAll=responseObject; + describle = dicAll[@"message"]; + if ([[NSString stringWithFormat:@"%@",dicAll[@"code"]] intValue] == 0) { + state = YES; + } + callback(state,[MaterialTagModel yy_modelWithJSON:dicAll],describle); + } + }]; +} + +/* + 搜索素材 + /api/user/material/search + */ ++(void)requestUserMaterialSearchData:(UIView *)view + page:(NSString *)page + keywords:(NSString *)keywords + Callback:(completeModeBlock)callback +{ + NSMutableDictionary *dicQuery = [NSMutableDictionary new]; + [dicQuery setObject:[Tools isStringnil:page] forKey:@"page"]; + [dicQuery setObject:[Tools stringEncode:[Tools isStringnil:keywords]] forKey:@"keywords"]; + [dicQuery setObject:@"20" forKey:@"size"]; + + NSMutableDictionary *dicHeader = [NSMutableDictionary new]; + + NSMutableDictionary *dicpush = [NSMutableDictionary new]; + + + [YSAPIClient requestWithRequestBaseUrl:BaseUrl Type:1 url:@"api/user/material/search" paraments:dicpush Headers:dicHeader Query:dicQuery completeBlock:^(id _Nullable responseObject, NSError * _Nullable error) { + BOOL state = NO; + NSString *describle = @""; + if (responseObject==nil) { + describle = @"网络错误"; + BaseModel *model = [BaseModel new]; + model.message =describle; + callback(state,model,describle); + }else{ + NSDictionary *dicAll=responseObject; + describle = dicAll[@"message"]; + if ([[NSString stringWithFormat:@"%@",dicAll[@"code"]] intValue] == 0) { + state = YES; + } + callback(state,[UserMaterialModel yy_modelWithJSON:dicAll],describle); + } + }]; +} + +/* + 更新下载次数 + + */ ++(void)requestUserMaterialUpdataData:(UIView *)view + ID:(NSString *)ID + download:(NSString *)download + Callback:(completeModeBlock)callback +{ + NSMutableDictionary *dicQuery = [NSMutableDictionary new]; + + NSMutableDictionary *dicHeader = [NSMutableDictionary new]; + + NSMutableDictionary *dicpush = [NSMutableDictionary new]; + int type = 3; + [dicpush setObject:[Tools isStringnil:ID] forKey:@"id"]; + [dicpush setObject:[Tools isStringnil:download] forKey:@"download"]; + + + [YSAPIClient requestWithRequestBaseUrl:BaseUrl Type:type url:@"api/user/material" paraments:dicpush Headers:dicHeader Query:dicQuery completeBlock:^(id _Nullable responseObject, NSError * _Nullable error) { + BOOL state = NO; + NSString *describle = @""; + if (responseObject==nil) { + describle = @"网络错误"; + BaseModel *model = [BaseModel new]; + model.message =describle; + callback(state,model,describle); + }else{ + NSDictionary *dicAll=responseObject; + describle = dicAll[@"message"]; + if ([[NSString stringWithFormat:@"%@",dicAll[@"code"]] intValue] == 0) { + state = YES; + } + callback(state,[BaseModel yy_modelWithJSON:dicAll],describle); + } + }]; +} + @end diff --git a/ProductApp/ProductApp/ProductMain/NetWorkManager/KCSPUploadImageManager.h b/ProductApp/ProductApp/ProductMain/NetWorkManager/KCSPUploadImageManager.h index 987b9d5..0b190eb 100644 --- a/ProductApp/ProductApp/ProductMain/NetWorkManager/KCSPUploadImageManager.h +++ b/ProductApp/ProductApp/ProductMain/NetWorkManager/KCSPUploadImageManager.h @@ -12,7 +12,8 @@ NS_ASSUME_NONNULL_BEGIN @interface KCSPUploadImageManager : NSObject +(id)shareManager; -- (void)netWorkUrlUserPost:(NSString *)url UploadImage:(UIImage *)image dicQuery:(NSDictionary *)dicQuery Callback:(completeModeBlock)callback; +///type 0图片 1视频 +- (void)netWorkUrlUserPost:(NSString *)url UploadImage:(NSData *)dataValue type:(int)type dicQuery:(NSDictionary *)dicQuery Callback:(completeModeBlock)callback; @end diff --git a/ProductApp/ProductApp/ProductMain/NetWorkManager/KCSPUploadImageManager.m b/ProductApp/ProductApp/ProductMain/NetWorkManager/KCSPUploadImageManager.m index ac45951..361e0c8 100644 --- a/ProductApp/ProductApp/ProductMain/NetWorkManager/KCSPUploadImageManager.m +++ b/ProductApp/ProductApp/ProductMain/NetWorkManager/KCSPUploadImageManager.m @@ -35,7 +35,7 @@ }); return manager; } -- (void)netWorkUrlUserPost:(NSString *)url UploadImage:(UIImage *)image dicQuery:(NSDictionary *)dicQuery Callback:(completeModeBlock)callback { +- (void)netWorkUrlUserPost:(NSString *)url UploadImage:(NSData *)dataValue type:(int)type dicQuery:(NSDictionary *)dicQuery Callback:(completeModeBlock)callback{ NSMutableDictionary *dicadd = [[NSMutableDictionary alloc] init]; [dicadd setObject:[NSString stringWithFormat:@"%.0lf",[[NSDate date] timeIntervalSince1970]] forKey:@"timestamp"]; @@ -48,11 +48,22 @@ NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; formatter.dateFormat = @"yyyyMMddHHmmss"; NSString *str = [formatter stringFromDate:[NSDate date]]; - NSString *fileName = [NSString stringWithFormat:@"%@.jpg",str]; + NSString *fileName = @""; + NSString *contentType = @""; + if(type==0) + { + fileName = [NSString stringWithFormat:@"%@.jpg",str]; + contentType = @"image/jpeg"; + } + else if(type==1) + { + fileName = [NSString stringWithFormat:@"%@.mp4",str]; + contentType = @"video/mp4"; + } //0、获取上传的数据 - NSData *uploadData = [self getData:image withFileName:fileName]; - +// NSData *uploadData = [self getData:image withFileName:fileName]; + NSData *uploadData = [self getData:dataValue contentType:contentType withFileName:fileName]; ///URL处理 NSString *urlString = [NSString stringWithFormat:@"%@%@",url,[self signImageInfo:dicadd body:uploadData]]; @@ -109,7 +120,7 @@ NSData *data = body; - NSData *data1 = [[NSString stringWithFormat:@"&%@",[Tools getMd5_32Bit_String:EcodePassKey isUppercase:NO]] dataUsingEncoding:NSUTF8StringEncoding]; + NSData *data1 = [[NSString stringWithFormat:@"&%@",[Tools getMd5_32Bit_String:EcodeJiaMiKey isUppercase:NO]] dataUsingEncoding:NSUTF8StringEncoding]; NSData *dataall = [self appendData:[self appendData:data0 data2:data] data2:data1]; @@ -183,7 +194,7 @@ [data appendData:YFEncode(uploadFileName)]; //换行符 [data appendData:YFEnter]; - //Content-Type 上传文件的类型 MIME + //Content-Type 上传文件的类型 MIME video/mp4 Content-Type:image/jpeg [data appendData:YFEncode(@"Content-Type:image/jpeg")]; //换行符 [data appendData:YFEnter]; @@ -213,7 +224,55 @@ [data appendData:YFEnter]; return data; } +-(NSData *)getData:(NSData *)imagedata contentType:(NSString *)contentType withFileName:(NSString *)fileName { + + + NSMutableData *data = [NSMutableData data]; + //1、开始标记 + //-- + [data appendData:YFEncode(@"--")]; + //boundary + [data appendData:YFEncode(YFBoundary)]; + //换行符 + [data appendData:YFEnter]; + //文件参数名 Content-Disposition: form-data; name="myfile"; filename="wall.jpg" + + NSString *uploadFileName = [[@"Content-Disposition:form-data; name=\"file\"; filename=\"" stringByAppendingString:fileName] stringByAppendingString:@"\""]; + [data appendData:YFEncode(uploadFileName)]; + //换行符 + [data appendData:YFEnter]; + //Content-Type 上传文件的类型 MIME video/mp4 Content-Type:image/jpeg + NSString *strcontype = [NSString stringWithFormat:@"Content-Type:%@",contentType]; + [data appendData:YFEncode(strcontype)]; + //换行符 + [data appendData:YFEnter]; + //换行符 + [data appendData:YFEnter]; + //2、上传的文件数据 + + //图片数据 并且转换为Data +// UIImage *image = withImage; +// NSData *imagedata = UIImageJPEGRepresentation(image, 1.0); +// if(imagedata==nil) +// { +// imagedata = UIImagePNGRepresentation(image); +// } + [data appendData:imagedata]; + //换行符 + [data appendData:YFEnter]; + + //3、结束标记 + //-- + [data appendData:YFEncode(@"--")]; + //boundary + [data appendData:YFEncode(YFBoundary)]; + //-- + [data appendData:YFEncode(@"--")]; + //换行符 + [data appendData:YFEnter]; + return data; +} //使用NSURLSessionTaskDelegate代理监听上传进度 #pragma mark --NSURLSessionTaskDelegate diff --git a/ProductApp/ProductApp/ProductMain/NetWorkManager/KCSPZhiFuManager.m b/ProductApp/ProductApp/ProductMain/NetWorkManager/KCSPZhiFuManager.m index 12c2d4b..afb7730 100644 --- a/ProductApp/ProductApp/ProductMain/NetWorkManager/KCSPZhiFuManager.m +++ b/ProductApp/ProductApp/ProductMain/NetWorkManager/KCSPZhiFuManager.m @@ -94,13 +94,13 @@ static KCSPZhiFuManager *manager = nil; { @try { - [[NSNotificationCenter defaultCenter] removeObserver:self name:WXZhiFuSQ object:nil]; + [[NSNotificationCenter defaultCenter] removeObserver:self name:WXinZFuSQ object:nil]; } @catch (NSException *exception) { } @finally { } - [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(weixinPayNotiti:) name:WXZhiFuSQ object:nil]; + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(weixinPayNotiti:) name:WXinZFuSQ object:nil]; [KCSPHUDAlterView dismis]; PayReq *request = [[PayReq alloc] init]; request.partnerId = model.partnerId; diff --git a/ProductApp/ProductApp/ProductMain/NetWorkManager/download/KCSPXZFenPian.h b/ProductApp/ProductApp/ProductMain/NetWorkManager/download/KCSPXZFenPian.h index 6a1b7c1..fa9220f 100644 --- a/ProductApp/ProductApp/ProductMain/NetWorkManager/download/KCSPXZFenPian.h +++ b/ProductApp/ProductApp/ProductMain/NetWorkManager/download/KCSPXZFenPian.h @@ -11,7 +11,7 @@ NS_ASSUME_NONNULL_BEGIN @interface KCSPXZFenPian : NSObject + (instancetype)shareManager; --(void)startDownArr:(NSMutableArray *)arrRequest save:(NSString *)savePath progress:(AFPGJProgress)progress success:(AFPGJDownloadSuccess)success failed:(AFPGJDownloadFailed)failed; +-(void)fenPianStartDownValues:(NSMutableArray *)arrRequest save:(NSString *)savePath progress:(AFPGJProgress)progress success:(AFPGJDownloadSuccess)success failed:(AFPGJDownloadFailed)failed; /**< 取消 */ - (void)cancelDownload; @end diff --git a/ProductApp/ProductApp/ProductMain/NetWorkManager/download/KCSPXZFenPian.m b/ProductApp/ProductApp/ProductMain/NetWorkManager/download/KCSPXZFenPian.m index 99747b0..80d6117 100644 --- a/ProductApp/ProductApp/ProductMain/NetWorkManager/download/KCSPXZFenPian.m +++ b/ProductApp/ProductApp/ProductMain/NetWorkManager/download/KCSPXZFenPian.m @@ -52,7 +52,7 @@ } return _session; } --(void)startDownArr:(NSMutableArray *)arrRequest save:(NSString *)savePath progress:(AFPGJProgress)progress success:(AFPGJDownloadSuccess)success failed:(AFPGJDownloadFailed)failed +-(void)fenPianStartDownValues:(NSMutableArray *)arrRequest save:(NSString *)savePath progress:(AFPGJProgress)progress success:(AFPGJDownloadSuccess)success failed:(AFPGJDownloadFailed)failed { _arrRequest = arrRequest; _savePath = savePath; diff --git a/ProductApp/ProductApp/ProductMain/NetWorkManager/download/KCSPXZManager.h b/ProductApp/ProductApp/ProductMain/NetWorkManager/download/KCSPXZManager.h index a68070b..5f741b2 100644 --- a/ProductApp/ProductApp/ProductMain/NetWorkManager/download/KCSPXZManager.h +++ b/ProductApp/ProductApp/ProductMain/NetWorkManager/download/KCSPXZManager.h @@ -17,19 +17,19 @@ typedef void(^AFPGJProgress)(float progress,float speed,float fnowsize,float fal + (instancetype)shareManager; /**< 开始*/ -- (void)downloadWithUrlModel:(KCSPMaterialsModelDataMaterialImage *)model progress:(AFPGJProgress)progress success:(AFPGJDownloadSuccess)success failed:(AFPGJDownloadFailed)failed; +- (void)startDownloadWithModel:(KCSPMaterialsModelDataMaterialImage *)model progress:(AFPGJProgress)progress success:(AFPGJDownloadSuccess)success failed:(AFPGJDownloadFailed)failed; /**< 取消*/ -- (void)cancelDownloadWithUrl:(NSString *)urlStr; +- (void)cancelDownloadUrl:(NSString *)urlStr; ///切换 --(BOOL)speedUpManager; +-(BOOL)speedChangerManager; ///m4s转换 --(void)changeToVideo:(NSString *)strurl type:(NSString *)type macBig:(float)macbig success:(AFPGJDownloadSuccess)success failed:(AFPGJDownloadFailed)failed; +-(void)changeVideoToMP:(NSString *)strurl type:(NSString *)type macBig:(float)macbig success:(AFPGJDownloadSuccess)success failed:(AFPGJDownloadFailed)failed; --(void)changeVideoFrom:(NSURL *)input output:(NSURL *)outputh success:(AFPGJDownloadSuccess)success failed:(AFPGJDownloadFailed)failed; +-(void)changeVideoTypeFrom:(NSURL *)input output:(NSURL *)outputh success:(AFPGJDownloadSuccess)success failed:(AFPGJDownloadFailed)failed; --(void)heBingCom:(NSString *)com outPath:(NSString *)outPath macBig:(float)macbig success:(AFPGJDownloadSuccess)success failed:(AFPGJDownloadFailed)failed; +-(void)MergeCom:(NSString *)com outPath:(NSString *)outPath macBig:(float)macbig success:(AFPGJDownloadSuccess)success failed:(AFPGJDownloadFailed)failed; @end NS_ASSUME_NONNULL_END diff --git a/ProductApp/ProductApp/ProductMain/NetWorkManager/download/KCSPXZManager.m b/ProductApp/ProductApp/ProductMain/NetWorkManager/download/KCSPXZManager.m index f339839..c0ba574 100644 --- a/ProductApp/ProductApp/ProductMain/NetWorkManager/download/KCSPXZManager.m +++ b/ProductApp/ProductApp/ProductMain/NetWorkManager/download/KCSPXZManager.m @@ -150,7 +150,7 @@ { NSString *strback = @""; if([Tools isStringnil:url].length==0)return @""; - NSArray *arrhestoryTemp = [[NSUserDefaults standardUserDefaults] objectForKey:CopyAlterKeyInfo]; + NSArray *arrhestoryTemp = [[NSUserDefaults standardUserDefaults] objectForKey:CopyUseList]; NSMutableArray *arrsaveHestory = [NSMutableArray arrayWithArray:arrhestoryTemp]; for(NSDictionary *dic in arrsaveHestory) { @@ -170,7 +170,7 @@ [dic setObject:strback forKey:@"name"]; [arrsaveHestory addObject:dic]; } - [[NSUserDefaults standardUserDefaults] setObject:arrsaveHestory forKey:CopyAlterKeyInfo]; + [[NSUserDefaults standardUserDefaults] setObject:arrsaveHestory forKey:CopyUseList]; return strback; } /** @@ -190,7 +190,7 @@ } /**< 开始 */ -- (void)downloadWithUrlModel:(KCSPMaterialsModelDataMaterialImage *)model progress:(AFPGJProgress)progress success:(AFPGJDownloadSuccess)success failed:(AFPGJDownloadFailed)failed +- (void)startDownloadWithModel:(KCSPMaterialsModelDataMaterialImage *)model progress:(AFPGJProgress)progress success:(AFPGJDownloadSuccess)success failed:(AFPGJDownloadFailed)failed { NSString *strurl = @""; if(model.speed_up.intValue == 0) @@ -512,7 +512,7 @@ [arrdown addObject:modelfp]; } NSString *strsavetemp = [self savePathWithUrl:downUrl]; - [[KCSPXZFenPian shareManager] startDownArr:arrdown save:strsavetemp progress:^(float progress, float speed, float fnowsize, float fallsize) { + [[KCSPXZFenPian shareManager] fenPianStartDownValues:arrdown save:strsavetemp progress:^(float progress, float speed, float fnowsize, float fallsize) { self.downloadProgressBlock(progress,speed,fnowsize,fallsize); } success:^(NSURL * _Nonnull url) { @@ -584,7 +584,7 @@ // [arrdown addObject:modelfp]; // } // NSString *strsavetemp = [self savePathWithUrl:strurl]; -// [[KCSPXZFenPian shareManager] startDownArr:arrdown save:strsavetemp progress:^(float progress, float speed, float fnowsize, float fallsize) { +// [[KCSPXZFenPian shareManager] fenPianStartDownValues:arrdown save:strsavetemp progress:^(float progress, float speed, float fnowsize, float fallsize) { // self.downloadProgressBlock(progress,speed,fnowsize,fallsize); // } success:^(NSURL * _Nonnull url) { // @@ -833,7 +833,7 @@ // if([fullPath containsString:@".m4s"]||[fullPath containsString:@".M4S"]) // { -// [self changeToVideo:fullPath]; +// [self changeVideoToMP:fullPath]; // } // else // { @@ -915,14 +915,14 @@ else { [XiaZaiAlter refBig:NO]; - [self speedUpManager]; + [self speedChangerManager]; } } self.downloadFailedBlock(error); } } /**< 取消 */ -- (void)cancelDownloadWithUrl:(NSString *)urlStr +- (void)cancelDownloadUrl:(NSString *)urlStr { if(self.downloadTask) { @@ -954,7 +954,7 @@ } ///切换 链接 --(BOOL)speedUpManager +-(BOOL)speedChangerManager { [XiaZaiAlter refBig:NO]; BOOL isback = NO; @@ -962,7 +962,7 @@ { if(![self.strdownurl isEqualToString:self.modelDown.url]) { - [self cancelDownloadWithUrl:self.modelDown.origin_url]; + [self cancelDownloadUrl:self.modelDown.origin_url]; [self downLoadStartUrl:self.modelDown.url isfenpian:NO]; isback = YES; } @@ -972,7 +972,7 @@ } /// --(void)changeToVideo:(NSString *)strurl type:(NSString *)type macBig:(float)macbig success:(AFPGJDownloadSuccess)success failed:(AFPGJDownloadFailed)failed +-(void)changeVideoToMP:(NSString *)strurl type:(NSString *)type macBig:(float)macbig success:(AFPGJDownloadSuccess)success failed:(AFPGJDownloadFailed)failed { NSString *outputPath = [self savePathWithUrl:[NSURL fileURLWithPath:strurl].absoluteString]; outputPath = [outputPath stringByReplacingOccurrencesOfString:@".m4s" withString:[NSString stringWithFormat:@".%@",type]]; @@ -1013,7 +1013,7 @@ }]; } --(void)changeVideoFrom:(NSURL *)input output:(NSURL *)outputh success:(AFPGJDownloadSuccess)success failed:(AFPGJDownloadFailed)failed +-(void)changeVideoTypeFrom:(NSURL *)input output:(NSURL *)outputh success:(AFPGJDownloadSuccess)success failed:(AFPGJDownloadFailed)failed { float macbig = [NSData dataWithContentsOfURL:input].length; dispatch_async(dispatch_get_main_queue(), ^{ @@ -1055,13 +1055,13 @@ }]; } --(void)heBingCom:(NSString *)com outPath:(NSString *)outPath macBig:(float)macbig success:(AFPGJDownloadSuccess)success failed:(AFPGJDownloadFailed)failed +-(void)MergeCom:(NSString *)com outPath:(NSString *)outPath macBig:(float)macbig success:(AFPGJDownloadSuccess)success failed:(AFPGJDownloadFailed)failed { dispatch_async(dispatch_get_main_queue(), ^{ [XiaZaiAlter refName:@"处理中"]; [XiaZaiAlter refBigM:[NSString stringWithFormat:@"%.2lfM/%.2lfM",0.0,macbig/1000.0/1000.0]]; }); - [[KCSPFFmpegCenterManager sharedManager] heBingCommandStr:com processBlock:^(float process) { + [[KCSPFFmpegCenterManager sharedManager] MergeCommandStr:com processBlock:^(float process) { [XiaZaiAlter refProgress:[NSString stringWithFormat:@"%.4lf",process]]; [XiaZaiAlter refBigM:[NSString stringWithFormat:@"%.2lfM/%.2lfM",macbig/1000.0/1000.0*process,macbig/1000.0/1000.0]]; } completionBlock:^(NSError *error) { diff --git a/ProductApp/ProductApp/ProductMain/NetWorkManager/download/XZM3Manager.m b/ProductApp/ProductApp/ProductMain/NetWorkManager/download/XZM3Manager.m index 7c8f4aa..acdefc8 100644 --- a/ProductApp/ProductApp/ProductMain/NetWorkManager/download/XZM3Manager.m +++ b/ProductApp/ProductApp/ProductMain/NetWorkManager/download/XZM3Manager.m @@ -387,7 +387,7 @@ [XiaZaiAlter refProgress:[NSString stringWithFormat:@"%.4lf",0.0]]; }); - [[XZM3SaveManager shareManager] heBingMpValue:arrAll outUrl:[NSURL fileURLWithPath:outputPath] back:^(NSURL * _Nonnull backurl) { + [[XZM3SaveManager shareManager] MergeToValue:arrAll outUrl:[NSURL fileURLWithPath:outputPath] back:^(NSURL * _Nonnull backurl) { if(backurl) { @@ -417,7 +417,7 @@ // NSString *strpatc = [arrAll componentsJoinedByString:@"|"]; // NSString *strcom = [NSString stringWithFormat:@"ffmpeg -i 'concat:%@' -c copy %@",strpatc,outputPath]; -// [[KCSPFFmpegCenterManager sharedManager] heBingCommandStr:strcom processBlock:^(float process) { +// [[KCSPFFmpegCenterManager sharedManager] MergeCommandStr:strcom processBlock:^(float process) { // [XiaZaiAlter refProgress:[NSString stringWithFormat:@"%.4lf",process]]; // } completionBlock:^(NSError *error) { // if(error) @@ -663,7 +663,7 @@ { [self.downTask cancel]; } - [[XZM3SaveManager shareManager] cancleHB]; + [[XZM3SaveManager shareManager] cancleHBMerge]; [KCSPFFmpegCenterManager myStop]; } #pragma mark - ---------- @@ -704,7 +704,7 @@ { NSString *strback = @""; if([Tools isStringnil:url].length==0)return @""; - NSArray *arrhestoryTemp = [[NSUserDefaults standardUserDefaults] objectForKey:CopyAlterKeyInfo]; + NSArray *arrhestoryTemp = [[NSUserDefaults standardUserDefaults] objectForKey:CopyUseList]; NSMutableArray *arrsaveHestory = [NSMutableArray arrayWithArray:arrhestoryTemp]; for(NSDictionary *dic in arrsaveHestory) { @@ -724,7 +724,7 @@ [dic setObject:strback forKey:@"name"]; [arrsaveHestory addObject:dic]; } - [[NSUserDefaults standardUserDefaults] setObject:arrsaveHestory forKey:CopyAlterKeyInfo]; + [[NSUserDefaults standardUserDefaults] setObject:arrsaveHestory forKey:CopyUseList]; return strback; } diff --git a/ProductApp/ProductApp/ProductMain/NetWorkManager/download/XZM3SaveManager.h b/ProductApp/ProductApp/ProductMain/NetWorkManager/download/XZM3SaveManager.h index 1bfa56e..e8c7e97 100644 --- a/ProductApp/ProductApp/ProductMain/NetWorkManager/download/XZM3SaveManager.h +++ b/ProductApp/ProductApp/ProductMain/NetWorkManager/download/XZM3SaveManager.h @@ -13,8 +13,8 @@ typedef void(^XZM3SaveManagerProgress)(float progress); @interface XZM3SaveManager : NSObject + (instancetype)shareManager; ///mp4合并 --(void)heBingMpValue:(NSMutableArray *)arrUrl outUrl:(NSURL *)outputURL back:(XZM3SaveManagerBack)backvalue progess:(XZM3SaveManagerProgress)progss; --(void)cancleHB; +-(void)MergeToValue:(NSMutableArray *)arrUrl outUrl:(NSURL *)outputURL back:(XZM3SaveManagerBack)backvalue progess:(XZM3SaveManagerProgress)progss; +-(void)cancleHBMerge; @end diff --git a/ProductApp/ProductApp/ProductMain/NetWorkManager/download/XZM3SaveManager.m b/ProductApp/ProductApp/ProductMain/NetWorkManager/download/XZM3SaveManager.m index 8d56021..da360b6 100644 --- a/ProductApp/ProductApp/ProductMain/NetWorkManager/download/XZM3SaveManager.m +++ b/ProductApp/ProductApp/ProductMain/NetWorkManager/download/XZM3SaveManager.m @@ -33,7 +33,7 @@ return network; } // 你要合并的MP4文件的URL数组 --(void)heBingMpValue:(NSMutableArray *)arrUrl outUrl:(NSURL *)outputURL back:(XZM3SaveManagerBack)backvalue progess:(XZM3SaveManagerProgress)progss +-(void)MergeToValue:(NSMutableArray *)arrUrl outUrl:(NSURL *)outputURL back:(XZM3SaveManagerBack)backvalue progess:(XZM3SaveManagerProgress)progss { self.backProgss = progss; self.backValue = backvalue; @@ -149,7 +149,7 @@ return composition; } --(void)cancleHB +-(void)cancleHBMerge { if(self.exportSession) { diff --git a/ProductApp/ProductApp/ProductMain/NetWorkManager/model/MaterialTagModel.h b/ProductApp/ProductApp/ProductMain/NetWorkManager/model/MaterialTagModel.h new file mode 100644 index 0000000..b9f8588 --- /dev/null +++ b/ProductApp/ProductApp/ProductMain/NetWorkManager/model/MaterialTagModel.h @@ -0,0 +1,20 @@ +// +// MaterialTagModel.h +// ProductApp +// +// Created by 工作 on 2025/4/24. +// + +#import "BaseModel.h" +#import "UserMaterialModel.h" +NS_ASSUME_NONNULL_BEGIN +@class MaterialTagModelData; +@interface MaterialTagModel : BaseModel +/// +@property (nonatomic , strong) MaterialTagModelData *data; +@end +@interface MaterialTagModelData : NSObject +/// +@property (nonatomic , strong) NSArray *items; +@end +NS_ASSUME_NONNULL_END diff --git a/ProductApp/ProductApp/ProductMain/NetWorkManager/model/MaterialTagModel.m b/ProductApp/ProductApp/ProductMain/NetWorkManager/model/MaterialTagModel.m new file mode 100644 index 0000000..15a217c --- /dev/null +++ b/ProductApp/ProductApp/ProductMain/NetWorkManager/model/MaterialTagModel.m @@ -0,0 +1,20 @@ +// +// MaterialTagModel.m +// ProductApp +// +// Created by 工作 on 2025/4/24. +// + +#import "MaterialTagModel.h" + +@implementation MaterialTagModel ++ (NSDictionary *)modelContainerPropertyGenericClass { + return @{@"data" : [MaterialTagModelData class]}; +} +@end +@implementation MaterialTagModelData ++ (NSDictionary *)modelContainerPropertyGenericClass { + return @{@"items" : [UserMaterialModelDataItemsTags class]}; +} +@end + diff --git a/ProductApp/ProductApp/ProductMain/NetWorkManager/model/UserMaterialModel.h b/ProductApp/ProductApp/ProductMain/NetWorkManager/model/UserMaterialModel.h new file mode 100644 index 0000000..7775e7f --- /dev/null +++ b/ProductApp/ProductApp/ProductMain/NetWorkManager/model/UserMaterialModel.h @@ -0,0 +1,66 @@ +// +// UserMaterialModel.h +// ProductApp +// +// Created by 工作 on 2025/4/24. +// + +#import "BaseModel.h" + +NS_ASSUME_NONNULL_BEGIN +@class UserMaterialModelData,UserMaterialModelDataItems,UserMaterialModelDataItemsFile,UserMaterialModelDataItemsTags; +@interface UserMaterialModel : BaseModel +/// +@property (nonatomic , strong) UserMaterialModelData *data; +@end +@interface UserMaterialModelData : NSObject +/// +@property (nonatomic , strong) NSArray *items; +@end +@interface UserMaterialModelDataItems : NSObject +/// +@property (nonatomic , strong) NSString *ID; +/// +@property (nonatomic , strong) NSString *title; +/// +@property (nonatomic , strong) UserMaterialModelDataItemsFile *file; +/// +@property (nonatomic , strong) UserMaterialModelDataItemsFile *pic; +/// +@property (nonatomic , strong) NSString *pic_size; +/// +@property (nonatomic , strong) NSString *user_avatar; +/// +@property (nonatomic , strong) NSString *user_name; +/// +@property (nonatomic , strong) NSString *file_time; +/// +@property (nonatomic , strong) NSString *reason; +/// +@property (nonatomic , strong) NSArray *tags; +/// +@property (nonatomic , strong) NSString *download; +/// +@property (nonatomic , strong) NSString *status; +/// +@property (nonatomic , strong) NSString *status_name; +/// +@property (nonatomic , strong) NSString *create_time; +/// +@property (nonatomic , strong) NSString *update_time; +@end +@interface UserMaterialModelDataItemsFile : NSObject +/// +@property (nonatomic , strong) NSString *ID; +/// +@property (nonatomic , strong) NSString *url; +@end +@interface UserMaterialModelDataItemsTags : NSObject +/// +@property (nonatomic , strong) NSString *ID; +/// +@property (nonatomic , strong) NSString *name; + +@property (nonatomic , assign) BOOL select; +@end +NS_ASSUME_NONNULL_END diff --git a/ProductApp/ProductApp/ProductMain/NetWorkManager/model/UserMaterialModel.m b/ProductApp/ProductApp/ProductMain/NetWorkManager/model/UserMaterialModel.m new file mode 100644 index 0000000..cf37915 --- /dev/null +++ b/ProductApp/ProductApp/ProductMain/NetWorkManager/model/UserMaterialModel.m @@ -0,0 +1,43 @@ +// +// UserMaterialModel.m +// ProductApp +// +// Created by 工作 on 2025/4/24. +// + +#import "UserMaterialModel.h" + +@implementation UserMaterialModel ++ (NSDictionary *)modelContainerPropertyGenericClass { + return @{@"data" : [UserMaterialModelData class]}; +} +@end +@implementation UserMaterialModelData ++ (NSDictionary *)modelContainerPropertyGenericClass { + return @{@"items" : [UserMaterialModelDataItems class]}; +} +@end +@implementation UserMaterialModelDataItems ++ (nullable NSDictionary *)modelCustomPropertyMapper +{ + return @{@"ID" : @"id"}; +} ++ (NSDictionary *)modelContainerPropertyGenericClass { + return @{@"file" : [UserMaterialModelDataItemsFile class], + @"pic" : [UserMaterialModelDataItemsFile class], + @"tags" : [UserMaterialModelDataItemsTags class]}; +} +@end +@implementation UserMaterialModelDataItemsFile ++ (nullable NSDictionary *)modelCustomPropertyMapper +{ + return @{@"ID" : @"id"}; +} +@end +@implementation UserMaterialModelDataItemsTags ++ (nullable NSDictionary *)modelCustomPropertyMapper +{ + return @{@"ID" : @"id"}; +} +@end + diff --git a/ProductApp/ProductApp/ProductMain/ShouYe/ShouYeViewController.m b/ProductApp/ProductApp/ProductMain/ShouYe/ShouYeViewController.m index a45693d..8fb1c49 100644 --- a/ProductApp/ProductApp/ProductMain/ShouYe/ShouYeViewController.m +++ b/ProductApp/ProductApp/ProductMain/ShouYe/ShouYeViewController.m @@ -110,7 +110,7 @@ { [[NSNotificationCenter defaultCenter] removeObserver:self name:@"YongHuTongYiXieYi" object:nil]; ///同意了协议再注册友盟 - [UMConfigure initWithAppkey:YMAppKey channel:@"App Store"]; + [UMConfigure initWithAppkey:YMengAppKey channel:@"App Store"]; [UMCommonLogManager setUpUMCommonLogManager]; if(self.isnetwork) { @@ -162,7 +162,7 @@ [UserDetailModel pushActionInfo:0 key:@"click.go.to.vc" value:@"首页" extra:@""]; self.isgedata = YES; [UserDetailModel tuichudengluData]; - NSString *stridfa = [[NSUserDefaults standardUserDefaults] objectForKey:PhoneIDFA]; + NSString *stridfa = [[NSUserDefaults standardUserDefaults] objectForKey:IOSIDFA]; [GongGongNetManager getUserConfiginfoData:self.view idfa:stridfa Callback:^(BOOL state, KCSPUserSysterConfModel *responseObject, NSString * _Nullable describle) { if(state) { @@ -216,10 +216,10 @@ // 处理用户响应 if (status == ATTrackingManagerAuthorizationStatusAuthorized) { - if([[[NSUserDefaults standardUserDefaults] objectForKey:PhoneIDFA] length] == 0) + if([[[NSUserDefaults standardUserDefaults] objectForKey:IOSIDFA] length] == 0) { NSString *idfa = [[ASIdentifierManager sharedManager] advertisingIdentifier].UUIDString; - [[NSUserDefaults standardUserDefaults] setObject:idfa forKey:PhoneIDFA]; + [[NSUserDefaults standardUserDefaults] setObject:idfa forKey:IOSIDFA]; [[NSNotificationCenter defaultCenter] postNotificationName:@"huoquidfanotifi" object:nil]; } dispatch_async(dispatch_get_main_queue(), ^{ @@ -228,9 +228,9 @@ } else if (status == ATTrackingManagerAuthorizationStatusDenied) { - if([[[NSUserDefaults standardUserDefaults] objectForKey:PhoneIDFA] length] == 0) + if([[[NSUserDefaults standardUserDefaults] objectForKey:IOSIDFA] length] == 0) { - [[NSUserDefaults standardUserDefaults] setObject:@"" forKey:PhoneIDFA]; + [[NSUserDefaults standardUserDefaults] setObject:@"" forKey:IOSIDFA]; [[NSNotificationCenter defaultCenter] postNotificationName:@"huoquidfanotifi" object:nil]; } dispatch_async(dispatch_get_main_queue(), ^{ @@ -247,7 +247,7 @@ } else { // 在iOS 14以下版本中,直接获取IDFA NSString *idfa = [[ASIdentifierManager sharedManager] advertisingIdentifier].UUIDString; - [[NSUserDefaults standardUserDefaults] setObject:idfa forKey:PhoneIDFA]; + [[NSUserDefaults standardUserDefaults] setObject:idfa forKey:IOSIDFA]; dispatch_async(dispatch_get_main_queue(), ^{ [self getData]; }); @@ -295,7 +295,7 @@ -(void)copyTiShiNotifi { if([UserDetailModel zhiFuState]==NO)return; - if([[[NSUserDefaults standardUserDefaults] objectForKey:YongHuXieYiState] intValue] !=1)return; + if([[[NSUserDefaults standardUserDefaults] objectForKey:UserXYiState] intValue] !=1)return; AppDelegate *del = (AppDelegate *)[UIApplication sharedApplication].delegate; if([del.window.rootViewController isKindOfClass:[TabBarController class]]) diff --git a/ProductApp/ProductApp/ProductMain/ShouYe/ZhiBoHuiFang/ZhiBoHuiFangViewController.m b/ProductApp/ProductApp/ProductMain/ShouYe/ZhiBoHuiFang/ZhiBoHuiFangViewController.m index e7cd65d..f999c34 100644 --- a/ProductApp/ProductApp/ProductMain/ShouYe/ZhiBoHuiFang/ZhiBoHuiFangViewController.m +++ b/ProductApp/ProductApp/ProductMain/ShouYe/ZhiBoHuiFang/ZhiBoHuiFangViewController.m @@ -173,14 +173,14 @@ -(void)goAction { @try { - [[NSNotificationCenter defaultCenter] removeObserver:self name:WXDengZBHF object:nil]; + [[NSNotificationCenter defaultCenter] removeObserver:self name:WXinDengZBHF object:nil]; } @catch (NSException *exception) { } @finally { } - [[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(weixinNotifi:) name: WXDengZBHF object: nil]; + [[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(weixinNotifi:) name: WXinDengZBHF object: nil]; SendAuthReq *req = [[SendAuthReq alloc] init]; req.scope = @"snsapi_userinfo"; req.state = @"123"; @@ -191,7 +191,7 @@ } -(void)weixinNotifi:(NSNotification *)notifi { - [[NSNotificationCenter defaultCenter] removeObserver:self name:WXDengZBHF object:nil]; + [[NSNotificationCenter defaultCenter] removeObserver:self name:WXinDengZBHF object:nil]; if(notifi.object!=nil) { SendAuthResp *resp = notifi.object; diff --git a/ProductApp/ProductApp/ProductMain/ShouYe/saveManger/ImagesConnectManager.m b/ProductApp/ProductApp/ProductMain/ShouYe/saveManger/ImagesConnectManager.m index 373fd29..1cf7b48 100644 --- a/ProductApp/ProductApp/ProductMain/ShouYe/saveManger/ImagesConnectManager.m +++ b/ProductApp/ProductApp/ProductMain/ShouYe/saveManger/ImagesConnectManager.m @@ -358,7 +358,7 @@ static PHAssetChangeRequest *changeRequest; +(void)changeVideoFFmpegFrom:(NSURL *)input outhput:(NSURL *)output bakc:(void(^)(NSURL *backUrl))backValue { - [[KCSPXZManager shareManager] changeVideoFrom:input output:output success:^(NSURL * _Nonnull url) { + [[KCSPXZManager shareManager] changeVideoTypeFrom:input output:output success:^(NSURL * _Nonnull url) { backValue(url); } failed:^(NSError * _Nonnull error) { backValue(nil); diff --git a/ProductApp/ProductApp/ProductMain/ShouYe/saveManger/XiaZaiManager.m b/ProductApp/ProductApp/ProductMain/ShouYe/saveManger/XiaZaiManager.m index 96e40e9..98c6df9 100644 --- a/ProductApp/ProductApp/ProductMain/ShouYe/saveManger/XiaZaiManager.m +++ b/ProductApp/ProductApp/ProductMain/ShouYe/saveManger/XiaZaiManager.m @@ -95,7 +95,7 @@ typedef void(^FileDownLoadM4sManagerChangeFail)(NSError *error); {///后台配置 如果 小于配置 判断是否加速,如果链接超时 也使用加速 strurl = model.origin_url; } - [[KCSPXZManager shareManager] cancelDownloadWithUrl:strurl]; + [[KCSPXZManager shareManager] cancelDownloadUrl:strurl]; [self.timer invalidate]; self.timer = nil; self.iscancle = YES; @@ -106,7 +106,7 @@ typedef void(^FileDownLoadM4sManagerChangeFail)(NSError *error); } else {///加速 - [[KCSPXZManager shareManager] speedUpManager]; + [[KCSPXZManager shareManager] speedChangerManager]; [XiaZaiAlter refBig:NO]; [UserDetailModel pushActionInfo:0 key:@"client.hand.switch.download.url" value:@"video" extra:@""]; } @@ -155,7 +155,7 @@ typedef void(^FileDownLoadM4sManagerChangeFail)(NSError *error); {///后台配置 如果 小于配置 判断是否加速,如果链接超时 也使用加速 strurl = model.origin_url; } - [[KCSPXZManager shareManager] cancelDownloadWithUrl:strurl]; + [[KCSPXZManager shareManager] cancelDownloadUrl:strurl]; [self.timer invalidate]; self.timer = nil; self.iscancle = YES; @@ -167,7 +167,7 @@ typedef void(^FileDownLoadM4sManagerChangeFail)(NSError *error); } else {///加速 - [[KCSPXZManager shareManager] speedUpManager]; + [[KCSPXZManager shareManager] speedChangerManager]; [XiaZaiAlter refBig:NO]; [UserDetailModel pushActionInfo:0 key:@"client.hand.switch.download.url" value:@"video" extra:@""]; } @@ -211,7 +211,7 @@ typedef void(^FileDownLoadM4sManagerChangeFail)(NSError *error); {///后台配置 如果 小于配置 判断是否加速,如果链接超时 也使用加速 strurl = model.origin_url; } - [[KCSPXZManager shareManager] cancelDownloadWithUrl:strurl]; + [[KCSPXZManager shareManager] cancelDownloadUrl:strurl]; [self.timer invalidate]; self.timer = nil; self.iscancle = YES; @@ -223,7 +223,7 @@ typedef void(^FileDownLoadM4sManagerChangeFail)(NSError *error); } else {///加速 - [[KCSPXZManager shareManager] speedUpManager]; + [[KCSPXZManager shareManager] speedChangerManager]; [XiaZaiAlter refBig:NO]; [UserDetailModel pushActionInfo:0 key:@"client.hand.switch.download.url" value:@"video" extra:@""]; } @@ -252,7 +252,7 @@ typedef void(^FileDownLoadM4sManagerChangeFail)(NSError *error); [self updataDownloadState:@"1" message:@"" fsize:0 logid:self.logid]; __block float fallsizetemp = 0.0; - [[KCSPXZManager shareManager] downloadWithUrlModel:model progress:^(float progress, float speed, float fnowsize, float fallsize) { + [[KCSPXZManager shareManager] startDownloadWithModel:model progress:^(float progress, float speed, float fnowsize, float fallsize) { fallsizetemp = fallsize; self.speed = speed; NSLog(@"progress = %.2lf & speed = %.0lfkb/s",progress,speed); @@ -545,7 +545,7 @@ typedef void(^FileDownLoadM4sManagerChangeFail)(NSError *error); KCSPMaterialsModelDataMaterialImage *model = self.arrdata.firstObject; - [[KCSPXZManager shareManager] heBingCom:[NSString stringWithFormat:@"ffmpeg -i %@ -i %@ -c copy %@",urltemp.relativePath,urlAu.relativePath,outpath] outPath:outpath macBig:model.fallsizetemp success:^(NSURL * _Nonnull url) { + [[KCSPXZManager shareManager] MergeCom:[NSString stringWithFormat:@"ffmpeg -i %@ -i %@ -c copy %@",urltemp.relativePath,urlAu.relativePath,outpath] outPath:outpath macBig:model.fallsizetemp success:^(NSURL * _Nonnull url) { NSData *datattt = [NSData dataWithContentsOfURL:url options:NSDataReadingMappedIfSafe error:nil]; if(datattt) { @@ -614,7 +614,7 @@ typedef void(^FileDownLoadM4sManagerChangeFail)(NSError *error); KCSPMaterialsModelDataMaterialImage *model = self.arrdata.firstObject; ///合并 - [[KCSPXZManager shareManager] heBingCom:[NSString stringWithFormat:@"ffmpeg -i %@ -i %@ -c:v copy -c:a aac -async 1 %@",urltemp.relativePath,urlAu.relativePath,outpath] outPath:outpath macBig:model.fallsizetemp success:^(NSURL * _Nonnull url) { + [[KCSPXZManager shareManager] MergeCom:[NSString stringWithFormat:@"ffmpeg -i %@ -i %@ -c:v copy -c:a aac -async 1 %@",urltemp.relativePath,urlAu.relativePath,outpath] outPath:outpath macBig:model.fallsizetemp success:^(NSURL * _Nonnull url) { ///-c copy //-c:v libx264 -c:a aac -strict experimental 编码 //-c:v copy -c:a aac -async 1 同步 @@ -686,7 +686,7 @@ typedef void(^FileDownLoadM4sManagerChangeFail)(NSError *error); -(void)chanVideoUrl:(NSString *)outpath success:(FileDownLoadM4sManagerChangeSuccess)success fail:(FileDownLoadM4sManagerChangeFail)fail { KCSPMaterialsModelDataMaterialImage *model = self.arrdata.firstObject; - [[KCSPXZManager shareManager] changeToVideo:outpath type:@"mp4" macBig:model.fallsizetemp success:^(NSURL * _Nonnull url) { + [[KCSPXZManager shareManager] changeVideoToMP:outpath type:@"mp4" macBig:model.fallsizetemp success:^(NSURL * _Nonnull url) { ///保存图片 success(url); @@ -726,13 +726,13 @@ typedef void(^FileDownLoadM4sManagerChangeFail)(NSError *error); { model.isspeed = YES; [XiaZaiAlter refBig:YES]; -// [[KCSPXZManager shareManager] speedUpManager]; +// [[KCSPXZManager shareManager] speedChangerManager]; } } else if (model.speed_up.intValue==0 && self.speed<1) {///普通链接 速度小于1k,自动切换到高速链接 - /*[[LFDownloadAFNetwork shareManager] speedUpManager];*/ - [[KCSPXZManager shareManager] speedUpManager]; + /*[[LFDownloadAFNetwork shareManager] speedChangerManager];*/ + [[KCSPXZManager shareManager] speedChangerManager]; model.isspeed = YES; [UserDetailModel pushActionInfo:0 key:@"client.auto.switch.download.url" value:@"video" extra:@""]; } diff --git a/ProductApp/ProductApp/ProductMain/ShouYe/view/ShouYeView.m b/ProductApp/ProductApp/ProductMain/ShouYe/view/ShouYeView.m index e8834f9..58ec4ab 100644 --- a/ProductApp/ProductApp/ProductMain/ShouYe/view/ShouYeView.m +++ b/ProductApp/ProductApp/ProductMain/ShouYe/view/ShouYeView.m @@ -123,6 +123,9 @@ make.centerX.equalTo(viewsh); make.top.offset(KMagrinTop+10); }]; + [imgvlog.layer setMasksToBounds:YES]; + [imgvlog.layer setCornerRadius:6]; + UILabel *lbname = [[UILabel alloc] init]; [lbname setText:@"快存视频-VideoDeep"]; [lbname setTextColor:[UIColor whiteColor]]; @@ -133,25 +136,26 @@ make.top.equalTo(imgvlog.mas_bottom); make.centerX.equalTo(viewsh); }]; - NSMutableAttributedString *attvideo = [Tools arrstring:@"视频相机\n拍出美丽视频" andstart:5 andend:6 andfont:[UIFont systemFontOfSize:14] andcolor:RGBACOLOR(255, 255, 255, 0.8)]; - UIButton *btvideo = [[UIButton alloc] init]; - [btvideo.titleLabel setNumberOfLines:2]; - [btvideo setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal]; - [btvideo.titleLabel setFont:[UIFont systemFontOfSize:20]]; - [btvideo setAttributedTitle:attvideo forState:UIControlStateNormal]; - [btvideo.layer setMasksToBounds:YES]; - [btvideo.layer setCornerRadius:UISCREEN_WIDTH/2.0*1.5/2.0]; - [btvideo setBackgroundColor:RGBCOLOR(48, 49, 50)]; - [btvideo.layer setBorderWidth:40]; - [btvideo.layer setBorderColor:RGBACOLOR(255, 255, 255, 0.6).CGColor]; - [scvback addSubview:btvideo]; - [btvideo mas_makeConstraints:^(MASConstraintMaker *make) { - make.top.equalTo(viewlast.mas_bottom).offset(20); - make.width.height.offset(UISCREEN_WIDTH/2.0*1.5); - make.centerX.equalTo(viewsh); - }]; - [btvideo addTarget:self action:@selector(camAction) forControlEvents:UIControlEventTouchUpInside]; +// NSMutableAttributedString *attvideo = [Tools arrstring:@"视频相机\n拍出美丽视频" andstart:5 andend:6 andfont:[UIFont systemFontOfSize:14] andcolor:RGBACOLOR(255, 255, 255, 0.8)]; +// UIButton *btvideo = [[UIButton alloc] init]; +// [btvideo.titleLabel setNumberOfLines:2]; +// [btvideo setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal]; +// [btvideo.titleLabel setFont:[UIFont systemFontOfSize:20]]; +// [btvideo setAttributedTitle:attvideo forState:UIControlStateNormal]; +// [btvideo.layer setMasksToBounds:YES]; +// [btvideo.layer setCornerRadius:UISCREEN_WIDTH/2.0*1.5/2.0]; +// [btvideo setBackgroundColor:RGBCOLOR(48, 49, 50)]; +// [btvideo.layer setBorderWidth:40]; +// [btvideo.layer setBorderColor:RGBACOLOR(255, 255, 255, 0.6).CGColor]; +// [scvback addSubview:btvideo]; +// [btvideo mas_makeConstraints:^(MASConstraintMaker *make) { +// make.top.equalTo(viewlast.mas_bottom).offset(20); +// make.width.height.offset(UISCREEN_WIDTH/2.0*1.5); +// make.centerX.equalTo(viewsh); +// }]; +// [btvideo addTarget:self action:@selector(camAction) forControlEvents:UIControlEventTouchUpInside]; +// UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init]; layout.minimumLineSpacing = 0; layout.minimumInteritemSpacing = 0; @@ -164,7 +168,7 @@ [collect mas_makeConstraints:^(MASConstraintMaker *make) { make.left.offset(12); make.width.equalTo(scvback).offset(-24); - make.top.equalTo(btvideo.mas_bottom).offset(20); + make.top.equalTo(viewlast.mas_bottom).offset(20); make.height.offset(70*3+40+140); }]; [collect registerClass:[ShouYeViewCollectionViewCell class] forCellWithReuseIdentifier:@"ShouYeViewCollectionViewCell"]; diff --git a/ProductApp/ProductApp/ProductMain/ShouYe/视频转音频/ShiPingTiQuYinPingViewController.m b/ProductApp/ProductApp/ProductMain/ShouYe/视频转音频/ShiPingTiQuYinPingViewController.m index f158501..5f79600 100644 --- a/ProductApp/ProductApp/ProductMain/ShouYe/视频转音频/ShiPingTiQuYinPingViewController.m +++ b/ProductApp/ProductApp/ProductMain/ShouYe/视频转音频/ShiPingTiQuYinPingViewController.m @@ -7,7 +7,6 @@ #import "ShiPingTiQuYinPingViewController.h" #import "ShiPingTiQuYinPingView.h" -#import "ShiPinJiLuViewController.h" @interface ShiPingTiQuYinPingViewController () @@ -23,13 +22,13 @@ [self showNaviGationView:YES]; [self.navigationView setBackgroundColor:RGBCOLOR(20, 20, 20)]; [self.navigationView setTitle:@"视频转音频" titleColor:RGBACOLOR(255, 255, 255, 1)]; - [self.navigationView setMuenTitle:@"历史记录" titleColor:RGBACOLOR(255, 255, 255, 0.8)]; -} --(void)navMuenButtonAction -{ - ShiPinJiLuViewController *vc = [ShiPinJiLuViewController new]; - [self.navigationController pushViewController:vc animated:YES]; +// [self.navigationView setMuenTitle:@"历史记录" titleColor:RGBACOLOR(255, 255, 255, 0.8)]; } +//-(void)navMuenButtonAction +//{ +// ShiPinJiLuViewController *vc = [ShiPinJiLuViewController new]; +// [self.navigationController pushViewController:vc animated:YES]; +//} -(void)viewDidDisappear:(BOOL)animated { [super viewDidDisappear:animated]; diff --git a/ProductApp/ProductApp/ProductMain/ShouYe/视频转音频/view/ShiPingTiQuYinPingView.m b/ProductApp/ProductApp/ProductMain/ShouYe/视频转音频/view/ShiPingTiQuYinPingView.m index b032a41..3654832 100644 --- a/ProductApp/ProductApp/ProductMain/ShouYe/视频转音频/view/ShiPingTiQuYinPingView.m +++ b/ProductApp/ProductApp/ProductMain/ShouYe/视频转音频/view/ShiPingTiQuYinPingView.m @@ -16,7 +16,6 @@ #import "BaoCunAlterView.h" #import "GongGongNetManager.h" #import "HuiYuanZXViewController.h" -#import "ShiPinJiLuViewController.h" @interface ShiPingTiQuYinPingView () @@ -298,23 +297,12 @@ -(void)tiaozhuan { -// [self.viewController.navigationController popToRootViewControllerAnimated:NO]; -// [[NSNotificationCenter defaultCenter] postNotificationName:@"tabbarChangerNotifi" object:@"1"]; -// dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ -// if([UserDetailModel zhiFuState]) -// { -// [[NSNotificationCenter defaultCenter] postNotificationName:@"recordShowSonView" object:@"2"]; -// } -// else -// { -// [[NSNotificationCenter defaultCenter] postNotificationName:@"recordShowSonView" object:@"1"]; -// } -// -// }); - - ShiPinJiLuViewController *vc = [ShiPinJiLuViewController new]; - [self.viewController.navigationController pushViewController:vc animated:YES]; - + [self.viewController.navigationController popToRootViewControllerAnimated:NO]; + [[NSNotificationCenter defaultCenter] postNotificationName:@"tabbarChangerNotifi" object:@"1"]; + dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ + [[NSNotificationCenter defaultCenter] postNotificationName:@"recordShowSonView" object:@"2"]; + + }); } - (void)extractAudioFromVideo:(NSURL *)videoURL back:(void (^)(NSString *backAudio))blockValue { diff --git a/ProductApp/ProductApp/ProductMain/ShouYe/视频转音频/记录/ShiPinJiLuViewController.h b/ProductApp/ProductApp/ProductMain/ShouYe/视频转音频/记录/ShiPinJiLuViewController.h deleted file mode 100644 index 9b4175b..0000000 --- a/ProductApp/ProductApp/ProductMain/ShouYe/视频转音频/记录/ShiPinJiLuViewController.h +++ /dev/null @@ -1,16 +0,0 @@ -// -// ShiPinJiLuViewController.h -// ProductApp -// -// Created by 工作 on 2025/4/18. -// - -#import "BaseViewController.h" - -NS_ASSUME_NONNULL_BEGIN - -@interface ShiPinJiLuViewController : BaseViewController - -@end - -NS_ASSUME_NONNULL_END diff --git a/ProductApp/ProductApp/ProductMain/ShouYe/视频转音频/记录/ShiPinJiLuViewController.m b/ProductApp/ProductApp/ProductMain/ShouYe/视频转音频/记录/ShiPinJiLuViewController.m deleted file mode 100644 index 81c9547..0000000 --- a/ProductApp/ProductApp/ProductMain/ShouYe/视频转音频/记录/ShiPinJiLuViewController.m +++ /dev/null @@ -1,44 +0,0 @@ -// -// ShiPinJiLuViewController.m -// ProductApp -// -// Created by 工作 on 2025/4/18. -// - -#import "ShiPinJiLuViewController.h" -#import "JiLuAudioView.h" - -@interface ShiPinJiLuViewController () - -@end - -@implementation ShiPinJiLuViewController -- (UIStatusBarStyle)preferredStatusBarStyle { - return UIStatusBarStyleLightContent; -} -- (void)viewWillAppear:(BOOL)animated { - [super viewWillAppear:animated]; - [self.navigationController setNavigationBarHidden:YES animated:NO]; - [self showNaviGationView:YES]; - [self.navigationView setBackgroundColor:RGBCOLOR(20, 20, 20)]; - [self.navigationView setTitle:@"音频记录" titleColor:RGBACOLOR(255, 255, 255, 1)]; -} --(void)viewDidDisappear:(BOOL)animated -{ - [super viewDidDisappear:animated]; -} -- (void)viewDidLoad { - [super viewDidLoad]; - [UserDetailModel pushActionInfo:0 key:@"click.go.to.vc" value:@"音频记录" extra:@""]; - JiLuAudioView *viewback = [[JiLuAudioView alloc] init]; - [self.view addSubview:viewback]; - [viewback mas_makeConstraints:^(MASConstraintMaker *make) { - make.left.right.bottom.equalTo(self.view); - make.top.offset(NavHeight); - }]; - -} - - - -@end diff --git a/ProductApp/ProductApp/ProductMain/ShouYe/视频转音频/记录/cell/JiLuAudioTableViewCellOModel.swift b/ProductApp/ProductApp/ProductMain/ShouYe/视频转音频/记录/cell/JiLuAudioTableViewCellOModel.swift deleted file mode 100644 index 11df21c..0000000 --- a/ProductApp/ProductApp/ProductMain/ShouYe/视频转音频/记录/cell/JiLuAudioTableViewCellOModel.swift +++ /dev/null @@ -1,32 +0,0 @@ -import UIKit - -open class JiLuAudioTableViewCellOModel: NSObject { - open var tubeshapedRupicapra1: CGFloat = 1581.6158 - open var tubeshapedRupicapra2: String = "1582String" - open var tubeshapedRupicapra3: CGFloat = 1583.246 - - - @MainActor @objc -open func twicecarriedWoewearied() { - func summation(a: Int, b: Int) -> Int { - return a + b - } - if (summation(a: 1581, b: 1582) + 1583) < 0 { - print("tubeshapedRupicapra String", tubeshapedRupicapra1) - } - -} - - @MainActor @objc -open func calumniaEnoree() { - // - let rupicapraTentor1 = (Double(tubeshapedRupicapra1) ?? 0) + (Double(tubeshapedRupicapra2) ?? 0) + (Double(tubeshapedRupicapra3) ?? 0) - let rupicapraTentor2 = (Double(tubeshapedRupicapra1) ?? 0) - (Double(tubeshapedRupicapra2) ?? 0) - (Double(tubeshapedRupicapra3) ?? 0) - var rupicapraTentor3 = rupicapraTentor1 + rupicapraTentor2 - rupicapraTentor3 += rupicapraTentor3 - _ = rupicapraTentor3 + rupicapraTentor2 + rupicapraTentor1 - // - twicecarriedWoewearied() -} - -} \ No newline at end of file diff --git a/ProductApp/ProductApp/ProductMain/ShouYe/视频转音频/记录/播放音频/JiLuAudioPlayViewOModel.swift b/ProductApp/ProductApp/ProductMain/ShouYe/视频转音频/记录/播放音频/JiLuAudioPlayViewOModel.swift deleted file mode 100644 index 9cd83ef..0000000 --- a/ProductApp/ProductApp/ProductMain/ShouYe/视频转音频/记录/播放音频/JiLuAudioPlayViewOModel.swift +++ /dev/null @@ -1,45 +0,0 @@ -import UIKit - -open class JiLuAudioPlayViewOModel: NSObject { - open var arzawaKersey1: Int = 6631 - open var arzawaKerseyString: String? - open var arzawaKersey2: Int = 6636 - open var arzawaKerseyText: String = "arzawaKersey" - open var arzawaKersey3: Int = 6639 - - - @MainActor @objc -open func monterreyCommunional() { - func timeFormat() -> String { - let time: UInt = UInt(Date().timeIntervalSince1970) - let d = time / 3600 / 24 - let h = time / 3600 - let m = (time % 3600) / 60 - let s = time % 3600 % 60 - if h >= 1 { - return String(format: "%02d:%02d:%02d - \(arzawaKersey1)", h, m, s) - } - return String(format: "%02d:%02d", m, s) - } - _ = timeFormat() - -} - - @MainActor @objc -open func asynchronyIllfitting() { - func timeFormat() -> String { - let time: UInt = UInt(Date().timeIntervalSince1970) - let d = time / 3600 / 24 - let h = time / 3600 - let m = (time % 3600) / 60 - let s = time % 3600 % 60 - if h >= 1 { - return String(format: "%02d:%02d:%02d - \(arzawaKersey1)", h, m, s) - } - return String(format: "%02d:%02d", m, s) - } - _ = timeFormat() - monterreyCommunional() -} - -} \ No newline at end of file diff --git a/ProductApp/ProductApp/ProductMain/WoDe/SheZhi/关于我们/GuanYuWoMenViewController.m b/ProductApp/ProductApp/ProductMain/WoDe/SheZhi/关于我们/GuanYuWoMenViewController.m index df2fbeb..09f4248 100644 --- a/ProductApp/ProductApp/ProductMain/WoDe/SheZhi/关于我们/GuanYuWoMenViewController.m +++ b/ProductApp/ProductApp/ProductMain/WoDe/SheZhi/关于我们/GuanYuWoMenViewController.m @@ -120,8 +120,8 @@ // [UserDetailModel tuichudengluData]; // [UserDetailModel removeAll]; // [[NSUserDefaults standardUserDefaults] setObject:@"" forKey:YingDaoYe]; -// [[NSUserDefaults standardUserDefaults] setObject:@"" forKey:YongHuXieYiState]; -// [[NSUserDefaults standardUserDefaults] setObject:@"" forKey:PhoneIDFA]; +// [[NSUserDefaults standardUserDefaults] setObject:@"" forKey:UserXYiState]; +// [[NSUserDefaults standardUserDefaults] setObject:@"" forKey:IOSIDFA]; // AppDelegate *appd = (AppDelegate *)[UIApplication sharedApplication].delegate; // [appd.window setRootViewController:[[NavgationController alloc] initWithRootViewController:[StartViewController new]]]; } @@ -175,11 +175,11 @@ vc.strtitle = self.arrdata[indexPath.row]; if(indexPath.row==0) {/// - vc.strurl = [NSString stringWithFormat:@"%@",YongHuXieUrl]; + vc.strurl = [NSString stringWithFormat:@"%@",UserXieYUrl]; } else { - vc.strurl = [NSString stringWithFormat:@"%@",YongHuYinSiUrl]; + vc.strurl = [NSString stringWithFormat:@"%@",UserYinSiPathUrl]; } [self.navigationController pushViewController:vc animated:YES]; diff --git a/ProductApp/ProductApp/ProductMain/WoDe/SheZhi/账号绑定/ZhangHaoBDViewController.m b/ProductApp/ProductApp/ProductMain/WoDe/SheZhi/账号绑定/ZhangHaoBDViewController.m index a713c0a..dd2ee7b 100644 --- a/ProductApp/ProductApp/ProductMain/WoDe/SheZhi/账号绑定/ZhangHaoBDViewController.m +++ b/ProductApp/ProductApp/ProductMain/WoDe/SheZhi/账号绑定/ZhangHaoBDViewController.m @@ -223,14 +223,14 @@ -(void)weixin { @try { - [[NSNotificationCenter defaultCenter] removeObserver:self name:WXDengLuSQ object:nil]; + [[NSNotificationCenter defaultCenter] removeObserver:self name:WXinDengLuSQ object:nil]; } @catch (NSException *exception) { } @finally { } - [[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(weixinNotifi:) name: WXDengLuSQ object: nil]; + [[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(weixinNotifi:) name: WXinDengLuSQ object: nil]; SendAuthReq *req = [[SendAuthReq alloc] init]; req.scope = @"snsapi_userinfo"; req.state = @"123"; @@ -241,7 +241,7 @@ } -(void)weixinNotifi:(NSNotification *)notifi { - [[NSNotificationCenter defaultCenter] removeObserver:self name:WXDengLuSQ object:nil]; + [[NSNotificationCenter defaultCenter] removeObserver:self name:WXinDengLuSQ object:nil]; if(notifi.object!=nil) { SendAuthResp *resp = notifi.object; diff --git a/ProductApp/ProductApp/ProductMain/WoDe/SheZhi/账户管理/ZhangHuGuanLiViewController.m b/ProductApp/ProductApp/ProductMain/WoDe/SheZhi/账户管理/ZhangHuGuanLiViewController.m index dfb467f..185ffa4 100644 --- a/ProductApp/ProductApp/ProductMain/WoDe/SheZhi/账户管理/ZhangHuGuanLiViewController.m +++ b/ProductApp/ProductApp/ProductMain/WoDe/SheZhi/账户管理/ZhangHuGuanLiViewController.m @@ -200,7 +200,7 @@ -(void)getPeiZhiData { - NSString *stridfa = [[NSUserDefaults standardUserDefaults] objectForKey:PhoneIDFA]; + NSString *stridfa = [[NSUserDefaults standardUserDefaults] objectForKey:IOSIDFA]; [GongGongNetManager getUserConfiginfoData:self.view idfa:stridfa Callback:^(BOOL state, KCSPUserSysterConfModel *responseObject, NSString * _Nullable describle) { [KCSPHUDAlterView dismis]; if(state) diff --git a/ProductApp/ProductApp/ProductMain/WoDe/cell/WoDeTableViewCell.m b/ProductApp/ProductApp/ProductMain/WoDe/cell/WoDeTableViewCell.m index d83d49e..c156209 100644 --- a/ProductApp/ProductApp/ProductMain/WoDe/cell/WoDeTableViewCell.m +++ b/ProductApp/ProductApp/ProductMain/WoDe/cell/WoDeTableViewCell.m @@ -26,14 +26,14 @@ make.edges.equalTo(self); }]; -// UIImageView *imgvback = [[UIImageView alloc] init]; -// [viewback addSubview:imgvback]; -// [imgvback mas_makeConstraints:^(MASConstraintMaker *make) { -// make.left.offset(26); -// make.width.height.offset(24); -// make.centerY.equalTo(viewback); -// }]; -// _imgvback = imgvback; + UIImageView *imgvback = [[UIImageView alloc] init]; + [viewback addSubview:imgvback]; + [imgvback mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.offset(26); + make.width.height.offset(24); + make.centerY.equalTo(viewback); + }]; + _imgvback = imgvback; UILabel *lbname = [[UILabel alloc] init]; [lbname setText:@""]; @@ -42,8 +42,8 @@ [lbname setFont:[UIFont systemFontOfSize:15]]; [viewback addSubview:lbname]; [lbname mas_makeConstraints:^(MASConstraintMaker *make) { -// make.left.equalTo(imgvback.mas_right).offset(15); - make.left.offset(26); + make.left.equalTo(imgvback.mas_right).offset(15); +// make.left.offset(26); make.centerY.equalTo(viewback); }]; _lbname = lbname; diff --git a/ProductApp/ProductApp/ProductMain/WoDe/view/WoDeView.m b/ProductApp/ProductApp/ProductMain/WoDe/view/WoDeView.m index e043b99..7ee0072 100644 --- a/ProductApp/ProductApp/ProductMain/WoDe/view/WoDeView.m +++ b/ProductApp/ProductApp/ProductMain/WoDe/view/WoDeView.m @@ -14,6 +14,7 @@ #import "HuiYuanZXViewController.h" #import "GongGongNetManager.h" #import +#import "MyFaBuShiPinViewController.h" @interface WoDeView () /// @@ -54,7 +55,16 @@ }else{ self.viewController.automaticallyAdjustsScrollViewInsets =NO; } - UIImage *imagebc = [UIImage imageNamed:@"my_bj"];///my_bj_pt + UIImage *imagebc = [UIImage imageNamed:@"my_bj_nomo"];///my_bj_pt my_bj_nomo + if([UserDetailModel shareModel].vip.intValue==2) + { + imagebc = [UIImage imageNamed:@"my_bj"]; + } + else if([UserDetailModel shareModel].vip.intValue==3) + { + imagebc = [UIImage imageNamed:@"my_bj_pt"]; + } + UIImageView *imgvback = [[UIImageView alloc] init]; [imgvback setImage:imagebc]; [scvback addSubview:imgvback]; @@ -62,7 +72,7 @@ make.left.top.width.equalTo(scvback); make.height.offset(UISCREEN_WIDTH*imagebc.size.height/imagebc.size.width); }]; - [imgvback setHidden:YES]; +// [imgvback setHidden:YES]; _imgvback = imgvback; UIImageView *imgvhd = [[UIImageView alloc] init]; @@ -174,13 +184,17 @@ [tableView setScrollEnabled:NO]; [tableView setDelegate:self]; [tableView setDataSource:self]; - [tableView setBackgroundColor:[UIColor clearColor]]; + [tableView setBackgroundColor:RGBCOLOR(30, 29, 36)]; [scvback addSubview:tableView]; [tableView mas_makeConstraints:^(MASConstraintMaker *make) { - make.left.right.equalTo(imgvback); - make.top.equalTo(imgvhy.mas_bottom).offset(20); - make.height.offset(60*3); + make.right.equalTo(imgvback).offset(-16); + make.left.offset(16); + make.top.equalTo(imgvhy.mas_bottom).offset(16); + make.height.offset(60*4); }]; + [tableView.layer setMasksToBounds:YES]; + [tableView.layer setCornerRadius:8]; + [scvback mas_makeConstraints:^(MASConstraintMaker *make) { make.bottom.equalTo(tableView).offset(20); }]; @@ -257,21 +271,38 @@ [self.imgvback setHidden:YES]; if([UserDetailModel shareModel].vip.intValue==2) { + ///make.height.offset(UISCREEN_WIDTH*imagebc.size.height/imagebc.size.width); + UIImage *imagebc = [UIImage imageNamed:@"my_bj_pt"];// + [self.imgvback mas_updateConstraints:^(MASConstraintMaker *make) { + make.height.offset(UISCREEN_WIDTH*imagebc.size.height/imagebc.size.width); + }]; [self.imgvback setHidden:NO]; - [self.imgvback setImage:[UIImage imageNamed:@"my_bj_pt"]]; + [self.imgvback setImage:imagebc]; [self.lbnameHY setText:@"快存视频-VideoDeep·普通会员"]; [self.lbinfoHY setText:[NSString stringWithFormat:@"%@ 会员到期",modelDetail.vip_expire]]; } else if([UserDetailModel shareModel].vip.intValue==3) { + UIImage *imagebc = [UIImage imageNamed:@"my_bj"];// + [self.imgvback mas_updateConstraints:^(MASConstraintMaker *make) { + make.height.offset(UISCREEN_WIDTH*imagebc.size.height/imagebc.size.width); + }]; [self.imgvback setHidden:NO]; - [self.imgvback setImage:[UIImage imageNamed:@"my_bj"]]; + [self.imgvback setImage:imagebc]; + [self.lbnameHY setText:@"快存视频-VideoDeep·终身会员"]; [self.lbinfoHY setText:@"享受永久会员专属权益"]; [self.btkt setHidden:YES]; } else { + UIImage *imagebc = [UIImage imageNamed:@"my_bj_nomo"];// + [self.imgvback mas_updateConstraints:^(MASConstraintMaker *make) { + make.height.offset(UISCREEN_WIDTH*imagebc.size.height/imagebc.size.width); + }]; + [self.imgvback setHidden:NO]; + [self.imgvback setImage:imagebc]; + [self.lbnameHY setText:@"快存视频-VideoDeep"]; [self.lbinfoHY setText:@"点击成为会员解锁所有功能"]; if([Tools isStringnil:self.modelDetail.vip_expire].length>6) @@ -283,6 +314,7 @@ -(void)getdata { self.arrdata = [NSMutableArray new]; + [self.arrdata addObject:@"发布视频"]; [self.arrdata addObject:@"兑换钻石"]; [self.arrdata addObject:@"分享APP"]; // [self.arrdata addObject:@"联系客服"]; @@ -328,7 +360,7 @@ [cell setBackgroundColor:[UIColor clearColor]]; } cell.lbname.text = self.arrdata[indexPath.row]; -// cell.imgvback.image = [UIImage imageNamed:[NSString stringWithFormat:@"my_%@",self.arrdata[indexPath.row]]]; + cell.imgvback.image = [UIImage imageNamed:[NSString stringWithFormat:@"my_%@",self.arrdata[indexPath.row]]]; return cell; } @@ -368,16 +400,16 @@ ShareAlterView *view = [[ShareAlterView alloc] initWithFrame:CGRectMake(0, 0, UISCREEN_WIDTH, UISCREEN_HEIGHT)]; [[UIApplication sharedApplication].delegate.window addSubview:view]; } - else if([str isEqualToString:@"联系客服"]) - { -// [self getKeFuData]; - } else if([str isEqualToString:@"系统设置"]) { SheZhiViewController *vc = [SheZhiViewController new]; [self.viewController.navigationController pushViewController:vc animated:YES]; } - + else if([str isEqualToString:@"发布视频"]) + { + MyFaBuShiPinViewController *vc = [MyFaBuShiPinViewController new]; + [self.viewController.navigationController pushViewController:vc animated:YES]; + } } //-(void)getKeFuData diff --git a/ProductApp/ProductApp/ProductMain/WoDe/会员中心/view/HuiYuanZXGoodsView.m b/ProductApp/ProductApp/ProductMain/WoDe/会员中心/view/HuiYuanZXGoodsView.m index e5fadf0..43d2b92 100644 --- a/ProductApp/ProductApp/ProductMain/WoDe/会员中心/view/HuiYuanZXGoodsView.m +++ b/ProductApp/ProductApp/ProductMain/WoDe/会员中心/view/HuiYuanZXGoodsView.m @@ -218,7 +218,7 @@ { WkWebviewViewController *vc = [[WkWebviewViewController alloc] init]; vc.strtitle = @"会员服务协议"; - vc.strurl = YongHuXieUrl; + vc.strurl = UserXieYUrl; [self.viewController.navigationController pushViewController:vc animated:YES]; } -(void)tongyixieyi diff --git a/ProductApp/ProductApp/ProductMain/WoDe/发布视频/MyFaBuShiPinSonViewController.h b/ProductApp/ProductApp/ProductMain/WoDe/发布视频/MyFaBuShiPinSonViewController.h new file mode 100644 index 0000000..22d23d4 --- /dev/null +++ b/ProductApp/ProductApp/ProductMain/WoDe/发布视频/MyFaBuShiPinSonViewController.h @@ -0,0 +1,16 @@ +// +// MyFaBuShiPinSonViewController.h +// ProductApp +// +// Created by 工作 on 2025/4/23. +// + +#import +#import "ZJScrollPageView.h" +NS_ASSUME_NONNULL_BEGIN + +@interface MyFaBuShiPinSonViewController : UIViewController +@property (nonatomic , strong) NSString *type; +@end + +NS_ASSUME_NONNULL_END diff --git a/ProductApp/ProductApp/ProductMain/WoDe/发布视频/MyFaBuShiPinSonViewController.m b/ProductApp/ProductApp/ProductMain/WoDe/发布视频/MyFaBuShiPinSonViewController.m new file mode 100644 index 0000000..d266694 --- /dev/null +++ b/ProductApp/ProductApp/ProductMain/WoDe/发布视频/MyFaBuShiPinSonViewController.m @@ -0,0 +1,132 @@ +// +// MyFaBuShiPinSonViewController.m +// ProductApp +// +// Created by 工作 on 2025/4/23. +// + +#import "MyFaBuShiPinSonViewController.h" +#import "MyFaBuShiPinSonCollectionViewCell.h" +#import "WaterFallLayout.h" +#import "MyFaBuShiPinDetailViewController.h" +#import "KCSPNetManager.h" + + +static NSString *identifier = @"MyFaBuShiPinSonCollectionViewCell"; + +@interface MyFaBuShiPinSonViewController () +/// +@property (nonatomic , strong) UICollectionView *collect; +/// +@property (nonatomic , strong) NSMutableArray *arrdata; + +@property (nonatomic , assign) int page; +@end + +@implementation MyFaBuShiPinSonViewController + +- (void)viewDidLoad { + [super viewDidLoad]; + [self.view setBackgroundColor:RGBCOLOR(20, 20, 20)]; + + WaterFallLayout *layout = [[WaterFallLayout alloc] init]; + layout.delegate = self; + layout.rowMargin = 5; + layout.column = 2; + layout.columnMargin = 5; + layout.edge = UIEdgeInsetsMake(10, 8, 10, 8); + + + UICollectionView *collect = [[UICollectionView alloc] initWithFrame:CGRectZero collectionViewLayout:layout]; + [collect setDelegate:self]; + [collect setDataSource:self]; + [collect setBackgroundColor:[UIColor clearColor]]; + [collect registerClass:[MyFaBuShiPinSonCollectionViewCell class] forCellWithReuseIdentifier:identifier]; + [self.view addSubview:collect]; + [collect mas_makeConstraints:^(MASConstraintMaker *make) { + make.edges.equalTo(self.view); + }]; + _collect = collect; + [collect setEmptyDataSetDelegate:self]; + [collect setEmptyDataSetSource:self]; + collect.mj_header = [MJRefreshNormalHeader headerWithRefreshingBlock:^{ + self.page = 1; + [self getdata]; + }]; + collect.mj_footer = [MJRefreshBackNormalFooter footerWithRefreshingBlock:^{ + self.page += 1; + [self getdata]; + }]; + self.page = 1; + [self getdata]; +} + +-(void)getdata +{ + [KCSPHUDAlterView showView]; + [KCSPNetManager requestUserMaterialData:self.view page:[NSString stringWithFormat:@"%d",self.page] status:self.type Callback:^(BOOL state, UserMaterialModel *responseObject, NSString * _Nullable describle) { + [KCSPHUDAlterView dismis]; + [self.collect.mj_header endRefreshing]; + [self.collect.mj_footer endRefreshing]; + if(self.page==1)self.arrdata = [NSMutableArray new]; + if(state) + { + [self.arrdata addObjectsFromArray:responseObject.data.items]; + } + else + { + [HXHud showMessage:responseObject.message afterDelayType:1]; + } + [self.collect reloadData]; + }]; +} +#pragma mark - UICollectionView +- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section +{ + return self.arrdata.count; +} +- (__kindof UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath +{ + //使用缓存池中的cell + MyFaBuShiPinSonCollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:identifier forIndexPath:indexPath ]; + if (!cell) { + cell = [[MyFaBuShiPinSonCollectionViewCell alloc] init]; + } + cell.model = self.arrdata[indexPath.row]; + + return cell; +} +- (CGFloat) collectionViewHeightAtIndexPath:(NSIndexPath *)indexPath withItemWidth:(CGFloat)width +{ + UserMaterialModelDataItems *model = self.arrdata[indexPath.row]; + NSArray *arrsize = [model.pic_size componentsSeparatedByString:@","]; + float fheight = 50; + if(arrsize.count==2) + { + fheight = [arrsize[1] intValue]*(UISCREEN_WIDTH-21)/2.0/[arrsize[0] intValue]; + } + fheight+=66; + fheight+=[Tools getLabelHeightWithText:model.title width:(UISCREEN_WIDTH-21)/2.0-12 font:14 linHeight:0]+1; + return fheight;//50图片的高度 14 标题的高度 +} + +-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath +{ + MyFaBuShiPinDetailViewController *vc = [MyFaBuShiPinDetailViewController new]; + vc.modelDetail = self.arrdata[indexPath.row]; + [self.navigationController pushViewController:vc animated:YES]; +} + +#pragma mark - DZNEmptyDataSetSource +- (NSAttributedString *)titleForEmptyDataSet:(UIScrollView *)scrollView +{ + NSString *str = @"暂无数据"; + return [Tools arrstring:str andstart:0 andend:(int)str.length andfont:[UIFont systemFontOfSize:14] andcolor:RGBCOLOR(158, 158, 158)]; +} +- (UIImage *)imageForEmptyDataSet:(UIScrollView *)scrollView +{ + NSString *strimg = @"sc_zanwushuju"; + return [UIImage imageNamed:strimg]; +} + +@end diff --git a/ProductApp/ProductApp/ProductMain/WoDe/发布视频/MyFaBuShiPinViewController.h b/ProductApp/ProductApp/ProductMain/WoDe/发布视频/MyFaBuShiPinViewController.h new file mode 100644 index 0000000..1e52b54 --- /dev/null +++ b/ProductApp/ProductApp/ProductMain/WoDe/发布视频/MyFaBuShiPinViewController.h @@ -0,0 +1,16 @@ +// +// MyFaBuShiPinViewController.h +// ProductApp +// +// Created by 工作 on 2025/4/23. +// + +#import "BaseViewController.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface MyFaBuShiPinViewController : BaseViewController + +@end + +NS_ASSUME_NONNULL_END diff --git a/ProductApp/ProductApp/ProductMain/WoDe/发布视频/MyFaBuShiPinViewController.m b/ProductApp/ProductApp/ProductMain/WoDe/发布视频/MyFaBuShiPinViewController.m new file mode 100644 index 0000000..830b23a --- /dev/null +++ b/ProductApp/ProductApp/ProductMain/WoDe/发布视频/MyFaBuShiPinViewController.m @@ -0,0 +1,127 @@ +// +// MyFaBuShiPinViewController.m +// ProductApp +// +// Created by 工作 on 2025/4/23. +// + +#import "MyFaBuShiPinViewController.h" +#import "ShuCaiKuFaBuViewController.h" +#import "MyFaBuShiPinSonViewController.h" + + +@interface MyFaBuShiPinViewController () + +@property (nonatomic, strong) ZJScrollPageView *scrollPageView; + + +@end + +@implementation MyFaBuShiPinViewController +- (UIStatusBarStyle)preferredStatusBarStyle { + return UIStatusBarStyleLightContent; +} +- (void)viewWillAppear:(BOOL)animated { + [super viewWillAppear:animated]; + [self.navigationController setNavigationBarHidden:YES animated:animated]; + [self showNaviGationView:YES]; + [self.navigationView setTitle:@"我的视频" titleColor:RGBACOLOR(255, 255, 255, 0.9)]; + [self.navigationView setBackgroundColor:RGBCOLOR(20, 20, 20)]; +} +-(void)viewDidAppear:(BOOL)animated +{ + [super viewDidAppear:animated]; + if([[[NSUserDefaults standardUserDefaults] objectForKey:@"sucairef"] intValue]==1) + { + [[NSUserDefaults standardUserDefaults] setObject:@"0" forKey:@"sucairef"]; + [self.scrollPageView reloadWithNewTitles:@[@"全部",@"待审核",@"已发布"]]; + } + + +} +- (void)viewDidLoad { + [super viewDidLoad]; + [self.view setBackgroundColor:RGBCOLOR(20, 20, 20)]; + [self drawSend]; + + + ZJSegmentStyle *style = [[ZJSegmentStyle alloc] init]; + //显示滚动条 + style.showLine = NO; + style.scaleTitle = YES; + style.normalTitleColor = RGBACOLOR(255, 255, 255, 0.5); + style.selectedTitleColor = RGBCOLOR(240, 54, 94); + style.titleFont = [UIFont systemFontOfSize:14]; + style.autoAdjustTitlesWidth = YES; + style.adjustCoverOrLineWidth = NO; + _scrollPageView = [[ZJScrollPageView alloc] initWithFrame:CGRectMake(0, NavHeight, UISCREEN_WIDTH, UISCREEN_HEIGHT - NavHeight) segmentStyle:style titles:@[@"全部",@"待审核",@"已发布"] parentViewController:self delegate:self]; + [self.view addSubview:self.scrollPageView]; + self.scrollPageView.segmentView.backgroundColor = RGBCOLOR(20, 20, 20); + self.scrollPageView.contentView.backgroundColor = RGBCOLOR(20, 20, 20); + self.scrollPageView.contentView.collectionView.backgroundColor = RGBCOLOR(20, 20, 20); + [self.scrollPageView reloadWithNewTitles:@[@"全部",@"待审核",@"已发布"]]; + [[NSUserDefaults standardUserDefaults] setObject:@"0" forKey:@"sucairef"]; +} + +-(void)drawSend +{ + UIView *viewsend = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 74, 30)]; + [viewsend setBackgroundColor:[UIColor whiteColor]]; + [viewsend.layer setMasksToBounds:YES]; + [viewsend.layer setCornerRadius:15]; + [self.navigationView addSubview:viewsend]; + [viewsend mas_makeConstraints:^(MASConstraintMaker *make) { + make.size.sizeOffset(CGSizeMake(74, 30)); + make.centerY.equalTo(self.navigationView.titleLabel); + make.right.equalTo(self.navigationView).offset(-16); + }]; + [Tools changedView:viewsend colors:@[(id)RGBCOLOR(246, 44, 108).CGColor,(id)RGBCOLOR(252, 79, 84).CGColor] startPoint:CGPointMake(0, 0) endPoint:CGPointMake(1, 0)]; + + UIButton *btsend = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 74, 30)]; + [btsend setTitle:@"发布" forState:UIControlStateNormal]; + [btsend setTitleColor:RGBACOLOR(255, 255, 255, 0.9) forState:UIControlStateNormal]; + [btsend.titleLabel setFont:[UIFont systemFontOfSize:13]]; + [btsend setImage:[UIImage imageNamed:@"sc_send"] forState:UIControlStateNormal]; + [viewsend addSubview:btsend]; + [btsend mas_makeConstraints:^(MASConstraintMaker *make) { + make.edges.equalTo(viewsend); + }]; + [btsend setIconInLeft]; + [btsend addTarget:self action:@selector(sendAction) forControlEvents:UIControlEventTouchUpInside]; + +} + +-(void)sendAction +{ + ShuCaiKuFaBuViewController *vc = [ShuCaiKuFaBuViewController new]; + [self.navigationController pushViewController:vc animated:YES]; +} + +#pragma mark - custom delegate - 自定义或者第三方控件的delegate +- (NSInteger)numberOfChildViewControllers { + return 3; +} + +- (UIViewController *)childViewController:(UIViewController *)reuseViewController forIndex:(NSInteger)index { + MyFaBuShiPinSonViewController *childVC = (MyFaBuShiPinSonViewController *)reuseViewController; + if (!childVC) { + childVC = [[MyFaBuShiPinSonViewController alloc] init]; + } + if(index==0) + { + childVC.type = @""; + } + else + { + childVC.type = [NSString stringWithFormat:@"%ld",index-1]; + } + return childVC; +} +- (void)scrollPageController:(UIViewController *)scrollPageController childViewControllDidAppear:(UIViewController *)childViewController forIndex:(NSInteger)index +{ +} +- (BOOL)shouldAutomaticallyForwardAppearanceMethods { + return NO; +} + +@end diff --git a/ProductApp/ProductApp/ProductMain/WoDe/发布视频/cell/MyFaBuShiPinSonCollectionViewCell.h b/ProductApp/ProductApp/ProductMain/WoDe/发布视频/cell/MyFaBuShiPinSonCollectionViewCell.h new file mode 100644 index 0000000..ae6fc9f --- /dev/null +++ b/ProductApp/ProductApp/ProductMain/WoDe/发布视频/cell/MyFaBuShiPinSonCollectionViewCell.h @@ -0,0 +1,17 @@ +// +// MyFaBuShiPinSonCollectionViewCell.h +// ProductApp +// +// Created by 工作 on 2025/4/24. +// + +#import +#import "UserMaterialModel.h" +NS_ASSUME_NONNULL_BEGIN + +@interface MyFaBuShiPinSonCollectionViewCell : UICollectionViewCell +/// +@property (nonatomic , strong) UserMaterialModelDataItems *model; +@end + +NS_ASSUME_NONNULL_END diff --git a/ProductApp/ProductApp/ProductMain/WoDe/发布视频/cell/MyFaBuShiPinSonCollectionViewCell.m b/ProductApp/ProductApp/ProductMain/WoDe/发布视频/cell/MyFaBuShiPinSonCollectionViewCell.m new file mode 100644 index 0000000..8958e2a --- /dev/null +++ b/ProductApp/ProductApp/ProductMain/WoDe/发布视频/cell/MyFaBuShiPinSonCollectionViewCell.m @@ -0,0 +1,242 @@ +// +// MyFaBuShiPinSonCollectionViewCell.m +// ProductApp +// +// Created by 工作 on 2025/4/24. +// + +#import "MyFaBuShiPinSonCollectionViewCell.h" + +@interface MyFaBuShiPinSonCollectionViewCell () +/// +@property (nonatomic , strong) UIImageView *imgvback; +/// +@property (nonatomic , strong) UILabel *lbstate ; +/// +@property (nonatomic , strong) UILabel *lbsc; +@property (nonatomic , strong) UILabel *lbtitle; + +/// +@property (nonatomic , strong) NSMutableArray *arrItemView; +@property (nonatomic , strong) NSMutableArray *arrItemLB; +/// +@property (nonatomic , strong) UIImageView *imgvhd; +/// +@property (nonatomic , strong) UILabel *lbname; +/// +@property (nonatomic , strong) UILabel *lbdown; +@end + + +@implementation MyFaBuShiPinSonCollectionViewCell +-(id)initWithFrame:(CGRect)frame +{ + if(self = [super initWithFrame:frame]) + { + UIView *viewback = [[UIView alloc] init]; + [viewback setBackgroundColor:RGBCOLOR(28, 28, 28)]; + [self.contentView addSubview:viewback]; + [viewback mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.right.top.equalTo(self.contentView); + make.bottom.equalTo(self.contentView).offset(-5); + }]; + [viewback.layer setMasksToBounds:YES]; + [viewback.layer setCornerRadius:4]; + + UIImageView *imgvback = [[UIImageView alloc] init]; + [imgvback setContentMode:UIViewContentModeScaleAspectFill]; + [viewback addSubview:imgvback]; + [imgvback mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.right.top.equalTo(viewback); + make.height.offset(50); + }]; + _imgvback = imgvback; + + UILabel *lbstate = [[UILabel alloc] init]; + [lbstate setText:@"待审核"]; + [lbstate setTextColor:RGBACOLOR(255, 255, 255, 0.8)]; + [lbstate setTextAlignment:NSTextAlignmentCenter]; + [lbstate setFont:[UIFont systemFontOfSize:10]]; + [viewback addSubview:lbstate]; + [lbstate mas_makeConstraints:^(MASConstraintMaker *make) { + make.size.sizeOffset(CGSizeMake(38, 18)); + make.left.top.offset(6); + }]; + [lbstate setBackgroundColor:RGBCOLOR(13, 149, 243)];///51, 51, 51 247, 48, 106 + [lbstate.layer setMasksToBounds:YES]; + [lbstate.layer setCornerRadius:4]; + _lbstate = lbstate; + + UILabel *lbsc = [[UILabel alloc] init]; + [lbsc setText:@"7s"]; + [lbsc setTextColor:RGBCOLOR(255, 255, 255)]; + [lbsc setTextAlignment:NSTextAlignmentRight]; + [lbsc setFont:[UIFont systemFontOfSize:12]]; + [viewback addSubview:lbsc]; + [lbsc mas_makeConstraints:^(MASConstraintMaker *make) { + make.right.equalTo(viewback).offset(-6); + make.bottom.equalTo(imgvback).offset(-6); + }]; + _lbsc = lbsc; + + UILabel *lbtitle = [[UILabel alloc] init]; + [lbtitle setText:@"春分清新春日风光"]; + [lbtitle setTextColor:RGBACOLOR(255, 255, 255, 0.9)]; + [lbtitle setTextAlignment:NSTextAlignmentLeft]; + [lbtitle setFont:[UIFont systemFontOfSize:14]]; + [lbtitle setNumberOfLines:0]; + [viewback addSubview:lbtitle]; + [lbtitle mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.offset(6); + make.top.equalTo(imgvback.mas_bottom).offset(6); + make.right.equalTo(viewback).offset(-6); + }]; + _lbtitle = lbtitle; + + self.arrItemView = [NSMutableArray new]; + self.arrItemLB = [NSMutableArray new]; + UIView *viewlast = nil; + for(int i = 0 ; i <5; i++) + { + UIView *viewitem = [[UIView alloc] init]; + [viewitem setBackgroundColor:RGBACOLOR(255, 255, 255, 0.2)]; + [viewback addSubview:viewitem]; + [viewitem mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.equalTo(lbtitle.mas_bottom).offset(6); + if(i==0) + { + make.left.offset(6); + } + else + { + make.left.equalTo(viewlast.mas_right).offset(4); + } + make.height.offset(16); + }]; + [viewitem.layer setMasksToBounds:YES]; + [viewitem.layer setCornerRadius:2]; + viewlast = viewitem; + [self.arrItemView addObject:viewitem]; + + UILabel *lbitem = [[UILabel alloc] init]; + [lbitem setText:@"人物"]; + [lbitem setTextColor:RGBACOLOR(255, 255, 255, 0.8)]; + [lbitem setTextAlignment:NSTextAlignmentLeft]; + [lbitem setFont:[UIFont systemFontOfSize:10]]; + [viewitem addSubview:lbitem]; + [lbitem mas_makeConstraints:^(MASConstraintMaker *make) { + make.centerY.equalTo(viewitem); + make.left.offset(4); + }]; + [self.arrItemLB addObject:lbitem]; + + [viewitem mas_makeConstraints:^(MASConstraintMaker *make) { + make.right.equalTo(lbitem).offset(4); + }]; + } + + UIImageView *imgvhd = [[UIImageView alloc] init]; + [imgvhd setImage:[UIImage imageNamed:@"logicon"]]; + [viewback addSubview:imgvhd]; + [imgvhd mas_makeConstraints:^(MASConstraintMaker *make) { + make.width.height.offset(18); + make.left.offset(6); + make.top.equalTo(viewlast.mas_bottom).offset(10); + }]; + [imgvhd.layer setMasksToBounds:YES]; + [imgvhd.layer setCornerRadius:9]; + _imgvhd = imgvhd; + + UILabel *lbname = [[UILabel alloc] init]; + [lbname setText:@"嘻嘻哈哈"]; + [lbname setTextColor:RGBACOLOR(255, 255, 255, 0.5)]; + [lbname setTextAlignment:NSTextAlignmentLeft]; + [lbname setFont:[UIFont systemFontOfSize:11]]; + [viewback addSubview:lbname]; + [lbname mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.equalTo(imgvhd.mas_right).offset(6); + make.centerY.equalTo(imgvhd); + make.width.lessThanOrEqualTo(@(120)); + }]; + _lbname = lbname; + + UILabel *lbdown = [[UILabel alloc] init]; + [lbdown setText:@"1"]; + [lbdown setTextColor:RGBACOLOR(255, 255, 255, 0.5)]; + [lbdown setTextAlignment:NSTextAlignmentLeft]; + [lbdown setFont:[UIFont systemFontOfSize:11]]; + [viewback addSubview:lbdown]; + [lbdown mas_makeConstraints:^(MASConstraintMaker *make) { + make.right.equalTo(viewback).offset(-6); + make.centerY.equalTo(lbname); + }]; + _lbdown = lbdown; + + UIImageView *imgvdown = [[UIImageView alloc] init]; + [imgvdown setImage:[UIImage imageNamed:@"sc_down"]]; + [viewback addSubview:imgvdown]; + [imgvdown mas_makeConstraints:^(MASConstraintMaker *make) { + make.width.height.offset(16); + make.centerY.equalTo(lbname); + make.right.equalTo(lbdown.mas_left).offset(-2); + }]; + + } + return self; +} + +-(void)setModel:(UserMaterialModelDataItems *)model +{ + _model = model; + NSArray *arrsize = [model.pic_size componentsSeparatedByString:@","]; + float fheight = 50; + if(arrsize.count==2) + { + fheight = [arrsize[1] intValue]*(UISCREEN_WIDTH-21)/2.0/[arrsize[0] intValue]; + } + [self.imgvback mas_updateConstraints:^(MASConstraintMaker *make) { + make.height.offset(fheight); + }]; + [self.imgvback sd_setImageWithURL:[NSURL URLWithString:model.pic.url] placeholderImage:[UIImage imageNamed:@"sc_zanwushuju"]]; + self.lbtitle.text = [Tools isStringnilkong:model.title]; + self.lbsc.text = [NSString stringWithFormat:@"%@s",model.file_time]; + [self.imgvhd sd_setImageWithURL:[NSURL URLWithString:model.user_avatar] placeholderImage:[UIImage imageNamed:@"my_headnomo"]]; + self.lbname.text = model.user_name.length==0?@"游客":[Tools isStringnilkong:model.user_name]; + self.lbdown.text = [NSString stringWithFormat:@"%d",model.download.intValue]; + if(model.download.intValue>10000) + { + self.lbdown.text = [NSString stringWithFormat:@"%.1lf万",model.download.intValue/10000.0]; + } + self.lbstate.text = [Tools isStringnilkong:model.status_name]; + if(model.status.intValue==0) + { + [self.lbstate setBackgroundColor:RGBCOLOR(13, 149, 243)]; + } + else if(model.status.intValue==1) + { + [self.lbstate setBackgroundColor:RGBCOLOR(51, 51, 51)]; + } + else + { + [self.lbstate setBackgroundColor:RGBCOLOR(247, 48, 106)]; + } + + for(int i=0; i < self.arrItemLB.count;i++) + { + UIView *view = self.arrItemView[i]; + if(i +#import "UserMaterialModel.h" +NS_ASSUME_NONNULL_BEGIN + +@interface MyFaBuShiPinDetailView : UIView +/// +@property (nonatomic , strong) UserMaterialModelDataItems *modelDetail; +-(void)refShowData; +-(void)cancleBoFang; +@end + +NS_ASSUME_NONNULL_END diff --git a/ProductApp/ProductApp/ProductMain/WoDe/发布视频/详情/view/MyFaBuShiPinDetailView.m b/ProductApp/ProductApp/ProductMain/WoDe/发布视频/详情/view/MyFaBuShiPinDetailView.m new file mode 100644 index 0000000..5c86ed7 --- /dev/null +++ b/ProductApp/ProductApp/ProductMain/WoDe/发布视频/详情/view/MyFaBuShiPinDetailView.m @@ -0,0 +1,387 @@ +// +// MyFaBuShiPinDetailView.m +// ProductApp +// +// Created by 工作 on 2025/4/24. +// + +#import "MyFaBuShiPinDetailView.h" +#import "WMPlayer.h" +#import "UIImageView+VideoImageView.h" +#import "ShuCaiKuFaBuViewController.h" +#import "NomoAlterView.h" +#import "KCSPNetManager.h" + +@interface MyFaBuShiPinDetailView () + +@property (nonatomic , strong) WMPlayer *player; +/// +@property (nonatomic , strong) UILabel *lbstate ; +/// +@property (nonatomic , strong) UIImageView *imgvhd; +/// +@property (nonatomic , strong) UILabel *lbname; +/// +@property (nonatomic , strong) UILabel *lbdown; + +@property (nonatomic , strong) UILabel *lbtitle; + +/// +@property (nonatomic , strong) NSMutableArray *arrItemView; +@property (nonatomic , strong) NSMutableArray *arrItemLB; + +/// +@property (nonatomic , strong) UIView *viewbottom; +/// +@property (nonatomic , strong) UIButton *btdel; +@property (nonatomic , strong) UIButton *btedit; + +/// +@property (nonatomic , strong) UIView *viewbohui; +@property (nonatomic , strong) UILabel *lbbohui; + +@end + +@implementation MyFaBuShiPinDetailView + +-(id)initWithFrame:(CGRect)frame +{ + if(self = [super initWithFrame:frame]) + { + + } + return self; +} + +-(void)setModelDetail:(UserMaterialModelDataItems *)modelDetail +{ + _modelDetail = modelDetail; + + [self drawUI]; +} +-(void)refShowData +{ + for(UIView *view in self.subviews) + { + [view removeFromSuperview]; + } + [self drawUI]; +} +-(void)cancleBoFang +{ + if(self.player) + { + [self.player pause]; + } +} +-(void)drawUI +{ + UIScrollView *scvback = [[UIScrollView alloc] init]; + [self addSubview:scvback]; + [scvback mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.top.offset(0); + make.width.equalTo(self); + make.height.equalTo(self).offset(-TabHeight-20); + }]; + + NSString *strtemp = self.modelDetail.file.url; + WMPlayerModel *model = [[WMPlayerModel alloc] init]; + model.videoURL = [NSURL URLWithString:strtemp]; + + WMPlayer *player = [[WMPlayer alloc] initPlayerModel:model]; + [player setDelegate:self]; + player.enableFastForwardGesture = NO; + player.isprogressSliderAction = YES; + _player = player; + [scvback addSubview:player]; + [player mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.width.top.equalTo(scvback); + make.height.offset(UISCREEN_HEIGHT-TabHeight-NavHeight-190); + }]; + +// [UIImageView videoImageWithvideoURL:[NSURL URLWithString:strtemp] atTime:0.1 back:^(UIImage * _Nonnull image) { +// if(image) +// { +// [player mas_updateConstraints:^(MASConstraintMaker *make) { +// make.height.offset(image.size.height*UISCREEN_WIDTH/image.size.width); +// }]; +// } +// }]; + + UILabel *lbstate = [[UILabel alloc] init]; + [lbstate setText:self.modelDetail.status_name]; + [lbstate setTextColor:RGBACOLOR(255, 255, 255, 0.8)]; + [lbstate setTextAlignment:NSTextAlignmentCenter]; + [lbstate setFont:[UIFont systemFontOfSize:10]]; + [scvback addSubview:lbstate]; + [lbstate mas_makeConstraints:^(MASConstraintMaker *make) { + make.size.sizeOffset(CGSizeMake(38, 18)); + make.left.top.offset(12); + }]; + [lbstate setBackgroundColor:RGBCOLOR(13, 149, 243)];///51, 51, 51 247, 48, 106 + [lbstate.layer setMasksToBounds:YES]; + [lbstate.layer setCornerRadius:4]; + _lbstate = lbstate; + if(self.modelDetail.status.intValue==0) + { + [self.lbstate setBackgroundColor:RGBCOLOR(13, 149, 243)]; + } + else if(self.modelDetail.status.intValue==1) + { + [self.lbstate setBackgroundColor:RGBCOLOR(51, 51, 51)]; + } + else + { + [self.lbstate setBackgroundColor:RGBCOLOR(247, 48, 106)]; + } + + + UIImageView *imgvhd = [[UIImageView alloc] init]; + [imgvhd setImage:[UIImage imageNamed:@"my_headnomo"]]; + [scvback addSubview:imgvhd]; + [imgvhd mas_makeConstraints:^(MASConstraintMaker *make) { + make.width.height.offset(36); + make.left.offset(16); + make.top.equalTo(player.mas_bottom).offset(16); + }]; + [imgvhd.layer setMasksToBounds:YES]; + [imgvhd.layer setCornerRadius:18]; + _imgvhd = imgvhd; + [self.imgvhd sd_setImageWithURL:[NSURL URLWithString:self.modelDetail.user_avatar] placeholderImage:[UIImage imageNamed:@"my_headnomo"]]; + + UILabel *lbname = [[UILabel alloc] init]; + [lbname setText:@"嘻嘻哈哈"]; + [lbname setTextColor:RGBACOLOR(255, 255, 255, 0.9)]; + [lbname setTextAlignment:NSTextAlignmentLeft]; + [lbname setFont:[UIFont systemFontOfSize:16]]; + [scvback addSubview:lbname]; + [lbname mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.equalTo(imgvhd.mas_right).offset(6); + make.centerY.equalTo(imgvhd); + make.width.lessThanOrEqualTo(@(220)); + }]; + _lbname = lbname; + self.lbname.text = self.modelDetail.user_name.length==0?@"游客":[Tools isStringnilkong:self.modelDetail.user_name]; + + UILabel *lbdown = [[UILabel alloc] init]; + [lbdown setText:@"1"]; + [lbdown setTextColor:RGBACOLOR(255, 255, 255, 0.5)]; + [lbdown setTextAlignment:NSTextAlignmentLeft]; + [lbdown setFont:[UIFont systemFontOfSize:11]]; + [scvback addSubview:lbdown]; + [lbdown mas_makeConstraints:^(MASConstraintMaker *make) { + make.right.equalTo(player).offset(-16); + make.centerY.equalTo(lbname); + }]; + _lbdown = lbdown; + self.lbdown.text = [NSString stringWithFormat:@"%d",self.modelDetail.download.intValue]; + if(self.modelDetail.download.intValue>10000) + { + self.lbdown.text = [NSString stringWithFormat:@"%.1lf万",self.modelDetail.download.intValue/10000.0]; + } + + + UIImageView *imgvdown = [[UIImageView alloc] init]; + [imgvdown setImage:[UIImage imageNamed:@"sc_down"]]; + [scvback addSubview:imgvdown]; + [imgvdown mas_makeConstraints:^(MASConstraintMaker *make) { + make.width.height.offset(22); + make.centerY.equalTo(lbname); + make.right.equalTo(lbdown.mas_left).offset(-2); + }]; + + UILabel *lbtitle = [[UILabel alloc] init]; + [lbtitle setText:@"春分清新春日风光"]; + [lbtitle setTextColor:RGBACOLOR(255, 255, 255, 0.9)]; + [lbtitle setTextAlignment:NSTextAlignmentLeft]; + [lbtitle setFont:[UIFont systemFontOfSize:14]]; + [lbtitle setNumberOfLines:0]; + [scvback addSubview:lbtitle]; + [lbtitle mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.offset(16); + make.top.equalTo(imgvhd.mas_bottom).offset(10); + make.right.equalTo(player).offset(-16); + }]; + _lbtitle = lbtitle; + self.lbtitle.text = [Tools isStringnilkong:self.modelDetail.title]; + + self.arrItemView = [NSMutableArray new]; + self.arrItemLB = [NSMutableArray new]; + UIView *viewlast = nil; + for(int i = 0 ; i < self.modelDetail.tags.count; i++) + { + UserMaterialModelDataItemsTags *modeltag = self.modelDetail.tags[i]; + + UIView *viewitem = [[UIView alloc] init]; + [viewitem setBackgroundColor:RGBACOLOR(255, 255, 255, 0.2)]; + [scvback addSubview:viewitem]; + [viewitem mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.equalTo(lbtitle.mas_bottom).offset(8); + if(i==0) + { + make.left.offset(16); + } + else + { + make.left.equalTo(viewlast.mas_right).offset(4); + } + make.height.offset(16); + }]; + [viewitem.layer setMasksToBounds:YES]; + [viewitem.layer setCornerRadius:2]; + viewlast = viewitem; + + UILabel *lbitem = [[UILabel alloc] init]; + [lbitem setText:[Tools isStringnilkong:modeltag.name]]; + [lbitem setTextColor:RGBACOLOR(255, 255, 255, 0.8)]; + [lbitem setTextAlignment:NSTextAlignmentLeft]; + [lbitem setFont:[UIFont systemFontOfSize:10]]; + [viewitem addSubview:lbitem]; + [lbitem mas_makeConstraints:^(MASConstraintMaker *make) { + make.centerY.equalTo(viewitem); + make.left.offset(4); + }]; + + + [viewitem mas_makeConstraints:^(MASConstraintMaker *make) { + make.right.equalTo(lbitem).offset(4); + }]; + } + + UIView *viewbohui = [[UIView alloc] init]; + [viewbohui setBackgroundColor:RGBCOLOR(255, 234, 234)]; + [scvback addSubview:viewbohui]; + [viewbohui mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.equalTo(viewlast.mas_bottom).offset(20); + make.left.right.equalTo(lbtitle); + }]; + [viewbohui.layer setMasksToBounds:YES]; + [viewbohui.layer setCornerRadius:4]; + _viewbohui = viewbohui; + + UILabel *lbbohui = [[UILabel alloc] init]; + [lbbohui setText:[NSString stringWithFormat:@"驳回理由:%@",self.modelDetail.reason]]; + [lbbohui setTextColor:RGBCOLOR(255, 33, 35)]; + [lbbohui setTextAlignment:NSTextAlignmentLeft]; + [lbbohui setFont:[UIFont systemFontOfSize:13]]; + [lbbohui setNumberOfLines:0]; + [viewbohui addSubview:lbbohui]; + [lbbohui mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.top.offset(10); + make.right.equalTo(viewbohui).offset(-10); + }]; + _lbbohui = lbbohui; + [viewbohui setHidden:YES]; + + + [viewbohui mas_makeConstraints:^(MASConstraintMaker *make) { + make.bottom.equalTo(lbbohui).offset(10); + }]; + + [scvback mas_makeConstraints:^(MASConstraintMaker *make) { + make.bottom.equalTo(viewbohui).offset(20); + }]; + + + UIView *viewbottom = [[UIView alloc] init]; + [viewbottom setBackgroundColor:RGBCOLOR(34, 34, 34)]; + [self addSubview: viewbottom]; + [viewbottom mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.right.bottom.equalTo(self); + make.height.offset(TabHeight+20); + }]; + [self drawBottomView:viewbottom]; + _viewbottom = viewbottom; + if(self.modelDetail.status.intValue == 0) + { + [viewbottom setHidden:YES]; + [scvback mas_updateConstraints:^(MASConstraintMaker *make) { + make.height.equalTo(self).offset(0); + }]; + } + if(self.modelDetail.status.intValue == 2) + { + [viewbohui setHidden:NO]; + } + +} + + +-(void)drawBottomView:(UIView *)view +{ + UIButton *btdel = [[UIButton alloc] init]; + [btdel setTitle:@"删除" forState:UIControlStateNormal]; + [btdel setTitleColor:RGBACOLOR(255, 255, 255, 0.5) forState:UIControlStateNormal]; + [btdel.titleLabel setFont:[UIFont systemFontOfSize:15]]; + [btdel.layer setMasksToBounds:YES]; + [btdel.layer setCornerRadius:23]; + [btdel setBackgroundColor:RGBCOLOR(51, 51, 51)]; + [btdel setImage:[UIImage imageNamed:@"sc_del"] forState:UIControlStateNormal]; + [view addSubview:btdel]; + [btdel mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.offset(5); + make.left.offset(16); + make.height.offset(46); + make.width.offset(132); + }]; + [btdel setIconInLeft]; + [btdel addTarget:self action:@selector(delAction) forControlEvents:UIControlEventTouchUpInside]; + _btdel = btdel; + + UIButton *btedit = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, UISCREEN_WIDTH-176, 46)]; + [btedit setTitle:@"编辑内容" forState:UIControlStateNormal]; + [btedit setTitleColor:RGBACOLOR(255, 255, 255, 0.9) forState:UIControlStateNormal]; + [btedit.titleLabel setFont:[UIFont systemFontOfSize:15]]; + [btedit setImage:[UIImage imageNamed:@"sc_edit"] forState:UIControlStateNormal]; + [btedit.layer setMasksToBounds:YES]; + [btedit.layer setCornerRadius:23]; + [view addSubview:btedit]; + [btedit mas_makeConstraints:^(MASConstraintMaker *make) { + make.right.equalTo(view).offset(-16); + make.height.offset(46); + make.top.equalTo(btdel); + make.width.offset(UISCREEN_WIDTH-176); + }]; + [btedit setIconInLeft]; + [btedit addTarget:self action:@selector(editAction) forControlEvents:UIControlEventTouchUpInside]; + [Tools changedView:btedit colors:@[(id)RGBCOLOR(246, 44, 108).CGColor,(id)RGBCOLOR(252, 79, 84).CGColor] startPoint:CGPointMake(0, 0) endPoint:CGPointMake(1, 0)]; + _btedit = btedit; + if(self.modelDetail.status.intValue==1) + { + [btedit setHidden:YES]; + [btdel mas_updateConstraints:^(MASConstraintMaker *make) { + make.width.offset(UISCREEN_WIDTH-32); + }]; + } +} +-(void)delAction +{ + [NomoAlterView showInfo:@"您确定要删除本条素材吗?" SelectTag:^(NSInteger tag) { + if(tag==1) + { + [KCSPHUDAlterView showView]; + [KCSPNetManager requestUserMaterialData:self ID:self.modelDetail.ID Callback:^(BOOL state, BaseModel *responseObject, NSString * _Nullable describle) { + [KCSPHUDAlterView dismis]; + if(state) + { + [HXHud showMessage:@"删除成功" afterDelayType:0]; + [[NSUserDefaults standardUserDefaults] setObject:@"1" forKey:@"sucairef"]; + [self.viewController.navigationController popViewControllerAnimated:YES]; + } + else + { + [HXHud showMessage:responseObject.message afterDelayType:1]; + } + }]; + } + }]; +} +-(void)editAction +{ + ShuCaiKuFaBuViewController *vc = [ShuCaiKuFaBuViewController new]; + vc.modelDetail = self.modelDetail; + [self.viewController.navigationController pushViewController:vc animated:YES]; +} + + +@end diff --git a/ProductApp/ProductApp/ProductMain/alters/XieYiAlterView.m b/ProductApp/ProductApp/ProductMain/alters/XieYiAlterView.m index 9c470cc..a80c09f 100644 --- a/ProductApp/ProductApp/ProductMain/alters/XieYiAlterView.m +++ b/ProductApp/ProductApp/ProductMain/alters/XieYiAlterView.m @@ -137,12 +137,12 @@ if(tag==0) { vc.strtitle = @"服务协议"; - vc.strurl = YongHuXieUrl; + vc.strurl = UserXieYUrl; } else { vc.strtitle = @"隐私政策"; - vc.strurl = YongHuYinSiUrl; + vc.strurl = UserYinSiPathUrl; } vc.viewsuperShow = self; [nav pushViewController:vc animated:YES]; @@ -150,7 +150,7 @@ } -(void)okAction { - [[NSUserDefaults standardUserDefaults] setObject:@"1" forKey:YongHuXieYiState]; + [[NSUserDefaults standardUserDefaults] setObject:@"1" forKey:UserXYiState]; [[NSNotificationCenter defaultCenter] postNotificationName:@"YongHuTongYiXieYi" object:nil]; [self removeFromSuperview]; } @@ -160,7 +160,7 @@ } +(void)show { - if([[[NSUserDefaults standardUserDefaults] objectForKey:YongHuXieYiState] intValue] != 1) + if([[[NSUserDefaults standardUserDefaults] objectForKey:UserXYiState] intValue] != 1) { XieYiAlterView *view = [[XieYiAlterView alloc] initWithFrame:CGRectMake(0, 0, UISCREEN_WIDTH, UISCREEN_HEIGHT)]; AppDelegate *app = (AppDelegate *)[UIApplication sharedApplication].delegate; diff --git a/ProductApp/ProductApp/ProductMain/login/LoginViewController.m b/ProductApp/ProductApp/ProductMain/login/LoginViewController.m index 14e2271..584b889 100644 --- a/ProductApp/ProductApp/ProductMain/login/LoginViewController.m +++ b/ProductApp/ProductApp/ProductMain/login/LoginViewController.m @@ -182,7 +182,7 @@ -(void)pushVC { - NSString *stridfa = [[NSUserDefaults standardUserDefaults] objectForKey:PhoneIDFA]; + NSString *stridfa = [[NSUserDefaults standardUserDefaults] objectForKey:IOSIDFA]; [GongGongNetManager getUserConfiginfoData:self.view idfa:stridfa Callback:^(BOOL state, KCSPUserSysterConfModel *responseObject, NSString * _Nullable describle) { [KCSPHUDAlterView dismis]; if(state) diff --git a/ProductApp/ProductApp/ProductMain/login/view/AppleDengLuView.m b/ProductApp/ProductApp/ProductMain/login/view/AppleDengLuView.m index 3ccb698..d37eb7b 100644 --- a/ProductApp/ProductApp/ProductMain/login/view/AppleDengLuView.m +++ b/ProductApp/ProductApp/ProductMain/login/view/AppleDengLuView.m @@ -51,7 +51,7 @@ }]; UILabel *lbinfo = [[UILabel alloc] init]; - [lbinfo setText:@"为了更好地为您提供服务,请先完成微信授权"]; + [lbinfo setText:@"为了更好地为您提供服务,请先完成Apple授权"]; [lbinfo setTextColor:RGBCOLOR(153, 153, 153)]; [lbinfo setTextAlignment:NSTextAlignmentLeft]; [lbinfo setFont:[UIFont systemFontOfSize:14]]; @@ -255,12 +255,12 @@ if(tag==1) { vc.strtitle = @"隐私协议"; - vc.strurl = YongHuYinSiUrl; + vc.strurl = UserYinSiPathUrl; } else { vc.strtitle = @"用户协议"; - vc.strurl = YongHuXieUrl; + vc.strurl = UserXieYUrl; } [self.viewController.navigationController pushViewController:vc animated:YES]; } @@ -352,7 +352,7 @@ } -(void)pushVC { - NSString *stridfa = [[NSUserDefaults standardUserDefaults] objectForKey:PhoneIDFA]; + NSString *stridfa = [[NSUserDefaults standardUserDefaults] objectForKey:IOSIDFA]; [GongGongNetManager getUserConfiginfoData:self idfa:stridfa Callback:^(BOOL state, KCSPUserSysterConfModel *responseObject, NSString * _Nullable describle) { [KCSPHUDAlterView dismis]; if(state) diff --git a/ProductApp/ProductApp/ProductMain/login/view/LoginView.m b/ProductApp/ProductApp/ProductMain/login/view/LoginView.m index dbb2a12..b4ca01f 100644 --- a/ProductApp/ProductApp/ProductMain/login/view/LoginView.m +++ b/ProductApp/ProductApp/ProductMain/login/view/LoginView.m @@ -336,12 +336,12 @@ if(tag==1) { vc.strtitle = @"隐私协议"; - vc.strurl = YongHuYinSiUrl; + vc.strurl = UserYinSiPathUrl; } else { vc.strtitle = @"用户协议"; - vc.strurl = YongHuXieUrl; + vc.strurl = UserXieYUrl; } [self.viewController.navigationController pushViewController:vc animated:YES]; } @@ -502,7 +502,7 @@ } -(void)pushVC { - NSString *stridfa = [[NSUserDefaults standardUserDefaults] objectForKey:PhoneIDFA]; + NSString *stridfa = [[NSUserDefaults standardUserDefaults] objectForKey:IOSIDFA]; [GongGongNetManager getUserConfiginfoData:self idfa:stridfa Callback:^(BOOL state, KCSPUserSysterConfModel *responseObject, NSString * _Nullable describle) { [KCSPHUDAlterView dismis]; if(state) diff --git a/ProductApp/ProductApp/ProductMain/login/view/TelDengLuView.m b/ProductApp/ProductApp/ProductMain/login/view/TelDengLuView.m index 963981d..bd86f68 100644 --- a/ProductApp/ProductApp/ProductMain/login/view/TelDengLuView.m +++ b/ProductApp/ProductApp/ProductMain/login/view/TelDengLuView.m @@ -221,15 +221,15 @@ typedef NS_ENUM(NSInteger, Mode) { // NSString *strtemp = url.absoluteString; // WkWebviewViewController *vc = [[WkWebviewViewController alloc] init]; // -// if([strtemp isEqualToString:YongHuYinSiUrl]) +// if([strtemp isEqualToString:UserYinSiPathUrl]) // { // vc.strtitle = @"隐私政策"; -// vc.strurl = YongHuYinSiUrl; +// vc.strurl = UserYinSiPathUrl; // } -// else if([strtemp isEqualToString:YongHuXieUrl]) +// else if([strtemp isEqualToString:UserXieYUrl]) // { // vc.strtitle = @"用户协议"; -// vc.strurl = YongHuXieUrl; +// vc.strurl = UserXieYUrl; // } // else // { @@ -298,8 +298,8 @@ typedef NS_ENUM(NSInteger, Mode) { self.termLabel.text = [NSString stringWithFormat:@"登录即认可%@条款、用户协议和隐私协议并使用本机号码登录",model.term]; - [self.termLabel addLinkToURL:[[NSURL alloc] initWithString:YongHuXieUrl] withRange:NSMakeRange(16, 4)]; - [self.termLabel addLinkToURL:[[NSURL alloc] initWithString:YongHuYinSiUrl] withRange:NSMakeRange(21, 4)]; + [self.termLabel addLinkToURL:[[NSURL alloc] initWithString:UserXieYUrl] withRange:NSMakeRange(16, 4)]; + [self.termLabel addLinkToURL:[[NSURL alloc] initWithString:UserYinSiPathUrl] withRange:NSMakeRange(21, 4)]; [self.termLabel addLinkToURL:[[NSURL alloc] initWithString:@"https://www.yidongxieyi.com"] withRange:NSMakeRange(5, 11)]; diff --git a/ProductApp/ProductApp/ProductMain/login/view/WXDengLuView.m b/ProductApp/ProductApp/ProductMain/login/view/WXDengLuView.m index 85c0292..9d2f6d1 100644 --- a/ProductApp/ProductApp/ProductMain/login/view/WXDengLuView.m +++ b/ProductApp/ProductApp/ProductMain/login/view/WXDengLuView.m @@ -241,12 +241,12 @@ if(tag==1) { vc.strtitle = @"隐私协议"; - vc.strurl = YongHuYinSiUrl; + vc.strurl = UserYinSiPathUrl; } else { vc.strtitle = @"用户协议"; - vc.strurl = YongHuXieUrl; + vc.strurl = UserXieYUrl; } [self.viewController.navigationController pushViewController:vc animated:YES]; } @@ -296,7 +296,7 @@ -(void)pushData { @try { - [[NSNotificationCenter defaultCenter] removeObserver:self name:WXDengLuSQ object:nil]; + [[NSNotificationCenter defaultCenter] removeObserver:self name:WXinDengLuSQ object:nil]; } @catch (NSException *exception) { } @finally { @@ -304,7 +304,7 @@ } - [[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(weixinNotifi:) name: WXDengLuSQ object: nil]; + [[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(weixinNotifi:) name: WXinDengLuSQ object: nil]; SendAuthReq *req = [[SendAuthReq alloc] init]; req.scope = @"snsapi_userinfo"; req.state = @"123"; @@ -316,7 +316,7 @@ -(void)weixinNotifi:(NSNotification *)notifi { - [[NSNotificationCenter defaultCenter] removeObserver:self name:WXDengLuSQ object:nil]; + [[NSNotificationCenter defaultCenter] removeObserver:self name:WXinDengLuSQ object:nil]; if(notifi.object!=nil) { SendAuthResp *resp = notifi.object; @@ -350,7 +350,7 @@ } -(void)pushVC { - NSString *stridfa = [[NSUserDefaults standardUserDefaults] objectForKey:PhoneIDFA]; + NSString *stridfa = [[NSUserDefaults standardUserDefaults] objectForKey:IOSIDFA]; [GongGongNetManager getUserConfiginfoData:self idfa:stridfa Callback:^(BOOL state, KCSPUserSysterConfModel *responseObject, NSString * _Nullable describle) { [KCSPHUDAlterView dismis]; if(state) diff --git a/ProductApp/ProductApp/ProductMain/素材库/ShuCaiKuViewController.h b/ProductApp/ProductApp/ProductMain/素材库/ShuCaiKuViewController.h new file mode 100644 index 0000000..a45df29 --- /dev/null +++ b/ProductApp/ProductApp/ProductMain/素材库/ShuCaiKuViewController.h @@ -0,0 +1,16 @@ +// +// ShuCaiKuViewController.h +// ProductApp +// +// Created by 工作 on 2025/4/23. +// + +#import "BaseViewController.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface ShuCaiKuViewController : BaseViewController + +@end + +NS_ASSUME_NONNULL_END diff --git a/ProductApp/ProductApp/ProductMain/素材库/ShuCaiKuViewController.m b/ProductApp/ProductApp/ProductMain/素材库/ShuCaiKuViewController.m new file mode 100644 index 0000000..39dd0ad --- /dev/null +++ b/ProductApp/ProductApp/ProductMain/素材库/ShuCaiKuViewController.m @@ -0,0 +1,140 @@ +// +// ShuCaiKuViewController.m +// ProductApp +// +// Created by 工作 on 2025/4/23. +// + +#import "ShuCaiKuViewController.h" +#import "ShuCaiKuHeaderView.h" +#import "ShuCaiKuViewCollectionViewCell.h" +#import "WaterFallLayout.h" +#import "ShuCaiKuDetailViewController.h" +#import "KCSPNetManager.h" + +static NSString *identifier = @"ShuCaiKuViewCollectionViewCell"; + +@interface ShuCaiKuViewController () +/// +@property (nonatomic , strong) UICollectionView *collect; +/// +@property (nonatomic , strong) NSMutableArray *arrdata; +/// +@property (nonatomic , strong) NSString *keywords; +@property (nonatomic , assign) int page; +@end + +@implementation ShuCaiKuViewController +- (UIStatusBarStyle)preferredStatusBarStyle { + return UIStatusBarStyleLightContent; +} +-(void)viewDidAppear:(BOOL)animated +{ + [super viewDidAppear:animated]; +} +- (void)viewDidLoad { + [super viewDidLoad]; + [self.navigationController setNavigationBarHidden:YES animated:NO]; + [self showNaviGationView:YES]; + [self.navigationView setBackgroundColor:RGBCOLOR(20, 20, 20)]; + [self.navigationView setTitle:@" " titleColor:RGBACOLOR(255, 255, 255, 1)]; + + ShuCaiKuHeaderView *viewheader = [[ShuCaiKuHeaderView alloc] init]; + [self.navigationView addSubview:viewheader]; + [viewheader mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.right.bottom.equalTo(self.navigationView); + make.height.offset(44); + }]; + [viewheader setBackSearchValue:^(NSString * _Nonnull value) { + self.keywords = value; + self.page = 1; + [self getdata]; + }]; + + WaterFallLayout *layout = [[WaterFallLayout alloc] init]; + layout.delegate = self; + layout.rowMargin = 5; + layout.column = 2; + layout.columnMargin = 5; + layout.edge = UIEdgeInsetsMake(10, 8, 10, 8); + + UICollectionView *collect = [[UICollectionView alloc] initWithFrame:CGRectMake(0, NavHeight, UISCREEN_WIDTH, UISCREEN_HEIGHT-NavHeight-TabHeight) collectionViewLayout:layout]; + [collect setDelegate:self]; + [collect setDataSource:self]; + [collect setBackgroundColor:[UIColor clearColor]]; + [collect registerClass:[ShuCaiKuViewCollectionViewCell class] forCellWithReuseIdentifier:identifier]; + [self.view addSubview:collect]; + _collect = collect; + collect.mj_header = [MJRefreshNormalHeader headerWithRefreshingBlock:^{ + self.page = 1; + [self getdata]; + }]; + collect.mj_footer = [MJRefreshBackNormalFooter footerWithRefreshingBlock:^{ + self.page += 1; + [self getdata]; + }]; + + self.keywords = @""; + self.page = 1; + [self getdata]; +} + +-(void)getdata +{ + [KCSPHUDAlterView showView]; + [KCSPNetManager requestUserMaterialSearchData:self.view page:[NSString stringWithFormat:@"%d",self.page] keywords:self.keywords Callback:^(BOOL state, UserMaterialModel *responseObject, NSString * _Nullable describle) { + [KCSPHUDAlterView dismis]; + [self.collect.mj_header endRefreshing]; + [self.collect.mj_footer endRefreshing]; + if(self.page==1)self.arrdata = [NSMutableArray new]; + if(state) + { + [self.arrdata addObjectsFromArray:responseObject.data.items]; + } + else + { + [HXHud showMessage:responseObject.message afterDelayType:1]; + } + [self.collect reloadData]; + }]; + +} +#pragma mark - UICollectionView +- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section +{ + return self.arrdata.count; +} +- (__kindof UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath +{ + //使用缓存池中的cell + ShuCaiKuViewCollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:identifier forIndexPath:indexPath ]; + if (!cell) { + cell = [[ShuCaiKuViewCollectionViewCell alloc] init]; + } + cell.model = self.arrdata[indexPath.row]; + + return cell; +} +- (CGFloat) collectionViewHeightAtIndexPath:(NSIndexPath *)indexPath withItemWidth:(CGFloat)width +{ + UserMaterialModelDataItems *model = self.arrdata[indexPath.row]; + NSArray *arrsize = [model.pic_size componentsSeparatedByString:@","]; + float fheight = 50; + if(arrsize.count==2) + { + fheight = [arrsize[1] intValue]*(UISCREEN_WIDTH-21)/2.0/[arrsize[0] intValue]; + } + fheight+=66; + fheight+=[Tools getLabelHeightWithText:model.title width:(UISCREEN_WIDTH-21)/2.0-12 font:14 linHeight:0]+1; + return fheight;//50图片的高度 14 标题的高度 +} + +-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath +{ + ShuCaiKuDetailViewController *vc = [ShuCaiKuDetailViewController new]; + vc.modelDetail = self.arrdata[indexPath.row]; + [self.navigationController pushViewController:vc animated:YES]; +} + + +@end diff --git a/ProductApp/ProductApp/ProductMain/素材库/cell/ShuCaiKuViewCollectionViewCell.h b/ProductApp/ProductApp/ProductMain/素材库/cell/ShuCaiKuViewCollectionViewCell.h new file mode 100644 index 0000000..dcf4de0 --- /dev/null +++ b/ProductApp/ProductApp/ProductMain/素材库/cell/ShuCaiKuViewCollectionViewCell.h @@ -0,0 +1,17 @@ +// +// ShuCaiKuViewCollectionViewCell.h +// ProductApp +// +// Created by 工作 on 2025/4/23. +// + +#import +#import "UserMaterialModel.h" +NS_ASSUME_NONNULL_BEGIN + +@interface ShuCaiKuViewCollectionViewCell : UICollectionViewCell +/// +@property (nonatomic , strong) UserMaterialModelDataItems *model; +@end + +NS_ASSUME_NONNULL_END diff --git a/ProductApp/ProductApp/ProductMain/素材库/cell/ShuCaiKuViewCollectionViewCell.m b/ProductApp/ProductApp/ProductMain/素材库/cell/ShuCaiKuViewCollectionViewCell.m new file mode 100644 index 0000000..3018725 --- /dev/null +++ b/ProductApp/ProductApp/ProductMain/素材库/cell/ShuCaiKuViewCollectionViewCell.m @@ -0,0 +1,211 @@ +// +// ShuCaiKuViewCollectionViewCell.m +// ProductApp +// +// Created by 工作 on 2025/4/23. +// + +#import "ShuCaiKuViewCollectionViewCell.h" + +@interface ShuCaiKuViewCollectionViewCell () +/// +@property (nonatomic , strong) UIImageView *imgvback; +/// +@property (nonatomic , strong) UILabel *lbsc; +@property (nonatomic , strong) UILabel *lbtitle; + +/// +@property (nonatomic , strong) NSMutableArray *arrItemView; +@property (nonatomic , strong) NSMutableArray *arrItemLB; +/// +@property (nonatomic , strong) UIImageView *imgvhd; +/// +@property (nonatomic , strong) UILabel *lbname; +/// +@property (nonatomic , strong) UILabel *lbdown; + +@end + +@implementation ShuCaiKuViewCollectionViewCell + +-(id)initWithFrame:(CGRect)frame +{ + if(self = [super initWithFrame:frame]) + { + UIView *viewback = [[UIView alloc] init]; + [viewback setBackgroundColor:RGBCOLOR(28, 28, 28)]; + [self.contentView addSubview:viewback]; + [viewback mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.right.top.equalTo(self.contentView); + make.bottom.equalTo(self.contentView).offset(-5); + }]; + [viewback.layer setMasksToBounds:YES]; + [viewback.layer setCornerRadius:4]; + + UIImageView *imgvback = [[UIImageView alloc] init]; + [imgvback setContentMode:UIViewContentModeScaleAspectFill]; + [viewback addSubview:imgvback]; + [imgvback mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.right.top.equalTo(viewback); + make.height.offset(50); + }]; + _imgvback = imgvback; + + UILabel *lbsc = [[UILabel alloc] init]; + [lbsc setText:@"7s"]; + [lbsc setTextColor:RGBCOLOR(255, 255, 255)]; + [lbsc setTextAlignment:NSTextAlignmentRight]; + [lbsc setFont:[UIFont systemFontOfSize:12]]; + [viewback addSubview:lbsc]; + [lbsc mas_makeConstraints:^(MASConstraintMaker *make) { + make.right.equalTo(viewback).offset(-6); + make.bottom.equalTo(imgvback).offset(-6); + }]; + _lbsc = lbsc; + + UILabel *lbtitle = [[UILabel alloc] init]; + [lbtitle setText:@"春分清新春日风光"]; + [lbtitle setTextColor:RGBACOLOR(255, 255, 255, 0.9)]; + [lbtitle setTextAlignment:NSTextAlignmentLeft]; + [lbtitle setFont:[UIFont systemFontOfSize:14]]; + [lbtitle setNumberOfLines:0]; + [viewback addSubview:lbtitle]; + [lbtitle mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.offset(6); + make.top.equalTo(imgvback.mas_bottom).offset(6); + make.right.equalTo(viewback).offset(-6); + }]; + _lbtitle = lbtitle; + + self.arrItemView = [NSMutableArray new]; + self.arrItemLB = [NSMutableArray new]; + UIView *viewlast = nil; + for(int i = 0 ; i <5; i++) + { + UIView *viewitem = [[UIView alloc] init]; + [viewitem setBackgroundColor:RGBACOLOR(255, 255, 255, 0.2)]; + [viewback addSubview:viewitem]; + [viewitem mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.equalTo(lbtitle.mas_bottom).offset(6); + if(i==0) + { + make.left.offset(6); + } + else + { + make.left.equalTo(viewlast.mas_right).offset(4); + } + make.height.offset(16); + }]; + [viewitem.layer setMasksToBounds:YES]; + [viewitem.layer setCornerRadius:2]; + viewlast = viewitem; + [self.arrItemView addObject:viewitem]; + + UILabel *lbitem = [[UILabel alloc] init]; + [lbitem setText:@"人物"]; + [lbitem setTextColor:RGBACOLOR(255, 255, 255, 0.8)]; + [lbitem setTextAlignment:NSTextAlignmentLeft]; + [lbitem setFont:[UIFont systemFontOfSize:10]]; + [viewitem addSubview:lbitem]; + [lbitem mas_makeConstraints:^(MASConstraintMaker *make) { + make.centerY.equalTo(viewitem); + make.left.offset(4); + }]; + [self.arrItemLB addObject:lbitem]; + + [viewitem mas_makeConstraints:^(MASConstraintMaker *make) { + make.right.equalTo(lbitem).offset(4); + }]; + } + + UIImageView *imgvhd = [[UIImageView alloc] init]; + [imgvhd setImage:[UIImage imageNamed:@"logicon"]]; + [viewback addSubview:imgvhd]; + [imgvhd mas_makeConstraints:^(MASConstraintMaker *make) { + make.width.height.offset(18); + make.left.offset(6); + make.top.equalTo(viewlast.mas_bottom).offset(10); + }]; + [imgvhd.layer setMasksToBounds:YES]; + [imgvhd.layer setCornerRadius:9]; + _imgvhd = imgvhd; + + UILabel *lbname = [[UILabel alloc] init]; + [lbname setText:@"嘻嘻哈哈"]; + [lbname setTextColor:RGBACOLOR(255, 255, 255, 0.5)]; + [lbname setTextAlignment:NSTextAlignmentLeft]; + [lbname setFont:[UIFont systemFontOfSize:11]]; + [viewback addSubview:lbname]; + [lbname mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.equalTo(imgvhd.mas_right).offset(6); + make.centerY.equalTo(imgvhd); + make.width.lessThanOrEqualTo(@(120)); + }]; + _lbname = lbname; + + UILabel *lbdown = [[UILabel alloc] init]; + [lbdown setText:@"1"]; + [lbdown setTextColor:RGBACOLOR(255, 255, 255, 0.5)]; + [lbdown setTextAlignment:NSTextAlignmentLeft]; + [lbdown setFont:[UIFont systemFontOfSize:11]]; + [viewback addSubview:lbdown]; + [lbdown mas_makeConstraints:^(MASConstraintMaker *make) { + make.right.equalTo(viewback).offset(-6); + make.centerY.equalTo(lbname); + }]; + _lbdown = lbdown; + + UIImageView *imgvdown = [[UIImageView alloc] init]; + [imgvdown setImage:[UIImage imageNamed:@"sc_down"]]; + [viewback addSubview:imgvdown]; + [imgvdown mas_makeConstraints:^(MASConstraintMaker *make) { + make.width.height.offset(16); + make.centerY.equalTo(lbname); + make.right.equalTo(lbdown.mas_left).offset(-2); + }]; + + } + return self; +} + +-(void)setModel:(UserMaterialModelDataItems *)model +{ + _model = model; + NSArray *arrsize = [model.pic_size componentsSeparatedByString:@","]; + float fheight = 50; + if(arrsize.count==2) + { + fheight = [arrsize[1] intValue]*(UISCREEN_WIDTH-21)/2.0/[arrsize[0] intValue]; + } + [self.imgvback mas_updateConstraints:^(MASConstraintMaker *make) { + make.height.offset(fheight); + }]; + [self.imgvback sd_setImageWithURL:[NSURL URLWithString:model.pic.url] placeholderImage:[UIImage imageNamed:@"sc_zanwushuju"]]; + self.lbtitle.text = [Tools isStringnilkong:model.title]; + self.lbsc.text = [NSString stringWithFormat:@"%@s",model.file_time]; + [self.imgvhd sd_setImageWithURL:[NSURL URLWithString:model.user_avatar] placeholderImage:[UIImage imageNamed:@"my_headnomo"]]; + self.lbname.text = model.user_name.length==0?@"游客":[Tools isStringnilkong:model.user_name]; + self.lbdown.text = [NSString stringWithFormat:@"%d",model.download.intValue]; + if(model.download.intValue>10000) + { + self.lbdown.text = [NSString stringWithFormat:@"%.1lf万",model.download.intValue/10000.0]; + } + for(int i=0; i < self.arrItemLB.count;i++) + { + UIView *view = self.arrItemView[i]; + if(i + +NS_ASSUME_NONNULL_BEGIN +@protocol ShuCaiKuViewLayoutDelegate + +- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath; + +@end +@interface ShuCaiKuViewLayout : UICollectionViewLayout +@property(nonatomic, assign)NSUInteger numberOfColumn;//列数 +@property(nonatomic, assign)iddelegate; +@end + +NS_ASSUME_NONNULL_END diff --git a/ProductApp/ProductApp/ProductMain/素材库/cell/ShuCaiKuViewLayout.m b/ProductApp/ProductApp/ProductMain/素材库/cell/ShuCaiKuViewLayout.m new file mode 100644 index 0000000..5bda65b --- /dev/null +++ b/ProductApp/ProductApp/ProductMain/素材库/cell/ShuCaiKuViewLayout.m @@ -0,0 +1,171 @@ +// +// ShuCaiKuViewLayout.m +// ProductApp +// +// Created by 工作 on 2025/4/23. +// + +#import "ShuCaiKuViewLayout.h" + + +@interface ShuCaiKuViewLayout () + +//存放每一列的高度 +@property (nonatomic, retain) NSMutableArray *columnHeightsArray; +//每个section的每一列的高度 +@property (nonatomic, retain) NSMutableArray *collectionHeightsArray; +//存放每一个cell的属性 +@property (nonatomic, retain) NSMutableArray *attributesArray; + +@end + +@implementation ShuCaiKuViewLayout +/** + 每个区的最小高度 + + @param section 区索引 + @return 高度 + */ +- (CGFloat)minHeightWithSection:(NSInteger)section{ + CGFloat min = 1000000; + for (NSNumber *height in _collectionHeightsArray[section]) { + if (min > [height floatValue]) { + min = [height floatValue]; + } + } + return min; +} + +/** + 每个区的初始Y坐标 + + @param section 区索引 + @return Y坐标 + */ +- (CGFloat)maxHeightWithSection:(NSInteger)section{ + + if (section>0) { + CGFloat max = 0; + for (int i=0; i *)layoutAttributesForElementsInRect:(CGRect)rect{ + return _attributesArray; +} + +@end diff --git a/ProductApp/ProductApp/ProductMain/素材库/cell/WaterFallLayout.h b/ProductApp/ProductApp/ProductMain/素材库/cell/WaterFallLayout.h new file mode 100644 index 0000000..9d4bdf6 --- /dev/null +++ b/ProductApp/ProductApp/ProductMain/素材库/cell/WaterFallLayout.h @@ -0,0 +1,27 @@ +// +// WaterFallLayout.h +// UICollectionViewDemo +// +// Created by gongwenkai on 2016/12/7. +// Copyright © 2016年 gongwenkai. All rights reserved. +// + +#import + +@protocol WaterFallLayoutDelegate + +///设置图片高度 +//width为cell实际宽度 +- (CGFloat) collectionViewHeightAtIndexPath:(NSIndexPath *)indexPath withItemWidth:(CGFloat)width; + +@end + +@interface WaterFallLayout : UICollectionViewLayout + +@property(nonatomic,assign)int column; //设置列数 +@property(nonatomic,assign)int rowMargin; //设置行间距 +@property(nonatomic,assign)int columnMargin;//设置列间距 +@property(nonatomic,assign)UIEdgeInsets edge;//设置边距 +@property(nonatomic,strong)iddelegate; + +@end diff --git a/ProductApp/ProductApp/ProductMain/素材库/cell/WaterFallLayout.m b/ProductApp/ProductApp/ProductMain/素材库/cell/WaterFallLayout.m new file mode 100644 index 0000000..5b82814 --- /dev/null +++ b/ProductApp/ProductApp/ProductMain/素材库/cell/WaterFallLayout.m @@ -0,0 +1,140 @@ +// +// WaterFallLayout.m +// UICollectionViewDemo +// +// Created by gongwenkai on 2016/12/7. +// Copyright © 2016年 gongwenkai. All rights reserved. +// + +#import "WaterFallLayout.h" + +@interface WaterFallLayout() +@property(nonatomic,strong)NSArray *attrsArray; //最大Y值 每一列的 高度 +@property(nonatomic,strong)NSMutableDictionary *maxYDict; //最大Y值 每一列的 高度 +@property(nonatomic,strong)NSString *minKey;//最小列的key +@property(nonatomic,strong)NSIndexPath *indexPath;//cell个数信息 +@end +@implementation WaterFallLayout + +-(instancetype)init { + if (self = [super init]) { + //设置默认值 3列 行间距10 列间距10 边距都为10 + self.column = 3; + self.rowMargin = 10; + self.columnMargin = 10; + self.edge = UIEdgeInsetsMake(20, 10, 10, 10); + self.maxYDict = [NSMutableDictionary dictionary]; + self.attrsArray = [NSArray array]; + } + return self; +} + +- (BOOL)shouldInvalidateLayoutForBoundsChange:(CGRect)newBounds { + return YES; +} + + +- (void)prepareLayout { + [super prepareLayout]; + +// NSLog(@"prepareLayout"); + + //初始化字典 + for (int i = 0; i < _column; i++) { + [self.maxYDict setObject:[NSNumber numberWithFloat:self.edge.top] forKey:[NSString stringWithFormat:@"%d",i]]; + } + self.minKey = @"0"; + + + NSMutableArray *array = [NSMutableArray array]; + NSInteger count = [self.collectionView numberOfItemsInSection:0]; + for (int i = 0; i height) { + minY = height; + self.minKey = [NSString stringWithFormat:@"%d",i]; + columnHeight = minY + heightAtt; + + } else { + columnHeight = height; + + [self.maxYDict setObject:[NSNumber numberWithFloat:columnHeight] forKey:[NSString stringWithFormat:@"%d",i]]; + + } + + } + + //设置X,Y坐标 + CGFloat x = self.edge.left + [self.minKey floatValue] * (width + self.columnMargin); + CGFloat y = [[self.maxYDict objectForKey:self.minKey] floatValue] ; + + //更新最小列的高度 + [self.maxYDict setObject:[NSNumber numberWithFloat:y+heightAtt] forKey:self.minKey]; + + UICollectionViewLayoutAttributes *attrs = [UICollectionViewLayoutAttributes layoutAttributesForCellWithIndexPath:indexPath]; + attrs.frame = CGRectMake(x, y, width, heightAtt); + + + return attrs; +} + +//prepare后调用多次 +- (nullable NSArray<__kindof UICollectionViewLayoutAttributes *> *)layoutAttributesForElementsInRect:(CGRect)rect { +// NSLog(@"layoutAttributesForElementsInRect"); + + return self.attrsArray; +} +@end diff --git a/ProductApp/ProductApp/ProductMain/素材库/view/ShuCaiKuHeaderView.h b/ProductApp/ProductApp/ProductMain/素材库/view/ShuCaiKuHeaderView.h new file mode 100644 index 0000000..b875832 --- /dev/null +++ b/ProductApp/ProductApp/ProductMain/素材库/view/ShuCaiKuHeaderView.h @@ -0,0 +1,17 @@ +// +// ShuCaiKuHeaderView.h +// ProductApp +// +// Created by 工作 on 2025/4/23. +// + +#import + +NS_ASSUME_NONNULL_BEGIN +typedef void(^ShuCaiKuHeaderViewBack)(NSString *value); +@interface ShuCaiKuHeaderView : UIView +/// +@property (nonatomic , strong) ShuCaiKuHeaderViewBack backSearchValue; +@end + +NS_ASSUME_NONNULL_END diff --git a/ProductApp/ProductApp/ProductMain/素材库/view/ShuCaiKuHeaderView.m b/ProductApp/ProductApp/ProductMain/素材库/view/ShuCaiKuHeaderView.m new file mode 100644 index 0000000..0080c45 --- /dev/null +++ b/ProductApp/ProductApp/ProductMain/素材库/view/ShuCaiKuHeaderView.m @@ -0,0 +1,129 @@ +// +// ShuCaiKuHeaderView.m +// ProductApp +// +// Created by 工作 on 2025/4/23. +// + +#import "ShuCaiKuHeaderView.h" +#import "ShuCaiKuFaBuViewController.h" + + +@interface ShuCaiKuHeaderView () +/// +@property (nonatomic , strong) UITextField *field ; +@end + +@implementation ShuCaiKuHeaderView + +-(id)initWithFrame:(CGRect)frame +{ + if(self = [super initWithFrame:frame]) + { + UIView *viewback = [[UIView alloc] init]; + [viewback setBackgroundColor:RGBACOLOR(255, 255, 255, 0.1)]; + [self addSubview:viewback]; + [viewback mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.offset(16); + make.height.offset(34); + make.centerY.equalTo(self); + make.right.equalTo(self).offset(-100); + }]; + [viewback.layer setMasksToBounds:YES]; + [viewback.layer setCornerRadius:17]; + + UIImageView *imgvback = [[UIImageView alloc] init]; + [imgvback setImage:[UIImage imageNamed:@"sc_search"]]; + [viewback addSubview:imgvback]; + [imgvback mas_makeConstraints:^(MASConstraintMaker *make) { + make.width.height.offset(20); + make.left.offset(10); + make.centerY.equalTo(viewback); + }]; + + NSMutableAttributedString *attplat = [Tools arrstring:@"搜索素材" andstart:0 andend:4 andfont:[UIFont systemFontOfSize:13] andcolor:RGBACOLOR(255, 255, 255, 0.5)]; + UITextField *field = [[UITextField alloc] init]; + [field setTextColor:RGBCOLOR(255, 255, 255)]; + [field setTextAlignment:NSTextAlignmentLeft]; + [field setFont:[UIFont systemFontOfSize:13]]; + [field setAttributedPlaceholder:attplat];; + [field setDelegate:self]; + [viewback addSubview:field]; + [field mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.equalTo(imgvback.mas_right).offset(4); + make.top.bottom.equalTo(viewback); + make.right.equalTo(viewback).offset(-60); + }]; + [field setReturnKeyType:UIReturnKeySearch]; + _field = field; + + UIButton *btsearch = [[UIButton alloc] init]; + [btsearch setTitle:@"搜索" forState:UIControlStateNormal]; + [btsearch setTitleColor:RGBACOLOR(255, 255, 255, 0.9) forState:UIControlStateNormal]; + [btsearch.titleLabel setFont:[UIFont systemFontOfSize:13]]; + [btsearch.layer setMasksToBounds:YES]; + [btsearch.layer setCornerRadius:14]; + [btsearch setBackgroundColor:RGBACOLOR(255, 255, 255, 0.1)]; + [viewback addSubview:btsearch]; + [btsearch mas_makeConstraints:^(MASConstraintMaker *make) { + make.size.sizeOffset(CGSizeMake(52, 28)); + make.centerY.equalTo(viewback); + make.right.equalTo(viewback).offset(-3); + }]; + [btsearch addTarget:self action:@selector(searchAction) forControlEvents:UIControlEventTouchUpInside]; + + UIView *viewsend = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 74, 30)]; + [viewsend setBackgroundColor:[UIColor whiteColor]]; + [viewsend.layer setMasksToBounds:YES]; + [viewsend.layer setCornerRadius:15]; + [self addSubview:viewsend]; + [viewsend mas_makeConstraints:^(MASConstraintMaker *make) { + make.size.sizeOffset(CGSizeMake(74, 30)); + make.centerY.equalTo(self); + make.right.equalTo(self).offset(-16); + }]; + [Tools changedView:viewsend colors:@[(id)RGBCOLOR(246, 44, 108).CGColor,(id)RGBCOLOR(252, 79, 84).CGColor] startPoint:CGPointMake(0, 0) endPoint:CGPointMake(1, 0)]; + + UIButton *btsend = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 74, 30)]; + [btsend setTitle:@"发布" forState:UIControlStateNormal]; + [btsend setTitleColor:RGBACOLOR(255, 255, 255, 0.9) forState:UIControlStateNormal]; + [btsend.titleLabel setFont:[UIFont systemFontOfSize:13]]; + [btsend setImage:[UIImage imageNamed:@"sc_send"] forState:UIControlStateNormal]; + [self addSubview:btsend]; + [btsend mas_makeConstraints:^(MASConstraintMaker *make) { + make.size.sizeOffset(CGSizeMake(74, 30)); + make.centerY.equalTo(self); + make.right.equalTo(self).offset(-16); + }]; + [btsend setIconInLeft]; + [btsend addTarget:self action:@selector(sendAction) forControlEvents:UIControlEventTouchUpInside]; + + } + return self; +} +-(void)sendAction +{ + ShuCaiKuFaBuViewController *vc = [ShuCaiKuFaBuViewController new]; + [self.viewController.navigationController pushViewController:vc animated:YES]; +} +-(void)searchAction +{ + if(self.backSearchValue) + { + self.backSearchValue(self.field.text); + } + [self endEditing:YES]; +} + +- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string +{ + if([string isEqualToString:@"\n"]) + { + /// + [self searchAction]; + return NO; + } + return YES; +} + +@end diff --git a/ProductApp/ProductApp/ProductMain/素材库/发布/ShuCaiKuFaBuViewController.h b/ProductApp/ProductApp/ProductMain/素材库/发布/ShuCaiKuFaBuViewController.h new file mode 100644 index 0000000..be03458 --- /dev/null +++ b/ProductApp/ProductApp/ProductMain/素材库/发布/ShuCaiKuFaBuViewController.h @@ -0,0 +1,17 @@ +// +// ShuCaiKuFaBuViewController.h +// ProductApp +// +// Created by 工作 on 2025/4/23. +// + +#import "BaseViewController.h" +#import "UserMaterialModel.h" +NS_ASSUME_NONNULL_BEGIN + +@interface ShuCaiKuFaBuViewController : BaseViewController +/// +@property (nonatomic , strong) UserMaterialModelDataItems *modelDetail; +@end + +NS_ASSUME_NONNULL_END diff --git a/ProductApp/ProductApp/ProductMain/素材库/发布/ShuCaiKuFaBuViewController.m b/ProductApp/ProductApp/ProductMain/素材库/发布/ShuCaiKuFaBuViewController.m new file mode 100644 index 0000000..7cb4954 --- /dev/null +++ b/ProductApp/ProductApp/ProductMain/素材库/发布/ShuCaiKuFaBuViewController.m @@ -0,0 +1,64 @@ +// +// ShuCaiKuFaBuViewController.m +// ProductApp +// +// Created by 工作 on 2025/4/23. +// + +#import "ShuCaiKuFaBuViewController.h" +#import "ShuCaiKuFaBuView.h" +#import "KCSPNetManager.h" + +@interface ShuCaiKuFaBuViewController () + +@end + +@implementation ShuCaiKuFaBuViewController +- (UIStatusBarStyle)preferredStatusBarStyle { + return UIStatusBarStyleLightContent; +} +- (void)viewWillAppear:(BOOL)animated { + [super viewWillAppear:animated]; + [self.navigationController setNavigationBarHidden:YES animated:animated]; + [self showNaviGationView:YES]; + [self.navigationView setTitle:@"发布视频" titleColor:RGBACOLOR(255, 255, 255, 0.9)]; + [self.navigationView setBackgroundColor:RGBCOLOR(20, 20, 20)]; +} +- (void)viewDidLoad { + [super viewDidLoad]; + [self.view setBackgroundColor:RGBCOLOR(20, 20, 20)]; + + ShuCaiKuFaBuView *view = [ShuCaiKuFaBuView new]; + [self.view addSubview:view]; + [view mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.right.bottom.equalTo(self.view); + make.top.offset(NavHeight); + }]; + view.modelDetail = self.modelDetail; + if([UserDetailModel shareModel].arrSCTags.count==0) + { + [KCSPHUDAlterView showView]; + [KCSPNetManager requestMaterialtagData:self.view Callback:^(BOOL state, MaterialTagModel *responseObject, NSString * _Nullable describle) { + [KCSPHUDAlterView dismis]; + if(state) + { + [UserDetailModel shareModel].arrSCTags = responseObject.data.items; + } + else + { + [HXHud showMessage:responseObject.message afterDelayType:1]; + } + }]; + } + else + { + for(UserMaterialModelDataItemsTags *model in [UserDetailModel shareModel].arrSCTags) + { + model.select = NO; + } + } +} + + + +@end diff --git a/ProductApp/ProductApp/ProductMain/素材库/发布/cell/ShuCaiKuFaBuTypeAlterCollectionViewCell.h b/ProductApp/ProductApp/ProductMain/素材库/发布/cell/ShuCaiKuFaBuTypeAlterCollectionViewCell.h new file mode 100644 index 0000000..fb51aa8 --- /dev/null +++ b/ProductApp/ProductApp/ProductMain/素材库/发布/cell/ShuCaiKuFaBuTypeAlterCollectionViewCell.h @@ -0,0 +1,24 @@ +// +// ShuCaiKuFaBuTypeAlterCollectionViewCell.h +// ProductApp +// +// Created by 工作 on 2025/4/23. +// + +#import +#import "MaterialTagModel.h" +NS_ASSUME_NONNULL_BEGIN + +@interface ShuCaiKuFaBuTypeAlterCollectionViewCell : UICollectionViewCell +/// +@property (nonatomic , strong) UIView *viewback; +/// +@property (nonatomic , strong) UILabel *lbname; +@property (nonatomic , strong) UIImageView *imgvselect; + +/// +//@property (nonatomic , strong) UserMaterialModelDataItemsTags *model; + +@end + +NS_ASSUME_NONNULL_END diff --git a/ProductApp/ProductApp/ProductMain/素材库/发布/cell/ShuCaiKuFaBuTypeAlterCollectionViewCell.m b/ProductApp/ProductApp/ProductMain/素材库/发布/cell/ShuCaiKuFaBuTypeAlterCollectionViewCell.m new file mode 100644 index 0000000..2fd67e7 --- /dev/null +++ b/ProductApp/ProductApp/ProductMain/素材库/发布/cell/ShuCaiKuFaBuTypeAlterCollectionViewCell.m @@ -0,0 +1,55 @@ +// +// ShuCaiKuFaBuTypeAlterCollectionViewCell.m +// ProductApp +// +// Created by 工作 on 2025/4/23. +// + +#import "ShuCaiKuFaBuTypeAlterCollectionViewCell.h" + +@interface ShuCaiKuFaBuTypeAlterCollectionViewCell () +/// + +@end + +@implementation ShuCaiKuFaBuTypeAlterCollectionViewCell +-(id)initWithFrame:(CGRect)frame +{ + if(self = [super initWithFrame:frame]) + { + UIView *viewback = [[UIView alloc] init]; + [viewback setBackgroundColor:RGBCOLOR(34, 34, 34)]; + [self.contentView addSubview:viewback]; + [viewback mas_makeConstraints:^(MASConstraintMaker *make) { + make.edges.equalTo(self.contentView); + }]; + [viewback.layer setMasksToBounds:YES]; + [viewback.layer setCornerRadius:4]; + [viewback.layer setBorderWidth:1]; + [viewback.layer setBorderColor:RGBCOLOR(34, 34, 34).CGColor]; + _viewback = viewback; + + UILabel *lbname = [[UILabel alloc] init]; + [lbname setText:@"人物"]; + [lbname setTextColor:RGBACOLOR(255, 255, 255, 0.9)]; + [lbname setTextAlignment:NSTextAlignmentCenter]; + [lbname setFont:[UIFont systemFontOfSize:13]]; + [viewback addSubview:lbname]; + [lbname mas_makeConstraints:^(MASConstraintMaker *make) { + make.edges.equalTo(viewback); + }]; + _lbname = lbname; + + UIImageView *imgvselect = [[UIImageView alloc] init]; + [imgvselect setImage:[UIImage imageNamed:@"dhzs_zsSelect"]]; + [viewback addSubview:imgvselect]; + [imgvselect mas_makeConstraints:^(MASConstraintMaker *make) { + make.width.height.offset(12); + make.left.bottom.equalTo(viewback); + }]; + [imgvselect setHidden:YES]; + _imgvselect = imgvselect; + } + return self; +} +@end diff --git a/ProductApp/ProductApp/ProductMain/素材库/发布/view/ShuCaiKuFaBuTypeAlterView.h b/ProductApp/ProductApp/ProductMain/素材库/发布/view/ShuCaiKuFaBuTypeAlterView.h new file mode 100644 index 0000000..8a8e10b --- /dev/null +++ b/ProductApp/ProductApp/ProductMain/素材库/发布/view/ShuCaiKuFaBuTypeAlterView.h @@ -0,0 +1,19 @@ +// +// ShuCaiKuFaBuTypeAlterView.h +// ProductApp +// +// Created by 工作 on 2025/4/23. +// + +#import + +NS_ASSUME_NONNULL_BEGIN +typedef void(^ShuCaiKuFaBuTypeAlterViewBack)(NSArray *arrback); +@interface ShuCaiKuFaBuTypeAlterView : UIView + +/// +@property (nonatomic , strong) ShuCaiKuFaBuTypeAlterViewBack backValue; + +@end + +NS_ASSUME_NONNULL_END diff --git a/ProductApp/ProductApp/ProductMain/素材库/发布/view/ShuCaiKuFaBuTypeAlterView.m b/ProductApp/ProductApp/ProductMain/素材库/发布/view/ShuCaiKuFaBuTypeAlterView.m new file mode 100644 index 0000000..f17e757 --- /dev/null +++ b/ProductApp/ProductApp/ProductMain/素材库/发布/view/ShuCaiKuFaBuTypeAlterView.m @@ -0,0 +1,222 @@ +// +// ShuCaiKuFaBuTypeAlterView.m +// ProductApp +// +// Created by 工作 on 2025/4/23. +// + +#import "ShuCaiKuFaBuTypeAlterView.h" +#import "ShuCaiKuFaBuTypeAlterCollectionViewCell.h" + + +@interface ShuCaiKuFaBuTypeAlterView () +/// +@property (nonatomic , strong) UIView *viewback; +/// +@property (nonatomic , strong) UICollectionView *collect; + +/// +@property (nonatomic , strong) NSArray *arrdata; + +@end + +@implementation ShuCaiKuFaBuTypeAlterView + +-(id)initWithFrame:(CGRect)frame +{ + if(self = [super initWithFrame:frame]) + { + UIView *viewback = [[UIView alloc] initWithFrame:CGRectMake(0, UISCREEN_HEIGHT, UISCREEN_WIDTH, 350+TabHeight)]; + [viewback setBackgroundColor:RGBCOLOR(20, 20, 20)]; + [self addSubview:viewback]; + _viewback = viewback; + UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect: viewback.bounds byRoundingCorners:UIRectCornerTopLeft | UIRectCornerTopRight cornerRadii:CGSizeMake(20,20)]; + CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init]; + maskLayer.frame = viewback.bounds; + maskLayer.path = maskPath.CGPath; + viewback.layer.mask = maskLayer; + + UILabel *lbname = [[UILabel alloc] init]; + [lbname setText:@"筛选"]; + [lbname setTextColor:[UIColor whiteColor]]; + [lbname setTextAlignment:NSTextAlignmentLeft]; + [lbname setFont:[UIFont systemFontOfSize:16]]; + [viewback addSubview:lbname]; + [lbname mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.offset(18); + make.centerX.equalTo(viewback); + make.height.offset(20); + }]; + + UIButton *btdel = [[UIButton alloc] init]; + [btdel setImage:[UIImage imageNamed:@"alter_X"] forState:UIControlStateNormal]; + [viewback addSubview:btdel]; + [btdel mas_makeConstraints:^(MASConstraintMaker *make) { + make.width.height.offset(40); + make.top.right.equalTo(viewback); + }]; + [btdel addTarget:self action:@selector(delAction) forControlEvents:UIControlEventTouchUpInside]; + + UILabel *lbtt = [[UILabel alloc] init]; + [lbtt setText:@"选择类型"]; + [lbtt setTextColor:RGBACOLOR(255, 255, 255, 0.5)]; + [lbtt setTextAlignment:NSTextAlignmentLeft]; + [lbtt setFont:[UIFont systemFontOfSize:14]]; + [viewback addSubview:lbtt]; + [lbtt mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.offset(16); + make.top.equalTo(lbname.mas_bottom).offset(16); + make.height.offset(20); + }]; + UILabel *lbdx = [[UILabel alloc] init]; + [lbdx setText:@"(多选)"]; + [lbdx setTextColor:RGBCOLOR(153, 153, 153)]; + [lbdx setTextAlignment:NSTextAlignmentLeft]; + [lbdx setFont:[UIFont systemFontOfSize:10]]; + [viewback addSubview:lbdx]; + [lbdx mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.equalTo(lbtt.mas_right); + make.centerY.equalTo(lbtt); + }]; + + UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init]; + layout.minimumLineSpacing = 0; + layout.minimumInteritemSpacing = 0; + UICollectionView *collect = [[UICollectionView alloc] initWithFrame:CGRectZero collectionViewLayout:layout]; + [collect setDelegate:self]; + [collect setDataSource:self]; + [collect setBackgroundColor:[UIColor clearColor]]; + [viewback addSubview:collect]; + [collect mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.offset(16); + make.right.equalTo(viewback).offset(-16); + make.top.equalTo(lbtt.mas_bottom).offset(16); + make.bottom.equalTo(viewback).offset(-TabHeight-20); + }]; + [collect registerClass:[ShuCaiKuFaBuTypeAlterCollectionViewCell class] forCellWithReuseIdentifier:@"ShuCaiKuFaBuTypeAlterCollectionViewCell"]; + _collect = collect; + + self.arrdata = [UserDetailModel shareModel].arrSCTags; + + UIButton *btdown = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, UISCREEN_WIDTH-32, 46)]; + [btdown setTitle:@"确定" forState:UIControlStateNormal]; + [btdown setTitleColor:RGBACOLOR(255, 255, 255, 0.9) forState:UIControlStateNormal]; + [btdown.titleLabel setFont:[UIFont systemFontOfSize:15]]; + [btdown.layer setMasksToBounds:YES]; + [btdown.layer setCornerRadius:23]; + [viewback addSubview:btdown]; + [btdown mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.offset(16); + make.right.equalTo(viewback).offset(-16); + make.height.offset(46); + make.bottom.equalTo(viewback).offset(-TabHeight+30); + }]; + [btdown setIconInLeft]; + [btdown addTarget:self action:@selector(sendAction) forControlEvents:UIControlEventTouchUpInside]; + [Tools changedView:btdown colors:@[(id)RGBCOLOR(246, 44, 108).CGColor,(id)RGBCOLOR(252, 79, 84).CGColor] startPoint:CGPointMake(0, 0) endPoint:CGPointMake(1, 0)]; + + [UIView animateWithDuration:0.3 animations:^{ + viewback.bottom = UISCREEN_HEIGHT; + }]; + + } + return self; +} +-(void)delAction +{ + [UIView animateWithDuration:0.3 animations:^{ + self.viewback.top = UISCREEN_HEIGHT; + } completion:^(BOOL finished) { + [self removeFromSuperview]; + }]; +} +-(void)sendAction +{ + if(self.backValue) + { + NSMutableArray *arrtemp = [NSMutableArray new]; + for(UserMaterialModelDataItemsTags *model in self.arrdata) + { + if(model.select) + { + [arrtemp addObject:model]; + } + } + self.backValue(arrtemp); + } + [self delAction]; +} +#pragma mark - UICollectionView +- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section +{ + return self.arrdata.count; +} +- (__kindof UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath +{ + ShuCaiKuFaBuTypeAlterCollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"ShuCaiKuFaBuTypeAlterCollectionViewCell" forIndexPath:indexPath]; + UserMaterialModelDataItemsTags *model = self.arrdata[indexPath.row]; + cell.lbname.text = [Tools isStringnilkong:model.name]; + cell.imgvselect.hidden = !model.select; + if(model.select) + { + [cell.viewback.layer setBorderColor:RGBCOLOR(240, 54, 94).CGColor]; + } + else + { + [cell.viewback.layer setBorderColor:RGBCOLOR(34, 34, 34).CGColor]; + } + + return cell; +} +//定义每个section的间距 +- (UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout insetForSectionAtIndex:(NSInteger)section{ + + return UIEdgeInsetsMake(0, 0, 0, 0); +} +//纵向cell间距 +- (CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout minimumLineSpacingForSectionAtIndex:(NSInteger)section{ + return 10; +} +//cell 间距 +- (CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout ForSectionAtIndex:(NSInteger)section{ + return 10; +} +// 定义每个UICollectionViewCell 的大小 +- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath +{ + return CGSizeMake((UISCREEN_WIDTH-32-30)/4.0, 32); +} +-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath +{ + ///做选中操作 + UserMaterialModelDataItemsTags *model = self.arrdata[indexPath.row]; + + + if(model.select==NO) + { + int count = 0; + for(UserMaterialModelDataItemsTags *modelitem in self.arrdata) + { + if(modelitem.select) + { + count+=1; + } + } + if(count>=4) + { + [HXHud showMessage:@"视频最多4个标签" afterDelayType:0]; + } + else + { + model.select = !model.select; + } + } + else + { + model.select = NO; + } + [self.collect reloadData]; + +} + +@end diff --git a/ProductApp/ProductApp/ProductMain/素材库/发布/view/ShuCaiKuFaBuView.h b/ProductApp/ProductApp/ProductMain/素材库/发布/view/ShuCaiKuFaBuView.h new file mode 100644 index 0000000..3b344b3 --- /dev/null +++ b/ProductApp/ProductApp/ProductMain/素材库/发布/view/ShuCaiKuFaBuView.h @@ -0,0 +1,17 @@ +// +// ShuCaiKuFaBuView.h +// ProductApp +// +// Created by 工作 on 2025/4/23. +// + +#import +#import "UserMaterialModel.h" +NS_ASSUME_NONNULL_BEGIN + +@interface ShuCaiKuFaBuView : UIView +/// +@property (nonatomic , strong) UserMaterialModelDataItems *modelDetail; +@end + +NS_ASSUME_NONNULL_END diff --git a/ProductApp/ProductApp/ProductMain/素材库/发布/view/ShuCaiKuFaBuView.m b/ProductApp/ProductApp/ProductMain/素材库/发布/view/ShuCaiKuFaBuView.m new file mode 100644 index 0000000..ae1ea42 --- /dev/null +++ b/ProductApp/ProductApp/ProductMain/素材库/发布/view/ShuCaiKuFaBuView.m @@ -0,0 +1,608 @@ +// +// ShuCaiKuFaBuView.m +// ProductApp +// +// Created by 工作 on 2025/4/23. +// + +#import "ShuCaiKuFaBuView.h" +#import "FSTextView.h" +#import "WYCamaImageTools.h" +#import "UIImageView+VideoImageView.h" +#import +#import "ShuCaiKuFaBuTypeAlterView.h" +#import "ShuCaiKuFaBuTypeAlterCollectionViewCell.h" +#import "GongGongNetManager.h" +#import "KCSPNetManager.h" + +@interface ShuCaiKuFaBuView () + +/// +@property (nonatomic , strong) FSTextView *textView ; + +@property (nonatomic, strong) WYCamaImageTools *tools; + +/// +@property (nonatomic , strong) UIImageView *imgvvideo; + +@property (nonatomic , strong) UILabel *lbtime; + +/// +@property (nonatomic , strong) UILabel *lbts; +/// +@property (nonatomic , strong) UICollectionView *collect; +/// +@property (nonatomic , strong) NSArray *arrtypes; + +/// +@property (nonatomic , strong) NSMutableDictionary *file; +@property (nonatomic , strong) NSMutableDictionary *pic; +/// +@property (nonatomic , strong) NSString *pic_size; +@property (nonatomic , strong) NSString *file_time; + +/// +@property (nonatomic , strong) NSMutableArray *tags; + + + +@end + +@implementation ShuCaiKuFaBuView + +-(id)initWithFrame:(CGRect)frame +{ + if(self = [super initWithFrame:frame]) + { + UIView *viewvideo = [[UIView alloc] init]; + [self addSubview:viewvideo]; + [viewvideo mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.right.equalTo(self); + make.top.offset(10); + make.height.offset(140); + }]; + [self drawVideoView:viewvideo]; + + UIView *viewtext = [[UIView alloc] init]; + [self addSubview:viewtext]; + [viewtext mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.right.equalTo(self); + make.top.equalTo(viewvideo.mas_bottom).offset(10); + make.height.offset(210); + }]; + [self drawTextView:viewtext]; + + UIView *viewtype = [[UIView alloc] init]; + [self addSubview:viewtype]; + [viewtype mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.right.equalTo(self); + make.top.equalTo(viewtext.mas_bottom).offset(10); + make.height.offset(105); + }]; + [self drawTypeView:viewtype]; + + UIButton *btdown = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, UISCREEN_WIDTH-32, 46)]; + [btdown setTitle:@"提交" forState:UIControlStateNormal]; + [btdown setTitleColor:RGBACOLOR(255, 255, 255, 0.9) forState:UIControlStateNormal]; + [btdown.titleLabel setFont:[UIFont systemFontOfSize:15]]; + [btdown.layer setMasksToBounds:YES]; + [btdown.layer setCornerRadius:23]; + [self addSubview:btdown]; + [btdown mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.offset(16); + make.right.equalTo(self).offset(-16); + make.height.offset(46); + make.bottom.equalTo(self).offset(-TabHeight+30); + }]; + [btdown setIconInLeft]; + [btdown addTarget:self action:@selector(sendAction) forControlEvents:UIControlEventTouchUpInside]; + [Tools changedView:btdown colors:@[(id)RGBCOLOR(246, 44, 108).CGColor,(id)RGBCOLOR(252, 79, 84).CGColor] startPoint:CGPointMake(0, 0) endPoint:CGPointMake(1, 0)]; + } + return self; +} +-(void)drawTypeView:(UIView *)view +{ + UILabel *lbname = [[UILabel alloc] init]; + [lbname setText:@"选择类型*"]; + [lbname setTextColor:RGBACOLOR(255, 255, 255, 0.9)]; + [lbname setTextAlignment:NSTextAlignmentLeft]; + [lbname setFont:[UIFont systemFontOfSize:15]]; + [view addSubview:lbname]; + [lbname mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.offset(16); + make.top.offset(0); + make.height.offset(20); + }]; + lbname.attributedText = [Tools arrstring:lbname.text andstart:4 andend:1 andfont:[UIFont systemFontOfSize:15] andcolor:RGBCOLOR(255, 56, 56)]; + + UILabel *lbdx = [[UILabel alloc] init]; + [lbdx setText:@"(多选)"]; + [lbdx setTextColor:RGBCOLOR(153, 153, 153)]; + [lbdx setTextAlignment:NSTextAlignmentLeft]; + [lbdx setFont:[UIFont systemFontOfSize:10]]; + [view addSubview:lbdx]; + [lbdx mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.equalTo(lbname.mas_right); + make.centerY.equalTo(lbname); + }]; + + + UIView *viewtypes = [[UIView alloc] init]; + [viewtypes setBackgroundColor:RGBCOLOR(34, 34, 34)]; + [view addSubview:viewtypes]; + [viewtypes mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.offset(16); + make.top.equalTo(lbname.mas_bottom).offset(14); + make.right.equalTo(view).offset(-16); + make.height.offset(50); + }]; + [viewtypes.layer setMasksToBounds:YES]; + [viewtypes.layer setCornerRadius:4]; + + UILabel *lbts = [[UILabel alloc] init]; + [lbts setText:@"请选择"]; + [lbts setTextColor:RGBACOLOR(255, 255, 255, 0.3)]; + [lbts setTextAlignment:NSTextAlignmentLeft]; + [lbts setFont:[UIFont systemFontOfSize:14]]; + [viewtypes addSubview:lbts]; + [lbts mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.offset(12); + make.centerY.equalTo(viewtypes); + }]; + _lbts = lbts; + + + UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init]; + layout.minimumLineSpacing = 0; + layout.minimumInteritemSpacing = 0; + UICollectionView *collect = [[UICollectionView alloc] initWithFrame:CGRectZero collectionViewLayout:layout]; + [collect setDelegate:self]; + [collect setDataSource:self]; + [collect setBackgroundColor:[UIColor clearColor]]; + [viewtypes addSubview:collect]; + [collect mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.offset(12); + make.right.equalTo(viewtypes).offset(-40); + make.top.offset(13); + make.height.offset(24); + }]; + [collect registerClass:[ShuCaiKuFaBuTypeAlterCollectionViewCell class] forCellWithReuseIdentifier:@"ShuCaiKuFaBuTypeAlterCollectionViewCell"]; + _collect = collect; + + + UIButton *btnext = [[UIButton alloc] init]; + [btnext setImage:[UIImage imageNamed:@"my_next"] forState:UIControlStateNormal]; + [viewtypes addSubview:btnext]; + [btnext mas_makeConstraints:^(MASConstraintMaker *make) { + make.edges.equalTo(viewtypes); + make.right.equalTo(viewtypes).offset(-6); + }]; + [btnext setContentHorizontalAlignment:UIControlContentHorizontalAlignmentRight]; + [btnext addTarget:self action:@selector(typeAction) forControlEvents:UIControlEventTouchUpInside]; + +} +-(void)drawTextView:(UIView *)view +{ + UILabel *lbname = [[UILabel alloc] init]; + [lbname setText:@"标题内容*"]; + [lbname setTextColor:RGBACOLOR(255, 255, 255, 0.9)]; + [lbname setTextAlignment:NSTextAlignmentLeft]; + [lbname setFont:[UIFont systemFontOfSize:15]]; + [view addSubview:lbname]; + [lbname mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.offset(16); + make.top.offset(0); + make.height.offset(20); + }]; + lbname.attributedText = [Tools arrstring:lbname.text andstart:4 andend:1 andfont:[UIFont systemFontOfSize:15] andcolor:RGBCOLOR(255, 56, 56)]; + + FSTextView *textView = [[FSTextView alloc] init]; + [textView setTextColor:RGBCOLOR(255, 255, 255)]; + [textView setTextAlignment:NSTextAlignmentLeft]; + [textView setFont:[UIFont systemFontOfSize:14]]; + [textView setPlaceholder:@"请输入标题内容"]; + [textView setPlaceholderColor:RGBACOLOR(255, 255, 255, 0.3)]; + [textView setBackgroundColor:RGBCOLOR(34, 34, 34)]; + [view addSubview:textView]; + [textView mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.offset(16); + make.top.equalTo(lbname.mas_bottom).offset(14); + make.bottom.equalTo(view).offset(-1); + make.right.equalTo(view).offset(-16); + }]; + [textView setMaxLength:200]; + [textView.layer setMasksToBounds:YES]; + [textView.layer setCornerRadius:4]; + _textView = textView; + + UILabel *lbnumber = [[UILabel alloc] init]; + [lbnumber setText:@"0/200"]; + [lbnumber setTextColor:RGBCOLOR(153, 153, 153)]; + [lbnumber setTextAlignment:NSTextAlignmentRight]; + [lbnumber setFont:[UIFont systemFontOfSize:10]]; + [view addSubview:lbnumber]; + [lbnumber mas_makeConstraints:^(MASConstraintMaker *make) { + make.right.bottom.equalTo(textView).offset(-6); + }]; + [textView addTextDidChangeHandler:^(FSTextView *textView) { + [lbnumber setText:[NSString stringWithFormat:@"%ld/200",textView.text.length]]; + }]; +} + +-(void)drawVideoView:(UIView *)view +{ + UILabel *lbname = [[UILabel alloc] init]; + [lbname setText:@"上传视频*"]; + [lbname setTextColor:RGBACOLOR(255, 255, 255, 0.9)]; + [lbname setTextAlignment:NSTextAlignmentLeft]; + [lbname setFont:[UIFont systemFontOfSize:15]]; + [view addSubview:lbname]; + [lbname mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.offset(16); + make.top.offset(0); + }]; + lbname.attributedText = [Tools arrstring:lbname.text andstart:4 andend:1 andfont:[UIFont systemFontOfSize:15] andcolor:RGBCOLOR(255, 56, 56)]; + + UIImageView *imgvvideo = [[UIImageView alloc] init]; + [imgvvideo setImage:[UIImage imageNamed:@"sc_add_video"]]; + [view addSubview:imgvvideo]; + [imgvvideo mas_makeConstraints:^(MASConstraintMaker *make) { + make.width.height.offset(90); + make.left.equalTo(lbname); + make.top.equalTo(lbname.mas_bottom).offset(14); + }]; + [imgvvideo.layer setMasksToBounds:YES]; + [imgvvideo.layer setCornerRadius:4]; + _imgvvideo = imgvvideo; + + UIButton *btadd = [[UIButton alloc] init]; + [view addSubview:btadd]; + [btadd mas_makeConstraints:^(MASConstraintMaker *make) { + make.edges.equalTo(imgvvideo); + }]; + [btadd addTarget:self action:@selector(addAction) forControlEvents:UIControlEventTouchUpInside]; + + +} + +-(void)setModelDetail:(UserMaterialModelDataItems *)modelDetail +{ + _modelDetail = modelDetail; + if(modelDetail) + { + [self.imgvvideo sd_setImageWithURL:[NSURL URLWithString:modelDetail.pic.url] completed:^(UIImage * _Nullable image, NSError * _Nullable error, SDImageCacheType cacheType, NSURL * _Nullable imageURL) { + + if(image) + { + self.imgvvideo.image = image; + self.pic = [NSMutableDictionary new]; + [self.pic setObject:[Tools isStringnil:modelDetail.pic.ID] forKey:@"id"]; + [self.pic setObject:[Tools isStringnil:modelDetail.pic.url] forKey:@"url"]; + self.pic_size = [NSString stringWithFormat:@"%.0lf,%.0lf",image.size.width,image.size.height]; + + self.file_time = [NSString stringWithFormat:@"%@",modelDetail.file_time]; + self.file = [NSMutableDictionary new]; + [self.file setObject:[Tools isStringnil:modelDetail.file.ID] forKey:@"id"]; + [self.file setObject:[Tools isStringnil:modelDetail.file.url] forKey:@"url"]; + } + }]; + + self.textView.text = modelDetail.title; + self.arrtypes = modelDetail.tags; + [self.collect reloadData]; + [self.lbts setHidden:YES]; + + self.tags = [NSMutableArray new]; + for(UserMaterialModelDataItemsTags *model in modelDetail.tags) + { + [self.tags addObject:@{@"id":[Tools isStringnil:model.ID]}]; + + for(UserMaterialModelDataItemsTags *modeltemp in [UserDetailModel shareModel].arrSCTags) + { + if([modeltemp.ID isEqualToString:model.ID]) + { + model.select = YES; + } + } + } + } +} + +-(void)addAction +{ + [self.tools choosePicWithViewController:self.viewController chooseType:ChooseTypeAlbum]; +} +- (void)didEndChooseVideo:(NSURL *)videourl +{ + ///需要将视频上传到服务器 + [KCSPHUDAlterView showView]; + [UIImageView videoImageWithvideoURL:videourl atTime:0.1 back:^(UIImage * _Nonnull image) { + if(image) + { + [GongGongNetManager postUserUploadData:self scene:@"user_material" image:image Callback:^(BOOL state, KCSPUserGXModel *responseObject, NSString * _Nullable describle) { + if(state) + { + self.imgvvideo.image = image; + self.pic = [NSMutableDictionary new]; + [self.pic setObject:[Tools isStringnil:responseObject.data.ID] forKey:@"id"]; + [self.pic setObject:[Tools isStringnil:responseObject.data.url] forKey:@"url"]; + self.pic_size = [NSString stringWithFormat:@"%.0lf,%.0lf",image.size.width,image.size.height]; + + } + else + { + [HXHud showMessage:responseObject.message afterDelayType:1]; + } + }]; + } + }]; + + [GongGongNetManager postUserUploadVideoData:self scene:@"user_material" url:videourl Callback:^(BOOL state, KCSPUserGXModel *responseObject, NSString * _Nullable describle) { + [KCSPHUDAlterView dismis]; + if(state) + { + + AVURLAsset *asset = [AVURLAsset URLAssetWithURL:videourl options:nil]; + CMTime duration = asset.duration; + CGFloat seconds = CMTimeGetSeconds(duration); + int minc = seconds/60; + int sce = ((int)seconds)%60; + + NSString *strtime = [NSString stringWithFormat:@"%d:%d",minc,sce]; + if(sce<10) + { + strtime = [NSString stringWithFormat:@"%d:0%d",minc,sce]; + } + + if(!self.lbtime) + { + UILabel *lbtime = [[UILabel alloc] init]; + [lbtime setText:@""]; + [lbtime setTextColor:RGBACOLOR(255, 255, 255, 0.8)]; + [lbtime setTextAlignment:NSTextAlignmentCenter]; + [lbtime setFont:[UIFont systemFontOfSize:8]]; + [self.imgvvideo addSubview:lbtime]; + [lbtime mas_makeConstraints:^(MASConstraintMaker *make) { + make.height.offset(12); + make.left.offset(5); + make.bottom.equalTo(self.imgvvideo).offset(-5); + make.width.offset(25); + }]; + self.lbtime = lbtime; + } + float f_w = [Tools getWidthWithText:strtime height:20 font:8]+10; + [self.lbtime mas_updateConstraints:^(MASConstraintMaker *make) { + make.width.offset(f_w); + }]; + self.lbtime.text = strtime; + self.file_time = [NSString stringWithFormat:@"%.0lf",seconds]; + self.file = [NSMutableDictionary new]; + [self.file setObject:[Tools isStringnil:responseObject.data.ID] forKey:@"id"]; + [self.file setObject:[Tools isStringnil:responseObject.data.url] forKey:@"url"]; + } + else + { + [HXHud showMessage:responseObject.message afterDelayType:1]; + } + }]; +} + +-(void)typeAction +{ + ShuCaiKuFaBuTypeAlterView *view = [[ShuCaiKuFaBuTypeAlterView alloc] initWithFrame:CGRectMake(0, 0, UISCREEN_WIDTH, UISCREEN_HEIGHT)]; + [self.viewController.view addSubview:view]; + [view setBackValue:^(NSArray * _Nonnull arrback) { + self.tags = [NSMutableArray new]; + for(UserMaterialModelDataItemsTags *model in arrback) + { + [self.tags addObject:@{@"id":[Tools isStringnil:model.ID]}]; + } + self.arrtypes = arrback; + [self.collect reloadData]; + [self.lbts setHidden:YES]; + }]; +} + +-(void)zidonguoload:(NSURL *)videourl back:(void(^)(void))backValue +{ + ///需要将视频上传到服务器 + [KCSPHUDAlterView showView]; + [UIImageView videoImageWithvideoURL:videourl atTime:0.1 back:^(UIImage * _Nonnull image) { + if(image) + { + [GongGongNetManager postUserUploadData:self scene:@"user_material" image:image Callback:^(BOOL state, KCSPUserGXModel *responseObject, NSString * _Nullable describle) { + if(state) + { + self.imgvvideo.image = image; + self.pic = [NSMutableDictionary new]; + [self.pic setObject:[Tools isStringnil:responseObject.data.ID] forKey:@"id"]; + [self.pic setObject:[Tools isStringnil:responseObject.data.url] forKey:@"url"]; + self.pic_size = [NSString stringWithFormat:@"%.0lf,%.0lf",image.size.width,image.size.height]; + + } + else + { + [HXHud showMessage:responseObject.message afterDelayType:1]; + } + }]; + } + }]; + + [GongGongNetManager postUserUploadVideoData:self scene:@"user_material" url:videourl Callback:^(BOOL state, KCSPUserGXModel *responseObject, NSString * _Nullable describle) { + [KCSPHUDAlterView dismis]; + if(state) + { + + AVURLAsset *asset = [AVURLAsset URLAssetWithURL:videourl options:nil]; + CMTime duration = asset.duration; + CGFloat seconds = CMTimeGetSeconds(duration); + int minc = seconds/60; + int sce = ((int)seconds)%60; + + NSString *strtime = [NSString stringWithFormat:@"%d:%d",minc,sce]; + if(sce<10) + { + strtime = [NSString stringWithFormat:@"%d:0%d",minc,sce]; + } + + if(!self.lbtime) + { + UILabel *lbtime = [[UILabel alloc] init]; + [lbtime setText:@""]; + [lbtime setTextColor:RGBACOLOR(255, 255, 255, 0.8)]; + [lbtime setTextAlignment:NSTextAlignmentCenter]; + [lbtime setFont:[UIFont systemFontOfSize:8]]; + [self.imgvvideo addSubview:lbtime]; + [lbtime mas_makeConstraints:^(MASConstraintMaker *make) { + make.height.offset(12); + make.left.offset(5); + make.bottom.equalTo(self.imgvvideo).offset(-5); + make.width.offset(25); + }]; + self.lbtime = lbtime; + } + float f_w = [Tools getWidthWithText:strtime height:20 font:8]+10; + [self.lbtime mas_updateConstraints:^(MASConstraintMaker *make) { + make.width.offset(f_w); + }]; + self.lbtime.text = strtime; + self.file_time = [NSString stringWithFormat:@"%.0lf",seconds]; + self.file = [NSMutableDictionary new]; + [self.file setObject:[Tools isStringnil:responseObject.data.ID] forKey:@"id"]; + [self.file setObject:[Tools isStringnil:responseObject.data.url] forKey:@"url"]; + backValue(); + } + else + { + [HXHud showMessage:responseObject.message afterDelayType:1]; + } + }]; +} + +//-(void)zidongupload:(int)itag +//{ +// NSLog(@"上传%d",itag); +// NSString *strpath = [[NSBundle mainBundle] pathForResource:[NSString stringWithFormat:@"%d",itag] ofType:@"mp4"]; +// NSArray *arrtitle = @[@"#风景#轻松",@"#风景#美丽",@"#风景#治愈",@"#风景#心情"]; +// self.tags = [NSMutableArray arrayWithObject:@{@"id":@"4"}]; +// if(strpath.length>5) +// { +// [self zidonguoload:[NSURL fileURLWithPath:strpath] back:^{ +// [KCSPNetManager requestUserMaterialData:self title:arrtitle[itag%4] file:self.file pic:self.pic pic_size:self.pic_size file_time:self.file_time tags:self.tags ID:self.modelDetail.ID download:self.modelDetail.download Callback:^(BOOL state, BaseModel *responseObject, NSString * _Nullable describle) { +// if(state) +// { +// [self zidongupload:itag+1]; +// } +// else +// { +// [HXHud showMessage:responseObject.message afterDelayType:1]; +// } +// }]; +// }]; +// } +// else +// { +// [KCSPHUDAlterView dismis]; +// NSLog(@"上传结束"); +// } +//} + +-(void)sendAction +{ +// if(DEBUG) +// { +// [KCSPHUDAlterView showView]; +// [self zidongupload:0]; +// return; +// } + if(self.tags.count==0) + { + [HXHud showMessage:@"请选择类型" afterDelayType:0]; + return; + } + + if(self.textView.text.length==0) + { + [HXHud showMessage:@"请输入标题内容" afterDelayType:0]; + return; + } + if(self.file==nil || self.pic==nil) + { + [HXHud showMessage:@"请上传视频" afterDelayType:0]; + return; + } + [KCSPHUDAlterView showView]; + [KCSPNetManager requestUserMaterialData:self title:self.textView.text file:self.file pic:self.pic pic_size:self.pic_size file_time:self.file_time tags:self.tags ID:self.modelDetail.ID download:self.modelDetail.download Callback:^(BOOL state, BaseModel *responseObject, NSString * _Nullable describle) { + [KCSPHUDAlterView dismis]; + if(state) + { + if(!self.modelDetail) + { + [HXHud showMessage:@"发布成功,请耐心等待审核,请前往 我的》发布视频 页面查看详情" afterDelayType:0]; + } + else + { + self.modelDetail.status = @"0"; + self.modelDetail.status_name = @"待审核"; + } + [[NSUserDefaults standardUserDefaults] setObject:@"1" forKey:@"sucairef"]; + [self.viewController.navigationController popViewControllerAnimated:YES]; + } + else + { + [HXHud showMessage:responseObject.message afterDelayType:1]; + } + }]; +} + +#pragma mark - UICollectionView +- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section +{ + return self.arrtypes.count; +} +- (__kindof UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath +{ + ShuCaiKuFaBuTypeAlterCollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"ShuCaiKuFaBuTypeAlterCollectionViewCell" forIndexPath:indexPath]; + [cell.viewback setBackgroundColor:RGBCOLOR(67, 67, 67)]; + [cell.viewback.layer setBorderColor:RGBCOLOR(67, 67, 67).CGColor]; + [cell.imgvselect setHidden:YES]; + + UserMaterialModelDataItemsTags *model = self.arrtypes[indexPath.row]; + cell.lbname.text = [Tools isStringnilkong:model.name]; + + return cell; +} +//定义每个section的间距 +- (UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout insetForSectionAtIndex:(NSInteger)section{ + + return UIEdgeInsetsMake(0, 5, 0, 0); +} +//纵向cell间距 +- (CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout minimumLineSpacingForSectionAtIndex:(NSInteger)section{ + return 10; +} +//cell 间距 +- (CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout ForSectionAtIndex:(NSInteger)section{ + return 10; +} +// 定义每个UICollectionViewCell 的大小 +- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath +{ + return CGSizeMake(58, 24); +} +-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath +{ + ///做选中操作 + +} + + +- (WYCamaImageTools *)tools { + if (!_tools) { + _tools = [[WYCamaImageTools alloc] init]; + _tools.delegate = self; + _tools.isvideo = YES; + }return _tools; +} + +@end diff --git a/ProductApp/ProductApp/ProductMain/素材库/详情/ShuCaiKuDetailViewController.h b/ProductApp/ProductApp/ProductMain/素材库/详情/ShuCaiKuDetailViewController.h new file mode 100644 index 0000000..256817a --- /dev/null +++ b/ProductApp/ProductApp/ProductMain/素材库/详情/ShuCaiKuDetailViewController.h @@ -0,0 +1,17 @@ +// +// ShuCaiKuDetailViewController.h +// ProductApp +// +// Created by 工作 on 2025/4/23. +// + +#import "BaseViewController.h" +#import "UserMaterialModel.h" +NS_ASSUME_NONNULL_BEGIN + +@interface ShuCaiKuDetailViewController : BaseViewController +/// +@property (nonatomic , strong) UserMaterialModelDataItems *modelDetail; +@end + +NS_ASSUME_NONNULL_END diff --git a/ProductApp/ProductApp/ProductMain/素材库/详情/ShuCaiKuDetailViewController.m b/ProductApp/ProductApp/ProductMain/素材库/详情/ShuCaiKuDetailViewController.m new file mode 100644 index 0000000..e21ea92 --- /dev/null +++ b/ProductApp/ProductApp/ProductMain/素材库/详情/ShuCaiKuDetailViewController.m @@ -0,0 +1,41 @@ +// +// ShuCaiKuDetailViewController.m +// ProductApp +// +// Created by 工作 on 2025/4/23. +// + +#import "ShuCaiKuDetailViewController.h" +#import "ShuCaiKuDetailView.h" + +@interface ShuCaiKuDetailViewController () + +@end + +@implementation ShuCaiKuDetailViewController +- (UIStatusBarStyle)preferredStatusBarStyle { + return UIStatusBarStyleLightContent; +} +- (void)viewWillAppear:(BOOL)animated { + [super viewWillAppear:animated]; + [self.navigationController setNavigationBarHidden:YES animated:animated]; + [self showNaviGationView:YES]; + [self.navigationView setTitle:@" " titleColor:RGBACOLOR(255, 255, 255, 0.9)]; + [self.navigationView setBackgroundColor:RGBCOLOR(20, 20, 20)]; +} +- (void)viewDidLoad { + [super viewDidLoad]; + [self.view setBackgroundColor:RGBCOLOR(20, 20, 20)]; + + ShuCaiKuDetailView *view = [ShuCaiKuDetailView new]; + [self.view addSubview:view]; + [view mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.right.bottom.equalTo(self.view); + make.top.offset(NavHeight); + }]; + view.modelDetail = self.modelDetail; +} + + + +@end diff --git a/ProductApp/ProductApp/ProductMain/素材库/详情/view/ShuCaiKuDetailView.h b/ProductApp/ProductApp/ProductMain/素材库/详情/view/ShuCaiKuDetailView.h new file mode 100644 index 0000000..2b207ed --- /dev/null +++ b/ProductApp/ProductApp/ProductMain/素材库/详情/view/ShuCaiKuDetailView.h @@ -0,0 +1,17 @@ +// +// ShuCaiKuDetailView.h +// ProductApp +// +// Created by 工作 on 2025/4/23. +// + +#import +#import "UserMaterialModel.h" +NS_ASSUME_NONNULL_BEGIN + +@interface ShuCaiKuDetailView : UIView +/// +@property (nonatomic , strong) UserMaterialModelDataItems *modelDetail; +@end + +NS_ASSUME_NONNULL_END diff --git a/ProductApp/ProductApp/ProductMain/素材库/详情/view/ShuCaiKuDetailView.m b/ProductApp/ProductApp/ProductMain/素材库/详情/view/ShuCaiKuDetailView.m new file mode 100644 index 0000000..effbb11 --- /dev/null +++ b/ProductApp/ProductApp/ProductMain/素材库/详情/view/ShuCaiKuDetailView.m @@ -0,0 +1,281 @@ +// +// ShuCaiKuDetailView.m +// ProductApp +// +// Created by 工作 on 2025/4/23. +// + +#import "ShuCaiKuDetailView.h" +#import "WMPlayer.h" +#import "UIImageView+VideoImageView.h" +#import "ImagesConnectManager.h" +#import "NomoAlterView.h" +#import "GongGongNetManager.h" +#import "HuiYuanZXViewController.h" + +#import "XiaZaiManager.h" +#import "KCSPMaterialsModel.h" +#import "KCSPNetManager.h" + +@interface ShuCaiKuDetailView () + +@property (nonatomic , strong) WMPlayer *player; + +/// +@property (nonatomic , strong) UIImageView *imgvhd; +/// +@property (nonatomic , strong) UILabel *lbname; +/// +@property (nonatomic , strong) UILabel *lbdown; + +@property (nonatomic , strong) UILabel *lbtitle; + +/// +@property (nonatomic , strong) NSMutableArray *arrItemView; +@property (nonatomic , strong) NSMutableArray *arrItemLB; + +@end + +@implementation ShuCaiKuDetailView + +-(id)initWithFrame:(CGRect)frame +{ + if(self = [super initWithFrame:frame]) + { + + } + return self; +} + +-(void)setModelDetail:(UserMaterialModelDataItems *)modelDetail +{ + _modelDetail = modelDetail; + + + [self drawUI]; +} + +-(void)drawUI +{ + NSString *strtemp = self.modelDetail.file.url; + WMPlayerModel *model = [[WMPlayerModel alloc] init]; + model.videoURL = [NSURL URLWithString:strtemp]; + + WMPlayer *player = [[WMPlayer alloc] initPlayerModel:model]; + [player setDelegate:self]; + player.enableFastForwardGesture = NO; + player.isprogressSliderAction = YES; + _player = player; + [self addSubview:player]; + [player mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.right.top.equalTo(self); + make.height.offset(UISCREEN_HEIGHT-TabHeight-NavHeight-190); + }]; + + UIImageView *imgvhd = [[UIImageView alloc] init]; + [imgvhd setImage:[UIImage imageNamed:@"my_headnomo"]]; + [self addSubview:imgvhd]; + [imgvhd mas_makeConstraints:^(MASConstraintMaker *make) { + make.width.height.offset(36); + make.left.offset(16); + make.top.equalTo(player.mas_bottom).offset(16); + }]; + [imgvhd.layer setMasksToBounds:YES]; + [imgvhd.layer setCornerRadius:18]; + _imgvhd = imgvhd; + [self.imgvhd sd_setImageWithURL:[NSURL URLWithString:self.modelDetail.user_avatar] placeholderImage:[UIImage imageNamed:@"my_headnomo"]]; + + UILabel *lbname = [[UILabel alloc] init]; + [lbname setText:@"嘻嘻哈哈"]; + [lbname setTextColor:RGBACOLOR(255, 255, 255, 0.9)]; + [lbname setTextAlignment:NSTextAlignmentLeft]; + [lbname setFont:[UIFont systemFontOfSize:16]]; + [self addSubview:lbname]; + [lbname mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.equalTo(imgvhd.mas_right).offset(6); + make.centerY.equalTo(imgvhd); + make.width.lessThanOrEqualTo(@(220)); + }]; + _lbname = lbname; + self.lbname.text = self.modelDetail.user_name.length==0?@"游客":[Tools isStringnilkong:self.modelDetail.user_name]; + + UILabel *lbdown = [[UILabel alloc] init]; + [lbdown setText:@"1"]; + [lbdown setTextColor:RGBACOLOR(255, 255, 255, 0.5)]; + [lbdown setTextAlignment:NSTextAlignmentLeft]; + [lbdown setFont:[UIFont systemFontOfSize:11]]; + [self addSubview:lbdown]; + [lbdown mas_makeConstraints:^(MASConstraintMaker *make) { + make.right.equalTo(self).offset(-16); + make.centerY.equalTo(lbname); + }]; + _lbdown = lbdown; + self.lbdown.text = [NSString stringWithFormat:@"%d",self.modelDetail.download.intValue]; + if(self.modelDetail.download.intValue>10000) + { + self.lbdown.text = [NSString stringWithFormat:@"%.1lf万",self.modelDetail.download.intValue/10000.0]; + } + + UIImageView *imgvdown = [[UIImageView alloc] init]; + [imgvdown setImage:[UIImage imageNamed:@"sc_down"]]; + [self addSubview:imgvdown]; + [imgvdown mas_makeConstraints:^(MASConstraintMaker *make) { + make.width.height.offset(22); + make.centerY.equalTo(lbname); + make.right.equalTo(lbdown.mas_left).offset(-2); + }]; + + UILabel *lbtitle = [[UILabel alloc] init]; + [lbtitle setText:@"春分清新春日风光"]; + [lbtitle setTextColor:RGBACOLOR(255, 255, 255, 0.9)]; + [lbtitle setTextAlignment:NSTextAlignmentLeft]; + [lbtitle setFont:[UIFont systemFontOfSize:14]]; + [lbtitle setNumberOfLines:0]; + [self addSubview:lbtitle]; + [lbtitle mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.offset(16); + make.top.equalTo(imgvhd.mas_bottom).offset(10); + make.right.equalTo(self).offset(-16); + }]; + _lbtitle = lbtitle; + self.lbtitle.text = [Tools isStringnilkong:self.modelDetail.title]; + + self.arrItemView = [NSMutableArray new]; + self.arrItemLB = [NSMutableArray new]; + UIView *viewlast = nil; + for(int i = 0 ; i < self.modelDetail.tags.count; i++) + { + UserMaterialModelDataItemsTags *modeltag = self.modelDetail.tags[i]; + + UIView *viewitem = [[UIView alloc] init]; + [viewitem setBackgroundColor:RGBACOLOR(255, 255, 255, 0.2)]; + [self addSubview:viewitem]; + [viewitem mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.equalTo(lbtitle.mas_bottom).offset(8); + if(i==0) + { + make.left.offset(16); + } + else + { + make.left.equalTo(viewlast.mas_right).offset(4); + } + make.height.offset(16); + }]; + [viewitem.layer setMasksToBounds:YES]; + [viewitem.layer setCornerRadius:2]; + viewlast = viewitem; + + UILabel *lbitem = [[UILabel alloc] init]; + [lbitem setText:[Tools isStringnilkong:modeltag.name]]; + [lbitem setTextColor:RGBACOLOR(255, 255, 255, 0.8)]; + [lbitem setTextAlignment:NSTextAlignmentLeft]; + [lbitem setFont:[UIFont systemFontOfSize:10]]; + [viewitem addSubview:lbitem]; + [lbitem mas_makeConstraints:^(MASConstraintMaker *make) { + make.centerY.equalTo(viewitem); + make.left.offset(4); + }]; + + + [viewitem mas_makeConstraints:^(MASConstraintMaker *make) { + make.right.equalTo(lbitem).offset(4); + }]; + } + + UIButton *btdown = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, UISCREEN_WIDTH-32, 46)]; + [btdown setTitle:@"下载视频" forState:UIControlStateNormal]; + [btdown setTitleColor:RGBACOLOR(255, 255, 255, 0.9) forState:UIControlStateNormal]; + [btdown.titleLabel setFont:[UIFont systemFontOfSize:15]]; + [btdown setImage:[UIImage imageNamed:@"sc_xq_down"] forState:UIControlStateNormal]; + [btdown.layer setMasksToBounds:YES]; + [btdown.layer setCornerRadius:23]; + [self addSubview:btdown]; + [btdown mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.offset(16); + make.right.equalTo(self).offset(-16); + make.height.offset(46); + make.bottom.equalTo(self).offset(-TabHeight+30); + }]; + [btdown setIconInLeft]; + [btdown addTarget:self action:@selector(downAction) forControlEvents:UIControlEventTouchUpInside]; + [Tools changedView:btdown colors:@[(id)RGBCOLOR(246, 44, 108).CGColor,(id)RGBCOLOR(252, 79, 84).CGColor] startPoint:CGPointMake(0, 0) endPoint:CGPointMake(1, 0)]; +} + +-(void)downAction +{ + if([UserDetailModel pushDengLuVC:self.viewController ispush:YES]==NO)return;; + + [ImagesConnectManager getXCQuanXian:^(BOOL issave) { + dispatch_async(dispatch_get_main_queue(), ^{ + if(issave) + { + [self getQuanXian:1]; + } + else + { + [NomoAlterView showInfo:@"无相册权限,请到设置中开启APP相册权限再保存,照片>所有照片 权限" SelectTag:^(NSInteger tag) { + if(tag==1) + { + [Tools pushAppSet]; + } + }]; + } + }); + }]; +} +-(void)saveData +{ + NSMutableArray *arrtemp = [NSMutableArray new]; + KCSPMaterialsModelDataMaterialImage *model = [KCSPMaterialsModelDataMaterialImage new]; + model.title = self.modelDetail.title; + model.url = self.modelDetail.file.url; + model.origin_url = self.modelDetail.file.url; + [arrtemp addObject:model]; + + [[XiaZaiManager shareManager] xiaZaiManagerInfo:arrtemp logid:self.modelDetail.ID Success:^(NSMutableArray * _Nonnull arrPath) { + [self upDataUserState]; + [self uploadDownLoad]; + } issave:YES]; +} + +-(void)uploadDownLoad +{ + [KCSPNetManager requestUserMaterialUpdataData:self ID:self.modelDetail.ID download:@"1" Callback:^(BOOL state, id _Nullable responseObject, NSString * _Nullable describle) { + + }]; +} + +///权限校验 0 分享 1保存 +-(void)getQuanXian:(int)type +{ + [GongGongNetManager getUserAuthinfoData:self scene:@"download" Callback:^(BOOL state, KCSPUserRZModel *responseObject, NSString * _Nullable describle) { + if(state) + { + if(responseObject.data.auth.boolValue == YES) + { + [self saveData]; + } + else + {///跳转充值页 + HuiYuanZXViewController *vc = [[HuiYuanZXViewController alloc] init]; + vc.source = @"download_material_material"; + [self.viewController.navigationController pushViewController:vc animated:YES]; + [UserDetailModel pushActionInfo:0 key:@"client.jump.to.member.recharge.material" value:@"download_material_material" extra:@""]; + } + } + else + { + [HXHud showMessage:describle afterDelayType:0]; + } + }]; +} +///权限上报 +-(void)upDataUserState +{ + [GongGongNetManager postUserAuthPostinfoData:self scene:@"download" count:@"1" Callback:^(BOOL state, id _Nullable responseObject, NSString * _Nullable describle) { + + }]; +} + +@end diff --git a/ProductApp/ProductApp/ProductMain/记录/JiLuViewController.h b/ProductApp/ProductApp/ProductMain/记录/JiLuViewController.h new file mode 100644 index 0000000..bb62930 --- /dev/null +++ b/ProductApp/ProductApp/ProductMain/记录/JiLuViewController.h @@ -0,0 +1,16 @@ +// +// JiLuViewController.h +// ProductApp +// +// Created by 工作 on 2025/4/2. +// + +#import "BaseViewController.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface JiLuViewController : BaseViewController + +@end + +NS_ASSUME_NONNULL_END diff --git a/ProductApp/ProductApp/ProductMain/记录/JiLuViewController.m b/ProductApp/ProductApp/ProductMain/记录/JiLuViewController.m new file mode 100644 index 0000000..068dc3c --- /dev/null +++ b/ProductApp/ProductApp/ProductMain/记录/JiLuViewController.m @@ -0,0 +1,157 @@ +// +// JiLuViewController.m +// ProductApp +// +// Created by 工作 on 2025/4/2. +// + +#import "JiLuViewController.h" +#import "JiLuHeaderView.h" +#import "JiLuImageView.h" +#import "JiLuAudioView.h" + + +@interface JiLuViewController () +/// +@property (nonatomic , strong) UIScrollView *scvback ; +/// +@property (nonatomic , strong) JiLuHeaderView *viewtop; +/// +@property (nonatomic , strong) JiLuImageView *viewVideo; +@property (nonatomic , strong) JiLuImageView *viewImage; +@property (nonatomic , strong) JiLuAudioView *viewAudeo; +@end + +@implementation JiLuViewController +- (UIStatusBarStyle)preferredStatusBarStyle { + return UIStatusBarStyleLightContent; +} +-(void)viewDidAppear:(BOOL)animated +{ + [super viewDidAppear:animated]; + if(self.viewVideo) + { + [self.viewVideo refData]; + [self.viewImage refData]; + [self.viewAudeo refData]; + } +} +- (void)viewDidLoad { + [super viewDidLoad]; + [self.navigationController setNavigationBarHidden:YES animated:NO]; + [self showNaviGationView:YES]; + [self.navigationView setBackgroundColor:RGBCOLOR(20, 20, 20)]; + [self.navigationView setTitle:@"我的记录" titleColor:RGBACOLOR(255, 255, 255, 1)]; + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(topSelectNotifi:) name:@"recordShowSonView" object:nil]; + + JiLuHeaderView *viewtop = [[JiLuHeaderView alloc] init]; + [viewtop setBackgroundColor:RGBCOLOR(20, 20, 20)]; + [self.view addSubview:viewtop]; + [viewtop mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.right.equalTo(self.view); + make.top.offset(NavHeight); + make.height.offset(52); + }]; + [viewtop setBackValue:^(NSInteger itag) { + if(itag==0) + { + [self.scvback setContentOffset:CGPointMake(0, 0)]; + } + else if (itag==1) + { + [self.scvback setContentOffset:CGPointMake(UISCREEN_WIDTH, 0)]; + } + else if (itag==2) + { + [self.scvback setContentOffset:CGPointMake(UISCREEN_WIDTH*2, 0)]; + } + else + { + NSInteger temp = [self.viewtop getselect]; + if(temp==0) + { + [self.viewVideo clearAll]; + } + else if (temp==1) + { + [self.viewImage clearAll]; + } + else + { + [self.viewAudeo clearAll]; + } + } + }]; + _viewtop = viewtop; + + UIScrollView *scvback = [[UIScrollView alloc] initWithFrame:CGRectMake(0, NavHeight+52, UISCREEN_WIDTH, UISCREEN_HEIGHT-NavHeight-52-TabHeight)]; + [scvback setShowsHorizontalScrollIndicator:NO]; + [scvback setPagingEnabled:YES]; + [scvback setScrollEnabled:NO]; + [self.view addSubview:scvback]; + _scvback = scvback; + if([UserDetailModel zhiFuState]) + { + [scvback setContentSize:CGSizeMake(UISCREEN_WIDTH*3, 0)]; + ///3个子页面 + JiLuImageView *viewVideo = [[JiLuImageView alloc] init]; + [scvback addSubview:viewVideo]; + [viewVideo mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.width.height.equalTo(scvback); + make.left.offset(0); + }]; + viewVideo.type = 1; + _viewVideo =viewVideo; + + JiLuImageView *viewImage = [[JiLuImageView alloc] init]; + [scvback addSubview:viewImage]; + [viewImage mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.width.height.equalTo(scvback); + make.left.offset(UISCREEN_WIDTH); + }]; + _viewImage = viewImage; + + JiLuAudioView *viewAudeo = [[JiLuAudioView alloc] init]; + [scvback addSubview:viewAudeo]; + [viewAudeo mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.width.height.equalTo(scvback); + make.left.offset(UISCREEN_WIDTH*2); + }]; + _viewAudeo = viewAudeo; + [self.viewVideo refData]; + [self.viewImage refData]; + [self.viewAudeo refData]; + } + else + { + [scvback setContentSize:CGSizeMake(UISCREEN_WIDTH*2, 0)]; + ///3个子页面 + JiLuImageView *viewVideo = [[JiLuImageView alloc] init]; + [scvback addSubview:viewVideo]; + [viewVideo mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.width.height.equalTo(scvback); + make.left.offset(0); + }]; + viewVideo.type = 1; + _viewVideo =viewVideo; + + JiLuAudioView *viewAudeo = [[JiLuAudioView alloc] init]; + [scvback addSubview:viewAudeo]; + [viewAudeo mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.width.height.equalTo(scvback); + make.left.offset(UISCREEN_WIDTH); + }]; + _viewAudeo = viewAudeo; + [self.viewVideo refData]; + [self.viewImage refData]; + [self.viewAudeo refData]; + } + +} + +-(void)topSelectNotifi:(NSNotification *)notifi +{ + [self.viewtop setSelectBtTag:[notifi.object integerValue]]; +} + +@end diff --git a/ProductApp/ProductApp/ProductMain/ShouYe/视频转音频/记录/cell/JiLuAudioTableViewCell.h b/ProductApp/ProductApp/ProductMain/记录/cell/JiLuAudioTableViewCell.h similarity index 100% rename from ProductApp/ProductApp/ProductMain/ShouYe/视频转音频/记录/cell/JiLuAudioTableViewCell.h rename to ProductApp/ProductApp/ProductMain/记录/cell/JiLuAudioTableViewCell.h diff --git a/ProductApp/ProductApp/ProductMain/ShouYe/视频转音频/记录/cell/JiLuAudioTableViewCell.m b/ProductApp/ProductApp/ProductMain/记录/cell/JiLuAudioTableViewCell.m similarity index 100% rename from ProductApp/ProductApp/ProductMain/ShouYe/视频转音频/记录/cell/JiLuAudioTableViewCell.m rename to ProductApp/ProductApp/ProductMain/记录/cell/JiLuAudioTableViewCell.m diff --git a/ProductApp/ProductApp/ProductMain/记录/cell/JiLuAudioTableViewCellOModel.swift b/ProductApp/ProductApp/ProductMain/记录/cell/JiLuAudioTableViewCellOModel.swift new file mode 100644 index 0000000..de3dd25 --- /dev/null +++ b/ProductApp/ProductApp/ProductMain/记录/cell/JiLuAudioTableViewCellOModel.swift @@ -0,0 +1,38 @@ +import UIKit + +open class JiLuAudioTableViewCellOModel: NSObject { + open var complexionsAlnein3: Int = 8353 + open var complexionsAlnein5: String = "complexionsAlnein5" + open var complexionsAlnein1: Int = 8351 + open var complexionsAlnein2: Int = 8352 + open var complexionsAlnein4: UIColor? = UIColor(red: 8351/255, green: 8352/255, blue: 8353/255, alpha: 1) + + + @MainActor @objc +open func sadvoicedSemify() { + func summation(a: Int, b: Int) -> Int { + return a + b + } + if (summation(a: 8351, b: 8352) + 8353) < 0 { + print("complexionsAlnein String", complexionsAlnein1) + } + +} + + @MainActor @objc +open func pycnodontidaePentstemon() { + // + let alneinArteriomotor1: CGFloat = 83556 + let alneinArteriomotor2: CGFloat = 8351.8355 + let alneinArteriomotor3: CGFloat = 83530.5 + let alneinArteriomotor4 = alneinArteriomotor1 + alneinArteriomotor2 + alneinArteriomotor3 + let alneinArteriomotor5 = alneinArteriomotor1 - alneinArteriomotor2 - alneinArteriomotor3 + var alneinArteriomotor6 = alneinArteriomotor4 + alneinArteriomotor5 + alneinArteriomotor6 += alneinArteriomotor6 + let alneinArteriomotor7 = alneinArteriomotor6 + alneinArteriomotor5 + alneinArteriomotor4 + print(alneinArteriomotor7) + // + sadvoicedSemify() +} + +} \ No newline at end of file diff --git a/ProductApp/ProductApp/ProductMain/记录/cell/JiLuImageCollectionViewCell.h b/ProductApp/ProductApp/ProductMain/记录/cell/JiLuImageCollectionViewCell.h new file mode 100644 index 0000000..1045db3 --- /dev/null +++ b/ProductApp/ProductApp/ProductMain/记录/cell/JiLuImageCollectionViewCell.h @@ -0,0 +1,25 @@ +// +// JiLuImageCollectionViewCell.h +// ProductApp +// +// Created by 工作 on 2025/4/3. +// + +#import +#import "RecordImageModel.h" +NS_ASSUME_NONNULL_BEGIN + +@interface JiLuImageCollectionViewCell : UICollectionViewCell +/// +@property (nonatomic , strong) UIButton *btplay; +///1视频 +@property (nonatomic , assign) int type; +/// +@property (nonatomic , strong) RecordImageModel *model; + +/// +@property (nonatomic , strong) UIButton *btshanchu ; + +@end + +NS_ASSUME_NONNULL_END diff --git a/ProductApp/ProductApp/ProductMain/记录/cell/JiLuImageCollectionViewCell.m b/ProductApp/ProductApp/ProductMain/记录/cell/JiLuImageCollectionViewCell.m new file mode 100644 index 0000000..584bc00 --- /dev/null +++ b/ProductApp/ProductApp/ProductMain/记录/cell/JiLuImageCollectionViewCell.m @@ -0,0 +1,182 @@ +// +// JiLuImageCollectionViewCell.m +// ProductApp +// +// Created by 工作 on 2025/4/3. +// + +#import "JiLuImageCollectionViewCell.h" + + +@interface JiLuImageCollectionViewCell () +/// +@property (nonatomic , strong) UIView *viewback; +/// +@property (nonatomic , strong) UIImageView *imgvhd; + + + + +@end + +@implementation JiLuImageCollectionViewCell +-(id)initWithFrame:(CGRect)frame +{ + if(self = [super initWithFrame:frame]) + { + UIView *viewback = [[UIView alloc] init]; + [viewback setBackgroundColor:[UIColor clearColor]]; + [self.contentView addSubview:viewback]; + [viewback mas_makeConstraints:^(MASConstraintMaker *make) { + make.edges.equalTo(self); + }]; + [viewback.layer setMasksToBounds:YES]; + [viewback.layer setCornerRadius:6]; + _viewback = viewback; + + UIImageView *imgvhd = [[UIImageView alloc] init]; + [imgvhd setClipsToBounds:YES]; + [imgvhd setContentMode:UIViewContentModeScaleAspectFill]; + [viewback addSubview:imgvhd]; + [imgvhd mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.top.right.equalTo(viewback); + make.bottom.equalTo(viewback); + }]; + [imgvhd.layer setMasksToBounds:YES]; + [imgvhd.layer setCornerRadius:6]; + [imgvhd setUserInteractionEnabled:YES]; + [imgvhd setBackgroundColor:[UIColor redColor]]; + _imgvhd = imgvhd; + + UIButton *btplay = [[UIButton alloc] init]; + [btplay setImage:[UIImage imageNamed:@"neercsllufnon"] forState:UIControlStateNormal]; + [viewback addSubview:btplay]; + [btplay mas_makeConstraints:^(MASConstraintMaker *make) { + make.width.height.offset(50); + make.center.equalTo(viewback); + }]; + [btplay setUserInteractionEnabled:NO]; + _btplay = btplay; + + UIView *viewselect = [[UIView alloc] init]; + [viewselect setBackgroundColor:RGBACOLOR(0, 0, 0, 0.3)]; + [viewback addSubview:viewselect]; + [viewselect mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.right.bottom.equalTo(viewback); + make.height.offset(34); + }]; + + UIButton *btfenxiang = [[UIButton alloc] init]; + [btfenxiang setImage:[UIImage imageNamed:@"jl_fenxiang"] forState:UIControlStateNormal]; + [viewselect addSubview:btfenxiang]; + [btfenxiang mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.bottom.equalTo(viewselect); + make.left.offset(0); + make.width.equalTo(viewselect).multipliedBy(0.5); + }]; + [btfenxiang addTarget:self action:@selector(shareAction) forControlEvents:UIControlEventTouchUpInside]; + + UIButton *btshanchu = [[UIButton alloc] init]; + [btshanchu setImage:[UIImage imageNamed:@"ji_shanchu"] forState:UIControlStateNormal]; + [viewselect addSubview:btshanchu]; + [btshanchu mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.bottom.equalTo(viewselect); + make.right.equalTo(viewback); + make.width.equalTo(viewselect).multipliedBy(0.5); + }]; + _btshanchu = btshanchu; + } + return self; +} + +-(void)setModel:(RecordImageModel *)model +{ + _model = model; + + if(model.imageshow) + { + self.imgvhd.image = model.imageshow; + } + else + { + self.imgvhd.image = [UIImage imageNamed:@"sc_nomo"]; + PHImageRequestOptions *options = [[PHImageRequestOptions alloc] init]; + options.synchronous = NO; + if(self.model.asset.mediaType == PHAssetMediaTypeImage) + { + ///图片信息 + [[PHImageManager defaultManager] requestImageDataForAsset:self.model.asset options:options resultHandler:^(NSData *imageData, NSString *dataUTI, UIImageOrientation orientation, NSDictionary *info) { + // 在这里处理获取到的照片数据 + if(imageData) + { + self.model.imageshow = [UIImage imageWithData:imageData]; + self.imgvhd.image = self.model.imageshow; + } + }]; + } + else + { + [[PHImageManager defaultManager] requestImageForAsset:self.model.asset targetSize:CGSizeMake(UISCREEN_WIDTH, UISCREEN_WIDTH) contentMode:PHImageContentModeDefault options:options resultHandler:^(UIImage *result, NSDictionary *info) { + if(result) + { + self.model.imageshow = result; + self.imgvhd.image = self.model.imageshow; + } + + }]; + } + } +} + +-(void)shareAction +{ + if(self.type==1) + { + PHAsset *asset = self.model.asset; + NSArray *arr = [asset.localIdentifier componentsSeparatedByString:@"/"]; + if(arr.count>0) + { + NSString *strtmpe = [NSString stringWithFormat:@"assets-library://asset/asset.MP4?id=%@&ext=MP4",arr[0]]; + [self showAlter:[NSMutableArray arrayWithObject:[NSURL URLWithString:strtmpe]] time:0.01]; + } + else + { + PHVideoRequestOptions *optionV = [[PHVideoRequestOptions alloc] init]; + [[PHImageManager defaultManager] requestAVAssetForVideo:asset options:optionV resultHandler:^(AVAsset * _Nullable asset, AVAudioMix * _Nullable audioMix, NSDictionary * _Nullable info) { + AVURLAsset *assettemp = (AVURLAsset *)asset; + dispatch_async(dispatch_get_main_queue(), ^{ + NSString *strtmpe = assettemp.URL.absoluteString; + + [self showAlter:[NSMutableArray arrayWithObject:[NSURL URLWithString:strtmpe]] time:0.01]; + }); + }]; + } + } + else + { + [self showAlter:[NSMutableArray arrayWithObject:self.model.imageshow] time:0.01]; + } +} +-(void)showAlter:(NSMutableArray *)activityItems time:(float)time +{ + dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(time * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ + + UIActivityViewController *activityVC = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:nil]; + //__weak typeof(self) weakself = self; + activityVC.completionWithItemsHandler = ^(UIActivityType _Nullable activityType, BOOL completed, NSArray * _Nullable returnedItems, NSError * _Nullable activityError) { + //上面判断是写的失败详细内容,若需求不需要这么详细,直接下面这段代码就可以 + if (activityType != nil && completed) { + //成功 + }else{ + //失败 + } + }; + [self.viewController presentViewController:activityVC animated:YES completion:^{ + + }]; + }); +} + + + +@end diff --git a/ProductApp/ProductApp/ProductMain/记录/cell/JiLuImageCollectionViewCellOModel.swift b/ProductApp/ProductApp/ProductMain/记录/cell/JiLuImageCollectionViewCellOModel.swift new file mode 100644 index 0000000..31da5a9 --- /dev/null +++ b/ProductApp/ProductApp/ProductMain/记录/cell/JiLuImageCollectionViewCellOModel.swift @@ -0,0 +1,38 @@ +import UIKit + +open class JiLuImageCollectionViewCellOModel: NSObject { + open var (hutzpahSubcomplete1, hutzpahSubcomplete2, hutzpahSubcomplete3, hutzpahSubcomplete4) = (5591, 5592, 5593, 5594) + open var hutzpahSubcomplete5: CGFloat? + open var hutzpahSubcomplete6: UIColor? + + + @MainActor @objc +open func mimosaceousCedarn() { + func timeFormat() -> String { + let time: UInt = UInt(Date().timeIntervalSince1970) + let d = time / 3600 / 24 + let h = time / 3600 + let m = (time % 3600) / 60 + let s = time % 3600 % 60 + if h >= 1 { + return String(format: "%02d:%02d:%02d - \(hutzpahSubcomplete1)", h, m, s) + } + return String(format: "%02d:%02d", m, s) + } + _ = timeFormat() + +} + + @MainActor @objc +open func depositaryQuasiphilosophically() { + let subcompletePredegenerateA = "" + let subcompletePredegenerateB = 2.5 + let array: [Any] = ["1", subcompletePredegenerateA, 3, subcompletePredegenerateB, hutzpahSubcomplete1, hutzpahSubcomplete3] + let subcompletePredegenerateArray = array.filter { + $0 is String + } + print(subcompletePredegenerateArray[0]) + mimosaceousCedarn() +} + +} \ No newline at end of file diff --git a/ProductApp/ProductApp/ProductMain/记录/model/RecordImageModel.h b/ProductApp/ProductApp/ProductMain/记录/model/RecordImageModel.h new file mode 100644 index 0000000..5a467c8 --- /dev/null +++ b/ProductApp/ProductApp/ProductMain/记录/model/RecordImageModel.h @@ -0,0 +1,24 @@ +// +// RecordImageModel.h +// ProductApp +// 图片管理器 +// Created by 工作 on 2024/6/28. +// + +#import + +#import + +NS_ASSUME_NONNULL_BEGIN +@interface RecordImageModel : NSObject + +@property (nonatomic , assign) BOOL select; + +@property (nonatomic , strong) PHAsset *asset; + +@property (nonatomic , strong) UIImage *imageshow; + +@end + + +NS_ASSUME_NONNULL_END diff --git a/ProductApp/ProductApp/ProductMain/记录/model/RecordImageModel.m b/ProductApp/ProductApp/ProductMain/记录/model/RecordImageModel.m new file mode 100644 index 0000000..4f29c4b --- /dev/null +++ b/ProductApp/ProductApp/ProductMain/记录/model/RecordImageModel.m @@ -0,0 +1,12 @@ +// +// RecordImageModel.m +// ProductApp +// +// Created by 工作 on 2024/6/28. +// + +#import "RecordImageModel.h" + +@implementation RecordImageModel + +@end diff --git a/ProductApp/ProductApp/ProductMain/记录/model/RecordImageModelSuper.h b/ProductApp/ProductApp/ProductMain/记录/model/RecordImageModelSuper.h new file mode 100644 index 0000000..7ac5adf --- /dev/null +++ b/ProductApp/ProductApp/ProductMain/记录/model/RecordImageModelSuper.h @@ -0,0 +1,19 @@ +// +// RecordImageModelSuper.h +// ProductApp +// +// Created by 工作 on 2024/6/28. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface RecordImageModelSuper : NSObject +///年月日 +@property (nonatomic , strong) NSString *strtime; + +@property (nonatomic , strong) NSMutableArray *arrItems; +@end + +NS_ASSUME_NONNULL_END diff --git a/ProductApp/ProductApp/ProductMain/记录/model/RecordImageModelSuper.m b/ProductApp/ProductApp/ProductMain/记录/model/RecordImageModelSuper.m new file mode 100644 index 0000000..cf84e90 --- /dev/null +++ b/ProductApp/ProductApp/ProductMain/记录/model/RecordImageModelSuper.m @@ -0,0 +1,12 @@ +// +// RecordImageModelSuper.m +// ProductApp +// +// Created by 工作 on 2024/6/28. +// + +#import "RecordImageModelSuper.h" + +@implementation RecordImageModelSuper + +@end diff --git a/ProductApp/ProductApp/ProductMain/ShouYe/视频转音频/记录/view/JiLuAudioView.h b/ProductApp/ProductApp/ProductMain/记录/view/JiLuAudioView.h similarity index 100% rename from ProductApp/ProductApp/ProductMain/ShouYe/视频转音频/记录/view/JiLuAudioView.h rename to ProductApp/ProductApp/ProductMain/记录/view/JiLuAudioView.h diff --git a/ProductApp/ProductApp/ProductMain/ShouYe/视频转音频/记录/view/JiLuAudioView.m b/ProductApp/ProductApp/ProductMain/记录/view/JiLuAudioView.m similarity index 100% rename from ProductApp/ProductApp/ProductMain/ShouYe/视频转音频/记录/view/JiLuAudioView.m rename to ProductApp/ProductApp/ProductMain/记录/view/JiLuAudioView.m diff --git a/ProductApp/ProductApp/ProductMain/记录/view/JiLuHeaderView.h b/ProductApp/ProductApp/ProductMain/记录/view/JiLuHeaderView.h new file mode 100644 index 0000000..3e21e9f --- /dev/null +++ b/ProductApp/ProductApp/ProductMain/记录/view/JiLuHeaderView.h @@ -0,0 +1,19 @@ +// +// JiLuHeaderView.h +// ProductApp +// +// Created by 工作 on 2025/4/3. +// + +#import + +NS_ASSUME_NONNULL_BEGIN +typedef void(^JiLuHeaderViewBack)(NSInteger itag); +@interface JiLuHeaderView : UIView +/// +@property (nonatomic , strong) JiLuHeaderViewBack backValue; +-(void)setSelectBtTag:(NSInteger)tag; +-(NSInteger)getselect; +@end + +NS_ASSUME_NONNULL_END diff --git a/ProductApp/ProductApp/ProductMain/记录/view/JiLuHeaderView.m b/ProductApp/ProductApp/ProductMain/记录/view/JiLuHeaderView.m new file mode 100644 index 0000000..5e8fb80 --- /dev/null +++ b/ProductApp/ProductApp/ProductMain/记录/view/JiLuHeaderView.m @@ -0,0 +1,111 @@ +// +// JiLuHeaderView.m +// ProductApp +// +// Created by 工作 on 2025/4/3. +// + +#import "JiLuHeaderView.h" + + +@interface JiLuHeaderView () +/// +@property (nonatomic , strong) NSMutableArray *arrbtn; +/// +@property (nonatomic , strong) UIButton *btselect; +@end + +@implementation JiLuHeaderView + +-(id)initWithFrame:(CGRect)frame +{ + if(self = [super initWithFrame:frame]) + { + NSArray *arr = @[@"视频",@"图片",@"音频"]; + if([UserDetailModel zhiFuState]==NO) + { + arr = @[@"视频",@"音频"]; + } + self.arrbtn = [NSMutableArray new]; + for(int i = 0 ; i < arr.count; i++) + { + UIButton *btitem = [[UIButton alloc] init]; + [btitem setTitle:arr[i] forState:UIControlStateNormal]; + [btitem setTitleColor:RGBACOLOR(255, 255, 255, 0.5) forState:UIControlStateNormal]; + [btitem setTitleColor:RGBCOLOR(240, 54, 94) forState:UIControlStateSelected]; + [btitem.titleLabel setFont:[UIFont systemFontOfSize:14]]; + [self addSubview:btitem]; + [btitem mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.bottom.equalTo(self); + make.left.offset(60*i); + make.width.offset(60); + }]; + [btitem setTag:i]; + [btitem addTarget:self action:@selector(topAction:) forControlEvents:UIControlEventTouchUpInside]; + if(i==0) + { + [btitem.titleLabel setFont:[UIFont systemFontOfSize:17]]; + [btitem setSelected:YES]; + self.btselect = btitem; + } + [self.arrbtn addObject:btitem]; + } + + UIButton *btjc = [[UIButton alloc] init]; + [btjc setTitle:@"全部清空" forState:UIControlStateNormal]; + [btjc setTitleColor:RGBACOLOR(255, 255, 255, 0.8) forState:UIControlStateNormal]; + [btjc.titleLabel setFont:[UIFont systemFontOfSize:14]]; + [btjc setImage:[UIImage imageNamed:@"jl_全部清空"] forState:UIControlStateNormal]; + [self addSubview:btjc]; + [btjc mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.bottom.right.equalTo(self); + make.width.offset(80); + }]; + [btjc setIconInLeft]; + [btjc setTag:10]; + [btjc addTarget:self action:@selector(jcAction:) forControlEvents:UIControlEventTouchUpInside]; + + } + return self; +} +-(void)setSelectBtTag:(NSInteger)tag +{ + [self.btselect setSelected:NO]; + [self.btselect.titleLabel setFont:[UIFont systemFontOfSize:14]]; + + UIButton *sender = self.arrbtn[tag]; + [sender setSelected:YES]; + [sender.titleLabel setFont:[UIFont systemFontOfSize:17]]; + if(self.backValue) + { + self.backValue(sender.tag); + } +} +-(NSInteger)getselect +{ + return self.btselect.tag; +} +-(void)jcAction:(UIButton *)sender +{ + if(self.backValue) + { + self.backValue(sender.tag); + } +} +-(void)topAction:(UIButton *)sender +{ + if(sender.tag==self.btselect.tag)return; + [self.btselect setSelected:NO]; + [self.btselect.titleLabel setFont:[UIFont systemFontOfSize:14]]; + + [sender setSelected:YES]; + [sender.titleLabel setFont:[UIFont systemFontOfSize:17]]; + self.btselect = sender; + + if(self.backValue) + { + self.backValue(sender.tag); + } +} + +@end diff --git a/ProductApp/ProductApp/ProductMain/记录/view/JiLuImageView.h b/ProductApp/ProductApp/ProductMain/记录/view/JiLuImageView.h new file mode 100644 index 0000000..7a6e5be --- /dev/null +++ b/ProductApp/ProductApp/ProductMain/记录/view/JiLuImageView.h @@ -0,0 +1,19 @@ +// +// JiLuImageView.h +// ProductApp +// +// Created by 工作 on 2025/4/3. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface JiLuImageView : UIView +///1视频 +@property (nonatomic , assign) int type; +-(void)refData; +-(void)clearAll; +@end + +NS_ASSUME_NONNULL_END diff --git a/ProductApp/ProductApp/ProductMain/记录/view/JiLuImageView.m b/ProductApp/ProductApp/ProductMain/记录/view/JiLuImageView.m new file mode 100644 index 0000000..ff0ce5c --- /dev/null +++ b/ProductApp/ProductApp/ProductMain/记录/view/JiLuImageView.m @@ -0,0 +1,337 @@ +// +// JiLuImageView.m +// ProductApp +// +// Created by 工作 on 2025/4/3. +// + +#import "JiLuImageView.h" +#import "JiLuImageCollectionViewCell.h" + +#import +#import +#import "ImagesConnectManager.h" +#import "DynamicVideoViewController.h" +#import "XLPhotoBrowser.h" +#import "NomoAlterView.h" + + +@interface JiLuImageView () +/// +@property (nonatomic , strong) UICollectionView *collect; + +/// +@property (nonatomic , strong) NSMutableArray *arrdata; + +///是否有相册权限 +@property (nonatomic , assign) BOOL isxiangcequanxian; + +/// +@property (nonatomic , assign) BOOL isjujuequanxian; + + + +@end + +@implementation JiLuImageView + +-(id)initWithFrame:(CGRect)frame +{ + if(self = [super initWithFrame:frame]) + { + UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init]; + layout.minimumLineSpacing = 0; + layout.minimumInteritemSpacing = 0; + UICollectionView *collect = [[UICollectionView alloc] initWithFrame:CGRectZero collectionViewLayout:layout]; + [collect setDelegate:self]; + [collect setDataSource:self]; + [collect setShowsVerticalScrollIndicator:NO]; + [collect setBackgroundColor:[UIColor clearColor]]; + [self addSubview:collect]; + [collect mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.right.top.equalTo(self); + make.bottom.equalTo(self); + }]; + [collect registerClass:[JiLuImageCollectionViewCell class] forCellWithReuseIdentifier:@"JiLuImageCollectionViewCell"]; + [collect setEmptyDataSetDelegate:self]; + [collect setEmptyDataSetSource:self]; + _collect = collect; + + } + return self; +} + +-(void)delAction:(UIButton *)sender +{ + RecordImageModel *model = self.arrdata[sender.tag]; + PHAsset *asset = model.asset ; + + [NomoAlterView showInfo:self.type==1?@"确定要删除这个视频吗?":@"确定要删除这个图片吗?" SelectTag:^(NSInteger tag) { + if(tag==1) + { + [[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{ + // 查找set + PHFetchResult * result = [PHAsset fetchAssetsWithLocalIdentifiers:@[asset.localIdentifier] options:nil]; + + [PHAssetChangeRequest deleteAssets:result]; + } completionHandler:^(BOOL success, NSError * _Nullable error) { + if (success) { + dispatch_async(dispatch_get_main_queue(), ^{ + [self.arrdata removeObject:model]; + [self.collect reloadData]; + }); + } + }]; + } + }]; +} +-(void)clearAll +{ + if(self.arrdata.count==0)return; + [NomoAlterView showInfo:self.type==1?@"是否删除所有视频?":@"是否删除所有图片?" SelectTag:^(NSInteger tag) { + if(tag==1) + { + NSMutableArray *arrAset = [NSMutableArray new]; + for(RecordImageModel *model in self.arrdata){ + [arrAset addObject:model.asset.localIdentifier]; + } + + [[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{ + // 查找set + PHFetchResult * result = [PHAsset fetchAssetsWithLocalIdentifiers:arrAset options:nil]; + + [PHAssetChangeRequest deleteAssets:result]; + } completionHandler:^(BOOL success, NSError * _Nullable error) { + if (success) { + dispatch_async(dispatch_get_main_queue(), ^{ + [self.arrdata removeAllObjects]; + [self.collect reloadData]; + }); + } + }]; + } + }]; +} + +#pragma mark - UICollectionView +- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section +{ + return self.arrdata.count; +} +- (__kindof UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath +{ + JiLuImageCollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"JiLuImageCollectionViewCell" forIndexPath:indexPath]; + if(self.type==0) + { + [cell.btplay setHidden:YES]; + } + cell.type = self.type; + cell.model = self.arrdata[indexPath.row]; + [cell.btshanchu setTag:indexPath.row]; + [cell.btshanchu addTarget:self action:@selector(delAction:) forControlEvents:UIControlEventTouchUpInside]; + return cell; +} +//定义每个section的间距 +- (UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout insetForSectionAtIndex:(NSInteger)section{ + + return UIEdgeInsetsMake(0, 16, 0, 16); +} +//纵向cell间距 +- (CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout minimumLineSpacingForSectionAtIndex:(NSInteger)section{ + return 10; +} +//cell 间距 +- (CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout ForSectionAtIndex:(NSInteger)section{ + return 10; +} +// 定义每个UICollectionViewCell 的大小 +- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath +{ + float fw = (UISCREEN_WIDTH-42)/2.0; + return CGSizeMake(fw, fw*260/167.0); +} +-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath +{ + RecordImageModel *model = self.arrdata[indexPath.row]; + if(self.type==1) + { + [self getShowValue:model Image:^(NSMutableArray *arrValue) { + DynamicVideoViewController *vc = [[DynamicVideoViewController alloc] init]; + [vc setdataArray:arrValue index:0]; + [self.viewController.navigationController pushViewController:vc animated:NO]; + [vc show]; + }]; + } + else + { + [self getShowValue:model Image:^(NSMutableArray *arrValue) { + [XLPhotoBrowser showPhotoBrowserWithImages:arrValue currentImageIndex:0]; + }]; + } +} +///获得指定图片 或者视频链接 +-(void)getShowValue:(RecordImageModel *)model Image:(void(^)(NSMutableArray *arrValue))backValue +{ + + NSMutableArray *arrimages = [NSMutableArray new]; + if(self.type==1) + { + PHVideoRequestOptions *optionV = [[PHVideoRequestOptions alloc] init]; + [[PHImageManager defaultManager] requestAVAssetForVideo:model.asset options:optionV resultHandler:^(AVAsset * _Nullable asset, AVAudioMix * _Nullable audioMix, NSDictionary * _Nullable info) { + AVURLAsset *assettemp = (AVURLAsset *)asset; + if(assettemp.URL) + { + [arrimages addObject:assettemp.URL]; + dispatch_async(dispatch_get_main_queue(), ^{ + backValue(arrimages); + }); + } + }]; + } + else + { + if(model.imageshow) + { + [arrimages addObject:model.imageshow]; + dispatch_async(dispatch_get_main_queue(), ^{ + backValue(arrimages); + }); + + } + else + { + PHImageRequestOptions *options = [[PHImageRequestOptions alloc] init]; + options.synchronous = NO; + ///图片信息 + [[PHImageManager defaultManager] requestImageDataForAsset:model.asset options:options resultHandler:^(NSData *imageData, NSString *dataUTI, UIImageOrientation orientation, NSDictionary *info) { + if(imageData) + { + UIImage *image = [UIImage imageWithData:imageData]; + if(image) + { + [arrimages addObject:image]; + } + dispatch_async(dispatch_get_main_queue(), ^{ + backValue(arrimages); + }); + } + }]; + } + } +} +#pragma mark - DZNEmptyDataSetSource +- (NSAttributedString *)titleForEmptyDataSet:(UIScrollView *)scrollView +{ + NSString *str = @"暂无图片"; + if(self.type==1) + { + str = @"暂无视频"; + } + return [Tools arrstring:str andstart:0 andend:(int)str.length andfont:[UIFont systemFontOfSize:14] andcolor:RGBCOLOR(158, 158, 158)]; +} +- (UIImage *)imageForEmptyDataSet:(UIScrollView *)scrollView +{ + NSString *strimg = @"jl_暂无图片"; + if(self.type==1) + { + strimg = @"jl_暂无视频"; + } + return [UIImage imageNamed:strimg]; +} + +-(void)refData +{ + [self getQuanXian]; +} +///获取相册权限 +-(void)getQuanXian +{ + [PHPhotoLibrary authorizationStatus]; + if (@available(iOS 14, *)) { + [PHPhotoLibrary requestAuthorizationForAccessLevel:PHAccessLevelAddOnly&PHAccessLevelReadWrite handler:^(PHAuthorizationStatus status) { + if(status == PHAuthorizationStatusLimited) + {///部分权限 + self.isjujuequanxian = NO; + if(self.isxiangcequanxian==NO) + { + self.isxiangcequanxian = YES; + } + [self getdata]; + } + else + { + [self quanXianState:status]; + } + + }]; + } else { + [PHPhotoLibrary requestAuthorization:^(PHAuthorizationStatus status) { + [self quanXianState:status]; + }]; + } +} +-(void)quanXianState:(PHAuthorizationStatus)status +{ + dispatch_async(dispatch_get_main_queue(), ^{ + switch (status) { + case PHAuthorizationStatusAuthorized: + {//有权限 + self.isjujuequanxian = NO; + if(self.isxiangcequanxian==NO) + { + self.isxiangcequanxian = YES; + } + [self getdata]; + } + break; + case PHAuthorizationStatusDenied: + { + self.isxiangcequanxian = NO; + self.isjujuequanxian = YES; + self.arrdata = [NSMutableArray new]; + [self.collect reloadData]; + } + break; + default: + { + self.isxiangcequanxian = NO; + self.arrdata = [NSMutableArray new]; + [self.collect reloadData]; + } + break; + } + }); +} +///获取所有的图片和视频 +-(void)getdata +{ + [ImagesConnectManager getAllXCImages:^(NSMutableArray * _Nonnull arr) { + NSMutableArray *arrData = [NSMutableArray new]; + for(PHAsset *asset in arr) + { + if(self.type == 0) + { + if(asset.mediaType == PHAssetMediaTypeImage) + { + RecordImageModel *model = [RecordImageModel new]; + model.asset = asset; + [arrData addObject:model]; + } + } + else + { + if(asset.mediaType == PHAssetMediaTypeVideo) + { + RecordImageModel *model = [RecordImageModel new]; + model.asset = asset; + [arrData addObject:model]; + } + } + } + self.arrdata = arrData; + dispatch_async(dispatch_get_main_queue(), ^{ + [self.collect reloadData]; + }); + }]; +} +@end diff --git a/ProductApp/ProductApp/ProductMain/ShouYe/视频转音频/记录/播放音频/JiLuAudioPlayView.h b/ProductApp/ProductApp/ProductMain/记录/播放音频/JiLuAudioPlayView.h similarity index 100% rename from ProductApp/ProductApp/ProductMain/ShouYe/视频转音频/记录/播放音频/JiLuAudioPlayView.h rename to ProductApp/ProductApp/ProductMain/记录/播放音频/JiLuAudioPlayView.h diff --git a/ProductApp/ProductApp/ProductMain/ShouYe/视频转音频/记录/播放音频/JiLuAudioPlayView.m b/ProductApp/ProductApp/ProductMain/记录/播放音频/JiLuAudioPlayView.m similarity index 95% rename from ProductApp/ProductApp/ProductMain/ShouYe/视频转音频/记录/播放音频/JiLuAudioPlayView.m rename to ProductApp/ProductApp/ProductMain/记录/播放音频/JiLuAudioPlayView.m index 7aca05b..cc1aac3 100644 --- a/ProductApp/ProductApp/ProductMain/ShouYe/视频转音频/记录/播放音频/JiLuAudioPlayView.m +++ b/ProductApp/ProductApp/ProductMain/记录/播放音频/JiLuAudioPlayView.m @@ -41,7 +41,7 @@ static void *VideoStatusObservationContext = &VideoStatusObservationContext; UIImageView *imgvback = [[UIImageView alloc] init]; - [imgvback setImage:[UIImage imageNamed:@"audio_play_log"]]; + [imgvback setImage:[UIImage imageNamed:@"gib_tide_oediv"]]; [imgvback setContentMode:UIViewContentModeScaleAspectFit]; [self addSubview:imgvback]; [imgvback mas_makeConstraints:^(MASConstraintMaker *make) { @@ -76,7 +76,7 @@ static void *VideoStatusObservationContext = &VideoStatusObservationContext; [btzf setTitle:@"转发" forState:UIControlStateNormal]; [btzf setTitleColor:RGBACOLOR(255, 255, 255, 0.5) forState:UIControlStateNormal]; [btzf.titleLabel setFont:[UIFont systemFontOfSize:12]]; - [btzf setImage:[UIImage imageNamed:@"audio_play_zf"] forState:UIControlStateNormal]; + [btzf setImage:[UIImage imageNamed:@"neercslluf_noci_reyalp"] forState:UIControlStateNormal]; [self addSubview:btzf]; [btzf mas_makeConstraints:^(MASConstraintMaker *make) { make.width.offset(50); @@ -91,7 +91,7 @@ static void *VideoStatusObservationContext = &VideoStatusObservationContext; [btsc setTitle:@"删除" forState:UIControlStateNormal]; [btsc setTitleColor:RGBACOLOR(255, 255, 255, 0.5) forState:UIControlStateNormal]; [btsc.titleLabel setFont:[UIFont systemFontOfSize:12]]; - [btsc setImage:[UIImage imageNamed:@"audio_play_sc"] forState:UIControlStateNormal]; + [btsc setImage:[UIImage imageNamed:@"片图_tideegami"] forState:UIControlStateNormal]; [self addSubview:btsc]; [btsc mas_makeConstraints:^(MASConstraintMaker *make) { make.width.height.bottom.equalTo(btzf); @@ -107,8 +107,8 @@ static void *VideoStatusObservationContext = &VideoStatusObservationContext; -(void)drawBottomView:(UIView *)view { UIButton *btplay = [[UIButton alloc] init]; - [btplay setImage:[UIImage imageNamed:@"audio_play_Y"] forState:UIControlStateNormal]; - [btplay setImage:[UIImage imageNamed:@"audio_play_N"] forState:UIControlStateSelected]; + [btplay setImage:[UIImage imageNamed:@"离分频视_yq_xzyh"] forState:UIControlStateNormal]; + [btplay setImage:[UIImage imageNamed:@"omondaeh_ym"] forState:UIControlStateSelected]; [view addSubview:btplay]; [btplay mas_makeConstraints:^(MASConstraintMaker *make) { make.left.offset(10); @@ -146,7 +146,7 @@ static void *VideoStatusObservationContext = &VideoStatusObservationContext; UISlider *slider = [[UISlider alloc] init]; slider.minimumValue = 0.0; slider.maximumValue = 1.0; - [slider setThumbImage:[UIImage imageNamed:@"sliderThumb"] forState:UIControlStateNormal]; + [slider setThumbImage:[UIImage imageNamed:@"thgin_ssenthgirb_wen_yalp"] forState:UIControlStateNormal]; slider.minimumTrackTintColor = RGBCOLOR(252, 79, 84); slider.maximumTrackTintColor = RGBACOLOR(255, 255, 255, 0.5); slider.backgroundColor = [UIColor clearColor]; diff --git a/ProductApp/ProductApp/ProductMain/记录/播放音频/JiLuAudioPlayViewOModel.swift b/ProductApp/ProductApp/ProductMain/记录/播放音频/JiLuAudioPlayViewOModel.swift new file mode 100644 index 0000000..9d8760c --- /dev/null +++ b/ProductApp/ProductApp/ProductMain/记录/播放音频/JiLuAudioPlayViewOModel.swift @@ -0,0 +1,33 @@ +import UIKit + +open class JiLuAudioPlayViewOModel: NSObject { + open var abortionsHedgebird1: CGFloat = 9241.9248 + open var abortionsHedgebird2: CGFloat = 9242.9244 + open var abortionsHedgebird3: CGFloat = 9243.924 + + + @MainActor @objc +open func enstatiticHourful() { + let hedgebirdProstemmaticA = "" + let hedgebirdProstemmaticB = 2.5 + let array: [Any] = ["1", hedgebirdProstemmaticA, 3, hedgebirdProstemmaticB, abortionsHedgebird1, abortionsHedgebird3] + let hedgebirdProstemmaticArray = array.filter { + $0 is String + } + print(hedgebirdProstemmaticArray[0]) + +} + + @MainActor @objc +open func ragusaCarcinogenics() { + // + let hedgebirdProstemmatic1 = (Double(abortionsHedgebird1) ?? 0) + (Double(abortionsHedgebird2) ?? 0) + (Double(abortionsHedgebird3) ?? 0) + let hedgebirdProstemmatic2 = (Double(abortionsHedgebird1) ?? 0) - (Double(abortionsHedgebird2) ?? 0) - (Double(abortionsHedgebird3) ?? 0) + var hedgebirdProstemmatic3 = hedgebirdProstemmatic1 + hedgebirdProstemmatic2 + hedgebirdProstemmatic3 += hedgebirdProstemmatic3 + _ = hedgebirdProstemmatic3 + hedgebirdProstemmatic2 + hedgebirdProstemmatic1 + // + enstatiticHourful() +} + +} \ No newline at end of file diff --git a/ProductApp/ProductApp/log_tmc.png b/ProductApp/ProductApp/log_tmc.png deleted file mode 100644 index 8c6243b..0000000 Binary files a/ProductApp/ProductApp/log_tmc.png and /dev/null differ