1
This commit is contained in:
parent
b02f655fb1
commit
f350879a40
@ -2110,7 +2110,7 @@
|
||||
CODE_SIGN_ENTITLEMENTS = ThimraTV/ThimraTV.entitlements;
|
||||
CODE_SIGN_IDENTITY = "Apple Development";
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 5;
|
||||
CURRENT_PROJECT_VERSION = 2;
|
||||
DEVELOPMENT_TEAM = TWDZ3MP9DV;
|
||||
ENABLE_USER_SCRIPT_SANDBOXING = NO;
|
||||
GENERATE_INFOPLIST_FILE = YES;
|
||||
@ -2134,7 +2134,7 @@
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
);
|
||||
MARKETING_VERSION = 1.1.3;
|
||||
MARKETING_VERSION = 1.1.4;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.thimratv.app;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||
@ -2158,7 +2158,7 @@
|
||||
CODE_SIGN_ENTITLEMENTS = ThimraTV/ThimraTV.entitlements;
|
||||
CODE_SIGN_IDENTITY = "Apple Development";
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 5;
|
||||
CURRENT_PROJECT_VERSION = 2;
|
||||
DEVELOPMENT_TEAM = TWDZ3MP9DV;
|
||||
ENABLE_USER_SCRIPT_SANDBOXING = NO;
|
||||
GENERATE_INFOPLIST_FILE = YES;
|
||||
@ -2182,7 +2182,7 @@
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
);
|
||||
MARKETING_VERSION = 1.1.3;
|
||||
MARKETING_VERSION = 1.1.4;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.thimratv.app;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||
|
@ -40,6 +40,27 @@ class SPVideoAPI: NSObject {
|
||||
}
|
||||
}
|
||||
|
||||
///获取更多视频详情
|
||||
static func requestMoreVideoDetail(shortPlayId: String, activityId: String? = nil, completer: ((_ model: SPVideoDetailModel?) -> Void)?) {
|
||||
var parameters: [String : Any] = [
|
||||
"short_play_id" : shortPlayId,
|
||||
"video_id" : "0"
|
||||
]
|
||||
|
||||
if let activityId = activityId {
|
||||
parameters["activity_id"] = activityId
|
||||
}
|
||||
|
||||
var param = SPNetworkParameters(path: "/getVideoDetails")
|
||||
param.method = .get
|
||||
param.parameters = parameters
|
||||
param.isToast = false
|
||||
|
||||
SPNetwork.request(parameters: param) { (response: SPNetworkResponse<SPVideoDetailModel>) in
|
||||
completer?(response.data)
|
||||
}
|
||||
}
|
||||
|
||||
///创建播放记录
|
||||
static func requestCreateVideoPlayHistory(videoId: String?, shortPlayId: String) {
|
||||
var param = SPNetworkParameters(path: "/createHistory")
|
||||
|
@ -55,13 +55,13 @@ class SPWalletAPI: NSObject {
|
||||
}
|
||||
|
||||
///校验内购
|
||||
static func requestVerifyOrder(orderCode: String, payId: String, productId: String, purchaseToken: String, completer: ((_ model: SPIAPVerifyModel?) -> Void)?) {
|
||||
static func requestVerifyOrder(orderCode: String, payId: String, productId: String, transactionId: String, purchaseToken: String, completer: ((_ model: SPIAPVerifyModel?) -> Void)?) {
|
||||
var param = SPNetworkParameters(path: "/applePaid")
|
||||
param.parameters = [
|
||||
"order_code" : orderCode,
|
||||
"pay_setting_id" : payId,
|
||||
"pkg_name" : kSPAPPBundleIdentifier,
|
||||
"transaction_id" : productId,
|
||||
"transaction_id" : transactionId,
|
||||
"purchases_token" : purchaseToken
|
||||
]
|
||||
|
||||
|
@ -49,7 +49,7 @@ class SPMineHeaderView: UIView {
|
||||
}
|
||||
idLabel.text = "ID \(userInfo?.customer_id ?? "")"
|
||||
|
||||
loginButton.isHidden = !(userInfo?.is_tourist ?? true)
|
||||
// loginButton.isHidden = !(userInfo?.is_tourist ?? true)
|
||||
|
||||
memberView.userInfo = self.userInfo
|
||||
|
||||
@ -162,7 +162,7 @@ class SPMineHeaderView: UIView {
|
||||
|
||||
stackView.addArrangedSubview(walletView)
|
||||
|
||||
loginButton.isHidden = false
|
||||
loginButton.isHidden = !(userInfo?.is_tourist ?? true)
|
||||
} else {
|
||||
loginButton.isHidden = true
|
||||
}
|
||||
|
@ -413,7 +413,13 @@ extension SPPlayerDetailViewController: SPPlayerListViewControllerDataSource, SP
|
||||
}
|
||||
|
||||
func sp_playerViewControllerLoadMoreData(playerViewController: SPPlayerListViewController) {
|
||||
guard self.detailDataArr.count > 0 else { return }
|
||||
guard let currentDetail = self.detailDataArr[self.viewModel.currentIndexPath.section] as? SPVideoDetailModel else { return }
|
||||
|
||||
|
||||
if currentDetail.jump_type == .moreVideo, let shortPlayId = currentDetail.jump_short_play_id, !shortPlayId.isEmpty, shortPlayId != "0" {
|
||||
self.requestMoreVideoDetail(shortPlayId: shortPlayId)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -475,4 +481,23 @@ extension SPPlayerDetailViewController {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
///加载更多详情视频
|
||||
private func requestMoreVideoDetail(shortPlayId: String) {
|
||||
|
||||
SPVideoAPI.requestMoreVideoDetail(shortPlayId: shortPlayId) { [weak self] model in
|
||||
guard let self = self else { return }
|
||||
guard let model = model else { return }
|
||||
self.detailDataArr.append(model)
|
||||
|
||||
let section = self.detailDataArr.count - 1
|
||||
|
||||
let indexSet: IndexSet = IndexSet(integer: section)
|
||||
|
||||
self.collectionView.performBatchUpdates { [weak self] in
|
||||
self?.collectionView.insertSections(indexSet)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -10,6 +10,11 @@ import SmartCodable
|
||||
|
||||
class SPVideoDetailModel: SPModel, SmartCodable {
|
||||
|
||||
enum JumpType: Int, SmartCaseDefaultable {
|
||||
case moreVideo = 0
|
||||
case otherApp = 1
|
||||
}
|
||||
|
||||
var business_model: String?
|
||||
var video_info: SPVideoInfoModel?
|
||||
var shortPlayInfo: SPShortModel?
|
||||
@ -21,4 +26,9 @@ class SPVideoDetailModel: SPModel, SmartCodable {
|
||||
var revolution: Int?
|
||||
var unlock_video_ad_count: Int?
|
||||
var discount: Int?
|
||||
|
||||
//MARK: 广告相关
|
||||
var jump_type: JumpType?
|
||||
///下一部剧的id
|
||||
var jump_short_play_id: String?
|
||||
}
|
||||
|
@ -121,7 +121,7 @@ class SPPlayBuyView: HWPanModalContentView {
|
||||
}
|
||||
|
||||
override func longFormHeight() -> PanModalHeight {
|
||||
return PanModalHeightMake(.content, kSPScreenHeight - kSPNavBarHeight - 10)
|
||||
return PanModalHeightMake(.content, kSPScreenHeight - kSPStatusbarHeight)
|
||||
}
|
||||
|
||||
override func showDragIndicator() -> Bool {
|
||||
|
@ -82,7 +82,8 @@ class SPIAPManager: NSObject {
|
||||
let orderCode = waitRestoreModel.orderCode,
|
||||
let payId = waitRestoreModel.payId,
|
||||
let productId = waitRestoreModel.productId,
|
||||
let receipt = waitRestoreModel.receipt
|
||||
let receipt = waitRestoreModel.receipt,
|
||||
let transactionId = waitRestoreModel.transactionId
|
||||
else {
|
||||
if isLoding {
|
||||
SPToast.show(text: "movia_iap_error_toast_02".localized)
|
||||
@ -93,7 +94,7 @@ class SPIAPManager: NSObject {
|
||||
if isLoding {
|
||||
SPHUD.show()
|
||||
}
|
||||
SPWalletAPI.requestVerifyOrder(orderCode: orderCode, payId: payId, productId: productId, purchaseToken: receipt) { model in
|
||||
SPWalletAPI.requestVerifyOrder(orderCode: orderCode, payId: payId, productId: productId, transactionId: transactionId, purchaseToken: receipt) { model in
|
||||
if isLoding {
|
||||
SPHUD.dismiss()
|
||||
}
|
||||
@ -148,11 +149,12 @@ extension SPIAPManager: JXIAPManagerDelegate {
|
||||
}
|
||||
|
||||
self.waitRestoreModel?.productId = productId
|
||||
self.waitRestoreModel?.transactionId = transactionIdentifier
|
||||
self.waitRestoreModel?.receipt = receipt
|
||||
|
||||
UserDefaults.jx_setObject(self.waitRestoreModel, forKey: kSPWaitRestoreIAPDefaultsKey)
|
||||
|
||||
SPWalletAPI.requestVerifyOrder(orderCode: orderCode, payId: payId, productId: productId, purchaseToken: receipt) { model in
|
||||
SPWalletAPI.requestVerifyOrder(orderCode: orderCode, payId: payId, productId: productId, transactionId: transactionIdentifier ?? "", purchaseToken: receipt) { model in
|
||||
SPHUD.dismiss()
|
||||
|
||||
self.orderCode = nil
|
||||
|
@ -17,6 +17,7 @@ class SPWaitRestoreModel: SPModel, NSSecureCoding {
|
||||
var productId: String?
|
||||
var receipt: String?
|
||||
var buyType: SPWalletAPI.BuyType?
|
||||
var transactionId: String?
|
||||
|
||||
|
||||
required init() { }
|
||||
|
Loading…
x
Reference in New Issue
Block a user