@norcy/react-native-toolkit 0.1.105 → 0.1.107

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -16,19 +16,20 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
16
16
  let _customerInfo;
17
17
  let isReady = false;
18
18
  const VipManager = exports.VipManager = {
19
- init: () => {
19
+ init: async () => {
20
20
  isReady = !!_Tool.ToolkitConfig.RC_API_KEY;
21
21
  if (!isReady) {
22
22
  console.log('VIP 模块无有效配置信息');
23
23
  return;
24
24
  }
25
25
  console.log('Vip 模块初始化');
26
+ if (!!_Tool.ToolkitConfig.RC_PROXY_URL) {
27
+ console.log('设置代理', _Tool.ToolkitConfig.RC_PROXY_URL);
28
+ await _reactNativePurchases.default.setProxyURL(_Tool.ToolkitConfig.RC_PROXY_URL);
29
+ }
26
30
  _reactNativePurchases.default.configure({
27
31
  apiKey: _Tool.ToolkitConfig.RC_API_KEY
28
32
  });
29
- if (_Tool.ToolkitConfig.RC_PROXY_URL) {
30
- _reactNativePurchases.default.setProxyURL(_Tool.ToolkitConfig.RC_PROXY_URL);
31
- }
32
33
  VipManager.refreshVip();
33
34
  _Notification.Notification.addListener('onLogin', async _ref => {
34
35
  let {
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_reactNativePurchases","_interopRequireDefault","_DevConfig","_LoginManager","_Notification","_PrefData","_Tool","_VipAndroidManager","obj","__esModule","default","_customerInfo","isReady","VipManager","exports","init","ToolkitConfig","RC_API_KEY","console","log","Purchases","configure","apiKey","RC_PROXY_URL","setProxyURL","refreshVip","Notification","addListener","_ref","error","user","logIn","AVUser","get","setAttributes","nickname","e","logOut","purchase","purchasePackage","errorCode","LoginManager","isLogin","Platform","OS","VipAndroidManager","customerInfo","entitlements","active","RC_ENTITLEMENT_ID","errorMsg","userCancelled","message","recover","_customerInfo$entitle","restorePurchases","vip","getPackages","offeringId","isForeverVip","__DEV__","offerings","getOfferings","targetOffering","all","current","availablePackages","length","packages","isVip","isTrailVip","filter","item","productItem","product","productCategory","_customerInfo2","_customerInfo3","_isVip2","_isVip","isActive","isSandbox","DevConfig","hasValue","BuildInPrefs","DevVip","getValue","_VipManager$vipEndTim","vipEndTime","vipCountDay","_customerInfo4","time","expirationDate","date","Date","Tool","formatDate","_customerInfo5","diff","getTime","Math","max","ceil","_LoginManager$current","vipType","currentUser","includes","isVipExpired","_LoginManager$current2","_customerInfo6","getCustomerInfo","updateVipInfo","postNotification","_customerInfo7","_LoginManager$current3","keys","values","productIdentifier","oldVipType","push","_customerInfo8","expireDate","_LoginManager$current4","oldVipEndTime","batchUpdateUser"],"sources":["VipManager.ts"],"sourcesContent":["import { Platform } from 'react-native';\nimport Purchases, {\n CustomerInfo,\n PurchasesPackage,\n} from 'react-native-purchases';\nimport { DevConfig } from './DevConfig';\nimport { LoginManager, LoginResultDataType } from './LoginManager';\nimport { Notification } from './Notification';\nimport { BuildInPrefs } from './PrefData';\nimport { Tool, ToolkitConfig } from './Tool';\nimport { VipAndroidManager } from './VipAndroidManager';\n\nlet _customerInfo: CustomerInfo | null;\nlet isReady = false;\n\nexport const VipManager = {\n init: () => {\n isReady = !!ToolkitConfig.RC_API_KEY;\n\n if (!isReady) {\n console.log('VIP 模块无有效配置信息');\n return;\n }\n\n console.log('Vip 模块初始化');\n\n Purchases.configure({ apiKey: ToolkitConfig.RC_API_KEY });\n if (ToolkitConfig.RC_PROXY_URL) {\n Purchases.setProxyURL(ToolkitConfig.RC_PROXY_URL);\n }\n\n VipManager.refreshVip();\n\n Notification.addListener(\n 'onLogin',\n async ({ error, user }: LoginResultDataType) => {\n console.log('Vip 模块用户登录');\n if (!error && user) {\n try {\n await Purchases.logIn(user.AVUser.get('objectId'));\n await Purchases.setAttributes({ nickname: user.nickname });\n await VipManager.refreshVip();\n } catch (e) {\n console.error(e);\n }\n }\n }\n );\n\n Notification.addListener('onLogout', () => {\n Purchases.logOut();\n _customerInfo = null;\n });\n },\n\n purchase: async (purchasePackage: PurchasesPackage) => {\n if (!isReady) {\n console.log('VIP 模块无有效配置信息');\n return { errorCode: -99 };\n }\n\n if (!LoginManager.isLogin()) {\n return { errorCode: -1 };\n }\n\n if (!purchasePackage) {\n return { errorCode: -4 };\n }\n\n console.log('购买商品', purchasePackage);\n\n if (Platform.OS === 'android') {\n return await VipAndroidManager.purchase(purchasePackage);\n }\n\n try {\n const { customerInfo } = await Purchases.purchasePackage(purchasePackage);\n\n await VipManager.refreshVip(customerInfo);\n if (\n typeof customerInfo.entitlements.active[\n ToolkitConfig.RC_ENTITLEMENT_ID\n ] !== 'undefined'\n ) {\n console.log('购买成功');\n return { errorCode: 0 };\n } else {\n console.log('购买失败(-5)');\n return { errorCode: -5, errorMsg: '' };\n }\n } catch (e: any) {\n if (!e.userCancelled) {\n console.log('购买失败(-5)', e.message);\n return { errorCode: -5, errorMsg: e.message };\n } else {\n console.log('购买取消(-2)');\n return { errorCode: -2 };\n }\n }\n },\n\n recover: async () => {\n if (!isReady) {\n console.log('VIP 模块无有效配置信息');\n return { errorCode: -99 };\n }\n\n if (!LoginManager.isLogin()) {\n return { errorCode: -1 };\n }\n\n try {\n if (Platform.OS === 'android') {\n return await VipAndroidManager.recover();\n }\n\n console.log('iOS 恢复购买');\n const customerInfo = await Purchases.restorePurchases();\n await VipManager.refreshVip(customerInfo);\n if (customerInfo.entitlements.active?.vip) {\n console.log('恢复成功');\n return { errorCode: 0 };\n } else {\n console.log('恢复失败(-2)');\n return { errorCode: -2 };\n }\n } catch (e: any) {\n console.log('恢复失败(-3)', e.message);\n return { errorCode: -3, errorMsg: e.message };\n }\n },\n\n getPackages: async (offeringId?: string): Promise<PurchasesPackage[]> => {\n if (!isReady) {\n console.log('VIP 模块无有效配置信息');\n return [];\n }\n\n if (VipManager.isForeverVip()) {\n return [];\n }\n\n if (Platform.OS === 'android' || __DEV__) {\n return VipAndroidManager.getPackages(offeringId);\n }\n\n try {\n const offerings = await Purchases.getOfferings();\n let targetOffering;\n if (offeringId) {\n targetOffering = offerings.all[offeringId];\n }\n\n if (!targetOffering) {\n targetOffering = offerings.current;\n }\n\n console.log('获取商品');\n if (\n targetOffering !== null &&\n targetOffering.availablePackages.length !== 0\n ) {\n let packages = targetOffering.availablePackages;\n // 如果是订阅的,非试用的,过滤订阅产品,只展示永久 VIP\n if (VipManager.isVip() && !VipManager.isTrailVip()) {\n packages = packages.filter((item) => {\n const productItem: any = item.product;\n return productItem.productCategory === 'NON_SUBSCRIPTION';\n });\n }\n return packages;\n } else {\n return [];\n }\n } catch (e) {\n console.error('Get Product Fail', e);\n return [];\n }\n },\n\n isVip: () => {\n if (!isReady) {\n console.log('VIP 模块无有效配置信息');\n return false;\n }\n\n let _isVip = _customerInfo?.entitlements?.active?.vip?.isActive;\n if (\n _isVip &&\n !__DEV__ &&\n _customerInfo?.entitlements?.active?.vip.isSandbox\n ) {\n _isVip = false;\n }\n if (__DEV__) {\n if (DevConfig.hasValue(BuildInPrefs.DevVip)) {\n _isVip = DevConfig.getValue(BuildInPrefs.DevVip) ? true : false;\n }\n }\n return _isVip ?? false;\n },\n\n isForeverVip: () => {\n // 苹果的永久会员是非订阅制的,因此 RevenueCat 的 vipEndTime 会空\n return (\n VipManager.isVip() &&\n (VipManager.vipEndTime()?.length === 0 ||\n VipManager.vipCountDay() >= 36500)\n );\n },\n\n vipEndTime: () => {\n const time = _customerInfo?.entitlements?.active?.vip?.expirationDate;\n if (VipManager.isVip() && time) {\n const date = new Date(time);\n return Tool.formatDate(date, 'yyyy-MM-dd');\n } else {\n return '';\n }\n },\n\n vipCountDay: () => {\n const time = _customerInfo?.entitlements?.active?.vip?.expirationDate;\n if (VipManager.isVip() && time) {\n const date = new Date(time);\n const diff = date.getTime() - new Date().getTime();\n return Math.max(Math.ceil(diff / (24 * 60 * 60 * 1000)), 0);\n }\n return 0;\n },\n\n isTrailVip: () => {\n if (VipManager.isForeverVip()) {\n return false;\n }\n if (!VipManager.isVip()) {\n return false;\n }\n const vipType = LoginManager.currentUser()?.AVUser.get('vipType');\n if (vipType?.includes('rc_promo_')) {\n return true;\n }\n return false;\n },\n\n isVipExpired: () => {\n // 不是会员,但是 vipType 存在,说明曾经领过会员\n const vipType = LoginManager.currentUser()?.AVUser.get('vipType');\n return !VipManager.isVip() && vipType;\n },\n\n refreshVip: async (customerInfo?: CustomerInfo) => {\n try {\n if (!isReady) {\n console.log('VIP 模块无有效配置信息');\n return;\n }\n console.log('刷新 VIP');\n if (customerInfo) {\n _customerInfo = customerInfo;\n } else {\n _customerInfo = await Purchases.getCustomerInfo();\n }\n console.log('VIP 信息刷新完毕', _customerInfo?.entitlements?.active);\n console.log('是否是 VIP', VipManager.isVip());\n console.log('VipInfo 过期时间', VipManager.vipEndTime());\n\n await updateVipInfo();\n // 必须确保通知正常发出,因为其他模块依赖这个时机\n Notification.postNotification('onVipRefresh', {});\n } catch (e) {\n console.error(e);\n Notification.postNotification('onVipRefresh', { e });\n }\n },\n};\n\nconst updateVipInfo = async () => {\n if (!VipManager.isVip() || !LoginManager.isLogin()) {\n return;\n }\n\n const keys = [];\n const values = [];\n\n const vipType = _customerInfo?.entitlements?.active?.vip?.productIdentifier;\n const oldVipType = LoginManager.currentUser()?.AVUser.get('vipType');\n if (vipType && vipType !== oldVipType) {\n keys.push('vipType');\n values.push(vipType);\n }\n\n let vipEndTime;\n if (VipManager.isForeverVip()) {\n vipEndTime = new Date(10413763200000); // 约定 2300-01-01 00:00:00 为永久会员\n } else {\n const expireDate = _customerInfo?.entitlements?.active?.vip?.expirationDate;\n if (expireDate) {\n vipEndTime = new Date(expireDate);\n }\n }\n if (vipEndTime) {\n const oldVipEndTime = LoginManager.currentUser()?.AVUser.get('vipEndTime');\n if (vipEndTime.getTime() !== oldVipEndTime?.getTime()) {\n keys.push('vipEndTime');\n values.push(vipEndTime);\n }\n }\n\n if (keys.length > 0) {\n await LoginManager.batchUpdateUser(keys, values);\n }\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["_reactNative","require","_reactNativePurchases","_interopRequireDefault","_DevConfig","_LoginManager","_Notification","_PrefData","_Tool","_VipAndroidManager","obj","__esModule","default","_customerInfo","isReady","VipManager","exports","init","ToolkitConfig","RC_API_KEY","console","log","RC_PROXY_URL","Purchases","setProxyURL","configure","apiKey","refreshVip","Notification","addListener","_ref","error","user","logIn","AVUser","get","setAttributes","nickname","e","logOut","purchase","purchasePackage","errorCode","LoginManager","isLogin","Platform","OS","VipAndroidManager","customerInfo","entitlements","active","RC_ENTITLEMENT_ID","errorMsg","userCancelled","message","recover","_customerInfo$entitle","restorePurchases","vip","getPackages","offeringId","isForeverVip","__DEV__","offerings","getOfferings","targetOffering","all","current","availablePackages","length","packages","isVip","isTrailVip","filter","item","productItem","product","productCategory","_customerInfo2","_customerInfo3","_isVip2","_isVip","isActive","isSandbox","DevConfig","hasValue","BuildInPrefs","DevVip","getValue","_VipManager$vipEndTim","vipEndTime","vipCountDay","_customerInfo4","time","expirationDate","date","Date","Tool","formatDate","_customerInfo5","diff","getTime","Math","max","ceil","_LoginManager$current","vipType","currentUser","includes","isVipExpired","_LoginManager$current2","_customerInfo6","getCustomerInfo","updateVipInfo","postNotification","_customerInfo7","_LoginManager$current3","keys","values","productIdentifier","oldVipType","push","_customerInfo8","expireDate","_LoginManager$current4","oldVipEndTime","batchUpdateUser"],"sources":["VipManager.ts"],"sourcesContent":["import { Platform } from 'react-native';\nimport Purchases, {\n CustomerInfo,\n PurchasesPackage,\n} from 'react-native-purchases';\nimport { DevConfig } from './DevConfig';\nimport { LoginManager, LoginResultDataType } from './LoginManager';\nimport { Notification } from './Notification';\nimport { BuildInPrefs } from './PrefData';\nimport { Tool, ToolkitConfig } from './Tool';\nimport { VipAndroidManager } from './VipAndroidManager';\n\nlet _customerInfo: CustomerInfo | null;\nlet isReady = false;\n\nexport const VipManager = {\n init: async () => {\n isReady = !!ToolkitConfig.RC_API_KEY;\n\n if (!isReady) {\n console.log('VIP 模块无有效配置信息');\n return;\n }\n\n console.log('Vip 模块初始化');\n\n if (!!ToolkitConfig.RC_PROXY_URL) {\n console.log('设置代理', ToolkitConfig.RC_PROXY_URL);\n await Purchases.setProxyURL(ToolkitConfig.RC_PROXY_URL);\n }\n Purchases.configure({ apiKey: ToolkitConfig.RC_API_KEY });\n\n VipManager.refreshVip();\n\n Notification.addListener(\n 'onLogin',\n async ({ error, user }: LoginResultDataType) => {\n console.log('Vip 模块用户登录');\n if (!error && user) {\n try {\n await Purchases.logIn(user.AVUser.get('objectId'));\n await Purchases.setAttributes({ nickname: user.nickname });\n await VipManager.refreshVip();\n } catch (e) {\n console.error(e);\n }\n }\n }\n );\n\n Notification.addListener('onLogout', () => {\n Purchases.logOut();\n _customerInfo = null;\n });\n },\n\n purchase: async (purchasePackage: PurchasesPackage) => {\n if (!isReady) {\n console.log('VIP 模块无有效配置信息');\n return { errorCode: -99 };\n }\n\n if (!LoginManager.isLogin()) {\n return { errorCode: -1 };\n }\n\n if (!purchasePackage) {\n return { errorCode: -4 };\n }\n\n console.log('购买商品', purchasePackage);\n\n if (Platform.OS === 'android') {\n return await VipAndroidManager.purchase(purchasePackage);\n }\n\n try {\n const { customerInfo } = await Purchases.purchasePackage(purchasePackage);\n\n await VipManager.refreshVip(customerInfo);\n if (\n typeof customerInfo.entitlements.active[\n ToolkitConfig.RC_ENTITLEMENT_ID\n ] !== 'undefined'\n ) {\n console.log('购买成功');\n return { errorCode: 0 };\n } else {\n console.log('购买失败(-5)');\n return { errorCode: -5, errorMsg: '' };\n }\n } catch (e: any) {\n if (!e.userCancelled) {\n console.log('购买失败(-5)', e.message);\n return { errorCode: -5, errorMsg: e.message };\n } else {\n console.log('购买取消(-2)');\n return { errorCode: -2 };\n }\n }\n },\n\n recover: async () => {\n if (!isReady) {\n console.log('VIP 模块无有效配置信息');\n return { errorCode: -99 };\n }\n\n if (!LoginManager.isLogin()) {\n return { errorCode: -1 };\n }\n\n try {\n if (Platform.OS === 'android') {\n return await VipAndroidManager.recover();\n }\n\n console.log('iOS 恢复购买');\n const customerInfo = await Purchases.restorePurchases();\n await VipManager.refreshVip(customerInfo);\n if (customerInfo.entitlements.active?.vip) {\n console.log('恢复成功');\n return { errorCode: 0 };\n } else {\n console.log('恢复失败(-2)');\n return { errorCode: -2 };\n }\n } catch (e: any) {\n console.log('恢复失败(-3)', e.message);\n return { errorCode: -3, errorMsg: e.message };\n }\n },\n\n getPackages: async (offeringId?: string): Promise<PurchasesPackage[]> => {\n if (!isReady) {\n console.log('VIP 模块无有效配置信息');\n return [];\n }\n\n if (VipManager.isForeverVip()) {\n return [];\n }\n\n if (Platform.OS === 'android' || __DEV__) {\n return VipAndroidManager.getPackages(offeringId);\n }\n\n try {\n const offerings = await Purchases.getOfferings();\n let targetOffering;\n if (offeringId) {\n targetOffering = offerings.all[offeringId];\n }\n\n if (!targetOffering) {\n targetOffering = offerings.current;\n }\n\n console.log('获取商品');\n if (\n targetOffering !== null &&\n targetOffering.availablePackages.length !== 0\n ) {\n let packages = targetOffering.availablePackages;\n // 如果是订阅的,非试用的,过滤订阅产品,只展示永久 VIP\n if (VipManager.isVip() && !VipManager.isTrailVip()) {\n packages = packages.filter((item) => {\n const productItem: any = item.product;\n return productItem.productCategory === 'NON_SUBSCRIPTION';\n });\n }\n return packages;\n } else {\n return [];\n }\n } catch (e) {\n console.error('Get Product Fail', e);\n return [];\n }\n },\n\n isVip: () => {\n if (!isReady) {\n console.log('VIP 模块无有效配置信息');\n return false;\n }\n\n let _isVip = _customerInfo?.entitlements?.active?.vip?.isActive;\n if (\n _isVip &&\n !__DEV__ &&\n _customerInfo?.entitlements?.active?.vip.isSandbox\n ) {\n _isVip = false;\n }\n if (__DEV__) {\n if (DevConfig.hasValue(BuildInPrefs.DevVip)) {\n _isVip = DevConfig.getValue(BuildInPrefs.DevVip) ? true : false;\n }\n }\n return _isVip ?? false;\n },\n\n isForeverVip: () => {\n // 苹果的永久会员是非订阅制的,因此 RevenueCat 的 vipEndTime 会空\n return (\n VipManager.isVip() &&\n (VipManager.vipEndTime()?.length === 0 ||\n VipManager.vipCountDay() >= 36500)\n );\n },\n\n vipEndTime: () => {\n const time = _customerInfo?.entitlements?.active?.vip?.expirationDate;\n if (VipManager.isVip() && time) {\n const date = new Date(time);\n return Tool.formatDate(date, 'yyyy-MM-dd');\n } else {\n return '';\n }\n },\n\n vipCountDay: () => {\n const time = _customerInfo?.entitlements?.active?.vip?.expirationDate;\n if (VipManager.isVip() && time) {\n const date = new Date(time);\n const diff = date.getTime() - new Date().getTime();\n return Math.max(Math.ceil(diff / (24 * 60 * 60 * 1000)), 0);\n }\n return 0;\n },\n\n isTrailVip: () => {\n if (VipManager.isForeverVip()) {\n return false;\n }\n if (!VipManager.isVip()) {\n return false;\n }\n const vipType = LoginManager.currentUser()?.AVUser.get('vipType');\n if (vipType?.includes('rc_promo_')) {\n return true;\n }\n return false;\n },\n\n isVipExpired: () => {\n // 不是会员,但是 vipType 存在,说明曾经领过会员\n const vipType = LoginManager.currentUser()?.AVUser.get('vipType');\n return !VipManager.isVip() && vipType;\n },\n\n refreshVip: async (customerInfo?: CustomerInfo) => {\n try {\n if (!isReady) {\n console.log('VIP 模块无有效配置信息');\n return;\n }\n console.log('刷新 VIP');\n if (customerInfo) {\n _customerInfo = customerInfo;\n } else {\n _customerInfo = await Purchases.getCustomerInfo();\n }\n console.log('VIP 信息刷新完毕', _customerInfo?.entitlements?.active);\n console.log('是否是 VIP', VipManager.isVip());\n console.log('VipInfo 过期时间', VipManager.vipEndTime());\n\n await updateVipInfo();\n // 必须确保通知正常发出,因为其他模块依赖这个时机\n Notification.postNotification('onVipRefresh', {});\n } catch (e) {\n console.error(e);\n Notification.postNotification('onVipRefresh', { e });\n }\n },\n};\n\nconst updateVipInfo = async () => {\n if (!VipManager.isVip() || !LoginManager.isLogin()) {\n return;\n }\n\n const keys = [];\n const values = [];\n\n const vipType = _customerInfo?.entitlements?.active?.vip?.productIdentifier;\n const oldVipType = LoginManager.currentUser()?.AVUser.get('vipType');\n if (vipType && vipType !== oldVipType) {\n keys.push('vipType');\n values.push(vipType);\n }\n\n let vipEndTime;\n if (VipManager.isForeverVip()) {\n vipEndTime = new Date(10413763200000); // 约定 2300-01-01 00:00:00 为永久会员\n } else {\n const expireDate = _customerInfo?.entitlements?.active?.vip?.expirationDate;\n if (expireDate) {\n vipEndTime = new Date(expireDate);\n }\n }\n if (vipEndTime) {\n const oldVipEndTime = LoginManager.currentUser()?.AVUser.get('vipEndTime');\n if (vipEndTime.getTime() !== oldVipEndTime?.getTime()) {\n keys.push('vipEndTime');\n values.push(vipEndTime);\n }\n }\n\n if (keys.length > 0) {\n await LoginManager.batchUpdateUser(keys, values);\n }\n};\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,qBAAA,GAAAC,sBAAA,CAAAF,OAAA;AAIA,IAAAG,UAAA,GAAAH,OAAA;AACA,IAAAI,aAAA,GAAAJ,OAAA;AACA,IAAAK,aAAA,GAAAL,OAAA;AACA,IAAAM,SAAA,GAAAN,OAAA;AACA,IAAAO,KAAA,GAAAP,OAAA;AACA,IAAAQ,kBAAA,GAAAR,OAAA;AAAwD,SAAAE,uBAAAO,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAExD,IAAIG,aAAkC;AACtC,IAAIC,OAAO,GAAG,KAAK;AAEZ,MAAMC,UAAU,GAAAC,OAAA,CAAAD,UAAA,GAAG;EACxBE,IAAI,EAAE,MAAAA,CAAA,KAAY;IAChBH,OAAO,GAAG,CAAC,CAACI,mBAAa,CAACC,UAAU;IAEpC,IAAI,CAACL,OAAO,EAAE;MACZM,OAAO,CAACC,GAAG,CAAC,eAAe,CAAC;MAC5B;IACF;IAEAD,OAAO,CAACC,GAAG,CAAC,WAAW,CAAC;IAExB,IAAI,CAAC,CAACH,mBAAa,CAACI,YAAY,EAAE;MAChCF,OAAO,CAACC,GAAG,CAAC,MAAM,EAAEH,mBAAa,CAACI,YAAY,CAAC;MAC/C,MAAMC,6BAAS,CAACC,WAAW,CAACN,mBAAa,CAACI,YAAY,CAAC;IACzD;IACAC,6BAAS,CAACE,SAAS,CAAC;MAAEC,MAAM,EAAER,mBAAa,CAACC;IAAW,CAAC,CAAC;IAEzDJ,UAAU,CAACY,UAAU,CAAC,CAAC;IAEvBC,0BAAY,CAACC,WAAW,CACtB,SAAS,EACT,MAAAC,IAAA,IAAgD;MAAA,IAAzC;QAAEC,KAAK;QAAEC;MAA0B,CAAC,GAAAF,IAAA;MACzCV,OAAO,CAACC,GAAG,CAAC,YAAY,CAAC;MACzB,IAAI,CAACU,KAAK,IAAIC,IAAI,EAAE;QAClB,IAAI;UACF,MAAMT,6BAAS,CAACU,KAAK,CAACD,IAAI,CAACE,MAAM,CAACC,GAAG,CAAC,UAAU,CAAC,CAAC;UAClD,MAAMZ,6BAAS,CAACa,aAAa,CAAC;YAAEC,QAAQ,EAAEL,IAAI,CAACK;UAAS,CAAC,CAAC;UAC1D,MAAMtB,UAAU,CAACY,UAAU,CAAC,CAAC;QAC/B,CAAC,CAAC,OAAOW,CAAC,EAAE;UACVlB,OAAO,CAACW,KAAK,CAACO,CAAC,CAAC;QAClB;MACF;IACF,CACF,CAAC;IAEDV,0BAAY,CAACC,WAAW,CAAC,UAAU,EAAE,MAAM;MACzCN,6BAAS,CAACgB,MAAM,CAAC,CAAC;MAClB1B,aAAa,GAAG,IAAI;IACtB,CAAC,CAAC;EACJ,CAAC;EAED2B,QAAQ,EAAE,MAAOC,eAAiC,IAAK;IACrD,IAAI,CAAC3B,OAAO,EAAE;MACZM,OAAO,CAACC,GAAG,CAAC,eAAe,CAAC;MAC5B,OAAO;QAAEqB,SAAS,EAAE,CAAC;MAAG,CAAC;IAC3B;IAEA,IAAI,CAACC,0BAAY,CAACC,OAAO,CAAC,CAAC,EAAE;MAC3B,OAAO;QAAEF,SAAS,EAAE,CAAC;MAAE,CAAC;IAC1B;IAEA,IAAI,CAACD,eAAe,EAAE;MACpB,OAAO;QAAEC,SAAS,EAAE,CAAC;MAAE,CAAC;IAC1B;IAEAtB,OAAO,CAACC,GAAG,CAAC,MAAM,EAAEoB,eAAe,CAAC;IAEpC,IAAII,qBAAQ,CAACC,EAAE,KAAK,SAAS,EAAE;MAC7B,OAAO,MAAMC,oCAAiB,CAACP,QAAQ,CAACC,eAAe,CAAC;IAC1D;IAEA,IAAI;MACF,MAAM;QAAEO;MAAa,CAAC,GAAG,MAAMzB,6BAAS,CAACkB,eAAe,CAACA,eAAe,CAAC;MAEzE,MAAM1B,UAAU,CAACY,UAAU,CAACqB,YAAY,CAAC;MACzC,IACE,OAAOA,YAAY,CAACC,YAAY,CAACC,MAAM,CACrChC,mBAAa,CAACiC,iBAAiB,CAChC,KAAK,WAAW,EACjB;QACA/B,OAAO,CAACC,GAAG,CAAC,MAAM,CAAC;QACnB,OAAO;UAAEqB,SAAS,EAAE;QAAE,CAAC;MACzB,CAAC,MAAM;QACLtB,OAAO,CAACC,GAAG,CAAC,UAAU,CAAC;QACvB,OAAO;UAAEqB,SAAS,EAAE,CAAC,CAAC;UAAEU,QAAQ,EAAE;QAAG,CAAC;MACxC;IACF,CAAC,CAAC,OAAOd,CAAM,EAAE;MACf,IAAI,CAACA,CAAC,CAACe,aAAa,EAAE;QACpBjC,OAAO,CAACC,GAAG,CAAC,UAAU,EAAEiB,CAAC,CAACgB,OAAO,CAAC;QAClC,OAAO;UAAEZ,SAAS,EAAE,CAAC,CAAC;UAAEU,QAAQ,EAAEd,CAAC,CAACgB;QAAQ,CAAC;MAC/C,CAAC,MAAM;QACLlC,OAAO,CAACC,GAAG,CAAC,UAAU,CAAC;QACvB,OAAO;UAAEqB,SAAS,EAAE,CAAC;QAAE,CAAC;MAC1B;IACF;EACF,CAAC;EAEDa,OAAO,EAAE,MAAAA,CAAA,KAAY;IACnB,IAAI,CAACzC,OAAO,EAAE;MACZM,OAAO,CAACC,GAAG,CAAC,eAAe,CAAC;MAC5B,OAAO;QAAEqB,SAAS,EAAE,CAAC;MAAG,CAAC;IAC3B;IAEA,IAAI,CAACC,0BAAY,CAACC,OAAO,CAAC,CAAC,EAAE;MAC3B,OAAO;QAAEF,SAAS,EAAE,CAAC;MAAE,CAAC;IAC1B;IAEA,IAAI;MAAA,IAAAc,qBAAA;MACF,IAAIX,qBAAQ,CAACC,EAAE,KAAK,SAAS,EAAE;QAC7B,OAAO,MAAMC,oCAAiB,CAACQ,OAAO,CAAC,CAAC;MAC1C;MAEAnC,OAAO,CAACC,GAAG,CAAC,UAAU,CAAC;MACvB,MAAM2B,YAAY,GAAG,MAAMzB,6BAAS,CAACkC,gBAAgB,CAAC,CAAC;MACvD,MAAM1C,UAAU,CAACY,UAAU,CAACqB,YAAY,CAAC;MACzC,KAAAQ,qBAAA,GAAIR,YAAY,CAACC,YAAY,CAACC,MAAM,cAAAM,qBAAA,eAAhCA,qBAAA,CAAkCE,GAAG,EAAE;QACzCtC,OAAO,CAACC,GAAG,CAAC,MAAM,CAAC;QACnB,OAAO;UAAEqB,SAAS,EAAE;QAAE,CAAC;MACzB,CAAC,MAAM;QACLtB,OAAO,CAACC,GAAG,CAAC,UAAU,CAAC;QACvB,OAAO;UAAEqB,SAAS,EAAE,CAAC;QAAE,CAAC;MAC1B;IACF,CAAC,CAAC,OAAOJ,CAAM,EAAE;MACflB,OAAO,CAACC,GAAG,CAAC,UAAU,EAAEiB,CAAC,CAACgB,OAAO,CAAC;MAClC,OAAO;QAAEZ,SAAS,EAAE,CAAC,CAAC;QAAEU,QAAQ,EAAEd,CAAC,CAACgB;MAAQ,CAAC;IAC/C;EACF,CAAC;EAEDK,WAAW,EAAE,MAAOC,UAAmB,IAAkC;IACvE,IAAI,CAAC9C,OAAO,EAAE;MACZM,OAAO,CAACC,GAAG,CAAC,eAAe,CAAC;MAC5B,OAAO,EAAE;IACX;IAEA,IAAIN,UAAU,CAAC8C,YAAY,CAAC,CAAC,EAAE;MAC7B,OAAO,EAAE;IACX;IAEA,IAAIhB,qBAAQ,CAACC,EAAE,KAAK,SAAS,IAAIgB,OAAO,EAAE;MACxC,OAAOf,oCAAiB,CAACY,WAAW,CAACC,UAAU,CAAC;IAClD;IAEA,IAAI;MACF,MAAMG,SAAS,GAAG,MAAMxC,6BAAS,CAACyC,YAAY,CAAC,CAAC;MAChD,IAAIC,cAAc;MAClB,IAAIL,UAAU,EAAE;QACdK,cAAc,GAAGF,SAAS,CAACG,GAAG,CAACN,UAAU,CAAC;MAC5C;MAEA,IAAI,CAACK,cAAc,EAAE;QACnBA,cAAc,GAAGF,SAAS,CAACI,OAAO;MACpC;MAEA/C,OAAO,CAACC,GAAG,CAAC,MAAM,CAAC;MACnB,IACE4C,cAAc,KAAK,IAAI,IACvBA,cAAc,CAACG,iBAAiB,CAACC,MAAM,KAAK,CAAC,EAC7C;QACA,IAAIC,QAAQ,GAAGL,cAAc,CAACG,iBAAiB;QAC/C;QACA,IAAIrD,UAAU,CAACwD,KAAK,CAAC,CAAC,IAAI,CAACxD,UAAU,CAACyD,UAAU,CAAC,CAAC,EAAE;UAClDF,QAAQ,GAAGA,QAAQ,CAACG,MAAM,CAAEC,IAAI,IAAK;YACnC,MAAMC,WAAgB,GAAGD,IAAI,CAACE,OAAO;YACrC,OAAOD,WAAW,CAACE,eAAe,KAAK,kBAAkB;UAC3D,CAAC,CAAC;QACJ;QACA,OAAOP,QAAQ;MACjB,CAAC,MAAM;QACL,OAAO,EAAE;MACX;IACF,CAAC,CAAC,OAAOhC,CAAC,EAAE;MACVlB,OAAO,CAACW,KAAK,CAAC,kBAAkB,EAAEO,CAAC,CAAC;MACpC,OAAO,EAAE;IACX;EACF,CAAC;EAEDiC,KAAK,EAAEA,CAAA,KAAM;IAAA,IAAAO,cAAA,EAAAC,cAAA,EAAAC,OAAA;IACX,IAAI,CAAClE,OAAO,EAAE;MACZM,OAAO,CAACC,GAAG,CAAC,eAAe,CAAC;MAC5B,OAAO,KAAK;IACd;IAEA,IAAI4D,MAAM,IAAAH,cAAA,GAAGjE,aAAa,cAAAiE,cAAA,gBAAAA,cAAA,GAAbA,cAAA,CAAe7B,YAAY,cAAA6B,cAAA,gBAAAA,cAAA,GAA3BA,cAAA,CAA6B5B,MAAM,cAAA4B,cAAA,gBAAAA,cAAA,GAAnCA,cAAA,CAAqCpB,GAAG,cAAAoB,cAAA,uBAAxCA,cAAA,CAA0CI,QAAQ;IAC/D,IACED,MAAM,IACN,CAACnB,OAAO,KAAAiB,cAAA,GACRlE,aAAa,cAAAkE,cAAA,gBAAAA,cAAA,GAAbA,cAAA,CAAe9B,YAAY,cAAA8B,cAAA,gBAAAA,cAAA,GAA3BA,cAAA,CAA6B7B,MAAM,cAAA6B,cAAA,eAAnCA,cAAA,CAAqCrB,GAAG,CAACyB,SAAS,EAClD;MACAF,MAAM,GAAG,KAAK;IAChB;IACA,IAAInB,OAAO,EAAE;MACX,IAAIsB,oBAAS,CAACC,QAAQ,CAACC,sBAAY,CAACC,MAAM,CAAC,EAAE;QAC3CN,MAAM,GAAGG,oBAAS,CAACI,QAAQ,CAACF,sBAAY,CAACC,MAAM,CAAC,GAAG,IAAI,GAAG,KAAK;MACjE;IACF;IACA,QAAAP,OAAA,GAAOC,MAAM,cAAAD,OAAA,cAAAA,OAAA,GAAI,KAAK;EACxB,CAAC;EAEDnB,YAAY,EAAEA,CAAA,KAAM;IAAA,IAAA4B,qBAAA;IAClB;IACA,OACE1E,UAAU,CAACwD,KAAK,CAAC,CAAC,KACjB,EAAAkB,qBAAA,GAAA1E,UAAU,CAAC2E,UAAU,CAAC,CAAC,cAAAD,qBAAA,uBAAvBA,qBAAA,CAAyBpB,MAAM,MAAK,CAAC,IACpCtD,UAAU,CAAC4E,WAAW,CAAC,CAAC,IAAI,KAAK,CAAC;EAExC,CAAC;EAEDD,UAAU,EAAEA,CAAA,KAAM;IAAA,IAAAE,cAAA;IAChB,MAAMC,IAAI,IAAAD,cAAA,GAAG/E,aAAa,cAAA+E,cAAA,gBAAAA,cAAA,GAAbA,cAAA,CAAe3C,YAAY,cAAA2C,cAAA,gBAAAA,cAAA,GAA3BA,cAAA,CAA6B1C,MAAM,cAAA0C,cAAA,gBAAAA,cAAA,GAAnCA,cAAA,CAAqClC,GAAG,cAAAkC,cAAA,uBAAxCA,cAAA,CAA0CE,cAAc;IACrE,IAAI/E,UAAU,CAACwD,KAAK,CAAC,CAAC,IAAIsB,IAAI,EAAE;MAC9B,MAAME,IAAI,GAAG,IAAIC,IAAI,CAACH,IAAI,CAAC;MAC3B,OAAOI,UAAI,CAACC,UAAU,CAACH,IAAI,EAAE,YAAY,CAAC;IAC5C,CAAC,MAAM;MACL,OAAO,EAAE;IACX;EACF,CAAC;EAEDJ,WAAW,EAAEA,CAAA,KAAM;IAAA,IAAAQ,cAAA;IACjB,MAAMN,IAAI,IAAAM,cAAA,GAAGtF,aAAa,cAAAsF,cAAA,gBAAAA,cAAA,GAAbA,cAAA,CAAelD,YAAY,cAAAkD,cAAA,gBAAAA,cAAA,GAA3BA,cAAA,CAA6BjD,MAAM,cAAAiD,cAAA,gBAAAA,cAAA,GAAnCA,cAAA,CAAqCzC,GAAG,cAAAyC,cAAA,uBAAxCA,cAAA,CAA0CL,cAAc;IACrE,IAAI/E,UAAU,CAACwD,KAAK,CAAC,CAAC,IAAIsB,IAAI,EAAE;MAC9B,MAAME,IAAI,GAAG,IAAIC,IAAI,CAACH,IAAI,CAAC;MAC3B,MAAMO,IAAI,GAAGL,IAAI,CAACM,OAAO,CAAC,CAAC,GAAG,IAAIL,IAAI,CAAC,CAAC,CAACK,OAAO,CAAC,CAAC;MAClD,OAAOC,IAAI,CAACC,GAAG,CAACD,IAAI,CAACE,IAAI,CAACJ,IAAI,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;IAC7D;IACA,OAAO,CAAC;EACV,CAAC;EAED5B,UAAU,EAAEA,CAAA,KAAM;IAAA,IAAAiC,qBAAA;IAChB,IAAI1F,UAAU,CAAC8C,YAAY,CAAC,CAAC,EAAE;MAC7B,OAAO,KAAK;IACd;IACA,IAAI,CAAC9C,UAAU,CAACwD,KAAK,CAAC,CAAC,EAAE;MACvB,OAAO,KAAK;IACd;IACA,MAAMmC,OAAO,IAAAD,qBAAA,GAAG9D,0BAAY,CAACgE,WAAW,CAAC,CAAC,cAAAF,qBAAA,uBAA1BA,qBAAA,CAA4BvE,MAAM,CAACC,GAAG,CAAC,SAAS,CAAC;IACjE,IAAIuE,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAEE,QAAQ,CAAC,WAAW,CAAC,EAAE;MAClC,OAAO,IAAI;IACb;IACA,OAAO,KAAK;EACd,CAAC;EAEDC,YAAY,EAAEA,CAAA,KAAM;IAAA,IAAAC,sBAAA;IAClB;IACA,MAAMJ,OAAO,IAAAI,sBAAA,GAAGnE,0BAAY,CAACgE,WAAW,CAAC,CAAC,cAAAG,sBAAA,uBAA1BA,sBAAA,CAA4B5E,MAAM,CAACC,GAAG,CAAC,SAAS,CAAC;IACjE,OAAO,CAACpB,UAAU,CAACwD,KAAK,CAAC,CAAC,IAAImC,OAAO;EACvC,CAAC;EAED/E,UAAU,EAAE,MAAOqB,YAA2B,IAAK;IACjD,IAAI;MAAA,IAAA+D,cAAA;MACF,IAAI,CAACjG,OAAO,EAAE;QACZM,OAAO,CAACC,GAAG,CAAC,eAAe,CAAC;QAC5B;MACF;MACAD,OAAO,CAACC,GAAG,CAAC,QAAQ,CAAC;MACrB,IAAI2B,YAAY,EAAE;QAChBnC,aAAa,GAAGmC,YAAY;MAC9B,CAAC,MAAM;QACLnC,aAAa,GAAG,MAAMU,6BAAS,CAACyF,eAAe,CAAC,CAAC;MACnD;MACA5F,OAAO,CAACC,GAAG,CAAC,YAAY,GAAA0F,cAAA,GAAElG,aAAa,cAAAkG,cAAA,gBAAAA,cAAA,GAAbA,cAAA,CAAe9D,YAAY,cAAA8D,cAAA,uBAA3BA,cAAA,CAA6B7D,MAAM,CAAC;MAC9D9B,OAAO,CAACC,GAAG,CAAC,SAAS,EAAEN,UAAU,CAACwD,KAAK,CAAC,CAAC,CAAC;MAC1CnD,OAAO,CAACC,GAAG,CAAC,cAAc,EAAEN,UAAU,CAAC2E,UAAU,CAAC,CAAC,CAAC;MAEpD,MAAMuB,aAAa,CAAC,CAAC;MACrB;MACArF,0BAAY,CAACsF,gBAAgB,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;IACnD,CAAC,CAAC,OAAO5E,CAAC,EAAE;MACVlB,OAAO,CAACW,KAAK,CAACO,CAAC,CAAC;MAChBV,0BAAY,CAACsF,gBAAgB,CAAC,cAAc,EAAE;QAAE5E;MAAE,CAAC,CAAC;IACtD;EACF;AACF,CAAC;AAED,MAAM2E,aAAa,GAAG,MAAAA,CAAA,KAAY;EAAA,IAAAE,cAAA,EAAAC,sBAAA;EAChC,IAAI,CAACrG,UAAU,CAACwD,KAAK,CAAC,CAAC,IAAI,CAAC5B,0BAAY,CAACC,OAAO,CAAC,CAAC,EAAE;IAClD;EACF;EAEA,MAAMyE,IAAI,GAAG,EAAE;EACf,MAAMC,MAAM,GAAG,EAAE;EAEjB,MAAMZ,OAAO,IAAAS,cAAA,GAAGtG,aAAa,cAAAsG,cAAA,gBAAAA,cAAA,GAAbA,cAAA,CAAelE,YAAY,cAAAkE,cAAA,gBAAAA,cAAA,GAA3BA,cAAA,CAA6BjE,MAAM,cAAAiE,cAAA,gBAAAA,cAAA,GAAnCA,cAAA,CAAqCzD,GAAG,cAAAyD,cAAA,uBAAxCA,cAAA,CAA0CI,iBAAiB;EAC3E,MAAMC,UAAU,IAAAJ,sBAAA,GAAGzE,0BAAY,CAACgE,WAAW,CAAC,CAAC,cAAAS,sBAAA,uBAA1BA,sBAAA,CAA4BlF,MAAM,CAACC,GAAG,CAAC,SAAS,CAAC;EACpE,IAAIuE,OAAO,IAAIA,OAAO,KAAKc,UAAU,EAAE;IACrCH,IAAI,CAACI,IAAI,CAAC,SAAS,CAAC;IACpBH,MAAM,CAACG,IAAI,CAACf,OAAO,CAAC;EACtB;EAEA,IAAIhB,UAAU;EACd,IAAI3E,UAAU,CAAC8C,YAAY,CAAC,CAAC,EAAE;IAC7B6B,UAAU,GAAG,IAAIM,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;EACzC,CAAC,MAAM;IAAA,IAAA0B,cAAA;IACL,MAAMC,UAAU,IAAAD,cAAA,GAAG7G,aAAa,cAAA6G,cAAA,gBAAAA,cAAA,GAAbA,cAAA,CAAezE,YAAY,cAAAyE,cAAA,gBAAAA,cAAA,GAA3BA,cAAA,CAA6BxE,MAAM,cAAAwE,cAAA,gBAAAA,cAAA,GAAnCA,cAAA,CAAqChE,GAAG,cAAAgE,cAAA,uBAAxCA,cAAA,CAA0C5B,cAAc;IAC3E,IAAI6B,UAAU,EAAE;MACdjC,UAAU,GAAG,IAAIM,IAAI,CAAC2B,UAAU,CAAC;IACnC;EACF;EACA,IAAIjC,UAAU,EAAE;IAAA,IAAAkC,sBAAA;IACd,MAAMC,aAAa,IAAAD,sBAAA,GAAGjF,0BAAY,CAACgE,WAAW,CAAC,CAAC,cAAAiB,sBAAA,uBAA1BA,sBAAA,CAA4B1F,MAAM,CAACC,GAAG,CAAC,YAAY,CAAC;IAC1E,IAAIuD,UAAU,CAACW,OAAO,CAAC,CAAC,MAAKwB,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAExB,OAAO,CAAC,CAAC,GAAE;MACrDgB,IAAI,CAACI,IAAI,CAAC,YAAY,CAAC;MACvBH,MAAM,CAACG,IAAI,CAAC/B,UAAU,CAAC;IACzB;EACF;EAEA,IAAI2B,IAAI,CAAChD,MAAM,GAAG,CAAC,EAAE;IACnB,MAAM1B,0BAAY,CAACmF,eAAe,CAACT,IAAI,EAAEC,MAAM,CAAC;EAClD;AACF,CAAC"}
@@ -9,19 +9,20 @@ import { VipAndroidManager } from './VipAndroidManager';
9
9
  let _customerInfo;
10
10
  let isReady = false;
11
11
  export const VipManager = {
12
- init: () => {
12
+ init: async () => {
13
13
  isReady = !!ToolkitConfig.RC_API_KEY;
14
14
  if (!isReady) {
15
15
  console.log('VIP 模块无有效配置信息');
16
16
  return;
17
17
  }
18
18
  console.log('Vip 模块初始化');
19
+ if (!!ToolkitConfig.RC_PROXY_URL) {
20
+ console.log('设置代理', ToolkitConfig.RC_PROXY_URL);
21
+ await Purchases.setProxyURL(ToolkitConfig.RC_PROXY_URL);
22
+ }
19
23
  Purchases.configure({
20
24
  apiKey: ToolkitConfig.RC_API_KEY
21
25
  });
22
- if (ToolkitConfig.RC_PROXY_URL) {
23
- Purchases.setProxyURL(ToolkitConfig.RC_PROXY_URL);
24
- }
25
26
  VipManager.refreshVip();
26
27
  Notification.addListener('onLogin', async _ref => {
27
28
  let {
@@ -1 +1 @@
1
- {"version":3,"names":["Platform","Purchases","DevConfig","LoginManager","Notification","BuildInPrefs","Tool","ToolkitConfig","VipAndroidManager","_customerInfo","isReady","VipManager","init","RC_API_KEY","console","log","configure","apiKey","RC_PROXY_URL","setProxyURL","refreshVip","addListener","_ref","error","user","logIn","AVUser","get","setAttributes","nickname","e","logOut","purchase","purchasePackage","errorCode","isLogin","OS","customerInfo","entitlements","active","RC_ENTITLEMENT_ID","errorMsg","userCancelled","message","recover","_customerInfo$entitle","restorePurchases","vip","getPackages","offeringId","isForeverVip","__DEV__","offerings","getOfferings","targetOffering","all","current","availablePackages","length","packages","isVip","isTrailVip","filter","item","productItem","product","productCategory","_customerInfo2","_customerInfo3","_isVip2","_isVip","isActive","isSandbox","hasValue","DevVip","getValue","_VipManager$vipEndTim","vipEndTime","vipCountDay","_customerInfo4","time","expirationDate","date","Date","formatDate","_customerInfo5","diff","getTime","Math","max","ceil","_LoginManager$current","vipType","currentUser","includes","isVipExpired","_LoginManager$current2","_customerInfo6","getCustomerInfo","updateVipInfo","postNotification","_customerInfo7","_LoginManager$current3","keys","values","productIdentifier","oldVipType","push","_customerInfo8","expireDate","_LoginManager$current4","oldVipEndTime","batchUpdateUser"],"sources":["VipManager.ts"],"sourcesContent":["import { Platform } from 'react-native';\nimport Purchases, {\n CustomerInfo,\n PurchasesPackage,\n} from 'react-native-purchases';\nimport { DevConfig } from './DevConfig';\nimport { LoginManager, LoginResultDataType } from './LoginManager';\nimport { Notification } from './Notification';\nimport { BuildInPrefs } from './PrefData';\nimport { Tool, ToolkitConfig } from './Tool';\nimport { VipAndroidManager } from './VipAndroidManager';\n\nlet _customerInfo: CustomerInfo | null;\nlet isReady = false;\n\nexport const VipManager = {\n init: () => {\n isReady = !!ToolkitConfig.RC_API_KEY;\n\n if (!isReady) {\n console.log('VIP 模块无有效配置信息');\n return;\n }\n\n console.log('Vip 模块初始化');\n\n Purchases.configure({ apiKey: ToolkitConfig.RC_API_KEY });\n if (ToolkitConfig.RC_PROXY_URL) {\n Purchases.setProxyURL(ToolkitConfig.RC_PROXY_URL);\n }\n\n VipManager.refreshVip();\n\n Notification.addListener(\n 'onLogin',\n async ({ error, user }: LoginResultDataType) => {\n console.log('Vip 模块用户登录');\n if (!error && user) {\n try {\n await Purchases.logIn(user.AVUser.get('objectId'));\n await Purchases.setAttributes({ nickname: user.nickname });\n await VipManager.refreshVip();\n } catch (e) {\n console.error(e);\n }\n }\n }\n );\n\n Notification.addListener('onLogout', () => {\n Purchases.logOut();\n _customerInfo = null;\n });\n },\n\n purchase: async (purchasePackage: PurchasesPackage) => {\n if (!isReady) {\n console.log('VIP 模块无有效配置信息');\n return { errorCode: -99 };\n }\n\n if (!LoginManager.isLogin()) {\n return { errorCode: -1 };\n }\n\n if (!purchasePackage) {\n return { errorCode: -4 };\n }\n\n console.log('购买商品', purchasePackage);\n\n if (Platform.OS === 'android') {\n return await VipAndroidManager.purchase(purchasePackage);\n }\n\n try {\n const { customerInfo } = await Purchases.purchasePackage(purchasePackage);\n\n await VipManager.refreshVip(customerInfo);\n if (\n typeof customerInfo.entitlements.active[\n ToolkitConfig.RC_ENTITLEMENT_ID\n ] !== 'undefined'\n ) {\n console.log('购买成功');\n return { errorCode: 0 };\n } else {\n console.log('购买失败(-5)');\n return { errorCode: -5, errorMsg: '' };\n }\n } catch (e: any) {\n if (!e.userCancelled) {\n console.log('购买失败(-5)', e.message);\n return { errorCode: -5, errorMsg: e.message };\n } else {\n console.log('购买取消(-2)');\n return { errorCode: -2 };\n }\n }\n },\n\n recover: async () => {\n if (!isReady) {\n console.log('VIP 模块无有效配置信息');\n return { errorCode: -99 };\n }\n\n if (!LoginManager.isLogin()) {\n return { errorCode: -1 };\n }\n\n try {\n if (Platform.OS === 'android') {\n return await VipAndroidManager.recover();\n }\n\n console.log('iOS 恢复购买');\n const customerInfo = await Purchases.restorePurchases();\n await VipManager.refreshVip(customerInfo);\n if (customerInfo.entitlements.active?.vip) {\n console.log('恢复成功');\n return { errorCode: 0 };\n } else {\n console.log('恢复失败(-2)');\n return { errorCode: -2 };\n }\n } catch (e: any) {\n console.log('恢复失败(-3)', e.message);\n return { errorCode: -3, errorMsg: e.message };\n }\n },\n\n getPackages: async (offeringId?: string): Promise<PurchasesPackage[]> => {\n if (!isReady) {\n console.log('VIP 模块无有效配置信息');\n return [];\n }\n\n if (VipManager.isForeverVip()) {\n return [];\n }\n\n if (Platform.OS === 'android' || __DEV__) {\n return VipAndroidManager.getPackages(offeringId);\n }\n\n try {\n const offerings = await Purchases.getOfferings();\n let targetOffering;\n if (offeringId) {\n targetOffering = offerings.all[offeringId];\n }\n\n if (!targetOffering) {\n targetOffering = offerings.current;\n }\n\n console.log('获取商品');\n if (\n targetOffering !== null &&\n targetOffering.availablePackages.length !== 0\n ) {\n let packages = targetOffering.availablePackages;\n // 如果是订阅的,非试用的,过滤订阅产品,只展示永久 VIP\n if (VipManager.isVip() && !VipManager.isTrailVip()) {\n packages = packages.filter((item) => {\n const productItem: any = item.product;\n return productItem.productCategory === 'NON_SUBSCRIPTION';\n });\n }\n return packages;\n } else {\n return [];\n }\n } catch (e) {\n console.error('Get Product Fail', e);\n return [];\n }\n },\n\n isVip: () => {\n if (!isReady) {\n console.log('VIP 模块无有效配置信息');\n return false;\n }\n\n let _isVip = _customerInfo?.entitlements?.active?.vip?.isActive;\n if (\n _isVip &&\n !__DEV__ &&\n _customerInfo?.entitlements?.active?.vip.isSandbox\n ) {\n _isVip = false;\n }\n if (__DEV__) {\n if (DevConfig.hasValue(BuildInPrefs.DevVip)) {\n _isVip = DevConfig.getValue(BuildInPrefs.DevVip) ? true : false;\n }\n }\n return _isVip ?? false;\n },\n\n isForeverVip: () => {\n // 苹果的永久会员是非订阅制的,因此 RevenueCat 的 vipEndTime 会空\n return (\n VipManager.isVip() &&\n (VipManager.vipEndTime()?.length === 0 ||\n VipManager.vipCountDay() >= 36500)\n );\n },\n\n vipEndTime: () => {\n const time = _customerInfo?.entitlements?.active?.vip?.expirationDate;\n if (VipManager.isVip() && time) {\n const date = new Date(time);\n return Tool.formatDate(date, 'yyyy-MM-dd');\n } else {\n return '';\n }\n },\n\n vipCountDay: () => {\n const time = _customerInfo?.entitlements?.active?.vip?.expirationDate;\n if (VipManager.isVip() && time) {\n const date = new Date(time);\n const diff = date.getTime() - new Date().getTime();\n return Math.max(Math.ceil(diff / (24 * 60 * 60 * 1000)), 0);\n }\n return 0;\n },\n\n isTrailVip: () => {\n if (VipManager.isForeverVip()) {\n return false;\n }\n if (!VipManager.isVip()) {\n return false;\n }\n const vipType = LoginManager.currentUser()?.AVUser.get('vipType');\n if (vipType?.includes('rc_promo_')) {\n return true;\n }\n return false;\n },\n\n isVipExpired: () => {\n // 不是会员,但是 vipType 存在,说明曾经领过会员\n const vipType = LoginManager.currentUser()?.AVUser.get('vipType');\n return !VipManager.isVip() && vipType;\n },\n\n refreshVip: async (customerInfo?: CustomerInfo) => {\n try {\n if (!isReady) {\n console.log('VIP 模块无有效配置信息');\n return;\n }\n console.log('刷新 VIP');\n if (customerInfo) {\n _customerInfo = customerInfo;\n } else {\n _customerInfo = await Purchases.getCustomerInfo();\n }\n console.log('VIP 信息刷新完毕', _customerInfo?.entitlements?.active);\n console.log('是否是 VIP', VipManager.isVip());\n console.log('VipInfo 过期时间', VipManager.vipEndTime());\n\n await updateVipInfo();\n // 必须确保通知正常发出,因为其他模块依赖这个时机\n Notification.postNotification('onVipRefresh', {});\n } catch (e) {\n console.error(e);\n Notification.postNotification('onVipRefresh', { e });\n }\n },\n};\n\nconst updateVipInfo = async () => {\n if (!VipManager.isVip() || !LoginManager.isLogin()) {\n return;\n }\n\n const keys = [];\n const values = [];\n\n const vipType = _customerInfo?.entitlements?.active?.vip?.productIdentifier;\n const oldVipType = LoginManager.currentUser()?.AVUser.get('vipType');\n if (vipType && vipType !== oldVipType) {\n keys.push('vipType');\n values.push(vipType);\n }\n\n let vipEndTime;\n if (VipManager.isForeverVip()) {\n vipEndTime = new Date(10413763200000); // 约定 2300-01-01 00:00:00 为永久会员\n } else {\n const expireDate = _customerInfo?.entitlements?.active?.vip?.expirationDate;\n if (expireDate) {\n vipEndTime = new Date(expireDate);\n }\n }\n if (vipEndTime) {\n const oldVipEndTime = LoginManager.currentUser()?.AVUser.get('vipEndTime');\n if (vipEndTime.getTime() !== oldVipEndTime?.getTime()) {\n keys.push('vipEndTime');\n values.push(vipEndTime);\n }\n }\n\n if (keys.length > 0) {\n await LoginManager.batchUpdateUser(keys, values);\n }\n};\n"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,cAAc;AACvC,OAAOC,SAAS,MAGT,wBAAwB;AAC/B,SAASC,SAAS,QAAQ,aAAa;AACvC,SAASC,YAAY,QAA6B,gBAAgB;AAClE,SAASC,YAAY,QAAQ,gBAAgB;AAC7C,SAASC,YAAY,QAAQ,YAAY;AACzC,SAASC,IAAI,EAAEC,aAAa,QAAQ,QAAQ;AAC5C,SAASC,iBAAiB,QAAQ,qBAAqB;AAEvD,IAAIC,aAAkC;AACtC,IAAIC,OAAO,GAAG,KAAK;AAEnB,OAAO,MAAMC,UAAU,GAAG;EACxBC,IAAI,EAAEA,CAAA,KAAM;IACVF,OAAO,GAAG,CAAC,CAACH,aAAa,CAACM,UAAU;IAEpC,IAAI,CAACH,OAAO,EAAE;MACZI,OAAO,CAACC,GAAG,CAAC,eAAe,CAAC;MAC5B;IACF;IAEAD,OAAO,CAACC,GAAG,CAAC,WAAW,CAAC;IAExBd,SAAS,CAACe,SAAS,CAAC;MAAEC,MAAM,EAAEV,aAAa,CAACM;IAAW,CAAC,CAAC;IACzD,IAAIN,aAAa,CAACW,YAAY,EAAE;MAC9BjB,SAAS,CAACkB,WAAW,CAACZ,aAAa,CAACW,YAAY,CAAC;IACnD;IAEAP,UAAU,CAACS,UAAU,CAAC,CAAC;IAEvBhB,YAAY,CAACiB,WAAW,CACtB,SAAS,EACT,MAAAC,IAAA,IAAgD;MAAA,IAAzC;QAAEC,KAAK;QAAEC;MAA0B,CAAC,GAAAF,IAAA;MACzCR,OAAO,CAACC,GAAG,CAAC,YAAY,CAAC;MACzB,IAAI,CAACQ,KAAK,IAAIC,IAAI,EAAE;QAClB,IAAI;UACF,MAAMvB,SAAS,CAACwB,KAAK,CAACD,IAAI,CAACE,MAAM,CAACC,GAAG,CAAC,UAAU,CAAC,CAAC;UAClD,MAAM1B,SAAS,CAAC2B,aAAa,CAAC;YAAEC,QAAQ,EAAEL,IAAI,CAACK;UAAS,CAAC,CAAC;UAC1D,MAAMlB,UAAU,CAACS,UAAU,CAAC,CAAC;QAC/B,CAAC,CAAC,OAAOU,CAAC,EAAE;UACVhB,OAAO,CAACS,KAAK,CAACO,CAAC,CAAC;QAClB;MACF;IACF,CACF,CAAC;IAED1B,YAAY,CAACiB,WAAW,CAAC,UAAU,EAAE,MAAM;MACzCpB,SAAS,CAAC8B,MAAM,CAAC,CAAC;MAClBtB,aAAa,GAAG,IAAI;IACtB,CAAC,CAAC;EACJ,CAAC;EAEDuB,QAAQ,EAAE,MAAOC,eAAiC,IAAK;IACrD,IAAI,CAACvB,OAAO,EAAE;MACZI,OAAO,CAACC,GAAG,CAAC,eAAe,CAAC;MAC5B,OAAO;QAAEmB,SAAS,EAAE,CAAC;MAAG,CAAC;IAC3B;IAEA,IAAI,CAAC/B,YAAY,CAACgC,OAAO,CAAC,CAAC,EAAE;MAC3B,OAAO;QAAED,SAAS,EAAE,CAAC;MAAE,CAAC;IAC1B;IAEA,IAAI,CAACD,eAAe,EAAE;MACpB,OAAO;QAAEC,SAAS,EAAE,CAAC;MAAE,CAAC;IAC1B;IAEApB,OAAO,CAACC,GAAG,CAAC,MAAM,EAAEkB,eAAe,CAAC;IAEpC,IAAIjC,QAAQ,CAACoC,EAAE,KAAK,SAAS,EAAE;MAC7B,OAAO,MAAM5B,iBAAiB,CAACwB,QAAQ,CAACC,eAAe,CAAC;IAC1D;IAEA,IAAI;MACF,MAAM;QAAEI;MAAa,CAAC,GAAG,MAAMpC,SAAS,CAACgC,eAAe,CAACA,eAAe,CAAC;MAEzE,MAAMtB,UAAU,CAACS,UAAU,CAACiB,YAAY,CAAC;MACzC,IACE,OAAOA,YAAY,CAACC,YAAY,CAACC,MAAM,CACrChC,aAAa,CAACiC,iBAAiB,CAChC,KAAK,WAAW,EACjB;QACA1B,OAAO,CAACC,GAAG,CAAC,MAAM,CAAC;QACnB,OAAO;UAAEmB,SAAS,EAAE;QAAE,CAAC;MACzB,CAAC,MAAM;QACLpB,OAAO,CAACC,GAAG,CAAC,UAAU,CAAC;QACvB,OAAO;UAAEmB,SAAS,EAAE,CAAC,CAAC;UAAEO,QAAQ,EAAE;QAAG,CAAC;MACxC;IACF,CAAC,CAAC,OAAOX,CAAM,EAAE;MACf,IAAI,CAACA,CAAC,CAACY,aAAa,EAAE;QACpB5B,OAAO,CAACC,GAAG,CAAC,UAAU,EAAEe,CAAC,CAACa,OAAO,CAAC;QAClC,OAAO;UAAET,SAAS,EAAE,CAAC,CAAC;UAAEO,QAAQ,EAAEX,CAAC,CAACa;QAAQ,CAAC;MAC/C,CAAC,MAAM;QACL7B,OAAO,CAACC,GAAG,CAAC,UAAU,CAAC;QACvB,OAAO;UAAEmB,SAAS,EAAE,CAAC;QAAE,CAAC;MAC1B;IACF;EACF,CAAC;EAEDU,OAAO,EAAE,MAAAA,CAAA,KAAY;IACnB,IAAI,CAAClC,OAAO,EAAE;MACZI,OAAO,CAACC,GAAG,CAAC,eAAe,CAAC;MAC5B,OAAO;QAAEmB,SAAS,EAAE,CAAC;MAAG,CAAC;IAC3B;IAEA,IAAI,CAAC/B,YAAY,CAACgC,OAAO,CAAC,CAAC,EAAE;MAC3B,OAAO;QAAED,SAAS,EAAE,CAAC;MAAE,CAAC;IAC1B;IAEA,IAAI;MAAA,IAAAW,qBAAA;MACF,IAAI7C,QAAQ,CAACoC,EAAE,KAAK,SAAS,EAAE;QAC7B,OAAO,MAAM5B,iBAAiB,CAACoC,OAAO,CAAC,CAAC;MAC1C;MAEA9B,OAAO,CAACC,GAAG,CAAC,UAAU,CAAC;MACvB,MAAMsB,YAAY,GAAG,MAAMpC,SAAS,CAAC6C,gBAAgB,CAAC,CAAC;MACvD,MAAMnC,UAAU,CAACS,UAAU,CAACiB,YAAY,CAAC;MACzC,KAAAQ,qBAAA,GAAIR,YAAY,CAACC,YAAY,CAACC,MAAM,cAAAM,qBAAA,eAAhCA,qBAAA,CAAkCE,GAAG,EAAE;QACzCjC,OAAO,CAACC,GAAG,CAAC,MAAM,CAAC;QACnB,OAAO;UAAEmB,SAAS,EAAE;QAAE,CAAC;MACzB,CAAC,MAAM;QACLpB,OAAO,CAACC,GAAG,CAAC,UAAU,CAAC;QACvB,OAAO;UAAEmB,SAAS,EAAE,CAAC;QAAE,CAAC;MAC1B;IACF,CAAC,CAAC,OAAOJ,CAAM,EAAE;MACfhB,OAAO,CAACC,GAAG,CAAC,UAAU,EAAEe,CAAC,CAACa,OAAO,CAAC;MAClC,OAAO;QAAET,SAAS,EAAE,CAAC,CAAC;QAAEO,QAAQ,EAAEX,CAAC,CAACa;MAAQ,CAAC;IAC/C;EACF,CAAC;EAEDK,WAAW,EAAE,MAAOC,UAAmB,IAAkC;IACvE,IAAI,CAACvC,OAAO,EAAE;MACZI,OAAO,CAACC,GAAG,CAAC,eAAe,CAAC;MAC5B,OAAO,EAAE;IACX;IAEA,IAAIJ,UAAU,CAACuC,YAAY,CAAC,CAAC,EAAE;MAC7B,OAAO,EAAE;IACX;IAEA,IAAIlD,QAAQ,CAACoC,EAAE,KAAK,SAAS,IAAIe,OAAO,EAAE;MACxC,OAAO3C,iBAAiB,CAACwC,WAAW,CAACC,UAAU,CAAC;IAClD;IAEA,IAAI;MACF,MAAMG,SAAS,GAAG,MAAMnD,SAAS,CAACoD,YAAY,CAAC,CAAC;MAChD,IAAIC,cAAc;MAClB,IAAIL,UAAU,EAAE;QACdK,cAAc,GAAGF,SAAS,CAACG,GAAG,CAACN,UAAU,CAAC;MAC5C;MAEA,IAAI,CAACK,cAAc,EAAE;QACnBA,cAAc,GAAGF,SAAS,CAACI,OAAO;MACpC;MAEA1C,OAAO,CAACC,GAAG,CAAC,MAAM,CAAC;MACnB,IACEuC,cAAc,KAAK,IAAI,IACvBA,cAAc,CAACG,iBAAiB,CAACC,MAAM,KAAK,CAAC,EAC7C;QACA,IAAIC,QAAQ,GAAGL,cAAc,CAACG,iBAAiB;QAC/C;QACA,IAAI9C,UAAU,CAACiD,KAAK,CAAC,CAAC,IAAI,CAACjD,UAAU,CAACkD,UAAU,CAAC,CAAC,EAAE;UAClDF,QAAQ,GAAGA,QAAQ,CAACG,MAAM,CAAEC,IAAI,IAAK;YACnC,MAAMC,WAAgB,GAAGD,IAAI,CAACE,OAAO;YACrC,OAAOD,WAAW,CAACE,eAAe,KAAK,kBAAkB;UAC3D,CAAC,CAAC;QACJ;QACA,OAAOP,QAAQ;MACjB,CAAC,MAAM;QACL,OAAO,EAAE;MACX;IACF,CAAC,CAAC,OAAO7B,CAAC,EAAE;MACVhB,OAAO,CAACS,KAAK,CAAC,kBAAkB,EAAEO,CAAC,CAAC;MACpC,OAAO,EAAE;IACX;EACF,CAAC;EAED8B,KAAK,EAAEA,CAAA,KAAM;IAAA,IAAAO,cAAA,EAAAC,cAAA,EAAAC,OAAA;IACX,IAAI,CAAC3D,OAAO,EAAE;MACZI,OAAO,CAACC,GAAG,CAAC,eAAe,CAAC;MAC5B,OAAO,KAAK;IACd;IAEA,IAAIuD,MAAM,IAAAH,cAAA,GAAG1D,aAAa,cAAA0D,cAAA,gBAAAA,cAAA,GAAbA,cAAA,CAAe7B,YAAY,cAAA6B,cAAA,gBAAAA,cAAA,GAA3BA,cAAA,CAA6B5B,MAAM,cAAA4B,cAAA,gBAAAA,cAAA,GAAnCA,cAAA,CAAqCpB,GAAG,cAAAoB,cAAA,uBAAxCA,cAAA,CAA0CI,QAAQ;IAC/D,IACED,MAAM,IACN,CAACnB,OAAO,KAAAiB,cAAA,GACR3D,aAAa,cAAA2D,cAAA,gBAAAA,cAAA,GAAbA,cAAA,CAAe9B,YAAY,cAAA8B,cAAA,gBAAAA,cAAA,GAA3BA,cAAA,CAA6B7B,MAAM,cAAA6B,cAAA,eAAnCA,cAAA,CAAqCrB,GAAG,CAACyB,SAAS,EAClD;MACAF,MAAM,GAAG,KAAK;IAChB;IACA,IAAInB,OAAO,EAAE;MACX,IAAIjD,SAAS,CAACuE,QAAQ,CAACpE,YAAY,CAACqE,MAAM,CAAC,EAAE;QAC3CJ,MAAM,GAAGpE,SAAS,CAACyE,QAAQ,CAACtE,YAAY,CAACqE,MAAM,CAAC,GAAG,IAAI,GAAG,KAAK;MACjE;IACF;IACA,QAAAL,OAAA,GAAOC,MAAM,cAAAD,OAAA,cAAAA,OAAA,GAAI,KAAK;EACxB,CAAC;EAEDnB,YAAY,EAAEA,CAAA,KAAM;IAAA,IAAA0B,qBAAA;IAClB;IACA,OACEjE,UAAU,CAACiD,KAAK,CAAC,CAAC,KACjB,EAAAgB,qBAAA,GAAAjE,UAAU,CAACkE,UAAU,CAAC,CAAC,cAAAD,qBAAA,uBAAvBA,qBAAA,CAAyBlB,MAAM,MAAK,CAAC,IACpC/C,UAAU,CAACmE,WAAW,CAAC,CAAC,IAAI,KAAK,CAAC;EAExC,CAAC;EAEDD,UAAU,EAAEA,CAAA,KAAM;IAAA,IAAAE,cAAA;IAChB,MAAMC,IAAI,IAAAD,cAAA,GAAGtE,aAAa,cAAAsE,cAAA,gBAAAA,cAAA,GAAbA,cAAA,CAAezC,YAAY,cAAAyC,cAAA,gBAAAA,cAAA,GAA3BA,cAAA,CAA6BxC,MAAM,cAAAwC,cAAA,gBAAAA,cAAA,GAAnCA,cAAA,CAAqChC,GAAG,cAAAgC,cAAA,uBAAxCA,cAAA,CAA0CE,cAAc;IACrE,IAAItE,UAAU,CAACiD,KAAK,CAAC,CAAC,IAAIoB,IAAI,EAAE;MAC9B,MAAME,IAAI,GAAG,IAAIC,IAAI,CAACH,IAAI,CAAC;MAC3B,OAAO1E,IAAI,CAAC8E,UAAU,CAACF,IAAI,EAAE,YAAY,CAAC;IAC5C,CAAC,MAAM;MACL,OAAO,EAAE;IACX;EACF,CAAC;EAEDJ,WAAW,EAAEA,CAAA,KAAM;IAAA,IAAAO,cAAA;IACjB,MAAML,IAAI,IAAAK,cAAA,GAAG5E,aAAa,cAAA4E,cAAA,gBAAAA,cAAA,GAAbA,cAAA,CAAe/C,YAAY,cAAA+C,cAAA,gBAAAA,cAAA,GAA3BA,cAAA,CAA6B9C,MAAM,cAAA8C,cAAA,gBAAAA,cAAA,GAAnCA,cAAA,CAAqCtC,GAAG,cAAAsC,cAAA,uBAAxCA,cAAA,CAA0CJ,cAAc;IACrE,IAAItE,UAAU,CAACiD,KAAK,CAAC,CAAC,IAAIoB,IAAI,EAAE;MAC9B,MAAME,IAAI,GAAG,IAAIC,IAAI,CAACH,IAAI,CAAC;MAC3B,MAAMM,IAAI,GAAGJ,IAAI,CAACK,OAAO,CAAC,CAAC,GAAG,IAAIJ,IAAI,CAAC,CAAC,CAACI,OAAO,CAAC,CAAC;MAClD,OAAOC,IAAI,CAACC,GAAG,CAACD,IAAI,CAACE,IAAI,CAACJ,IAAI,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;IAC7D;IACA,OAAO,CAAC;EACV,CAAC;EAEDzB,UAAU,EAAEA,CAAA,KAAM;IAAA,IAAA8B,qBAAA;IAChB,IAAIhF,UAAU,CAACuC,YAAY,CAAC,CAAC,EAAE;MAC7B,OAAO,KAAK;IACd;IACA,IAAI,CAACvC,UAAU,CAACiD,KAAK,CAAC,CAAC,EAAE;MACvB,OAAO,KAAK;IACd;IACA,MAAMgC,OAAO,IAAAD,qBAAA,GAAGxF,YAAY,CAAC0F,WAAW,CAAC,CAAC,cAAAF,qBAAA,uBAA1BA,qBAAA,CAA4BjE,MAAM,CAACC,GAAG,CAAC,SAAS,CAAC;IACjE,IAAIiE,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAEE,QAAQ,CAAC,WAAW,CAAC,EAAE;MAClC,OAAO,IAAI;IACb;IACA,OAAO,KAAK;EACd,CAAC;EAEDC,YAAY,EAAEA,CAAA,KAAM;IAAA,IAAAC,sBAAA;IAClB;IACA,MAAMJ,OAAO,IAAAI,sBAAA,GAAG7F,YAAY,CAAC0F,WAAW,CAAC,CAAC,cAAAG,sBAAA,uBAA1BA,sBAAA,CAA4BtE,MAAM,CAACC,GAAG,CAAC,SAAS,CAAC;IACjE,OAAO,CAAChB,UAAU,CAACiD,KAAK,CAAC,CAAC,IAAIgC,OAAO;EACvC,CAAC;EAEDxE,UAAU,EAAE,MAAOiB,YAA2B,IAAK;IACjD,IAAI;MAAA,IAAA4D,cAAA;MACF,IAAI,CAACvF,OAAO,EAAE;QACZI,OAAO,CAACC,GAAG,CAAC,eAAe,CAAC;QAC5B;MACF;MACAD,OAAO,CAACC,GAAG,CAAC,QAAQ,CAAC;MACrB,IAAIsB,YAAY,EAAE;QAChB5B,aAAa,GAAG4B,YAAY;MAC9B,CAAC,MAAM;QACL5B,aAAa,GAAG,MAAMR,SAAS,CAACiG,eAAe,CAAC,CAAC;MACnD;MACApF,OAAO,CAACC,GAAG,CAAC,YAAY,GAAAkF,cAAA,GAAExF,aAAa,cAAAwF,cAAA,gBAAAA,cAAA,GAAbA,cAAA,CAAe3D,YAAY,cAAA2D,cAAA,uBAA3BA,cAAA,CAA6B1D,MAAM,CAAC;MAC9DzB,OAAO,CAACC,GAAG,CAAC,SAAS,EAAEJ,UAAU,CAACiD,KAAK,CAAC,CAAC,CAAC;MAC1C9C,OAAO,CAACC,GAAG,CAAC,cAAc,EAAEJ,UAAU,CAACkE,UAAU,CAAC,CAAC,CAAC;MAEpD,MAAMsB,aAAa,CAAC,CAAC;MACrB;MACA/F,YAAY,CAACgG,gBAAgB,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;IACnD,CAAC,CAAC,OAAOtE,CAAC,EAAE;MACVhB,OAAO,CAACS,KAAK,CAACO,CAAC,CAAC;MAChB1B,YAAY,CAACgG,gBAAgB,CAAC,cAAc,EAAE;QAAEtE;MAAE,CAAC,CAAC;IACtD;EACF;AACF,CAAC;AAED,MAAMqE,aAAa,GAAG,MAAAA,CAAA,KAAY;EAAA,IAAAE,cAAA,EAAAC,sBAAA;EAChC,IAAI,CAAC3F,UAAU,CAACiD,KAAK,CAAC,CAAC,IAAI,CAACzD,YAAY,CAACgC,OAAO,CAAC,CAAC,EAAE;IAClD;EACF;EAEA,MAAMoE,IAAI,GAAG,EAAE;EACf,MAAMC,MAAM,GAAG,EAAE;EAEjB,MAAMZ,OAAO,IAAAS,cAAA,GAAG5F,aAAa,cAAA4F,cAAA,gBAAAA,cAAA,GAAbA,cAAA,CAAe/D,YAAY,cAAA+D,cAAA,gBAAAA,cAAA,GAA3BA,cAAA,CAA6B9D,MAAM,cAAA8D,cAAA,gBAAAA,cAAA,GAAnCA,cAAA,CAAqCtD,GAAG,cAAAsD,cAAA,uBAAxCA,cAAA,CAA0CI,iBAAiB;EAC3E,MAAMC,UAAU,IAAAJ,sBAAA,GAAGnG,YAAY,CAAC0F,WAAW,CAAC,CAAC,cAAAS,sBAAA,uBAA1BA,sBAAA,CAA4B5E,MAAM,CAACC,GAAG,CAAC,SAAS,CAAC;EACpE,IAAIiE,OAAO,IAAIA,OAAO,KAAKc,UAAU,EAAE;IACrCH,IAAI,CAACI,IAAI,CAAC,SAAS,CAAC;IACpBH,MAAM,CAACG,IAAI,CAACf,OAAO,CAAC;EACtB;EAEA,IAAIf,UAAU;EACd,IAAIlE,UAAU,CAACuC,YAAY,CAAC,CAAC,EAAE;IAC7B2B,UAAU,GAAG,IAAIM,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;EACzC,CAAC,MAAM;IAAA,IAAAyB,cAAA;IACL,MAAMC,UAAU,IAAAD,cAAA,GAAGnG,aAAa,cAAAmG,cAAA,gBAAAA,cAAA,GAAbA,cAAA,CAAetE,YAAY,cAAAsE,cAAA,gBAAAA,cAAA,GAA3BA,cAAA,CAA6BrE,MAAM,cAAAqE,cAAA,gBAAAA,cAAA,GAAnCA,cAAA,CAAqC7D,GAAG,cAAA6D,cAAA,uBAAxCA,cAAA,CAA0C3B,cAAc;IAC3E,IAAI4B,UAAU,EAAE;MACdhC,UAAU,GAAG,IAAIM,IAAI,CAAC0B,UAAU,CAAC;IACnC;EACF;EACA,IAAIhC,UAAU,EAAE;IAAA,IAAAiC,sBAAA;IACd,MAAMC,aAAa,IAAAD,sBAAA,GAAG3G,YAAY,CAAC0F,WAAW,CAAC,CAAC,cAAAiB,sBAAA,uBAA1BA,sBAAA,CAA4BpF,MAAM,CAACC,GAAG,CAAC,YAAY,CAAC;IAC1E,IAAIkD,UAAU,CAACU,OAAO,CAAC,CAAC,MAAKwB,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAExB,OAAO,CAAC,CAAC,GAAE;MACrDgB,IAAI,CAACI,IAAI,CAAC,YAAY,CAAC;MACvBH,MAAM,CAACG,IAAI,CAAC9B,UAAU,CAAC;IACzB;EACF;EAEA,IAAI0B,IAAI,CAAC7C,MAAM,GAAG,CAAC,EAAE;IACnB,MAAMvD,YAAY,CAAC6G,eAAe,CAACT,IAAI,EAAEC,MAAM,CAAC;EAClD;AACF,CAAC"}
1
+ {"version":3,"names":["Platform","Purchases","DevConfig","LoginManager","Notification","BuildInPrefs","Tool","ToolkitConfig","VipAndroidManager","_customerInfo","isReady","VipManager","init","RC_API_KEY","console","log","RC_PROXY_URL","setProxyURL","configure","apiKey","refreshVip","addListener","_ref","error","user","logIn","AVUser","get","setAttributes","nickname","e","logOut","purchase","purchasePackage","errorCode","isLogin","OS","customerInfo","entitlements","active","RC_ENTITLEMENT_ID","errorMsg","userCancelled","message","recover","_customerInfo$entitle","restorePurchases","vip","getPackages","offeringId","isForeverVip","__DEV__","offerings","getOfferings","targetOffering","all","current","availablePackages","length","packages","isVip","isTrailVip","filter","item","productItem","product","productCategory","_customerInfo2","_customerInfo3","_isVip2","_isVip","isActive","isSandbox","hasValue","DevVip","getValue","_VipManager$vipEndTim","vipEndTime","vipCountDay","_customerInfo4","time","expirationDate","date","Date","formatDate","_customerInfo5","diff","getTime","Math","max","ceil","_LoginManager$current","vipType","currentUser","includes","isVipExpired","_LoginManager$current2","_customerInfo6","getCustomerInfo","updateVipInfo","postNotification","_customerInfo7","_LoginManager$current3","keys","values","productIdentifier","oldVipType","push","_customerInfo8","expireDate","_LoginManager$current4","oldVipEndTime","batchUpdateUser"],"sources":["VipManager.ts"],"sourcesContent":["import { Platform } from 'react-native';\nimport Purchases, {\n CustomerInfo,\n PurchasesPackage,\n} from 'react-native-purchases';\nimport { DevConfig } from './DevConfig';\nimport { LoginManager, LoginResultDataType } from './LoginManager';\nimport { Notification } from './Notification';\nimport { BuildInPrefs } from './PrefData';\nimport { Tool, ToolkitConfig } from './Tool';\nimport { VipAndroidManager } from './VipAndroidManager';\n\nlet _customerInfo: CustomerInfo | null;\nlet isReady = false;\n\nexport const VipManager = {\n init: async () => {\n isReady = !!ToolkitConfig.RC_API_KEY;\n\n if (!isReady) {\n console.log('VIP 模块无有效配置信息');\n return;\n }\n\n console.log('Vip 模块初始化');\n\n if (!!ToolkitConfig.RC_PROXY_URL) {\n console.log('设置代理', ToolkitConfig.RC_PROXY_URL);\n await Purchases.setProxyURL(ToolkitConfig.RC_PROXY_URL);\n }\n Purchases.configure({ apiKey: ToolkitConfig.RC_API_KEY });\n\n VipManager.refreshVip();\n\n Notification.addListener(\n 'onLogin',\n async ({ error, user }: LoginResultDataType) => {\n console.log('Vip 模块用户登录');\n if (!error && user) {\n try {\n await Purchases.logIn(user.AVUser.get('objectId'));\n await Purchases.setAttributes({ nickname: user.nickname });\n await VipManager.refreshVip();\n } catch (e) {\n console.error(e);\n }\n }\n }\n );\n\n Notification.addListener('onLogout', () => {\n Purchases.logOut();\n _customerInfo = null;\n });\n },\n\n purchase: async (purchasePackage: PurchasesPackage) => {\n if (!isReady) {\n console.log('VIP 模块无有效配置信息');\n return { errorCode: -99 };\n }\n\n if (!LoginManager.isLogin()) {\n return { errorCode: -1 };\n }\n\n if (!purchasePackage) {\n return { errorCode: -4 };\n }\n\n console.log('购买商品', purchasePackage);\n\n if (Platform.OS === 'android') {\n return await VipAndroidManager.purchase(purchasePackage);\n }\n\n try {\n const { customerInfo } = await Purchases.purchasePackage(purchasePackage);\n\n await VipManager.refreshVip(customerInfo);\n if (\n typeof customerInfo.entitlements.active[\n ToolkitConfig.RC_ENTITLEMENT_ID\n ] !== 'undefined'\n ) {\n console.log('购买成功');\n return { errorCode: 0 };\n } else {\n console.log('购买失败(-5)');\n return { errorCode: -5, errorMsg: '' };\n }\n } catch (e: any) {\n if (!e.userCancelled) {\n console.log('购买失败(-5)', e.message);\n return { errorCode: -5, errorMsg: e.message };\n } else {\n console.log('购买取消(-2)');\n return { errorCode: -2 };\n }\n }\n },\n\n recover: async () => {\n if (!isReady) {\n console.log('VIP 模块无有效配置信息');\n return { errorCode: -99 };\n }\n\n if (!LoginManager.isLogin()) {\n return { errorCode: -1 };\n }\n\n try {\n if (Platform.OS === 'android') {\n return await VipAndroidManager.recover();\n }\n\n console.log('iOS 恢复购买');\n const customerInfo = await Purchases.restorePurchases();\n await VipManager.refreshVip(customerInfo);\n if (customerInfo.entitlements.active?.vip) {\n console.log('恢复成功');\n return { errorCode: 0 };\n } else {\n console.log('恢复失败(-2)');\n return { errorCode: -2 };\n }\n } catch (e: any) {\n console.log('恢复失败(-3)', e.message);\n return { errorCode: -3, errorMsg: e.message };\n }\n },\n\n getPackages: async (offeringId?: string): Promise<PurchasesPackage[]> => {\n if (!isReady) {\n console.log('VIP 模块无有效配置信息');\n return [];\n }\n\n if (VipManager.isForeverVip()) {\n return [];\n }\n\n if (Platform.OS === 'android' || __DEV__) {\n return VipAndroidManager.getPackages(offeringId);\n }\n\n try {\n const offerings = await Purchases.getOfferings();\n let targetOffering;\n if (offeringId) {\n targetOffering = offerings.all[offeringId];\n }\n\n if (!targetOffering) {\n targetOffering = offerings.current;\n }\n\n console.log('获取商品');\n if (\n targetOffering !== null &&\n targetOffering.availablePackages.length !== 0\n ) {\n let packages = targetOffering.availablePackages;\n // 如果是订阅的,非试用的,过滤订阅产品,只展示永久 VIP\n if (VipManager.isVip() && !VipManager.isTrailVip()) {\n packages = packages.filter((item) => {\n const productItem: any = item.product;\n return productItem.productCategory === 'NON_SUBSCRIPTION';\n });\n }\n return packages;\n } else {\n return [];\n }\n } catch (e) {\n console.error('Get Product Fail', e);\n return [];\n }\n },\n\n isVip: () => {\n if (!isReady) {\n console.log('VIP 模块无有效配置信息');\n return false;\n }\n\n let _isVip = _customerInfo?.entitlements?.active?.vip?.isActive;\n if (\n _isVip &&\n !__DEV__ &&\n _customerInfo?.entitlements?.active?.vip.isSandbox\n ) {\n _isVip = false;\n }\n if (__DEV__) {\n if (DevConfig.hasValue(BuildInPrefs.DevVip)) {\n _isVip = DevConfig.getValue(BuildInPrefs.DevVip) ? true : false;\n }\n }\n return _isVip ?? false;\n },\n\n isForeverVip: () => {\n // 苹果的永久会员是非订阅制的,因此 RevenueCat 的 vipEndTime 会空\n return (\n VipManager.isVip() &&\n (VipManager.vipEndTime()?.length === 0 ||\n VipManager.vipCountDay() >= 36500)\n );\n },\n\n vipEndTime: () => {\n const time = _customerInfo?.entitlements?.active?.vip?.expirationDate;\n if (VipManager.isVip() && time) {\n const date = new Date(time);\n return Tool.formatDate(date, 'yyyy-MM-dd');\n } else {\n return '';\n }\n },\n\n vipCountDay: () => {\n const time = _customerInfo?.entitlements?.active?.vip?.expirationDate;\n if (VipManager.isVip() && time) {\n const date = new Date(time);\n const diff = date.getTime() - new Date().getTime();\n return Math.max(Math.ceil(diff / (24 * 60 * 60 * 1000)), 0);\n }\n return 0;\n },\n\n isTrailVip: () => {\n if (VipManager.isForeverVip()) {\n return false;\n }\n if (!VipManager.isVip()) {\n return false;\n }\n const vipType = LoginManager.currentUser()?.AVUser.get('vipType');\n if (vipType?.includes('rc_promo_')) {\n return true;\n }\n return false;\n },\n\n isVipExpired: () => {\n // 不是会员,但是 vipType 存在,说明曾经领过会员\n const vipType = LoginManager.currentUser()?.AVUser.get('vipType');\n return !VipManager.isVip() && vipType;\n },\n\n refreshVip: async (customerInfo?: CustomerInfo) => {\n try {\n if (!isReady) {\n console.log('VIP 模块无有效配置信息');\n return;\n }\n console.log('刷新 VIP');\n if (customerInfo) {\n _customerInfo = customerInfo;\n } else {\n _customerInfo = await Purchases.getCustomerInfo();\n }\n console.log('VIP 信息刷新完毕', _customerInfo?.entitlements?.active);\n console.log('是否是 VIP', VipManager.isVip());\n console.log('VipInfo 过期时间', VipManager.vipEndTime());\n\n await updateVipInfo();\n // 必须确保通知正常发出,因为其他模块依赖这个时机\n Notification.postNotification('onVipRefresh', {});\n } catch (e) {\n console.error(e);\n Notification.postNotification('onVipRefresh', { e });\n }\n },\n};\n\nconst updateVipInfo = async () => {\n if (!VipManager.isVip() || !LoginManager.isLogin()) {\n return;\n }\n\n const keys = [];\n const values = [];\n\n const vipType = _customerInfo?.entitlements?.active?.vip?.productIdentifier;\n const oldVipType = LoginManager.currentUser()?.AVUser.get('vipType');\n if (vipType && vipType !== oldVipType) {\n keys.push('vipType');\n values.push(vipType);\n }\n\n let vipEndTime;\n if (VipManager.isForeverVip()) {\n vipEndTime = new Date(10413763200000); // 约定 2300-01-01 00:00:00 为永久会员\n } else {\n const expireDate = _customerInfo?.entitlements?.active?.vip?.expirationDate;\n if (expireDate) {\n vipEndTime = new Date(expireDate);\n }\n }\n if (vipEndTime) {\n const oldVipEndTime = LoginManager.currentUser()?.AVUser.get('vipEndTime');\n if (vipEndTime.getTime() !== oldVipEndTime?.getTime()) {\n keys.push('vipEndTime');\n values.push(vipEndTime);\n }\n }\n\n if (keys.length > 0) {\n await LoginManager.batchUpdateUser(keys, values);\n }\n};\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { CustomerInfo, PurchasesPackage } from 'react-native-purchases';
2
2
  export declare const VipManager: {
3
- init: () => void;
3
+ init: () => Promise<void>;
4
4
  purchase: (purchasePackage: PurchasesPackage) => Promise<{
5
5
  errorCode: number;
6
6
  errorMsg?: undefined;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@norcy/react-native-toolkit",
3
- "version": "0.1.105",
3
+ "version": "0.1.107",
4
4
  "description": "My Toolkit",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
package/src/VipManager.ts CHANGED
@@ -14,7 +14,7 @@ let _customerInfo: CustomerInfo | null;
14
14
  let isReady = false;
15
15
 
16
16
  export const VipManager = {
17
- init: () => {
17
+ init: async () => {
18
18
  isReady = !!ToolkitConfig.RC_API_KEY;
19
19
 
20
20
  if (!isReady) {
@@ -24,10 +24,11 @@ export const VipManager = {
24
24
 
25
25
  console.log('Vip 模块初始化');
26
26
 
27
- Purchases.configure({ apiKey: ToolkitConfig.RC_API_KEY });
28
- if (ToolkitConfig.RC_PROXY_URL) {
29
- Purchases.setProxyURL(ToolkitConfig.RC_PROXY_URL);
27
+ if (!!ToolkitConfig.RC_PROXY_URL) {
28
+ console.log('设置代理', ToolkitConfig.RC_PROXY_URL);
29
+ await Purchases.setProxyURL(ToolkitConfig.RC_PROXY_URL);
30
30
  }
31
+ Purchases.configure({ apiKey: ToolkitConfig.RC_API_KEY });
31
32
 
32
33
  VipManager.refreshVip();
33
34