Commit 16699f9c2bf766d67de8d1ae98a4a81eb7a16978

Authored by “张旭”
1 parent 42057c6e

内购付费

metaCode/Classes/Main/HomePages/ViewModel/CNLiveHomePageViewModel.swift
... ... @@ -635,6 +635,31 @@ class CNLiveHomePageViewModel:NSObject,URLSessionTaskDelegate{
635 635 }
636 636 }
637 637 }
  638 + //内购
  639 + static func generateTradeNumber() -> String {
  640 + // 生成3个0-9的随机数
  641 + let randomDigits = (0..<3).map { _ in String(Int.random(in: 0...9)) }.joined()
  642 +
  643 + // 日期格式化(yyMMdd)
  644 + let dateFormatter = DateFormatter()
  645 + dateFormatter.dateFormat = "yyMMdd"
  646 + let dateString = dateFormatter.string(from: Date())
  647 +
  648 + // 处理时间戳(精确到毫秒)
  649 + let timestamp = String(format: "%.0f", Date().timeIntervalSince1970 * 1000)
  650 +
  651 + // 截取时间戳后8位,并处理异常情况
  652 + let timeString: String = {
  653 + guard timestamp.count >= 8 else {
  654 + return String(timestamp.suffix(timestamp.count))
  655 + }
  656 + return String(timestamp.suffix(8))
  657 + }()
  658 +
  659 + // 组合交易号
  660 + return "003apple\(dateString)\(timeString)\(randomDigits)"
  661 + }
  662 +
638 663 static func getRandomOrderId() -> String {
639 664 // appId+渠道+年月日+毫秒数后10位+2位数的随机数
640 665 var randomOrderId = ""
... ...
metaCode/Classes/Main/HuBiLieHomePage/Controller/CNLiveTVPlayerViewController.swift
... ... @@ -342,7 +342,7 @@ class CNLiveTVPlayerViewController:UIViewController, UITableViewDataSource, UITa
342 342 //支付按钮,拉起内购
343 343 //成功用pay参数 刷新页面
344 344  
345   - let orderId = CNLiveHomePageViewModel.getRandomOrderId()
  345 + let orderId = CNLiveHomePageViewModel.generateTradeNumber()
346 346 let notifyUrl = "http://apps.pay.cnlive.com/upappnotify/notify/orderForVideo"
347 347 //分转元,没有小数点
348 348 let fenString = self.payVodAlbumListModel?.product?.iosRmb ?? "100"
... ...
metaCode/Classes/Other/AppDelegate.swift
... ... @@ -65,7 +65,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
65 65  
66 66 CNLivePaySDK.sharedCNLivePayManager().registerApp(CNLiveMCEnvironmentManager.shared.appId_wjj, appKey: CNLiveMCEnvironmentManager.shared.appKey_wjj, isTestEnvironment: false)
67 67 CNLivePaySDK.sharedCNLivePayManager().registerWXApi(withWXAppId: wxAppId, universalLink: universalLinkURL)
68   -
  68 + print("1111:\(CNLiveMCEnvironmentManager.shared.appId_wjj),\(CNLiveMCEnvironmentManager.shared.appKey_wjj),\(wxAppId),\(universalLinkURL)")
69 69 window = UIWindow.init(frame: UIScreen.main.bounds)
70 70 window?.backgroundColor = KVCBackgroupColor
71 71 let is_login = UserDefaults.standard.bool(forKey: "is_login")
... ...