1.ui调整
This commit is contained in:
parent
2c7cef9572
commit
50d1cd9069
@ -194,6 +194,7 @@
|
|||||||
3754B0312EE2C9D4009EBCAD /* SRVideoRechargeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3754B0302EE2C9D4009EBCAD /* SRVideoRechargeView.swift */; };
|
3754B0312EE2C9D4009EBCAD /* SRVideoRechargeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3754B0302EE2C9D4009EBCAD /* SRVideoRechargeView.swift */; };
|
||||||
3779D0612ECF1CB8006B1698 /* SRShortHeaderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3779D0602ECF1CB8006B1698 /* SRShortHeaderView.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 */; };
|
47BB39E2DD30787FA591F8EB /* Pods_SynthReel.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F9255BF4D4B1CFDDB5CFFB43 /* Pods_SynthReel.framework */; };
|
||||||
|
85ACDA2F2EE6B3760009B306 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 85ACDA2E2EE6B3760009B306 /* GoogleService-Info.plist */; };
|
||||||
/* End PBXBuildFile section */
|
/* End PBXBuildFile section */
|
||||||
|
|
||||||
/* Begin PBXFileReference section */
|
/* Begin PBXFileReference section */
|
||||||
@ -497,6 +498,7 @@
|
|||||||
85ACDA282EE69CD90009B306 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
85ACDA282EE69CD90009B306 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||||
85ACDA292EE69CD90009B306 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
|
85ACDA292EE69CD90009B306 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
|
||||||
85ACDA2B2EE69CD90009B306 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = "<group>"; };
|
85ACDA2B2EE69CD90009B306 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = "<group>"; };
|
||||||
|
85ACDA2E2EE6B3760009B306 /* GoogleService-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = "<group>"; };
|
||||||
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 = "<group>"; };
|
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 = "<group>"; };
|
||||||
F9255BF4D4B1CFDDB5CFFB43 /* Pods_SynthReel.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_SynthReel.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
F9255BF4D4B1CFDDB5CFFB43 /* Pods_SynthReel.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_SynthReel.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
/* End PBXFileReference section */
|
/* End PBXFileReference section */
|
||||||
@ -782,6 +784,7 @@
|
|||||||
children = (
|
children = (
|
||||||
03E9A7C02EC47177000D1067 /* Assets.xcassets */,
|
03E9A7C02EC47177000D1067 /* Assets.xcassets */,
|
||||||
03E9A7C12EC47177000D1067 /* Info.plist */,
|
03E9A7C12EC47177000D1067 /* Info.plist */,
|
||||||
|
85ACDA2E2EE6B3760009B306 /* GoogleService-Info.plist */,
|
||||||
03E9A7C32EC47177000D1067 /* LaunchScreen.storyboard */,
|
03E9A7C32EC47177000D1067 /* LaunchScreen.storyboard */,
|
||||||
03B1A8562EC5E4F1006C353F /* Localizable.strings */,
|
03B1A8562EC5E4F1006C353F /* Localizable.strings */,
|
||||||
03B1A8692EC6BD49006C353F /* Bridging-Header.h */,
|
03B1A8692EC6BD49006C353F /* Bridging-Header.h */,
|
||||||
@ -1614,6 +1617,7 @@
|
|||||||
files = (
|
files = (
|
||||||
03E9A7CC2EC47177000D1067 /* Assets.xcassets in Resources */,
|
03E9A7CC2EC47177000D1067 /* Assets.xcassets in Resources */,
|
||||||
03B1A8582EC5E4F1006C353F /* Localizable.strings in Resources */,
|
03B1A8582EC5E4F1006C353F /* Localizable.strings in Resources */,
|
||||||
|
85ACDA2F2EE6B3760009B306 /* GoogleService-Info.plist in Resources */,
|
||||||
03B1A8DD2EC6D0EB006C353F /* SRHomeChildCell.xib in Resources */,
|
03B1A8DD2EC6D0EB006C353F /* SRHomeChildCell.xib in Resources */,
|
||||||
03E9A7CE2EC47177000D1067 /* LaunchScreen.storyboard in Resources */,
|
03E9A7CE2EC47177000D1067 /* LaunchScreen.storyboard in Resources */,
|
||||||
);
|
);
|
||||||
@ -1891,7 +1895,7 @@
|
|||||||
CODE_SIGN_IDENTITY = "Apple Development";
|
CODE_SIGN_IDENTITY = "Apple Development";
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
CURRENT_PROJECT_VERSION = 1;
|
CURRENT_PROJECT_VERSION = 1;
|
||||||
DEVELOPMENT_TEAM = 6RZK7QBQQ7;
|
DEVELOPMENT_TEAM = 9JR2Y32ZU3;
|
||||||
EXCLUDED_ARCHS = "";
|
EXCLUDED_ARCHS = "";
|
||||||
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64;
|
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64;
|
||||||
GENERATE_INFOPLIST_FILE = YES;
|
GENERATE_INFOPLIST_FILE = YES;
|
||||||
@ -1935,7 +1939,7 @@
|
|||||||
CODE_SIGN_IDENTITY = "Apple Development";
|
CODE_SIGN_IDENTITY = "Apple Development";
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
CURRENT_PROJECT_VERSION = 1;
|
CURRENT_PROJECT_VERSION = 1;
|
||||||
DEVELOPMENT_TEAM = 6RZK7QBQQ7;
|
DEVELOPMENT_TEAM = 9JR2Y32ZU3;
|
||||||
GENERATE_INFOPLIST_FILE = YES;
|
GENERATE_INFOPLIST_FILE = YES;
|
||||||
INFOPLIST_FILE = SynthReel/Source/Info.plist;
|
INFOPLIST_FILE = SynthReel/Source/Info.plist;
|
||||||
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
|
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
|
||||||
|
|||||||
@ -83,7 +83,7 @@ class SRDetailPlayerViewController: JXPlayerListViewController {
|
|||||||
let lockCoins = videoInfo?.coins ?? 0
|
let lockCoins = videoInfo?.coins ?? 0
|
||||||
|
|
||||||
if myCoins < lockCoins, (self.sr_viewModel.currentCell as? SRShortDetailPlayerCell)?.hasLastEpisodeUnlocked != true {
|
if myCoins < lockCoins, (self.sr_viewModel.currentCell as? SRShortDetailPlayerCell)?.hasLastEpisodeUnlocked != true {
|
||||||
// self.sr_viewModel.openRechargeView()
|
self.sr_viewModel.openRechargeView()
|
||||||
} else {
|
} else {
|
||||||
DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) { [weak self] in
|
DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) { [weak self] in
|
||||||
guard let self = self else { return }
|
guard let self = self else { return }
|
||||||
|
|||||||
@ -11,6 +11,7 @@ import JXPlayer
|
|||||||
import YYText
|
import YYText
|
||||||
import HWPanModal
|
import HWPanModal
|
||||||
|
|
||||||
|
@MainActor
|
||||||
class SRShortPlayerViewModel: JXPlayerListViewModel {
|
class SRShortPlayerViewModel: JXPlayerListViewModel {
|
||||||
|
|
||||||
var shortId: String = "0"
|
var shortId: String = "0"
|
||||||
@ -196,7 +197,9 @@ extension SRShortPlayerViewModel {
|
|||||||
view.videoInfo = videoInfo
|
view.videoInfo = videoInfo
|
||||||
view.buyFinishHandle = { [weak self] in
|
view.buyFinishHandle = { [weak self] in
|
||||||
guard let self = self else { return }
|
guard let self = self else { return }
|
||||||
// self.requestDetailData(indexPath: self.currentIndexPath, completer: nil)
|
Task{
|
||||||
|
await self.requestShortDetail(indexPath: self.currentIndexPath)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
view.didDismissHandle = { [weak self] in
|
view.didDismissHandle = { [weak self] in
|
||||||
guard let self = self else { return }
|
guard let self = self else { return }
|
||||||
|
|||||||
@ -96,13 +96,14 @@ class SRSmallCoinViewCell: SRStoreCoinsCell {
|
|||||||
private func setupUI() {
|
private func setupUI() {
|
||||||
contentView.addSubview(bgImageView)
|
contentView.addSubview(bgImageView)
|
||||||
contentView.addSubview(badgeImageView)
|
contentView.addSubview(badgeImageView)
|
||||||
|
contentView.addSubview(bonusLabel)
|
||||||
badgeImageView.addSubview(badgeLabel)
|
badgeImageView.addSubview(badgeLabel)
|
||||||
|
|
||||||
// 中间容器(金币 + 数字 + 额外奖励)
|
// 中间容器(金币 + 数字 + 额外奖励)
|
||||||
contentView.addSubview(centerContainer)
|
contentView.addSubview(centerContainer)
|
||||||
centerContainer.addSubview(coinImageView)
|
centerContainer.addSubview(coinImageView)
|
||||||
centerContainer.addSubview(coinLabel)
|
centerContainer.addSubview(coinLabel)
|
||||||
centerContainer.addSubview(bonusLabel)
|
// centerContainer.addSubview()
|
||||||
|
|
||||||
contentView.addSubview(priceLabel)
|
contentView.addSubview(priceLabel)
|
||||||
}
|
}
|
||||||
@ -138,12 +139,13 @@ class SRSmallCoinViewCell: SRStoreCoinsCell {
|
|||||||
coinLabel.snp.makeConstraints { make in
|
coinLabel.snp.makeConstraints { make in
|
||||||
make.centerY.equalTo(coinImageView)
|
make.centerY.equalTo(coinImageView)
|
||||||
make.left.equalTo(coinImageView.snp.right).offset(0)
|
make.left.equalTo(coinImageView.snp.right).offset(0)
|
||||||
|
make.right.equalToSuperview()
|
||||||
}
|
}
|
||||||
|
|
||||||
// 额外奖励
|
// 额外奖励
|
||||||
bonusLabel.snp.makeConstraints { make in
|
bonusLabel.snp.makeConstraints { make in
|
||||||
make.centerY.equalTo(coinImageView)
|
make.centerX.equalToSuperview()
|
||||||
make.left.equalTo(coinLabel.snp.right).offset(0)
|
make.top.equalTo(coinLabel.snp.bottom).offset(0)
|
||||||
make.right.equalToSuperview()
|
make.right.equalToSuperview()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -9,10 +9,12 @@
|
|||||||
import UIKit
|
import UIKit
|
||||||
import StoreKit
|
import StoreKit
|
||||||
|
|
||||||
|
|
||||||
|
@MainActor
|
||||||
class SRIapManager {
|
class SRIapManager {
|
||||||
typealias CompletionHandler = ((_ finish: Bool) -> Void)
|
typealias CompletionHandler = ((_ finish: Bool) -> Void)
|
||||||
///内购模版前缀
|
///内购模版前缀
|
||||||
static let IAPPrefix = "univico"
|
static let IAPPrefix = "synthreel"
|
||||||
|
|
||||||
|
|
||||||
static let manager = SRIapManager()
|
static let manager = SRIapManager()
|
||||||
@ -220,7 +222,7 @@ extension SRIapManager: SRPayMangerDelegate {
|
|||||||
SRLogin.manager.userInfo?.is_vip = true
|
SRLogin.manager.userInfo?.is_vip = true
|
||||||
}
|
}
|
||||||
|
|
||||||
SRToast.show(text: "SRbleo_success".localized)
|
SRToast.show(text: "synthreel_success".localized)
|
||||||
self.completionHandler?(true)
|
self.completionHandler?(true)
|
||||||
if buyType == .subVip {
|
if buyType == .subVip {
|
||||||
NotificationCenter.default.post(name: SRIapManager.buyVipFinishNotification, object: nil)
|
NotificationCenter.default.post(name: SRIapManager.buyVipFinishNotification, object: nil)
|
||||||
|
|||||||
@ -9,6 +9,7 @@
|
|||||||
import UIKit
|
import UIKit
|
||||||
import StoreKit
|
import StoreKit
|
||||||
|
|
||||||
|
@MainActor
|
||||||
class SRPayDataRequest: NSObject {
|
class SRPayDataRequest: NSObject {
|
||||||
private var oldTemplateModel: SRPayDateModel?
|
private var oldTemplateModel: SRPayDateModel?
|
||||||
private(set) var newTemplateModel: SRPayDateModel?
|
private(set) var newTemplateModel: SRPayDateModel?
|
||||||
|
|||||||
30
SynthReel/Source/GoogleService-Info.plist
Normal file
30
SynthReel/Source/GoogleService-Info.plist
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
<key>API_KEY</key>
|
||||||
|
<string>AIzaSyDvdKZ1OBbnWz7WeIq47747U4WW8WKWemE</string>
|
||||||
|
<key>GCM_SENDER_ID</key>
|
||||||
|
<string>803478191528</string>
|
||||||
|
<key>PLIST_VERSION</key>
|
||||||
|
<string>1</string>
|
||||||
|
<key>BUNDLE_ID</key>
|
||||||
|
<string>com.hbqinjiu.SynthReel</string>
|
||||||
|
<key>PROJECT_ID</key>
|
||||||
|
<string>synthreel</string>
|
||||||
|
<key>STORAGE_BUCKET</key>
|
||||||
|
<string>synthreel.firebasestorage.app</string>
|
||||||
|
<key>IS_ADS_ENABLED</key>
|
||||||
|
<false></false>
|
||||||
|
<key>IS_ANALYTICS_ENABLED</key>
|
||||||
|
<false></false>
|
||||||
|
<key>IS_APPINVITE_ENABLED</key>
|
||||||
|
<true></true>
|
||||||
|
<key>IS_GCM_ENABLED</key>
|
||||||
|
<true></true>
|
||||||
|
<key>IS_SIGNIN_ENABLED</key>
|
||||||
|
<true></true>
|
||||||
|
<key>GOOGLE_APP_ID</key>
|
||||||
|
<string>1:803478191528:ios:c0cbb2e33d8a01ee1a719d</string>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
||||||
@ -17,14 +17,14 @@
|
|||||||
<string>Editor</string>
|
<string>Editor</string>
|
||||||
<key>CFBundleURLSchemes</key>
|
<key>CFBundleURLSchemes</key>
|
||||||
<array>
|
<array>
|
||||||
<string>fb1765365954312054</string>
|
<string>fb1203129771732470</string>
|
||||||
</array>
|
</array>
|
||||||
</dict>
|
</dict>
|
||||||
</array>
|
</array>
|
||||||
<key>FacebookAppID</key>
|
<key>FacebookAppID</key>
|
||||||
<string>1765365954312054</string>
|
<string>1203129771732470</string>
|
||||||
<key>FacebookClientToken</key>
|
<key>FacebookClientToken</key>
|
||||||
<string>7a0b78de0a5f0e04738e8596b1b50aaa</string>
|
<string>3e671125d76ef8555893cd453337ccfc</string>
|
||||||
<key>UIApplicationSceneManifest</key>
|
<key>UIApplicationSceneManifest</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>UIApplicationSupportsMultipleScenes</key>
|
<key>UIApplicationSupportsMultipleScenes</key>
|
||||||
|
|||||||
@ -90,3 +90,11 @@
|
|||||||
"synthreel_price" = "price";
|
"synthreel_price" = "price";
|
||||||
"synthreel_balance" = "balance";
|
"synthreel_balance" = "balance";
|
||||||
"synthreel_continue" = "Claim Now";
|
"synthreel_continue" = "Claim Now";
|
||||||
|
"synthreel_success" = "success";
|
||||||
|
|
||||||
|
"pay_error_1" = "You are already a member!";
|
||||||
|
"pay_error_2" = "Invalid in-app purchase";
|
||||||
|
"pay_error_3" = "Payment has been cancelled";
|
||||||
|
"pay_error_4" = "Purchase Failed";
|
||||||
|
"pay_error_5" = "There are no recoverable in-app purchases.";
|
||||||
|
"pay_error_6" = "You have unfinished in-app purchases, please restore them first.";
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user