This commit is contained in:
zjx 2025-08-14 11:28:13 +08:00
parent 5bb65dc1f4
commit 4faf52dc09
3 changed files with 32 additions and 25 deletions

View File

@ -117,7 +117,7 @@ class VPStatAPI: NSObject {
}
static func requestStatError(shortPlayId: String?, videoId: String?, eventKey: ErrorEventKey, errorMsg: String?, otherParamenters: [String : Any]? = nil) {
static func requestStatError(orderCode: String?, shortPlayId: String?, videoId: String?, eventKey: ErrorEventKey, errorMsg: String?, otherParamenters: [String : Any]? = nil) {
var eventName = ""
switch eventKey {
@ -139,7 +139,8 @@ class VPStatAPI: NSObject {
"event_name" : eventName,
"event_key" : eventKey.rawValue,
"short_play_id" : shortPlayId ?? "0",
"short_play_video_id" : videoId ?? "0"
"short_play_video_id" : videoId ?? "0",
"order_code": orderCode ?? ""
]
if let errorMsg = errorMsg {

View File

@ -135,15 +135,9 @@ class VPWalletAPI {
}
///
static func requestVerifyOrder(orderCode: String, payId: String, productId: String, transactionId: String, purchaseToken: String, completer: ((_ response: VPNetworkResponse<VPIAPVerifyModel>?) -> Void)?) {
static func requestVerifyOrder(parameters: [String : Any], completer: ((_ response: VPNetworkResponse<VPIAPVerifyModel>?) -> Void)?) {
var param = VPNetworkParameters(path: "/applePaid")
param.parameters = [
"order_code" : orderCode,
"pay_setting_id" : payId,
"pkg_name" : kVPAPPBundleIdentifier,
"transaction_id" : transactionId,
"purchases_token" : purchaseToken
]
param.parameters = parameters
VPNetwork.request(parameters: param) { (response: VPNetworkResponse<VPIAPVerifyModel>) in
completer?(response)

View File

@ -98,7 +98,6 @@ class VPIAPManager {
guard let waitRestoreModel = self.waitRestoreModel,
let orderCode = waitRestoreModel.orderCode,
let payId = waitRestoreModel.payId,
let productId = waitRestoreModel.productId,
let receipt = waitRestoreModel.receipt,
let transactionId = waitRestoreModel.transactionId
else {
@ -114,21 +113,17 @@ class VPIAPManager {
VPHUD.show()
}
let verifyData = [
"order_code" : orderCode,
"pay_setting_id" : payId,
"pkg_name" : kVPAPPBundleIdentifier,
"transaction_id": transactionId,
"purchases_token" : receipt
]
let verifyData = self.getVerifyOrderParameters(orderCode: orderCode, payId: payId, transactionId: transactionId, purchaseToken: receipt)
let statParamenters: [String : Any] = [
"type" : isLoding ? "manual" : "auto",
"pay_data" : verifyData.toJsonString() ?? ""
]
VPStatAPI.requestStatError(shortPlayId: nil, videoId: nil, eventKey: .payRestore, errorMsg: "restore", otherParamenters: statParamenters)
VPWalletAPI.requestVerifyOrder(orderCode: orderCode, payId: payId, productId: productId, transactionId: transactionId, purchaseToken: receipt) { response in
VPStatAPI.requestStatError(orderCode: orderCode, shortPlayId: nil, videoId: nil, eventKey: .payRestore, errorMsg: "restore", otherParamenters: statParamenters)
VPWalletAPI.requestVerifyOrder(parameters: verifyData) { response in
if isLoding {
VPHUD.dismiss()
}
@ -191,14 +186,16 @@ extension VPIAPManager: JXIAPManagerDelegate {
UserDefaults.vp_setObject(self.waitRestoreModel, forKey: kVPWaitRestoreIAPDefaultsKey)
VPWalletAPI.requestVerifyOrder(orderCode: orderCode, payId: payId, productId: productId, transactionId: transactionIdentifier, purchaseToken: receipt) { response in
let verifyData = self.getVerifyOrderParameters(orderCode: orderCode, payId: payId, transactionId: transactionIdentifier, purchaseToken: receipt)
VPWalletAPI.requestVerifyOrder(parameters: verifyData) { response in
VPHUD.dismiss()
self.orderCode = nil
self.payId = nil
guard let model = response?.data else {
VPStatAPI.requestStatError(shortPlayId: self.shortPlayId, videoId: self.videoId, eventKey: .payCallback, errorMsg: response?.msg)
VPStatAPI.requestStatError(orderCode: self.orderCode, shortPlayId: self.shortPlayId, videoId: self.videoId, eventKey: .payCallback, errorMsg: verifyData.toJsonString())
self.completionHandler?(false)
return
}
@ -218,7 +215,7 @@ extension VPIAPManager: JXIAPManagerDelegate {
NotificationCenter.default.post(name: VPIAPManager.buyVipFinishNotification, object: nil)
}
} else {
VPStatAPI.requestStatError(shortPlayId: self.shortPlayId, videoId: self.videoId, eventKey: .payCallback, errorMsg: model.status)
VPStatAPI.requestStatError(orderCode: self.orderCode, shortPlayId: self.shortPlayId, videoId: self.videoId, eventKey: .payCallback, errorMsg: verifyData.toJsonString())
self.completionHandler?(false)
}
}
@ -239,9 +236,9 @@ extension VPIAPManager: JXIAPManagerDelegate {
}
if code == .cancelled {
VPStatAPI.requestStatError(shortPlayId: self.shortPlayId, videoId: self.videoId, eventKey: .payCancel, errorMsg: "user cancel")
VPStatAPI.requestStatError(orderCode: self.orderCode, shortPlayId: self.shortPlayId, videoId: self.videoId, eventKey: .payCancel, errorMsg: "user cancel")
} else {
VPStatAPI.requestStatError(shortPlayId: self.shortPlayId, videoId: self.videoId, eventKey: .payError, errorMsg: msg)
VPStatAPI.requestStatError(orderCode: self.orderCode, shortPlayId: self.shortPlayId, videoId: self.videoId, eventKey: .payError, errorMsg: msg)
}
self.completionHandler?(false)
@ -256,6 +253,21 @@ extension VPIAPManager: JXIAPManagerDelegate {
}
extension VPIAPManager {
func getVerifyOrderParameters(orderCode: String, payId: String, transactionId: String, purchaseToken: String) -> [String : Any] {
let parameters: [String : Any] = [
"order_code" : orderCode,
"pay_setting_id" : payId,
"pkg_name" : kVPAPPBundleIdentifier,
"transaction_id": transactionId,
"purchases_token" : purchaseToken
]
return parameters
}
}
extension VPIAPManager {
///
@objc static let buyVipFinishNotification = NSNotification.Name(rawValue: "VPIAPManager.buyVipFinishNotification")