@norcy/react-native-toolkit 0.1.37 → 0.1.39
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.
- package/lib/commonjs/AppBadgeContext.js +2 -2
- package/lib/commonjs/AppBadgeContext.js.map +1 -1
- package/lib/commonjs/VipManager.js +3 -3
- package/lib/commonjs/VipManager.js.map +1 -1
- package/lib/module/AppBadgeContext.js +2 -2
- package/lib/module/AppBadgeContext.js.map +1 -1
- package/lib/module/VipManager.js +3 -3
- package/lib/module/VipManager.js.map +1 -1
- package/lib/typescript/AppBadgeContext.d.ts +2 -2
- package/lib/typescript/VipManager.d.ts +2 -2
- package/package.json +1 -1
- package/src/AppBadgeContext.ts +3 -3
- package/src/VipManager.ts +2 -2
|
@@ -13,7 +13,7 @@ const AppBadgeContext = exports.AppBadgeContext = /*#__PURE__*/_react.default.cr
|
|
|
13
13
|
initBadge: () => {},
|
|
14
14
|
clearBadge: () => {},
|
|
15
15
|
hasBadge: () => {
|
|
16
|
-
return
|
|
16
|
+
return false;
|
|
17
17
|
}
|
|
18
18
|
});
|
|
19
19
|
const AppBadgeHelper = exports.AppBadgeHelper = {
|
|
@@ -68,7 +68,7 @@ const AppBadgeHelper = exports.AppBadgeHelper = {
|
|
|
68
68
|
}
|
|
69
69
|
},
|
|
70
70
|
hasBadge: (context, scene) => {
|
|
71
|
-
return context.appBadgeValue.includes(scene === null || scene === void 0 ? void 0 : scene.key)
|
|
71
|
+
return context.appBadgeValue.includes(scene === null || scene === void 0 ? void 0 : scene.key);
|
|
72
72
|
}
|
|
73
73
|
};
|
|
74
74
|
//# sourceMappingURL=AppBadgeContext.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_PrefData","obj","__esModule","default","AppBadgeContext","exports","React","createContext","appBadgeValue","setAppBadgeValue","initBadge","clearBadge","hasBadge","AppBadgeHelper","context","badges","PrefData","addListener","clearedBadges","getValue","BuildInPrefs","ClearBadge","allBadges","keys","Object","key","badge","push","console","log","_calculateValidBadge","result","i","length","includes","scene","clearBadges","setValue"],"sources":["AppBadgeContext.ts"],"sourcesContent":["import React from 'react';\nimport { BuildInPrefs, PrefData } from './PrefData';\n\nexport interface AppBadgeContextType {\n appBadgeValue: string[];\n setAppBadgeValue: Function;\n initBadge: (\n context: AppBadgeContextType,\n badges: {\n [key: string]: BadgeType;\n }\n ) => void;\n clearBadge: (context: AppBadgeContextType, scene: BadgeType) => void;\n hasBadge: (context: AppBadgeContextType, scene: BadgeType) =>
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_PrefData","obj","__esModule","default","AppBadgeContext","exports","React","createContext","appBadgeValue","setAppBadgeValue","initBadge","clearBadge","hasBadge","AppBadgeHelper","context","badges","PrefData","addListener","clearedBadges","getValue","BuildInPrefs","ClearBadge","allBadges","keys","Object","key","badge","push","console","log","_calculateValidBadge","result","i","length","includes","scene","clearBadges","setValue"],"sources":["AppBadgeContext.ts"],"sourcesContent":["import React from 'react';\nimport { BuildInPrefs, PrefData } from './PrefData';\n\nexport interface AppBadgeContextType {\n appBadgeValue: string[];\n setAppBadgeValue: Function;\n initBadge: (\n context: AppBadgeContextType,\n badges: {\n [key: string]: BadgeType;\n }\n ) => void;\n clearBadge: (context: AppBadgeContextType, scene: BadgeType) => void;\n hasBadge: (context: AppBadgeContextType, scene: BadgeType) => boolean;\n}\nexport const AppBadgeContext = React.createContext<AppBadgeContextType>({\n appBadgeValue: [],\n setAppBadgeValue: () => {},\n initBadge: () => {},\n clearBadge: () => {},\n hasBadge: () => {\n return false;\n },\n});\n\nexport interface BadgeType {\n key: string;\n}\n\nexport const AppBadgeHelper = {\n initBadge: (\n context: AppBadgeContextType,\n badges: { [key: string]: BadgeType }\n ) => {\n PrefData.addListener(() => {\n const clearedBadges = PrefData.getValue(BuildInPrefs.ClearBadge);\n // 收集 Key 值\n let allBadges = [];\n const keys = Object.keys(badges);\n for (const key of keys) {\n const badge = badges[key];\n // 动态占位的 key 值不存在,不应该被添加\n if (badge.key) {\n allBadges.push(badge.key);\n }\n }\n console.log('allBadges', allBadges);\n\n // 内存更新\n AppBadgeHelper._calculateValidBadge(context, allBadges, clearedBadges);\n });\n },\n\n // 最新红点 = appBadgs - clearedBadges\n _calculateValidBadge: (\n context: AppBadgeContextType,\n allBadges: string[],\n clearedBadges: string[]\n ) => {\n let result = [];\n for (let i = 0; i < allBadges.length; ++i) {\n const badge = allBadges[i];\n // 展示过一次的就不再展示\n if (!clearedBadges.includes(badge)) {\n result.push(badge);\n }\n }\n console.log('current badge', result);\n context.setAppBadgeValue(result);\n },\n\n clearBadge: (context: AppBadgeContextType, scene: BadgeType) => {\n // 内存判断\n if (!AppBadgeHelper.hasBadge(context, scene)) {\n return;\n }\n\n // 内存更新\n AppBadgeHelper._calculateValidBadge(\n context,\n [...context.appBadgeValue], // 必须深复制一下,不然不会引起 state 变化\n [scene.key]\n );\n\n // 硬盘更新\n let clearBadges = PrefData.getValue(BuildInPrefs.ClearBadge);\n if (!clearBadges.includes(scene.key)) {\n clearBadges.push(scene.key);\n PrefData.setValue(BuildInPrefs.ClearBadge, clearBadges);\n }\n },\n\n hasBadge: (context: AppBadgeContextType, scene: BadgeType) => {\n return context.appBadgeValue.includes(scene?.key);\n },\n};\n"],"mappings":"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"}
|
|
@@ -157,17 +157,17 @@ const VipManager = exports.VipManager = {
|
|
|
157
157
|
}
|
|
158
158
|
},
|
|
159
159
|
isVip: () => {
|
|
160
|
-
var _customerInfo2, _customerInfo3;
|
|
160
|
+
var _customerInfo2, _customerInfo3, _isVip2;
|
|
161
161
|
let _isVip = (_customerInfo2 = _customerInfo) === null || _customerInfo2 === void 0 || (_customerInfo2 = _customerInfo2.entitlements) === null || _customerInfo2 === void 0 || (_customerInfo2 = _customerInfo2.active) === null || _customerInfo2 === void 0 || (_customerInfo2 = _customerInfo2.vip) === null || _customerInfo2 === void 0 ? void 0 : _customerInfo2.isActive;
|
|
162
162
|
if (_isVip && !__DEV__ && (_customerInfo3 = _customerInfo) !== null && _customerInfo3 !== void 0 && (_customerInfo3 = _customerInfo3.entitlements) !== null && _customerInfo3 !== void 0 && (_customerInfo3 = _customerInfo3.active) !== null && _customerInfo3 !== void 0 && _customerInfo3.vip.isSandbox) {
|
|
163
163
|
_isVip = false;
|
|
164
164
|
}
|
|
165
165
|
if (__DEV__) {
|
|
166
166
|
if (_DevConfig.DevConfig.hasValue(_PrefData.BuildInPrefs.DevVip)) {
|
|
167
|
-
_isVip = _DevConfig.DevConfig.getValue(_PrefData.BuildInPrefs.DevVip);
|
|
167
|
+
_isVip = _DevConfig.DevConfig.getValue(_PrefData.BuildInPrefs.DevVip) ? true : false;
|
|
168
168
|
}
|
|
169
169
|
}
|
|
170
|
-
return _isVip;
|
|
170
|
+
return (_isVip2 = _isVip) !== null && _isVip2 !== void 0 ? _isVip2 : false;
|
|
171
171
|
},
|
|
172
172
|
isForeverVip: () => {
|
|
173
173
|
var _VipManager$vipEndTim;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_reactNativePurchases","_interopRequireDefault","_DevConfig","_LoginManager","_Notification","_PrefData","_Tool","_VipAndroidManager","obj","__esModule","default","_customerInfo","VipManager","exports","init","console","log","Purchases","configure","apiKey","ToolkitConfig","RC_API_KEY","refreshVip","Notification","addListener","_ref","error","user","logIn","AVUser","get","setAttributes","nickname","e","logOut","purchase","purchasePackage","LoginManager","isLogin","errorCode","Platform","OS","VipAndroidManager","customerInfo","entitlements","active","RC_ENTITLEMENT_ID","errorMsg","userCancelled","message","recover","_customerInfo$entitle","restorePurchases","vip","getPackages","isForeverVip","__DEV__","offerings","getOfferings","targetOffering","current","all","NormalVip","availablePackages","length","packages","isVip","isTrailVip","filter","item","productItem","product","productCategory","_customerInfo2","_customerInfo3","_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","_customerInfo6","getCustomerInfo","updateVipInfo","postNotification","_customerInfo7","_LoginManager$current2","keys","values","productIdentifier","oldVipType","push","_customerInfo8","expireDate","_LoginManager$current3","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;\n\nexport const VipManager = {\n init: () => {\n console.log('Vip 模块初始化');\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 (!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 (!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 (): Promise<PurchasesPackage[]> => {\n if (VipManager.isForeverVip()) {\n return [];\n }\n\n if (Platform.OS === 'android' || __DEV__) {\n return VipAndroidManager.getPackages();\n }\n\n try {\n const offerings = await Purchases.getOfferings();\n let targetOffering = offerings.current;\n if (__DEV__) {\n targetOffering = offerings.all.NormalVip;\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 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);\n }\n }\n return _isVip;\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 refreshVip: async (customerInfo?: CustomerInfo) => {\n try {\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 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","VipManager","exports","init","console","log","Purchases","configure","apiKey","ToolkitConfig","RC_API_KEY","refreshVip","Notification","addListener","_ref","error","user","logIn","AVUser","get","setAttributes","nickname","e","logOut","purchase","purchasePackage","LoginManager","isLogin","errorCode","Platform","OS","VipAndroidManager","customerInfo","entitlements","active","RC_ENTITLEMENT_ID","errorMsg","userCancelled","message","recover","_customerInfo$entitle","restorePurchases","vip","getPackages","isForeverVip","__DEV__","offerings","getOfferings","targetOffering","current","all","NormalVip","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","_customerInfo6","getCustomerInfo","updateVipInfo","postNotification","_customerInfo7","_LoginManager$current2","keys","values","productIdentifier","oldVipType","push","_customerInfo8","expireDate","_LoginManager$current3","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;\n\nexport const VipManager = {\n init: () => {\n console.log('Vip 模块初始化');\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 (!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 (!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 (): Promise<PurchasesPackage[]> => {\n if (VipManager.isForeverVip()) {\n return [];\n }\n\n if (Platform.OS === 'android' || __DEV__) {\n return VipAndroidManager.getPackages();\n }\n\n try {\n const offerings = await Purchases.getOfferings();\n let targetOffering = offerings.current;\n if (__DEV__) {\n targetOffering = offerings.all.NormalVip;\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 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 refreshVip: async (customerInfo?: CustomerInfo) => {\n try {\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 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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"}
|
|
@@ -6,7 +6,7 @@ export const AppBadgeContext = /*#__PURE__*/React.createContext({
|
|
|
6
6
|
initBadge: () => {},
|
|
7
7
|
clearBadge: () => {},
|
|
8
8
|
hasBadge: () => {
|
|
9
|
-
return
|
|
9
|
+
return false;
|
|
10
10
|
}
|
|
11
11
|
});
|
|
12
12
|
export const AppBadgeHelper = {
|
|
@@ -61,7 +61,7 @@ export const AppBadgeHelper = {
|
|
|
61
61
|
}
|
|
62
62
|
},
|
|
63
63
|
hasBadge: (context, scene) => {
|
|
64
|
-
return context.appBadgeValue.includes(scene === null || scene === void 0 ? void 0 : scene.key)
|
|
64
|
+
return context.appBadgeValue.includes(scene === null || scene === void 0 ? void 0 : scene.key);
|
|
65
65
|
}
|
|
66
66
|
};
|
|
67
67
|
//# sourceMappingURL=AppBadgeContext.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","BuildInPrefs","PrefData","AppBadgeContext","createContext","appBadgeValue","setAppBadgeValue","initBadge","clearBadge","hasBadge","AppBadgeHelper","context","badges","addListener","clearedBadges","getValue","ClearBadge","allBadges","keys","Object","key","badge","push","console","log","_calculateValidBadge","result","i","length","includes","scene","clearBadges","setValue"],"sources":["AppBadgeContext.ts"],"sourcesContent":["import React from 'react';\nimport { BuildInPrefs, PrefData } from './PrefData';\n\nexport interface AppBadgeContextType {\n appBadgeValue: string[];\n setAppBadgeValue: Function;\n initBadge: (\n context: AppBadgeContextType,\n badges: {\n [key: string]: BadgeType;\n }\n ) => void;\n clearBadge: (context: AppBadgeContextType, scene: BadgeType) => void;\n hasBadge: (context: AppBadgeContextType, scene: BadgeType) =>
|
|
1
|
+
{"version":3,"names":["React","BuildInPrefs","PrefData","AppBadgeContext","createContext","appBadgeValue","setAppBadgeValue","initBadge","clearBadge","hasBadge","AppBadgeHelper","context","badges","addListener","clearedBadges","getValue","ClearBadge","allBadges","keys","Object","key","badge","push","console","log","_calculateValidBadge","result","i","length","includes","scene","clearBadges","setValue"],"sources":["AppBadgeContext.ts"],"sourcesContent":["import React from 'react';\nimport { BuildInPrefs, PrefData } from './PrefData';\n\nexport interface AppBadgeContextType {\n appBadgeValue: string[];\n setAppBadgeValue: Function;\n initBadge: (\n context: AppBadgeContextType,\n badges: {\n [key: string]: BadgeType;\n }\n ) => void;\n clearBadge: (context: AppBadgeContextType, scene: BadgeType) => void;\n hasBadge: (context: AppBadgeContextType, scene: BadgeType) => boolean;\n}\nexport const AppBadgeContext = React.createContext<AppBadgeContextType>({\n appBadgeValue: [],\n setAppBadgeValue: () => {},\n initBadge: () => {},\n clearBadge: () => {},\n hasBadge: () => {\n return false;\n },\n});\n\nexport interface BadgeType {\n key: string;\n}\n\nexport const AppBadgeHelper = {\n initBadge: (\n context: AppBadgeContextType,\n badges: { [key: string]: BadgeType }\n ) => {\n PrefData.addListener(() => {\n const clearedBadges = PrefData.getValue(BuildInPrefs.ClearBadge);\n // 收集 Key 值\n let allBadges = [];\n const keys = Object.keys(badges);\n for (const key of keys) {\n const badge = badges[key];\n // 动态占位的 key 值不存在,不应该被添加\n if (badge.key) {\n allBadges.push(badge.key);\n }\n }\n console.log('allBadges', allBadges);\n\n // 内存更新\n AppBadgeHelper._calculateValidBadge(context, allBadges, clearedBadges);\n });\n },\n\n // 最新红点 = appBadgs - clearedBadges\n _calculateValidBadge: (\n context: AppBadgeContextType,\n allBadges: string[],\n clearedBadges: string[]\n ) => {\n let result = [];\n for (let i = 0; i < allBadges.length; ++i) {\n const badge = allBadges[i];\n // 展示过一次的就不再展示\n if (!clearedBadges.includes(badge)) {\n result.push(badge);\n }\n }\n console.log('current badge', result);\n context.setAppBadgeValue(result);\n },\n\n clearBadge: (context: AppBadgeContextType, scene: BadgeType) => {\n // 内存判断\n if (!AppBadgeHelper.hasBadge(context, scene)) {\n return;\n }\n\n // 内存更新\n AppBadgeHelper._calculateValidBadge(\n context,\n [...context.appBadgeValue], // 必须深复制一下,不然不会引起 state 变化\n [scene.key]\n );\n\n // 硬盘更新\n let clearBadges = PrefData.getValue(BuildInPrefs.ClearBadge);\n if (!clearBadges.includes(scene.key)) {\n clearBadges.push(scene.key);\n PrefData.setValue(BuildInPrefs.ClearBadge, clearBadges);\n }\n },\n\n hasBadge: (context: AppBadgeContextType, scene: BadgeType) => {\n return context.appBadgeValue.includes(scene?.key);\n },\n};\n"],"mappings":"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"}
|
package/lib/module/VipManager.js
CHANGED
|
@@ -150,17 +150,17 @@ export const VipManager = {
|
|
|
150
150
|
}
|
|
151
151
|
},
|
|
152
152
|
isVip: () => {
|
|
153
|
-
var _customerInfo2, _customerInfo3;
|
|
153
|
+
var _customerInfo2, _customerInfo3, _isVip2;
|
|
154
154
|
let _isVip = (_customerInfo2 = _customerInfo) === null || _customerInfo2 === void 0 || (_customerInfo2 = _customerInfo2.entitlements) === null || _customerInfo2 === void 0 || (_customerInfo2 = _customerInfo2.active) === null || _customerInfo2 === void 0 || (_customerInfo2 = _customerInfo2.vip) === null || _customerInfo2 === void 0 ? void 0 : _customerInfo2.isActive;
|
|
155
155
|
if (_isVip && !__DEV__ && (_customerInfo3 = _customerInfo) !== null && _customerInfo3 !== void 0 && (_customerInfo3 = _customerInfo3.entitlements) !== null && _customerInfo3 !== void 0 && (_customerInfo3 = _customerInfo3.active) !== null && _customerInfo3 !== void 0 && _customerInfo3.vip.isSandbox) {
|
|
156
156
|
_isVip = false;
|
|
157
157
|
}
|
|
158
158
|
if (__DEV__) {
|
|
159
159
|
if (DevConfig.hasValue(BuildInPrefs.DevVip)) {
|
|
160
|
-
_isVip = DevConfig.getValue(BuildInPrefs.DevVip);
|
|
160
|
+
_isVip = DevConfig.getValue(BuildInPrefs.DevVip) ? true : false;
|
|
161
161
|
}
|
|
162
162
|
}
|
|
163
|
-
return _isVip;
|
|
163
|
+
return (_isVip2 = _isVip) !== null && _isVip2 !== void 0 ? _isVip2 : false;
|
|
164
164
|
},
|
|
165
165
|
isForeverVip: () => {
|
|
166
166
|
var _VipManager$vipEndTim;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Platform","Purchases","DevConfig","LoginManager","Notification","BuildInPrefs","Tool","ToolkitConfig","VipAndroidManager","_customerInfo","VipManager","init","console","log","configure","apiKey","RC_API_KEY","refreshVip","addListener","_ref","error","user","logIn","AVUser","get","setAttributes","nickname","e","logOut","purchase","purchasePackage","isLogin","errorCode","OS","customerInfo","entitlements","active","RC_ENTITLEMENT_ID","errorMsg","userCancelled","message","recover","_customerInfo$entitle","restorePurchases","vip","getPackages","isForeverVip","__DEV__","offerings","getOfferings","targetOffering","current","all","NormalVip","availablePackages","length","packages","isVip","isTrailVip","filter","item","productItem","product","productCategory","_customerInfo2","_customerInfo3","_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","_customerInfo6","getCustomerInfo","updateVipInfo","postNotification","_customerInfo7","_LoginManager$current2","keys","values","productIdentifier","oldVipType","push","_customerInfo8","expireDate","_LoginManager$current3","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;\n\nexport const VipManager = {\n init: () => {\n console.log('Vip 模块初始化');\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 (!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 (!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 (): Promise<PurchasesPackage[]> => {\n if (VipManager.isForeverVip()) {\n return [];\n }\n\n if (Platform.OS === 'android' || __DEV__) {\n return VipAndroidManager.getPackages();\n }\n\n try {\n const offerings = await Purchases.getOfferings();\n let targetOffering = offerings.current;\n if (__DEV__) {\n targetOffering = offerings.all.NormalVip;\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 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);\n }\n }\n return _isVip;\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 refreshVip: async (customerInfo?: CustomerInfo) => {\n try {\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 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":["Platform","Purchases","DevConfig","LoginManager","Notification","BuildInPrefs","Tool","ToolkitConfig","VipAndroidManager","_customerInfo","VipManager","init","console","log","configure","apiKey","RC_API_KEY","refreshVip","addListener","_ref","error","user","logIn","AVUser","get","setAttributes","nickname","e","logOut","purchase","purchasePackage","isLogin","errorCode","OS","customerInfo","entitlements","active","RC_ENTITLEMENT_ID","errorMsg","userCancelled","message","recover","_customerInfo$entitle","restorePurchases","vip","getPackages","isForeverVip","__DEV__","offerings","getOfferings","targetOffering","current","all","NormalVip","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","_customerInfo6","getCustomerInfo","updateVipInfo","postNotification","_customerInfo7","_LoginManager$current2","keys","values","productIdentifier","oldVipType","push","_customerInfo8","expireDate","_LoginManager$current3","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;\n\nexport const VipManager = {\n init: () => {\n console.log('Vip 模块初始化');\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 (!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 (!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 (): Promise<PurchasesPackage[]> => {\n if (VipManager.isForeverVip()) {\n return [];\n }\n\n if (Platform.OS === 'android' || __DEV__) {\n return VipAndroidManager.getPackages();\n }\n\n try {\n const offerings = await Purchases.getOfferings();\n let targetOffering = offerings.current;\n if (__DEV__) {\n targetOffering = offerings.all.NormalVip;\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 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 refreshVip: async (customerInfo?: CustomerInfo) => {\n try {\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 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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"}
|
|
@@ -6,7 +6,7 @@ export interface AppBadgeContextType {
|
|
|
6
6
|
[key: string]: BadgeType;
|
|
7
7
|
}) => void;
|
|
8
8
|
clearBadge: (context: AppBadgeContextType, scene: BadgeType) => void;
|
|
9
|
-
hasBadge: (context: AppBadgeContextType, scene: BadgeType) =>
|
|
9
|
+
hasBadge: (context: AppBadgeContextType, scene: BadgeType) => boolean;
|
|
10
10
|
}
|
|
11
11
|
export declare const AppBadgeContext: React.Context<AppBadgeContextType>;
|
|
12
12
|
export interface BadgeType {
|
|
@@ -18,5 +18,5 @@ export declare const AppBadgeHelper: {
|
|
|
18
18
|
}) => void;
|
|
19
19
|
_calculateValidBadge: (context: AppBadgeContextType, allBadges: string[], clearedBadges: string[]) => void;
|
|
20
20
|
clearBadge: (context: AppBadgeContextType, scene: BadgeType) => void;
|
|
21
|
-
hasBadge: (context: AppBadgeContextType, scene: BadgeType) =>
|
|
21
|
+
hasBadge: (context: AppBadgeContextType, scene: BadgeType) => boolean;
|
|
22
22
|
};
|
|
@@ -16,8 +16,8 @@ export declare const VipManager: {
|
|
|
16
16
|
errorMsg: any;
|
|
17
17
|
}>;
|
|
18
18
|
getPackages: () => Promise<PurchasesPackage[]>;
|
|
19
|
-
isVip: () => boolean
|
|
20
|
-
isForeverVip: () => boolean
|
|
19
|
+
isVip: () => boolean;
|
|
20
|
+
isForeverVip: () => boolean;
|
|
21
21
|
vipEndTime: () => string;
|
|
22
22
|
vipCountDay: () => number;
|
|
23
23
|
isTrailVip: () => boolean;
|
package/package.json
CHANGED
package/src/AppBadgeContext.ts
CHANGED
|
@@ -11,7 +11,7 @@ export interface AppBadgeContextType {
|
|
|
11
11
|
}
|
|
12
12
|
) => void;
|
|
13
13
|
clearBadge: (context: AppBadgeContextType, scene: BadgeType) => void;
|
|
14
|
-
hasBadge: (context: AppBadgeContextType, scene: BadgeType) =>
|
|
14
|
+
hasBadge: (context: AppBadgeContextType, scene: BadgeType) => boolean;
|
|
15
15
|
}
|
|
16
16
|
export const AppBadgeContext = React.createContext<AppBadgeContextType>({
|
|
17
17
|
appBadgeValue: [],
|
|
@@ -19,7 +19,7 @@ export const AppBadgeContext = React.createContext<AppBadgeContextType>({
|
|
|
19
19
|
initBadge: () => {},
|
|
20
20
|
clearBadge: () => {},
|
|
21
21
|
hasBadge: () => {
|
|
22
|
-
return
|
|
22
|
+
return false;
|
|
23
23
|
},
|
|
24
24
|
});
|
|
25
25
|
|
|
@@ -91,6 +91,6 @@ export const AppBadgeHelper = {
|
|
|
91
91
|
},
|
|
92
92
|
|
|
93
93
|
hasBadge: (context: AppBadgeContextType, scene: BadgeType) => {
|
|
94
|
-
return context.appBadgeValue.includes(scene?.key)
|
|
94
|
+
return context.appBadgeValue.includes(scene?.key);
|
|
95
95
|
},
|
|
96
96
|
};
|
package/src/VipManager.ts
CHANGED
|
@@ -158,10 +158,10 @@ export const VipManager = {
|
|
|
158
158
|
}
|
|
159
159
|
if (__DEV__) {
|
|
160
160
|
if (DevConfig.hasValue(BuildInPrefs.DevVip)) {
|
|
161
|
-
_isVip = DevConfig.getValue(BuildInPrefs.DevVip);
|
|
161
|
+
_isVip = DevConfig.getValue(BuildInPrefs.DevVip) ? true : false;
|
|
162
162
|
}
|
|
163
163
|
}
|
|
164
|
-
return _isVip;
|
|
164
|
+
return _isVip ?? false;
|
|
165
165
|
},
|
|
166
166
|
|
|
167
167
|
isForeverVip: () => {
|