From 8e142ebca715949ee06d7a98f969ce3ce6bf159d Mon Sep 17 00:00:00 2001 From: HiBit <> Date: Mon, 24 Nov 2025 16:49:59 +0800 Subject: [PATCH] =?UTF-8?q?1=E5=88=97=E8=A1=A8=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SynthReel.xcodeproj/project.pbxproj | 96 +++++++++--- SynthReel/Base/API/SRHomeApi.swift | 30 ++++ .../Class/Home/VC/SRHomeViewController.swift | 1 - .../Class/MyShort/V/SRFavoritesCell.swift | 94 ++++++++++++ SynthReel/Class/MyShort/V/SRHistoryCell.swift | 107 +++++++++++++ .../Class/MyShort/V/SRListMenuCell.swift | 58 +++++++ .../Class/MyShort/V/SRShortHeaderView.swift | 70 +++++++++ .../VC/SRFavoritesViewController.swift | 135 +++++++++++++++++ .../MyShort/VC/SRHistoryViewController.swift | 123 +++++++++++++++ .../MyShort/VC/SRMyShortViewController.swift | 141 +++++++++++++++++- .../MyShort/VM/SRListMenuDataSource.swift | 34 +++++ .../VC/SRDetailPlayerViewController.swift | 5 + .../VC/SRRecommendPlayerViewController.swift | 6 +- .../Class/User/VC/SRUserViewController.swift | 20 +++ .../Color/#C4C4C4.colorset/Contents.json | 38 +++++ .../historyBottom.imageset/Contents.json | 22 +++ .../historyBottom@2x.png | Bin 0 -> 656 bytes .../historyBottom@3x.png | Bin 0 -> 855 bytes .../Assets.xcassets/myShort/Contents.json | 6 + .../myShort/Favorite.imageset/Contents.json | 22 +++ .../myShort/Favorite.imageset/Favorite@2x.png | Bin 0 -> 7050 bytes .../myShort/Favorite.imageset/Favorite@3x.png | Bin 0 -> 12419 bytes .../FavoritesSeleted.imageset/Contents.json | 22 +++ .../FavoritesSeleted@2x.png | Bin 0 -> 6834 bytes .../FavoritesSeleted@3x.png | Bin 0 -> 12112 bytes .../myShort/history.imageset/Contents.json | 22 +++ .../myShort/history.imageset/history@2x.png | Bin 0 -> 7415 bytes .../myShort/history.imageset/history@3x.png | Bin 0 -> 12775 bytes .../historyCell.imageset/Contents.json | 22 +++ .../historyCell.imageset/historyCell@2x.png | Bin 0 -> 2671 bytes .../historyCell.imageset/historyCell@3x.png | Bin 0 -> 4044 bytes .../historySeleted.imageset/Contents.json | 22 +++ .../historySeleted@2x.png | Bin 0 -> 7178 bytes .../historySeleted@3x.png | Bin 0 -> 12453 bytes .../myShort/listNavBg.imageset/Contents.json | 22 +++ .../listNavBg.imageset/listNavBg@2x.png | Bin 0 -> 7627 bytes .../listNavBg.imageset/listNavBg@3x.png | Bin 0 -> 15457 bytes .../myShort/收藏.imageset/Contents.json | 22 +++ .../myShort/收藏.imageset/收藏@2x.png | Bin 0 -> 5548 bytes .../myShort/收藏.imageset/收藏@3x.png | Bin 0 -> 10822 bytes .../myShort/闪光 1.imageset/Contents.json | 22 +++ .../myShort/闪光 1.imageset/闪光 1@2x.png | Bin 0 -> 3337 bytes .../myShort/闪光 1.imageset/闪光 1@3x.png | Bin 0 -> 6486 bytes 43 files changed, 1132 insertions(+), 30 deletions(-) create mode 100644 SynthReel/Class/MyShort/V/SRFavoritesCell.swift create mode 100644 SynthReel/Class/MyShort/V/SRHistoryCell.swift create mode 100644 SynthReel/Class/MyShort/V/SRListMenuCell.swift create mode 100644 SynthReel/Class/MyShort/V/SRShortHeaderView.swift create mode 100644 SynthReel/Class/MyShort/VC/SRFavoritesViewController.swift create mode 100644 SynthReel/Class/MyShort/VC/SRHistoryViewController.swift create mode 100644 SynthReel/Class/MyShort/VM/SRListMenuDataSource.swift create mode 100644 SynthReel/Class/User/VC/SRUserViewController.swift create mode 100644 SynthReel/Source/Assets.xcassets/Color/#C4C4C4.colorset/Contents.json create mode 100644 SynthReel/Source/Assets.xcassets/Image/historyBottom.imageset/Contents.json create mode 100644 SynthReel/Source/Assets.xcassets/Image/historyBottom.imageset/historyBottom@2x.png create mode 100644 SynthReel/Source/Assets.xcassets/Image/historyBottom.imageset/historyBottom@3x.png create mode 100644 SynthReel/Source/Assets.xcassets/myShort/Contents.json create mode 100644 SynthReel/Source/Assets.xcassets/myShort/Favorite.imageset/Contents.json create mode 100644 SynthReel/Source/Assets.xcassets/myShort/Favorite.imageset/Favorite@2x.png create mode 100644 SynthReel/Source/Assets.xcassets/myShort/Favorite.imageset/Favorite@3x.png create mode 100644 SynthReel/Source/Assets.xcassets/myShort/FavoritesSeleted.imageset/Contents.json create mode 100644 SynthReel/Source/Assets.xcassets/myShort/FavoritesSeleted.imageset/FavoritesSeleted@2x.png create mode 100644 SynthReel/Source/Assets.xcassets/myShort/FavoritesSeleted.imageset/FavoritesSeleted@3x.png create mode 100644 SynthReel/Source/Assets.xcassets/myShort/history.imageset/Contents.json create mode 100644 SynthReel/Source/Assets.xcassets/myShort/history.imageset/history@2x.png create mode 100644 SynthReel/Source/Assets.xcassets/myShort/history.imageset/history@3x.png create mode 100644 SynthReel/Source/Assets.xcassets/myShort/historyCell.imageset/Contents.json create mode 100644 SynthReel/Source/Assets.xcassets/myShort/historyCell.imageset/historyCell@2x.png create mode 100644 SynthReel/Source/Assets.xcassets/myShort/historyCell.imageset/historyCell@3x.png create mode 100644 SynthReel/Source/Assets.xcassets/myShort/historySeleted.imageset/Contents.json create mode 100644 SynthReel/Source/Assets.xcassets/myShort/historySeleted.imageset/historySeleted@2x.png create mode 100644 SynthReel/Source/Assets.xcassets/myShort/historySeleted.imageset/historySeleted@3x.png create mode 100644 SynthReel/Source/Assets.xcassets/myShort/listNavBg.imageset/Contents.json create mode 100644 SynthReel/Source/Assets.xcassets/myShort/listNavBg.imageset/listNavBg@2x.png create mode 100644 SynthReel/Source/Assets.xcassets/myShort/listNavBg.imageset/listNavBg@3x.png create mode 100644 SynthReel/Source/Assets.xcassets/myShort/收藏.imageset/Contents.json create mode 100644 SynthReel/Source/Assets.xcassets/myShort/收藏.imageset/收藏@2x.png create mode 100644 SynthReel/Source/Assets.xcassets/myShort/收藏.imageset/收藏@3x.png create mode 100644 SynthReel/Source/Assets.xcassets/myShort/闪光 1.imageset/Contents.json create mode 100644 SynthReel/Source/Assets.xcassets/myShort/闪光 1.imageset/闪光 1@2x.png create mode 100644 SynthReel/Source/Assets.xcassets/myShort/闪光 1.imageset/闪光 1@3x.png diff --git a/SynthReel.xcodeproj/project.pbxproj b/SynthReel.xcodeproj/project.pbxproj index 57e8af3..50c4aae 100644 --- a/SynthReel.xcodeproj/project.pbxproj +++ b/SynthReel.xcodeproj/project.pbxproj @@ -101,6 +101,14 @@ 03E9A7F82EC4AA54000D1067 /* SRUserDefaultsKey.swift in Sources */ = {isa = PBXBuildFile; fileRef = 03E9A7F72EC4AA4F000D1067 /* SRUserDefaultsKey.swift */; }; 03E9A7FA2EC56D03000D1067 /* String+SRAdd.swift in Sources */ = {isa = PBXBuildFile; fileRef = 03E9A7F92EC56CFC000D1067 /* String+SRAdd.swift */; }; 03E9A7FD2EC57658000D1067 /* SRUserApi.swift in Sources */ = {isa = PBXBuildFile; fileRef = 03E9A7FC2EC5763B000D1067 /* SRUserApi.swift */; }; + 370D2EF72ED000C400571E77 /* SRFavoritesViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 370D2EF62ED000C400571E77 /* SRFavoritesViewController.swift */; }; + 370D2EF92ED000D200571E77 /* SRHistoryViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 370D2EF82ED000D200571E77 /* SRHistoryViewController.swift */; }; + 370D2F052ED3FEE700571E77 /* SRHistoryCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 370D2F042ED3FEE700571E77 /* SRHistoryCell.swift */; }; + 370D2F072ED3FEFA00571E77 /* SRFavoritesCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 370D2F062ED3FEFA00571E77 /* SRFavoritesCell.swift */; }; + 370D2F092ED44A6D00571E77 /* SRListMenuCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 370D2F082ED44A6D00571E77 /* SRListMenuCell.swift */; }; + 370D2F0C2ED44ACB00571E77 /* SRListMenuDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 370D2F0B2ED44ACB00571E77 /* SRListMenuDataSource.swift */; }; + 370D2F102ED4534500571E77 /* SRUserViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 370D2F0F2ED4534500571E77 /* SRUserViewController.swift */; }; + 3779D0612ECF1CB8006B1698 /* SRShortHeaderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3779D0602ECF1CB8006B1698 /* SRShortHeaderView.swift */; }; 47BB39E2DD30787FA591F8EB /* Pods_SynthReel.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F9255BF4D4B1CFDDB5CFFB43 /* Pods_SynthReel.framework */; }; /* End PBXBuildFile section */ @@ -200,6 +208,14 @@ 03E9A7F72EC4AA4F000D1067 /* SRUserDefaultsKey.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SRUserDefaultsKey.swift; sourceTree = ""; }; 03E9A7F92EC56CFC000D1067 /* String+SRAdd.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+SRAdd.swift"; sourceTree = ""; }; 03E9A7FC2EC5763B000D1067 /* SRUserApi.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SRUserApi.swift; sourceTree = ""; }; + 370D2EF62ED000C400571E77 /* SRFavoritesViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SRFavoritesViewController.swift; sourceTree = ""; }; + 370D2EF82ED000D200571E77 /* SRHistoryViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SRHistoryViewController.swift; sourceTree = ""; }; + 370D2F042ED3FEE700571E77 /* SRHistoryCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SRHistoryCell.swift; sourceTree = ""; }; + 370D2F062ED3FEFA00571E77 /* SRFavoritesCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SRFavoritesCell.swift; sourceTree = ""; }; + 370D2F082ED44A6D00571E77 /* SRListMenuCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SRListMenuCell.swift; sourceTree = ""; }; + 370D2F0B2ED44ACB00571E77 /* SRListMenuDataSource.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SRListMenuDataSource.swift; sourceTree = ""; }; + 370D2F0F2ED4534500571E77 /* SRUserViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SRUserViewController.swift; sourceTree = ""; }; + 3779D0602ECF1CB8006B1698 /* SRShortHeaderView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SRShortHeaderView.swift; sourceTree = ""; }; 59DC746604B26E9FF802D317 /* Pods-SynthReel.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SynthReel.debug.xcconfig"; path = "Target Support Files/Pods-SynthReel/Pods-SynthReel.debug.xcconfig"; sourceTree = ""; }; AA88214030574193B51DE563 /* Pods-SynthReel.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SynthReel.release.xcconfig"; path = "Target Support Files/Pods-SynthReel/Pods-SynthReel.release.xcconfig"; sourceTree = ""; }; F9255BF4D4B1CFDDB5CFFB43 /* Pods_SynthReel.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_SynthReel.framework; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -222,9 +238,9 @@ 03980F542ECEEC990006E317 /* MyShort */ = { isa = PBXGroup; children = ( + 370D2F0A2ED44AAC00571E77 /* VM */, + 3779D05F2ECF1C8D006B1698 /* V */, 03980F552ECEECB30006E317 /* VC */, - 03980F562ECEECBC0006E317 /* V */, - 03980F572ECEECCC0006E317 /* M */, ); path = MyShort; sourceTree = ""; @@ -233,24 +249,12 @@ isa = PBXGroup; children = ( 03980F582ECEED190006E317 /* SRMyShortViewController.swift */, + 370D2EF62ED000C400571E77 /* SRFavoritesViewController.swift */, + 370D2EF82ED000D200571E77 /* SRHistoryViewController.swift */, ); path = VC; sourceTree = ""; }; - 03980F562ECEECBC0006E317 /* V */ = { - isa = PBXGroup; - children = ( - ); - path = V; - sourceTree = ""; - }; - 03980F572ECEECCC0006E317 /* M */ = { - isa = PBXGroup; - children = ( - ); - path = M; - sourceTree = ""; - }; 03B1A8372EC5C8BF006C353F /* SRHud */ = { isa = PBXGroup; children = ( @@ -494,6 +498,7 @@ 03E9A7D32EC4720F000D1067 /* Class */ = { isa = PBXGroup; children = ( + 370D2F0D2ED4532100571E77 /* User */, 03980F542ECEEC990006E317 /* MyShort */, 03B1A84E2EC5DB13006C353F /* Home */, 03B1A8EA2EC72BFB006C353F /* Player */, @@ -578,6 +583,41 @@ path = API; sourceTree = ""; }; + 370D2F0A2ED44AAC00571E77 /* VM */ = { + isa = PBXGroup; + children = ( + 370D2F0B2ED44ACB00571E77 /* SRListMenuDataSource.swift */, + ); + path = VM; + sourceTree = ""; + }; + 370D2F0D2ED4532100571E77 /* User */ = { + isa = PBXGroup; + children = ( + 370D2F0E2ED4532A00571E77 /* VC */, + ); + path = User; + sourceTree = ""; + }; + 370D2F0E2ED4532A00571E77 /* VC */ = { + isa = PBXGroup; + children = ( + 370D2F0F2ED4534500571E77 /* SRUserViewController.swift */, + ); + path = VC; + sourceTree = ""; + }; + 3779D05F2ECF1C8D006B1698 /* V */ = { + isa = PBXGroup; + children = ( + 3779D0602ECF1CB8006B1698 /* SRShortHeaderView.swift */, + 370D2F042ED3FEE700571E77 /* SRHistoryCell.swift */, + 370D2F062ED3FEFA00571E77 /* SRFavoritesCell.swift */, + 370D2F082ED44A6D00571E77 /* SRListMenuCell.swift */, + ); + path = V; + sourceTree = ""; + }; 8CAFCEC2C631CAE75726D90C /* Pods */ = { isa = PBXGroup; children = ( @@ -680,14 +720,10 @@ inputFileListPaths = ( "${PODS_ROOT}/Target Support Files/Pods-SynthReel/Pods-SynthReel-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - inputPaths = ( - ); name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( "${PODS_ROOT}/Target Support Files/Pods-SynthReel/Pods-SynthReel-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); - outputPaths = ( - ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-SynthReel/Pods-SynthReel-frameworks.sh\"\n"; @@ -732,6 +768,7 @@ 03B1A8452EC5CBBB006C353F /* SRNavigationController.swift in Sources */, 03B1A9092ECAAF55006C353F /* SRHomeTopChartsView.swift in Sources */, 03E9A7E42EC49593000D1067 /* SRUrlPath.swift in Sources */, + 370D2EF92ED000D200571E77 /* SRHistoryViewController.swift in Sources */, 03B1A9462ECC5679006C353F /* SRSearchResultCell.swift in Sources */, 03B1A9502ECEB4E6006C353F /* SRRecommendPlayerViewController.swift in Sources */, 03B1A83E2EC5C91E006C353F /* SRTool.swift in Sources */, @@ -739,6 +776,8 @@ 03B1A8FD2EC81C62006C353F /* SRHomeBannerCell.swift in Sources */, 03E9A7DB2EC485BE000D1067 /* SRNetwork.swift in Sources */, 03E9A7F42EC4A94D000D1067 /* SRAccountToken.swift in Sources */, + 370D2EF72ED000C400571E77 /* SRFavoritesViewController.swift in Sources */, + 370D2F072ED3FEFA00571E77 /* SRFavoritesCell.swift in Sources */, 03B1A8E72EC7175D006C353F /* SRCategoryModel.swift in Sources */, 03B1A94A2ECC79AB006C353F /* SREpSelectorView.swift in Sources */, 03B1A94E2ECD604B006C353F /* SREpSelectorCell.swift in Sources */, @@ -754,6 +793,7 @@ 03B1A8392EC5C8D6006C353F /* SRHud.swift in Sources */, 03E9A7EC2EC499A9000D1067 /* SRDeviceId.swift in Sources */, 03E9A7E22EC494F9000D1067 /* SRTargetType.swift in Sources */, + 370D2F092ED44A6D00571E77 /* SRListMenuCell.swift in Sources */, 03980F532ECEDEAB0006E317 /* SRRecommendPlayerControlView.swift in Sources */, 03B1A90F2ECAC768006C353F /* SRHomeBingeWorthyView.swift in Sources */, 03B1A9072EC86656006C353F /* SRGradientView.swift in Sources */, @@ -761,6 +801,7 @@ 03B1A8402EC5CA37006C353F /* AppDelegate+Config.swift in Sources */, 03B1A9152ECAEE63006C353F /* SRHomeViralHitsCell.swift in Sources */, 03B1A8472EC5CBCF006C353F /* SRViewController.swift in Sources */, + 370D2F052ED3FEE700571E77 /* SRHistoryCell.swift in Sources */, 03B1A9032EC8555B006C353F /* SRHomeYouLikeView.swift in Sources */, 03B1A9362ECC1D1D006C353F /* SRSearchRecordView.swift in Sources */, 03B1A8D82EC6D051006C353F /* SRCollectionView.swift in Sources */, @@ -773,6 +814,7 @@ 03B1A8432EC5CB99006C353F /* SRTabBarController.swift in Sources */, 03B1A8EF2EC72C78006C353F /* SRShortModel.swift in Sources */, 03B1A8ED2EC72C1F006C353F /* SRHomeModuleItem.swift in Sources */, + 370D2F102ED4534500571E77 /* SRUserViewController.swift in Sources */, 03B1A9112ECAC927006C353F /* SRHomeBingeWorthyCell.swift in Sources */, 03E9A7F22EC4A8F6000D1067 /* UserDefaults+SRAdd.swift in Sources */, 03B1A93A2ECC3F54006C353F /* SRSearchViewModel.swift in Sources */, @@ -783,6 +825,7 @@ 03980F592ECEED190006E317 /* SRMyShortViewController.swift in Sources */, 03B1A92A2ECC0738006C353F /* SRShortApi.swift in Sources */, 03B1A90B2ECAB2EA006C353F /* SRHomeTopChartsContentView.swift in Sources */, + 370D2F0C2ED44ACB00571E77 /* SRListMenuDataSource.swift in Sources */, 03B1A94C2ECC7A2D006C353F /* SRPanModalContentView.swift in Sources */, 03B1A9052EC857B3006C353F /* SRHomeYouLikeCell.swift in Sources */, 03B1A92E2ECC0D7E006C353F /* SRShortDetailControlView.swift in Sources */, @@ -800,6 +843,7 @@ 03B1A9132ECAED04006C353F /* SRHomeViralHitsView.swift in Sources */, 03B1A8DC2EC6D0EB006C353F /* SRHomeChildCell.swift in Sources */, 03B1A8552EC5E434006C353F /* UIFont+SRAdd.swift in Sources */, + 3779D0612ECF1CB8006B1698 /* SRShortHeaderView.swift in Sources */, 03980F512ECEBEE20006E317 /* SRRecommendPlayerCell.swift in Sources */, 03B1A91B2ECAFFD6006C353F /* UIView+SRAdd.swift in Sources */, 03B1A9222ECB456C006C353F /* SRDetailPlayerViewController.swift in Sources */, @@ -841,9 +885,10 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_TEAM = 6XALB8RSYF; + DEVELOPMENT_TEAM = 6RZK7QBQQ7; EXCLUDED_ARCHS = ""; "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64; GENERATE_INFOPLIST_FILE = YES; @@ -861,9 +906,12 @@ MARKETING_VERSION = 1.0; PRODUCT_BUNDLE_IDENTIFIER = com.hbqinjiu.SynthReel; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; STRING_CATALOG_GENERATE_SYMBOLS = YES; SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; SUPPORTS_MACCATALYST = NO; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; + SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO; SWIFT_APPROACHABLE_CONCURRENCY = YES; SWIFT_DEFAULT_ACTOR_ISOLATION = MainActor; SWIFT_EMIT_LOC_STRINGS = YES; @@ -880,9 +928,10 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_TEAM = 6XALB8RSYF; + DEVELOPMENT_TEAM = 6RZK7QBQQ7; GENERATE_INFOPLIST_FILE = YES; INFOPLIST_FILE = SynthReel/Source/Info.plist; INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; @@ -898,9 +947,12 @@ MARKETING_VERSION = 1.0; PRODUCT_BUNDLE_IDENTIFIER = com.hbqinjiu.SynthReel; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; STRING_CATALOG_GENERATE_SYMBOLS = YES; SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; SUPPORTS_MACCATALYST = NO; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; + SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO; SWIFT_APPROACHABLE_CONCURRENCY = YES; SWIFT_DEFAULT_ACTOR_ISOLATION = MainActor; SWIFT_EMIT_LOC_STRINGS = YES; diff --git a/SynthReel/Base/API/SRHomeApi.swift b/SynthReel/Base/API/SRHomeApi.swift index b70aeff..53e1187 100644 --- a/SynthReel/Base/API/SRHomeApi.swift +++ b/SynthReel/Base/API/SRHomeApi.swift @@ -89,4 +89,34 @@ struct SRHomeApi { } } + static func requestHistoryData(page: Int) async -> [SRShortModel]? { + await withCheckedContinuation { continuation in + var param = SRNetwork.Parameters(path: "/myHistorys") + param.method = .get + param.parameters = [ + "page_size" : 20, + "current_page" : page + ] + + SRNetwork.request(parameters: param) { (response: SRNetwork.Response>) in + continuation.resume(returning: response.data?.list) + } + } + } + + static func requestFavoritesData(page: Int) async -> [SRShortModel]? { + await withCheckedContinuation { continuation in + var param = SRNetwork.Parameters(path: "/myCollections") + param.method = .get + param.parameters = [ + "page_size" : 20, + "current_page" : page + ] + + SRNetwork.request(parameters: param) { (response: SRNetwork.Response>) in + continuation.resume(returning: response.data?.list) + } + } + } + } diff --git a/SynthReel/Class/Home/VC/SRHomeViewController.swift b/SynthReel/Class/Home/VC/SRHomeViewController.swift index a14df19..7b9c349 100644 --- a/SynthReel/Class/Home/VC/SRHomeViewController.swift +++ b/SynthReel/Class/Home/VC/SRHomeViewController.swift @@ -110,7 +110,6 @@ class SRHomeViewController: SRViewController { return view }() - @MainActor deinit { srPrint(message: "销毁") } diff --git a/SynthReel/Class/MyShort/V/SRFavoritesCell.swift b/SynthReel/Class/MyShort/V/SRFavoritesCell.swift new file mode 100644 index 0000000..7a821db --- /dev/null +++ b/SynthReel/Class/MyShort/V/SRFavoritesCell.swift @@ -0,0 +1,94 @@ +// +// SRFavoritesCell.swift +// SynthReel +// +// Created by CSGY on 2025/11/24. +// Copyright © 2025 SR. All rights reserved. +// + +import UIKit + +class SRFavoritesCell: UICollectionViewCell { + + var model: SRShortModel? { + didSet{ + coverImageView.sr_setImage(model?.image_url) + collectButton.isSelected = true + } + } + + var onCollectChanged: ((SRFavoritesCell) -> Void)? + + lazy var bgImageView = UIImageView(image: UIImage(named: "historyCell")) + + lazy var coverImageView: SRImageView = { + let imageView = SRImageView() + imageView.layer.cornerRadius = 14 + imageView.layer.masksToBounds = true + return imageView + }() + + lazy var collectButton: UIButton = { + let button = UIButton(type: .custom, primaryAction: UIAction(handler: { [weak self] _ in + guard let self = self else { return } + guard let shortId = model?.short_play_id else { return } + let videoId = (self.model)?.short_play_video_id + let isCollect = false + +// Task { +// await SRShortApi.requestShortCollect(shortId: shortId, videoId: videoId, isCollect: isCollect) +// } + Task { + let success = await SRShortApi.requestShortCollect( + shortId: shortId, + videoId: videoId, + isCollect: isCollect + ) + + if success { + self.onCollectChanged?(self) + } else { + print("收藏失败") + } + } + })) + button.setImage(UIImage(named: "collect_icon_01_selected"), for: .normal) + button.setImage(UIImage(named: "collect_icon_01_selected"), for: .selected) + button.setImage(UIImage(named: "collect_icon_01_selected"), for: [.selected, .highlighted]) + return button + }() + + override init(frame: CGRect) { + super.init(frame: frame) + + sr_setupUI() + } + + required init?(coder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } +} + +extension SRFavoritesCell { + + private func sr_setupUI() { + contentView.addSubview(coverImageView) + contentView.addSubview(bgImageView) + contentView.addSubview(collectButton) + + bgImageView.snp.makeConstraints { make in + make.edges.equalToSuperview() + } + + coverImageView.snp.makeConstraints { make in + make.edges.equalToSuperview() + } + + collectButton.snp.makeConstraints { make in + make.right.bottom.equalTo(-7); + make.size.equalTo(CGSizeMake(28, 28)) + } + + } + +} diff --git a/SynthReel/Class/MyShort/V/SRHistoryCell.swift b/SynthReel/Class/MyShort/V/SRHistoryCell.swift new file mode 100644 index 0000000..b973ed7 --- /dev/null +++ b/SynthReel/Class/MyShort/V/SRHistoryCell.swift @@ -0,0 +1,107 @@ +// +// SRHistoryCell.swift +// SynthReel +// +// Created by CSGY on 2025/11/24. +// Copyright © 2025 SR. All rights reserved. +// + +import UIKit + +class SRHistoryCell: UICollectionViewCell { + + var model: SRShortModel? { + didSet{ + coverImageView.sr_setImage(model?.image_url) + let text = String(format: "EP. %@ / EP. %d", model?.current_episode ?? "0", model?.episode_total ?? 0) + setEpisodeText(text) + } + } + + lazy var bgImageView = UIImageView(image: UIImage(named: "historyCell")) + + lazy var bottomImageView = UIImageView(image: UIImage(named: "historyBottom")) + + lazy var coverImageView: SRImageView = { + let imageView = SRImageView() + imageView.layer.cornerRadius = 14 + imageView.layer.masksToBounds = true + return imageView + }() + + lazy var titleLable : UILabel = { + let label = UILabel() + label.textColor = .white + label.font = .systemFont(ofSize: 12) + label.textAlignment = .center + return label + }() + + + + override init(frame: CGRect) { + super.init(frame: frame) + + sr_setupUI() + } + + required init?(coder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } + + func setEpisodeText(_ text: String) { + let full = text as NSString + + let parts = text.components(separatedBy: " / ") + guard parts.count == 2 else { + titleLable.text = text + return + } + + let front = parts[0] + " " + let frontLen = (front as NSString).length + let fullLen = full.length + + let attr = NSMutableAttributedString(string: text) + + // 前段(白色) + attr.yy_setColor(.white, range: NSRange(location: 0, length: frontLen)) + attr.yy_setFont(.systemFont(ofSize: 12), range: NSRange(location: 0, length: frontLen)) + + // 后段(灰色) + attr.yy_setColor(UIColor.C_4_C_4_C_4, range: NSRange(location: frontLen, length: fullLen - frontLen)) + attr.yy_setFont(.systemFont(ofSize: 12), range: NSRange(location: frontLen, length: fullLen - frontLen)) + + titleLable.attributedText = attr + } +} + +extension SRHistoryCell { + + private func sr_setupUI() { + contentView.addSubview(coverImageView) + contentView.addSubview(bgImageView) + coverImageView.addSubview(bottomImageView) + bottomImageView.addSubview(titleLable) + + bgImageView.snp.makeConstraints { make in + make.edges.equalToSuperview() + } + + coverImageView.snp.makeConstraints { make in + make.edges.equalToSuperview() + } + + bottomImageView.snp.makeConstraints { make in + make.left.right.bottom.equalToSuperview() + make.height.equalTo(27); + } + + titleLable.snp.makeConstraints { make in + make.edges.equalToSuperview() + } + + } + +} + diff --git a/SynthReel/Class/MyShort/V/SRListMenuCell.swift b/SynthReel/Class/MyShort/V/SRListMenuCell.swift new file mode 100644 index 0000000..a9ceeb6 --- /dev/null +++ b/SynthReel/Class/MyShort/V/SRListMenuCell.swift @@ -0,0 +1,58 @@ +// +// SRListMenuCell.swift +// SynthReel +// +// Created by CSGY on 2025/11/24. +// Copyright © 2025 SR. All rights reserved. +// + +import UIKit +import JXSegmentedView +import SnapKit + +class SRListMenuCell: JXSegmentedTitleCell/*JXSegmentedTitleCell*/ { + + + lazy var bgImageView: UIImageView = { + let imageView = UIImageView() + return imageView + }() + + + override func commonInit() { + super.commonInit() + + self.contentView.addSubview(bgImageView) + + bgImageView.snp.makeConstraints { make in + make.edges.equalToSuperview() + } + + self.contentView.sendSubviewToBack(bgImageView) + } + + + + override func reloadData(itemModel: JXSegmentedBaseItemModel, selectedType: JXSegmentedViewItemSelectedType) { + super.reloadData(itemModel: itemModel, selectedType: selectedType) + +// if itemModel.isSelected { +// bgImageView.image = UIImage(named: "FavoritesSeleted") +// } else { +// bgImageView.image = UIImage(named: "Favorites") +// } + if itemModel.index == 0 { + if itemModel.isSelected { + bgImageView.image = UIImage(named: "FavoritesSeleted") + } else { + bgImageView.image = UIImage(named: "Favorite") + } + }else{ + if itemModel.isSelected { + bgImageView.image = UIImage(named: "historySeleted") + } else { + bgImageView.image = UIImage(named: "history") + } + } + } +} diff --git a/SynthReel/Class/MyShort/V/SRShortHeaderView.swift b/SynthReel/Class/MyShort/V/SRShortHeaderView.swift new file mode 100644 index 0000000..f5c338a --- /dev/null +++ b/SynthReel/Class/MyShort/V/SRShortHeaderView.swift @@ -0,0 +1,70 @@ +// +// SRShortHeaderView.swift +// SynthReel +// +// Created by CSGY on 2025/11/20. +// Copyright © 2025 SR. All rights reserved. +// + +import UIKit + +class SRShortHeaderView: UIView { + + lazy var backImageView = UIImageView(image: UIImage(named: "listNavBg")) + + lazy var titleLabel: SRLabel = { + let label = SRLabel() + label.font = .font(ofSize: 18, weight: .bold) + label.textColors = [UIColor._4_CFFD_4.cgColor, UIColor._51_D_4_FF.cgColor] + label.textStartPoint = .init(x: 0.5, y: 0) + label.textEndPoint = .init(x: 0.5, y: 1) + label.text = "My Dramas" + return label + }() + + lazy var leftIcon: UIImageView = { + let img = UIImageView(image: UIImage(named: "闪光 1")) + img.contentMode = .scaleAspectFit + return img + }() + + lazy var rightIcon: UIImageView = { + let img = UIImageView(image: UIImage(named: "闪光 1")) + img.contentMode = .scaleAspectFit + return img + }() + + override init(frame: CGRect) { + super.init(frame: frame) + + self.addSubview(backImageView) + backImageView.snp.makeConstraints { make in + make.top.equalToSuperview().offset(UIScreen.safeTop + 14) + make.horizontalEdges.equalToSuperview().inset(15) + make.height.equalTo(57) + } + + backImageView.addSubview(titleLabel) + backImageView.addSubview(leftIcon) + backImageView.addSubview(rightIcon) + titleLabel.snp.makeConstraints { make in + make.center.equalToSuperview() + } + + // icon 固定大小 + leftIcon.snp.makeConstraints { make in + make.size.equalTo(CGSize(width: 26, height: 26)) + make.right.equalTo(titleLabel.snp.left).offset(-12) + make.centerY.equalToSuperview() + } + rightIcon.snp.makeConstraints { make in + make.size.equalTo(CGSize(width: 26, height: 26)) + make.left.equalTo(titleLabel.snp.right).offset(12) + make.centerY.equalToSuperview() + } + } + + required init?(coder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } +} diff --git a/SynthReel/Class/MyShort/VC/SRFavoritesViewController.swift b/SynthReel/Class/MyShort/VC/SRFavoritesViewController.swift new file mode 100644 index 0000000..eab693c --- /dev/null +++ b/SynthReel/Class/MyShort/VC/SRFavoritesViewController.swift @@ -0,0 +1,135 @@ +// +// SRFavoritesViewController.swift +// SynthReel +// +// Created by CSGY on 2025/11/21. +// Copyright © 2025 SR. All rights reserved. +// + +import UIKit +import JXPagingView +import JXSegmentedView + +class SRFavoritesViewController: SRViewController { + + var dataArr: [SRShortModel] = [] + + var page = 1 + + override func viewDidLoad() { + super.viewDidLoad() + + self.backgroundImageView.isHidden = true + self.view.backgroundColor = .clear + // Do any additional setup after loading the view. + + view.addSubview(collectionView); + collectionView.snp.makeConstraints { make in + make.edges.equalToSuperview() + } + } + + override func viewWillAppear(_ animated: Bool) { + super.viewWillAppear(animated) + Task { + await requestDataArr(page: self.page) + } + } + + lazy var collectionViewLayout: UICollectionViewFlowLayout = { + let itemWidth = floor((UIScreen.width - 30 - 12) / 3.0) + let itemHeight = 148.0 / 111 * itemWidth + + let layout = UICollectionViewFlowLayout() + layout.minimumInteritemSpacing = 6 + layout.minimumLineSpacing = 10 + layout.itemSize = .init(width: itemWidth, height: itemHeight) + layout.sectionInset = .init(top: 10, left: 15, bottom: 10, right: 15) + return layout + }() + + lazy var collectionView: SRCollectionView = { + let collectionView = SRCollectionView(frame: .zero, collectionViewLayout: collectionViewLayout) + collectionView.delegate = self + collectionView.dataSource = self + collectionView.showsVerticalScrollIndicator = false + collectionView.showsHorizontalScrollIndicator = false +// collectionView.register(UINib(nibName: "SRHistoryCell", bundle: nil), forCellWithReuseIdentifier: "cell") + collectionView.register(SRFavoritesCell.self, forCellWithReuseIdentifier: "cell") + collectionView.sr_addRefreshFooter { [weak self] in + self?.handleFooterRefresh(nil) + } + return collectionView + }() + + override func listScrollView() -> UIScrollView { + return collectionView + } + + override func handleHeaderRefresh(_ completer: (() -> Void)?) { + Task { + await self.requestDataArr(page: 1) + completer?() + } + } + + override func handleFooterRefresh(_ completer: (() -> Void)?) { + Task { + await self.requestDataArr(page: self.page + 1) + self.collectionView.sr_endFooterRefreshing() + completer?() + } + } +} + +//MARK: UICollectionViewDelegate UICollectionViewDataSource +extension SRFavoritesViewController: UICollectionViewDelegate, UICollectionViewDataSource { + func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { + let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "cell", for: indexPath) as! SRFavoritesCell + cell.model = self.dataArr[indexPath.row] + cell.onCollectChanged = { [weak self] clickedCell in + guard let self = self else { return } + + guard let indexPath = self.collectionView.indexPath(for: clickedCell) else { + return + } + self.dataArr.remove(at: indexPath.item) + self.collectionView.performBatchUpdates { + self.collectionView.deleteItems(at: [indexPath]) + } + } + return cell + } + + func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { + return self.dataArr.count + } + + func scrollViewDidScroll(_ scrollView: UIScrollView) { + self.didScrollCallback?(scrollView) + } + + func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) { + let model = dataArr[indexPath.row] + + let vc = SRDetailPlayerViewController() + vc.shortId = model.short_play_id + self.navigationController?.pushViewController(vc, animated: true) + } +} + +extension SRFavoritesViewController { + + private func requestDataArr(page: Int) async { + + if let dataArr = await SRHomeApi.requestFavoritesData(page: page) { + if page == 1 { + self.dataArr.removeAll() + } + self.dataArr += dataArr + self.page = page + self.collectionView.reloadData() + } + } + +} diff --git a/SynthReel/Class/MyShort/VC/SRHistoryViewController.swift b/SynthReel/Class/MyShort/VC/SRHistoryViewController.swift new file mode 100644 index 0000000..05546a2 --- /dev/null +++ b/SynthReel/Class/MyShort/VC/SRHistoryViewController.swift @@ -0,0 +1,123 @@ +// +// SRHistoryViewController.swift +// SynthReel +// +// Created by CSGY on 2025/11/21. +// Copyright © 2025 SR. All rights reserved. +// + +import UIKit +import JXPagingView +import JXSegmentedView + +class SRHistoryViewController: SRViewController { + + var dataArr: [SRShortModel] = [] + + var page = 1 + + override func viewDidLoad() { + super.viewDidLoad() + self.backgroundImageView.isHidden = true + self.view.backgroundColor = .clear + + view.addSubview(collectionView); + collectionView.snp.makeConstraints { make in + make.edges.equalToSuperview() + } + + // Do any additional setup after loading the view. + } + + override func viewWillAppear(_ animated: Bool) { + super.viewWillAppear(animated) + Task { + await requestDataArr(page: self.page) + } + } + + lazy var collectionViewLayout: UICollectionViewFlowLayout = { + let itemWidth = floor((UIScreen.width - 30 - 12) / 3.0) + let itemHeight = 148.0 / 111 * itemWidth + + let layout = UICollectionViewFlowLayout() + layout.minimumInteritemSpacing = 6 + layout.minimumLineSpacing = 10 + layout.itemSize = .init(width: itemWidth, height: itemHeight) + layout.sectionInset = .init(top: 10, left: 15, bottom: 10, right: 15) + return layout + }() + + lazy var collectionView: SRCollectionView = { + let collectionView = SRCollectionView(frame: .zero, collectionViewLayout: collectionViewLayout) + collectionView.delegate = self + collectionView.dataSource = self + collectionView.showsVerticalScrollIndicator = false + collectionView.showsHorizontalScrollIndicator = false + collectionView.register(SRHistoryCell.self, forCellWithReuseIdentifier: "cell") + collectionView.sr_addRefreshFooter { [weak self] in + self?.handleFooterRefresh(nil) + } + return collectionView + }() + + override func listScrollView() -> UIScrollView { + return collectionView + } + + override func handleHeaderRefresh(_ completer: (() -> Void)?) { + Task { + await self.requestDataArr(page: 1) + completer?() + } + } + + override func handleFooterRefresh(_ completer: (() -> Void)?) { + Task { + await self.requestDataArr(page: self.page + 1) + self.collectionView.sr_endFooterRefreshing() + completer?() + } + } +} + +//MARK: UICollectionViewDelegate UICollectionViewDataSource +extension SRHistoryViewController: UICollectionViewDelegate, UICollectionViewDataSource { + func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { + let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "cell", for: indexPath) as! SRHistoryCell + cell.model = self.dataArr[indexPath.row] + return cell + } + + func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { + return self.dataArr.count + } + + func scrollViewDidScroll(_ scrollView: UIScrollView) { + self.didScrollCallback?(scrollView) + } + + func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) { + let model = dataArr[indexPath.row] + + let vc = SRDetailPlayerViewController() + vc.shortId = model.short_play_id + self.navigationController?.pushViewController(vc, animated: true) + } +} + +extension SRHistoryViewController { + + private func requestDataArr(page: Int) async { + + if let dataArr = await SRHomeApi.requestHistoryData(page: page) { + if page == 1 { + self.dataArr.removeAll() + } + self.dataArr += dataArr + self.page = page + self.collectionView.reloadData() + } + } + +} diff --git a/SynthReel/Class/MyShort/VC/SRMyShortViewController.swift b/SynthReel/Class/MyShort/VC/SRMyShortViewController.swift index dc560bb..582ed05 100644 --- a/SynthReel/Class/MyShort/VC/SRMyShortViewController.swift +++ b/SynthReel/Class/MyShort/VC/SRMyShortViewController.swift @@ -6,32 +6,161 @@ // Copyright © 2025 SR. All rights reserved. // + import UIKit import SnapKit +import JXSegmentedView +import JXPagingView + class SRMyShortViewController: SRViewController { + // MARK: - UI + private lazy var headerView = SRShortHeaderView( + frame: CGRect(x: 0, y: 0, width: UIScreen.width, height: 56) + ) + + private lazy var segmentedView = JXSegmentedView() + + private lazy var titles = ["Favorites", "History"] + + private lazy var dataSource: JXSegmentedTitleDataSource = { + let ds = SRListMenuDataSource() + ds.titles = titles + ds.titleNormalColor = .srBlue + ds.titleSelectedColor = .srGreen + ds.titleNormalFont = UIFont.systemFont(ofSize: 14) + ds.titleSelectedFont = UIFont.boldSystemFont(ofSize: 16) + ds.isTitleColorGradientEnabled = false + ds.itemWidth = 155 + return ds + }() + + // PagingView + private lazy var pagingView: JXPagingView = { + let view = JXPagingView(delegate: self) + view.layer.masksToBounds = true + view.mainTableView.backgroundColor = .clear + view.listContainerView.listCellBackgroundColor = .clear + view.mainTableView.gestureDelegate = self + view.automaticallyDisplayListVerticalScrollIndicator = false + view.mainTableView.sr_addRefreshHeader { [weak self] in + self?.handleHeaderRefresh(nil) + } + return view + }() + + // MARK: - Lifecycle override func viewDidLoad() { super.viewDidLoad() + self.backgroundImageView.image = UIImage(named: "my_short_bg_image") self.backgroundImageView.contentMode = .scaleAspectFit - - sr_setupUI() + + setupSegmentedView() + setupUI() } + override func handleHeaderRefresh(_ completer: (() -> Void)?) { + Task { + self.pagingView.mainTableView.sr_endHeaderRefreshing() + } + if let vc = self.pagingView.listContainerView.validListDict[self.pagingView.listContainerView.currentIndex] as? SRViewController { + vc.handleHeaderRefresh(nil) + } + } + override func viewWillAppear(_ animated: Bool) { super.viewWillAppear(animated) self.navigationController?.setNavigationBarHidden(true, animated: true) } - } extension SRMyShortViewController { - private func sr_setupUI() { - - self.backgroundImageView.snp.remakeConstraints { make in + + private func setupSegmentedView() { + segmentedView.dataSource = dataSource +// segmentedView.indicators = [indicator] + segmentedView.listContainer = pagingView.listContainerView + segmentedView.delegate = self; + } + + private func setupUI() { + + backgroundImageView.snp.remakeConstraints { make in make.edges.equalToSuperview() } + + // header + view.addSubview(headerView) + headerView.snp.makeConstraints { make in + make.left.right.top.equalToSuperview() + make.height.equalTo(113) + } + + // PagingView ONLY + view.addSubview(pagingView) + pagingView.snp.makeConstraints { make in + make.top.equalTo(headerView.snp.bottom).offset(20) + make.left.right.bottom.equalToSuperview() + } + } + +} + + +// MARK: - JXPagingViewDelegate +extension SRMyShortViewController: JXPagingViewDelegate { + + func tableHeaderViewHeight(in pagingView: JXPagingView) -> Int { + return 0 + } + + func tableHeaderView(in pagingView: JXPagingView) -> UIView { + return UIView() + } + + func heightForPinSectionHeader(in pagingView: JXPagingView) -> Int { + return 40 + } + + func viewForPinSectionHeader(in pagingView: JXPagingView) -> UIView { + return segmentedView + } + + func numberOfLists(in pagingView: JXPagingView) -> Int { + return titles.count + } + + func pagingView(_ pagingView: JXPagingView, initListAtIndex index: Int) -> any JXPagingViewListViewDelegate { + if(index == 0){ + return SRFavoritesViewController() } + else{ + return SRHistoryViewController() + } + } +} + +//MARK: JXPagingMainTableViewGestureDelegate +extension SRMyShortViewController: JXPagingMainTableViewGestureDelegate { + func mainTableViewGestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool { + if otherGestureRecognizer == segmentedView.collectionView.panGestureRecognizer { + return false + } + + if let view = otherGestureRecognizer.view { + var superview: UIView? = view.superview + while superview != nil { + if superview?.isKind(of: SRShortHeaderView.self) == true { + return false + } + superview = superview?.superview + } + } + + return gestureRecognizer.isKind(of: UIPanGestureRecognizer.self) && otherGestureRecognizer.isKind(of: UIPanGestureRecognizer.self) } } + +extension SRMyShortViewController: JXSegmentedViewDelegate {} diff --git a/SynthReel/Class/MyShort/VM/SRListMenuDataSource.swift b/SynthReel/Class/MyShort/VM/SRListMenuDataSource.swift new file mode 100644 index 0000000..43681ad --- /dev/null +++ b/SynthReel/Class/MyShort/VM/SRListMenuDataSource.swift @@ -0,0 +1,34 @@ +// +// SRListMenuDataSource.swift +// SynthReel +// +// Created by CSGY on 2025/11/24. +// Copyright © 2025 SR. All rights reserved. +// + +import UIKit +import JXSegmentedView + + +class SRListMenuDataSource: JXSegmentedTitleDataSource { + + nonisolated override init() { + super.init() + } + + nonisolated override func registerCellClass(in segmentedView: JXSegmentedView) { + MainActor.assumeIsolated { + segmentedView.collectionView.register(SRListMenuCell.self, forCellWithReuseIdentifier: "SRListMenuCell") + } + } + + nonisolated override func segmentedView(_ segmentedView: JXSegmentedView, cellForItemAt index: Int) -> JXSegmentedBaseCell { + return MainActor.assumeIsolated { + let cell = segmentedView.dequeueReusableCell(withReuseIdentifier: "SRListMenuCell", at: index) + return cell + } + } + + + +} diff --git a/SynthReel/Class/Player/VC/SRDetailPlayerViewController.swift b/SynthReel/Class/Player/VC/SRDetailPlayerViewController.swift index 73a3a20..c2d805f 100644 --- a/SynthReel/Class/Player/VC/SRDetailPlayerViewController.swift +++ b/SynthReel/Class/Player/VC/SRDetailPlayerViewController.swift @@ -57,6 +57,11 @@ class SRDetailPlayerViewController: JXPlayerListViewController { } } + override func viewDidDisappear(_ animated: Bool) { + super.viewDidDisappear(animated) + self.viewModel.currentCell?.pause() + } + override func play() { let videoInfo = self.viewModel.currentCell?.model as? SRVideoInfoModel super.play() diff --git a/SynthReel/Class/Player/VC/SRRecommendPlayerViewController.swift b/SynthReel/Class/Player/VC/SRRecommendPlayerViewController.swift index 475e8fe..fe88aab 100644 --- a/SynthReel/Class/Player/VC/SRRecommendPlayerViewController.swift +++ b/SynthReel/Class/Player/VC/SRRecommendPlayerViewController.swift @@ -40,7 +40,11 @@ class SRRecommendPlayerViewController: JXPlayerListViewController { super.viewWillAppear(animated) self.navigationController?.setNavigationBarHidden(true, animated: true) } - + + override func viewDidDisappear(_ animated: Bool) { + super.viewDidDisappear(animated) + self.viewModel.currentCell?.pause() + } } diff --git a/SynthReel/Class/User/VC/SRUserViewController.swift b/SynthReel/Class/User/VC/SRUserViewController.swift new file mode 100644 index 0000000..b1aab6d --- /dev/null +++ b/SynthReel/Class/User/VC/SRUserViewController.swift @@ -0,0 +1,20 @@ +// +// SRUserViewController.swift +// SynthReel +// +// Created by CSGY on 2025/11/24. +// Copyright © 2025 SR. All rights reserved. +// + +import UIKit + +class SRUserViewController: SRViewController { + + override func viewDidLoad() { + super.viewDidLoad() + + // Do any additional setup after loading the view. + } + + +} diff --git a/SynthReel/Source/Assets.xcassets/Color/#C4C4C4.colorset/Contents.json b/SynthReel/Source/Assets.xcassets/Color/#C4C4C4.colorset/Contents.json new file mode 100644 index 0000000..22c4bb0 --- /dev/null +++ b/SynthReel/Source/Assets.xcassets/Color/#C4C4C4.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "1.000", + "green" : "1.000", + "red" : "1.000" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "1.000", + "green" : "1.000", + "red" : "1.000" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/SynthReel/Source/Assets.xcassets/Image/historyBottom.imageset/Contents.json b/SynthReel/Source/Assets.xcassets/Image/historyBottom.imageset/Contents.json new file mode 100644 index 0000000..a3705bd --- /dev/null +++ b/SynthReel/Source/Assets.xcassets/Image/historyBottom.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "historyBottom@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "historyBottom@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/SynthReel/Source/Assets.xcassets/Image/historyBottom.imageset/historyBottom@2x.png b/SynthReel/Source/Assets.xcassets/Image/historyBottom.imageset/historyBottom@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..c3a2dc3142d1848c26cb28bae724793e180533dd GIT binary patch literal 656 zcmeAS@N?(olHy`uVBq!ia0vp^=YZIZgAGXb-&?i;NO2Z;L>4nJh^c}wqi2xH2cRHh zage(c!@6@aFM%AEbVpxD28NCO+rKhfeCB_KU-ZS+Q%|}7X{Ome3(+{4b!PtzQPEYM zKi3xh+<)!-497DI1DMtu)nDCLc2vuDj^cWo`$>FBdM(pWtUeueraW}Pw1OPVXRB`& z^tDbuQqKB6`QB9c~i8x|FIp}7ntku3#1z0LnZw=-Tiy4`STT@k~K+2KqE#)lY% zIM_WDWE2_;8dzw-$;gunXHAHT<~#m8`PY(7=a~#nhMoCVaMUuW+G_Lp(`#Nu!ZL_3jT=X!xX7fp9|NWc79~r(W zNM#?hnOV_bcroJgNAJFL^=IB^HZ>eIGLw4EbzJZ2zUPG&@+>-S=Q47FES^<-yLxX^ ztw_N3&Wkrp9`eZEvH7IQd?jmDM$Uq|%BfYW>(;EWul@U0_3QSVhqlT+%{Dx}b)J>f aZl;7xN2m8!Su21Eh{4m<&t;ucLK6Ul_Va_R<;{VgdN*BtmOOiL!_!T7pT*8T z`=HBl_Vt4rl`1ti)7G9%JWzCE^XBb_HT6bKD|)A==bXPKv&E8chiqlow}of(3X}t9 zpK+T#SHkUW`hldUqKAK*@i%XD$t|kfH9xUh;PB~-lN;)uR_p1T#&6vz?sH^OLe(@5 zou7s+@z|F9&8ueb*73(UR)m@3Pi@8b?o(k1J+~5PKQ{AcN+^B1^=DDpvTuve2F_k<_MItV>mTl@Izx-^ zXXA7EZoO&Sz_|Kx{e?>pF7elI|9LBI`PnK4o$cI?-pzvkr_NvB*Sdl6^jj~W{48~D z=?!Px*mQaGek|p=T{nAqt{GE;WsLNelHe#)k z9?Dod+bSdT8iYAhGb3{zm>E0UG9y!W*T$RAj*6T=&v385F2}9@*RR_@qbxKI%yION wb?trnl%eQi)t7RHk5Ta^Zx2?zTd;J0q-tW`%^Ig)zFVdQ&MBb@0II=VS^xk5 literal 0 HcmV?d00001 diff --git a/SynthReel/Source/Assets.xcassets/myShort/Contents.json b/SynthReel/Source/Assets.xcassets/myShort/Contents.json new file mode 100644 index 0000000..73c0059 --- /dev/null +++ b/SynthReel/Source/Assets.xcassets/myShort/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/SynthReel/Source/Assets.xcassets/myShort/Favorite.imageset/Contents.json b/SynthReel/Source/Assets.xcassets/myShort/Favorite.imageset/Contents.json new file mode 100644 index 0000000..ab79b65 --- /dev/null +++ b/SynthReel/Source/Assets.xcassets/myShort/Favorite.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "Favorite@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "Favorite@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/SynthReel/Source/Assets.xcassets/myShort/Favorite.imageset/Favorite@2x.png b/SynthReel/Source/Assets.xcassets/myShort/Favorite.imageset/Favorite@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..d4303b66bfcab5fef4c97f6bc74e66d60eb27c09 GIT binary patch literal 7050 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 literal 0 HcmV?d00001 diff --git a/SynthReel/Source/Assets.xcassets/myShort/Favorite.imageset/Favorite@3x.png b/SynthReel/Source/Assets.xcassets/myShort/Favorite.imageset/Favorite@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..c4d123755426af02bcb59e669cf38d2ac193399a GIT binary patch literal 12419 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 literal 0 HcmV?d00001 diff --git a/SynthReel/Source/Assets.xcassets/myShort/FavoritesSeleted.imageset/Contents.json b/SynthReel/Source/Assets.xcassets/myShort/FavoritesSeleted.imageset/Contents.json new file mode 100644 index 0000000..b99b409 --- /dev/null +++ b/SynthReel/Source/Assets.xcassets/myShort/FavoritesSeleted.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "FavoritesSeleted@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "FavoritesSeleted@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/SynthReel/Source/Assets.xcassets/myShort/FavoritesSeleted.imageset/FavoritesSeleted@2x.png b/SynthReel/Source/Assets.xcassets/myShort/FavoritesSeleted.imageset/FavoritesSeleted@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..ef260b56843553d5c91f9ea0f06554e2e5367ac0 GIT binary patch literal 6834 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 V#VxHx$`KQliGlgudOg>K{{bSAn-2g0 literal 0 HcmV?d00001 diff --git a/SynthReel/Source/Assets.xcassets/myShort/FavoritesSeleted.imageset/FavoritesSeleted@3x.png b/SynthReel/Source/Assets.xcassets/myShort/FavoritesSeleted.imageset/FavoritesSeleted@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..96bd89a7da4c0fffac3e48eb3dac9ce9ac683cb6 GIT binary patch literal 12112 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 literal 0 HcmV?d00001 diff --git a/SynthReel/Source/Assets.xcassets/myShort/history.imageset/Contents.json b/SynthReel/Source/Assets.xcassets/myShort/history.imageset/Contents.json new file mode 100644 index 0000000..a9c623f --- /dev/null +++ b/SynthReel/Source/Assets.xcassets/myShort/history.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "history@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "history@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/SynthReel/Source/Assets.xcassets/myShort/history.imageset/history@2x.png b/SynthReel/Source/Assets.xcassets/myShort/history.imageset/history@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..6dbefefd3355ccf4c4f3ef99e7b47ece6c7dfe79 GIT binary patch literal 7415 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 literal 0 HcmV?d00001 diff --git a/SynthReel/Source/Assets.xcassets/myShort/history.imageset/history@3x.png b/SynthReel/Source/Assets.xcassets/myShort/history.imageset/history@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..cef8e58ddf984b83d01b05e7523b5d9b0d227e6e GIT binary patch literal 12775 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 literal 0 HcmV?d00001 diff --git a/SynthReel/Source/Assets.xcassets/myShort/historyCell.imageset/historyCell@3x.png b/SynthReel/Source/Assets.xcassets/myShort/historyCell.imageset/historyCell@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..dcdee03cb3f9b49701b9f40afa3251f4ccbe2646 GIT binary patch literal 4044 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 literal 0 HcmV?d00001 diff --git a/SynthReel/Source/Assets.xcassets/myShort/historySeleted.imageset/Contents.json b/SynthReel/Source/Assets.xcassets/myShort/historySeleted.imageset/Contents.json new file mode 100644 index 0000000..a9e5716 --- /dev/null +++ b/SynthReel/Source/Assets.xcassets/myShort/historySeleted.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "historySeleted@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "historySeleted@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/SynthReel/Source/Assets.xcassets/myShort/historySeleted.imageset/historySeleted@2x.png b/SynthReel/Source/Assets.xcassets/myShort/historySeleted.imageset/historySeleted@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..863793f48e91bf20bca43f80823a165a38408b36 GIT binary patch literal 7178 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 BQw{(C literal 0 HcmV?d00001 diff --git a/SynthReel/Source/Assets.xcassets/myShort/historySeleted.imageset/historySeleted@3x.png b/SynthReel/Source/Assets.xcassets/myShort/historySeleted.imageset/historySeleted@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..10e009478bc2817fc54756a24f6331bd8eb8432d GIT binary patch literal 12453 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 literal 0 HcmV?d00001 diff --git a/SynthReel/Source/Assets.xcassets/myShort/收藏.imageset/Contents.json b/SynthReel/Source/Assets.xcassets/myShort/收藏.imageset/Contents.json new file mode 100644 index 0000000..2fcc7b2 --- /dev/null +++ b/SynthReel/Source/Assets.xcassets/myShort/收藏.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/SynthReel/Source/Assets.xcassets/myShort/收藏.imageset/收藏@2x.png b/SynthReel/Source/Assets.xcassets/myShort/收藏.imageset/收藏@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..4a244f676c14b530ea053e221c49bccf37859928 GIT binary patch literal 5548 zcmV;d6;tYoP)EVaUV~NFoSfkQuGu@S;9#U44Cum9AIqs_W^pu5z_b)mN<@ zwAfdkRPC!$ErSY(LJ$!Y0*N6ZK<0#y@#fCc8TR}4x%Y+ufh1_V*88(g&T!B0fBT>R zy%G9n5FyM(`~TNO2&Ov+fLTKJb3Y+p=;`_0inG;!$LA^_xw z9oCW~Qz}tq2SVAXL2~EAr4wF>PXW*!Rj6Kf%;=@Jd4@fE0W8J@eT($XR0bHUAcS>* zq<}H?C~BDJfW3gY!9G~_s;BN$DAeUt zrM^L=ItK@P-ua}(<8=Co-``CcSc06l#ZlKB0LNj*D6-bl8J51ihX%}fIR?vhGi=6!DOI7?)@|jR{^s)=tU8L#4t!z)eFGXs}Fj@+?kfto0euVEYBcGl6!U^=<W73x^k_38j)_I3mLyl6izuUkoKGug22mcE@Ir+vL) zBeu?;W7DN2={vXly$w;-8xCv~P-0>t3-4wkZnw-B1gxK!q36<)MZuE5ClnXjd253H z{Cm5byiy#YF2l*#$OSdL26JE(&j14ul|Zv+tsQ-L-ZyrIFlN-&&% z?(O#{HazrHWY%9^S(19|sztkX)1Kr^A}a?XN*owxvGAa>L-ux6qAJR9NS9<0B&SEHA(Jh}H?!_@4Yn%f`zL;vSr^`k&Yl>rPV2#h{6 zQy1>(i9~$9%k6}@BQt-#X$z8=28SjtmeC8Bs$96b_Zm7I^|~%6-rK5xO2ow7t~Dqn^gY>LXv?s|V$CIwesU-@rbk}bJ1 zbKVOiLI|j#s`>(IoYB$10n=FWhamcgM^{~VCk1E8n{4C~3~b|bzpal9xI#G(-@j^a zW(h|kjB%-_rHq1eTqTLWOoGGR@Ct8Rg|DGL`{)g~C(PdY#&;5~E1h*{%G~D>=5VBc zAVMV;@p#7UvST2J0F3z&uv6+&^iy&SNo$s+t6sn4Io93?zLKTeOswLUP70Nb{AR`S&)={ z5TVGzuFdaQLe1@*p(xLCX!5+*TnCQ~fXxvANi-({A4X#&eO9_y^6pEE7aV+ZUG@Wa zPD0}(3R1LMInS|Lx2L++V<^Z^tG@Bx48)60m1B#xUO`naQqi@f!5nbviWD6m4E6Nf zP_2yqOuuU=s>r)6%O^x_lqh~PiHM9gn@T#~b1Kn&`+1Lu2X52{vFwZwbya2N|Z zo42vmL%|uROe#{tg^rzgN(U3*|xcJ64A9#G+QE`>KYHk-Bn#b{Mk80P<7?*p6rSd z0fO|Z(1ajHkv2G-?LJn+MEd%4i7S@PPr7w&mVR2U@%+d8&g;|Db>o#F1wo~UXcZivus|YfY7{xe%amLigWx zl8hh!s8Cgi-0{N8rxce*LVmvzb~+_APAYijvBhzzQDF2KYsU`YMmdS}{yBqX$r9K?=O9H3Qo0@=h zIz}BWkjIEJJ@t_v7{k_-U(}0rJ`{Xq;<$xm}ef` zx6i05sDWVa7GK1d+&4^3qkR!tF$2g2uC7ugL?$1fU0Q4^Ew#D!?CGAo>356T9(nW& zYI~8sfe|HG_{+DXoVui zQ8wr~JqZuGT#|Fp6=-SiKJ(nKzjPk0a$O0an4Kl^1`{vNnw6OI!gB%6pj$@>zjBq` ze#Q|ijA^ro9PDXMSuik=1ED50PZ5sPV1ow+4W=+}f zz%2v~8#WT%=e`H711QPEX&q_e9m5# z6;ZgelOUEyoZT*{!GJ_kO zYXG9sW}_01|2FKL0+#^Xkvs3%GBT=RJb)P~!H~j;Mi#(%R25G)x3;QFVh&XMx3|CF zsEDGV5~7nrKDXj=5!Phll%S-I1YI(2?gQTfB4K@+=_m$ZwqG{jIyZ~%5y>pR>9FqNB zg*Av;y{JY)N^G>W&KbH&z(4xn4=PbiB~jer#62vEIuWX>T3&jIy7undUwuVzaiX9o z5790jmixLQ{<>P9seI`m*q|9S@0`N2Pm~};)sKugyTqxC3yh9d(wYclNYjQ!a1@%b z^5!%R*sx$8C5)n_64C-X*5V|If<{ppny2KYp|Mb$59r1*g2*Jyhk|0_Bp;Gh3v`Cg zv6BDs8^I8&qCR>UQAvWzih6wulbj@AJ{nFqvzbL&+hBAuPtLPw&P0uS#^^B_=3zB^ zjK$1oSfS?_875?p4PcC@^8@Wtjm4!B3aFAcQi|dZvz+XR8ODgU4}ANmI4Q>{`#lo% zQfgQNZ)F|RT%x70I4zoQ#vKcec~AC242*{ZEx@x;4+|S_v5zb9=Ja}&5e@!?V+pc`vDAX5Y)~^L8V5Bn z%H?5Uxc4Nn@`>(Q&LG-~=Z+a<1p2Rr>BTr@-FFYd+kOCF-OI>IM%qD>6AcCW5y-I- z5iv9Gq}<;f7E|qd+uh&IVkcyZ3@41LrlKV|F`k{^VF8|=4<0{KefITVZ>MoCnzcm3 zNIbaHdz0oa9+R5F?35-wb9s5tmSc2*WtD+x{u!j^DXNHP!y^OKstf&f3qCNG%{MrA zZtHTr`)-G6&Kx`FI~mOul|U$jW6W!*8*Kj8=GM>dT>Q#`yOwOPd-1XA56V(rIrHBy zZI|6{S6p@D9yQ_`45BfRpf|D%Z1$x$9qw-lRY2|FV+b)pNL%R`HpO;1K=^S_4Vqvp zTW(Ldeo`e#oe}A1qscb0-cm7f@cnl>VOn<7cA-8!OAL0k zhtL>lJoiI_jX7&lu<*Ugc0MIj2PigU2Iqm!q^!vmzi?>CqEZ}D6#I$|=a5d&Gs*T- z84qtfNnJ6$9y)!>VVjA4s4IssaZdLs$Wc*bb=-LX)uIeA*f~b zx#F=pDzs5ll+XsM9OT>iki@4hzb#;2wXT^0^4A`Bi|JVgY&3El2dNTd66l{uoW;)3 zNz$a-zT0WL@t$T-x9>yFXVnq?pCAMONhQXit(VLwUukwpoA|u$6uDlILOrsePCr_f zmO>;Yi|T*I_aDkTxB2DM9BpF+e9E=-O28OU3FwLX>h= z!P$q3^lz^@OLV)YKn^-$<99ekGaA;AkB){-;>6W?h7Za6MNb9A~r&gyX#hn|F3HHv1WHySsqVmsy6kqov(+(g?swmrlT3S;eBg zMZDxFN>QxHrVpStx2tQxmy0uU;d)xi>f0yirWIK`UVZiy?QW^DDeO_DInLQ7NXJ-C zXJjHiS4ZJ%+rPBWUk(ukZ-?00%E`+8Ar2c37w{)yIqqf7Z}d5OpoPaHGX$&9;|(KO z&!EBsdDsY|yWU#5$Yxu#I;(f*Uz>s*jehEk)cAzVNB{twU{BSl;eaChyz(d$pqS>s z&_;o~)Dv^ws;o5@mD&))ZiTeRixp`N!}CRz`TTBeiOCg~myGTtqD!sR@*||2v!Vtw zT=J^&^vV*88;Z`w`mD+6>32LZ&EIlr!1>7s-MrDv1^YWgSDK$sS#(o!_DlgsLq$Dy=)MhyjzR&QAQy1%jBYG1fI zpTN|Qr~bGr*m5R7RTd^ov4%_Q=Wx-L7-lOkd)*T4it*+IEEQrtGOn{*LC>Q;rATo_Om$ty$lHR5oPg(G+|(SpS1y9`k|w_gDcxOaf>jIJ*OT zGtqfRjBm#nmUUgzVmt>tSGN^$o@r=-jzt4IX5g<^pCn~4m~TQ6-?pm=uhw3Uu?}`= zLTaYTl#*o5fBe-&tf)64ossZ5p%Jq}LwbH%y~~aCvVx!nP)p&dTj3ciY#(6>{{#tW z5^aIaD@6O@o0wJ#j&Ur^yXNJTj@W$0vRaZV@TiE3pst-Wal^7x#4ac(pOulM7}0=j z0QEI+C|FgBrP#CDqPnl@&?Yd#*}!HFoZ3({1F3<3Z}J4~R#apGDZWrP9o?`Iij*g> zamC>`OSOgpU2&YG3wo3dpAQikwR|`e4_2HcHkn09LIj!oB1}5d$#1YHf2K0M>CPr5w z%H+++Oq-H|jC^_( literal 0 HcmV?d00001 diff --git a/SynthReel/Source/Assets.xcassets/myShort/收藏.imageset/收藏@3x.png b/SynthReel/Source/Assets.xcassets/myShort/收藏.imageset/收藏@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..13ec64c18981ba29575d7aac11f480343c95555c GIT binary patch literal 10822 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 Q2mk;807*qoM6N<$g7eWGdjJ3c literal 0 HcmV?d00001 diff --git a/SynthReel/Source/Assets.xcassets/myShort/闪光 1.imageset/Contents.json b/SynthReel/Source/Assets.xcassets/myShort/闪光 1.imageset/Contents.json new file mode 100644 index 0000000..52ce98a --- /dev/null +++ b/SynthReel/Source/Assets.xcassets/myShort/闪光 1.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "闪光 1@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "闪光 1@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/SynthReel/Source/Assets.xcassets/myShort/闪光 1.imageset/闪光 1@2x.png b/SynthReel/Source/Assets.xcassets/myShort/闪光 1.imageset/闪光 1@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..1e05c3d38635151126ff28e4108c35604d485218 GIT binary patch literal 3337 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 literal 0 HcmV?d00001