@norcy/react-native-toolkit 0.1.16 → 0.1.18
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/ConfigDataModel.js +122 -0
- package/lib/commonjs/ConfigDataModel.js.map +1 -0
- package/lib/commonjs/DevConfig.js +9 -5
- package/lib/commonjs/DevConfig.js.map +1 -1
- package/lib/commonjs/Frequence.js +67 -0
- package/lib/commonjs/Frequence.js.map +1 -0
- package/lib/commonjs/LoginManager.js +21 -18
- package/lib/commonjs/LoginManager.js.map +1 -1
- package/lib/commonjs/MessageModel.js +157 -0
- package/lib/commonjs/MessageModel.js.map +1 -0
- package/lib/commonjs/PrefData.js +10 -0
- package/lib/commonjs/PrefData.js.map +1 -1
- package/lib/commonjs/SentryManager.js +3 -3
- package/lib/commonjs/SentryManager.js.map +1 -1
- package/lib/commonjs/Tool.js +52 -0
- package/lib/commonjs/Tool.js.map +1 -0
- package/lib/commonjs/VipAndroidManager.js +154 -0
- package/lib/commonjs/VipAndroidManager.js.map +1 -0
- package/lib/commonjs/VipManager.js +280 -0
- package/lib/commonjs/VipManager.js.map +1 -0
- package/lib/commonjs/index.js +72 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/ConfigDataModel.js +117 -0
- package/lib/module/ConfigDataModel.js.map +1 -0
- package/lib/module/DevConfig.js +5 -1
- package/lib/module/DevConfig.js.map +1 -1
- package/lib/module/Frequence.js +61 -0
- package/lib/module/Frequence.js.map +1 -0
- package/lib/module/LoginManager.js +5 -2
- package/lib/module/LoginManager.js.map +1 -1
- package/lib/module/MessageModel.js +151 -0
- package/lib/module/MessageModel.js.map +1 -0
- package/lib/module/PrefData.js +10 -0
- package/lib/module/PrefData.js.map +1 -1
- package/lib/module/SentryManager.js +1 -1
- package/lib/module/SentryManager.js.map +1 -1
- package/lib/module/Tool.js +46 -0
- package/lib/module/Tool.js.map +1 -0
- package/lib/module/VipAndroidManager.js +145 -0
- package/lib/module/VipAndroidManager.js.map +1 -0
- package/lib/module/VipManager.js +273 -0
- package/lib/module/VipManager.js.map +1 -0
- package/lib/module/index.js +6 -0
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/ConfigDataModel.d.ts +17 -0
- package/lib/typescript/DevConfig.d.ts +1 -1
- package/lib/typescript/Frequence.d.ts +10 -0
- package/lib/typescript/LoginManager.d.ts +2 -3
- package/lib/typescript/MessageModel.d.ts +26 -0
- package/lib/typescript/Tool.d.ts +7 -0
- package/lib/typescript/VipAndroidManager.d.ts +28 -0
- package/lib/typescript/VipManager.d.ts +29 -0
- package/lib/typescript/index.d.ts +6 -0
- package/package.json +5 -3
- package/src/ConfigDataModel.ts +146 -0
- package/src/DevConfig.ts +4 -1
- package/src/Frequence.ts +70 -0
- package/src/LoginManager.ts +6 -9
- package/src/MessageModel.ts +191 -0
- package/src/PrefData.ts +10 -0
- package/src/SentryManager.ts +2 -1
- package/src/Tool.ts +64 -0
- package/src/VipAndroidManager.ts +110 -0
- package/src/VipManager.ts +282 -0
- package/src/index.tsx +6 -0
- package/ios/ReactNativeToolkit.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -4
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import Purchases from 'react-native-purchases';
|
|
2
|
+
import * as WeChat from 'react-native-wechat-lib';
|
|
3
|
+
import { ConfigDataModel } from './ConfigDataModel';
|
|
4
|
+
import { LoginManager } from './LoginManager';
|
|
5
|
+
import { Tool } from './Tool';
|
|
6
|
+
let SERVER_URL = '';
|
|
7
|
+
export const VipAndroidManager = {
|
|
8
|
+
init: _ref => {
|
|
9
|
+
let {
|
|
10
|
+
WeChatPayServer
|
|
11
|
+
} = _ref;
|
|
12
|
+
SERVER_URL = WeChatPayServer;
|
|
13
|
+
},
|
|
14
|
+
queryOrder: async orderId => {
|
|
15
|
+
const user = LoginManager.currentUser();
|
|
16
|
+
// Step1:生成预订单
|
|
17
|
+
try {
|
|
18
|
+
const rawResponse = await fetch(SERVER_URL, {
|
|
19
|
+
method: 'POST',
|
|
20
|
+
headers: {
|
|
21
|
+
'Accept': 'application/json',
|
|
22
|
+
'Content-Type': 'application/json'
|
|
23
|
+
},
|
|
24
|
+
body: JSON.stringify({
|
|
25
|
+
user: user === null || user === void 0 ? void 0 : user.AVUser.get('objectId'),
|
|
26
|
+
order: orderId,
|
|
27
|
+
cmd: 'check'
|
|
28
|
+
})
|
|
29
|
+
});
|
|
30
|
+
const res = await rawResponse.json();
|
|
31
|
+
// console.log(res);
|
|
32
|
+
if (rawResponse.status === 200 && !res.error) {
|
|
33
|
+
return {
|
|
34
|
+
paid: res.paid
|
|
35
|
+
};
|
|
36
|
+
} else {
|
|
37
|
+
return {
|
|
38
|
+
paid: false,
|
|
39
|
+
e: res.error
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
} catch (e) {
|
|
43
|
+
return {
|
|
44
|
+
paid: false,
|
|
45
|
+
e: e
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
recover: async () => {
|
|
50
|
+
const {
|
|
51
|
+
paid,
|
|
52
|
+
e
|
|
53
|
+
} = await VipAndroidManager.queryOrder();
|
|
54
|
+
if (paid && !e) {
|
|
55
|
+
await Purchases.invalidateCustomerInfoCache();
|
|
56
|
+
console.log('恢复成功');
|
|
57
|
+
return {
|
|
58
|
+
errorCode: 0
|
|
59
|
+
};
|
|
60
|
+
} else {
|
|
61
|
+
if (e) {
|
|
62
|
+
console.log('恢复失败(-3)', JSON.stringify(e));
|
|
63
|
+
return {
|
|
64
|
+
errorCode: -3,
|
|
65
|
+
errorMsg: JSON.stringify(e)
|
|
66
|
+
};
|
|
67
|
+
} else {
|
|
68
|
+
console.log('恢复失败(-2)');
|
|
69
|
+
return {
|
|
70
|
+
errorCode: -2
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
getPackages: () => {
|
|
76
|
+
return ConfigDataModel.get('vip_android_products');
|
|
77
|
+
},
|
|
78
|
+
purchase: async purchasePackage => {
|
|
79
|
+
try {
|
|
80
|
+
var _purchasePackage$prod;
|
|
81
|
+
const user = LoginManager.currentUser();
|
|
82
|
+
// Step1:生成预订单
|
|
83
|
+
const rawResponse = await fetch(SERVER_URL, {
|
|
84
|
+
method: 'POST',
|
|
85
|
+
headers: {
|
|
86
|
+
'Accept': 'application/json',
|
|
87
|
+
'Content-Type': 'application/json'
|
|
88
|
+
},
|
|
89
|
+
body: JSON.stringify({
|
|
90
|
+
user: user === null || user === void 0 ? void 0 : user.AVUser.get('objectId'),
|
|
91
|
+
product: (_purchasePackage$prod = purchasePackage.product) === null || _purchasePackage$prod === void 0 ? void 0 : _purchasePackage$prod.identifier,
|
|
92
|
+
cmd: 'prepare'
|
|
93
|
+
})
|
|
94
|
+
});
|
|
95
|
+
const res = await rawResponse.json();
|
|
96
|
+
// console.log(res);
|
|
97
|
+
if (rawResponse.status === 200 && !res.error) {
|
|
98
|
+
// Step2:调用微信支付 SDK
|
|
99
|
+
const {
|
|
100
|
+
errCode,
|
|
101
|
+
errStr
|
|
102
|
+
} = await WeChat.pay(res.payload);
|
|
103
|
+
if (errCode) {
|
|
104
|
+
console.log('购买失败(-5)', errStr);
|
|
105
|
+
return {
|
|
106
|
+
errorCode: -5,
|
|
107
|
+
errorMsg: errStr
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
// 虽然没什么问题,但保险起见还是延时下,让后台先更新
|
|
111
|
+
await Tool.sleep(4000);
|
|
112
|
+
// Step3:查询后台
|
|
113
|
+
const {
|
|
114
|
+
paid,
|
|
115
|
+
e
|
|
116
|
+
} = await VipAndroidManager.queryOrder(res.payload.order);
|
|
117
|
+
if (paid && !e) {
|
|
118
|
+
await Purchases.invalidateCustomerInfoCache();
|
|
119
|
+
return {
|
|
120
|
+
errorCode: 0
|
|
121
|
+
};
|
|
122
|
+
} else {
|
|
123
|
+
console.log('购买失败(-5)', JSON.stringify(e));
|
|
124
|
+
return {
|
|
125
|
+
errorCode: -5,
|
|
126
|
+
errorMsg: JSON.stringify(e)
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
} else {
|
|
130
|
+
console.log('购买失败(-5)', JSON.stringify(res === null || res === void 0 ? void 0 : res.error));
|
|
131
|
+
return {
|
|
132
|
+
errorCode: -5,
|
|
133
|
+
errorMsg: JSON.stringify(res === null || res === void 0 ? void 0 : res.error)
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
} catch (e) {
|
|
137
|
+
console.log('购买失败(-5)', JSON.stringify(e));
|
|
138
|
+
return {
|
|
139
|
+
errorCode: -5,
|
|
140
|
+
errorMsg: JSON.stringify(e)
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
};
|
|
145
|
+
//# sourceMappingURL=VipAndroidManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Purchases","WeChat","ConfigDataModel","LoginManager","Tool","SERVER_URL","VipAndroidManager","init","_ref","WeChatPayServer","queryOrder","orderId","user","currentUser","rawResponse","fetch","method","headers","body","JSON","stringify","AVUser","get","order","cmd","res","json","status","error","paid","e","recover","invalidateCustomerInfoCache","console","log","errorCode","errorMsg","getPackages","purchase","purchasePackage","_purchasePackage$prod","product","identifier","errCode","errStr","pay","payload","sleep"],"sources":["VipAndroidManager.ts"],"sourcesContent":["import Purchases, { PurchasesPackage } from 'react-native-purchases';\nimport * as WeChat from 'react-native-wechat-lib';\nimport { ConfigDataModel } from './ConfigDataModel';\nimport { LoginManager } from './LoginManager';\nimport { Tool } from './Tool';\n\nlet SERVER_URL = '';\n\nexport const VipAndroidManager = {\n init: ({ WeChatPayServer }: { WeChatPayServer: string }) => {\n SERVER_URL = WeChatPayServer;\n },\n\n queryOrder: async (orderId?: string) => {\n const user = LoginManager.currentUser();\n // Step1:生成预订单\n try {\n const rawResponse = await fetch(SERVER_URL, {\n method: 'POST',\n headers: {\n 'Accept': 'application/json',\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n user: user?.AVUser.get('objectId'),\n order: orderId,\n cmd: 'check',\n }),\n });\n const res = await rawResponse.json();\n // console.log(res);\n if (rawResponse.status === 200 && !res.error) {\n return { paid: res.paid };\n } else {\n return { paid: false, e: res.error };\n }\n } catch (e) {\n return { paid: false, e: e };\n }\n },\n\n recover: async () => {\n const { paid, e } = await VipAndroidManager.queryOrder();\n if (paid && !e) {\n await Purchases.invalidateCustomerInfoCache();\n console.log('恢复成功');\n return { errorCode: 0 };\n } else {\n if (e) {\n console.log('恢复失败(-3)', JSON.stringify(e));\n return { errorCode: -3, errorMsg: JSON.stringify(e) };\n } else {\n console.log('恢复失败(-2)');\n return { errorCode: -2 };\n }\n }\n },\n\n getPackages: () => {\n return ConfigDataModel.get('vip_android_products');\n },\n\n purchase: async (purchasePackage: PurchasesPackage) => {\n try {\n const user = LoginManager.currentUser();\n // Step1:生成预订单\n const rawResponse = await fetch(SERVER_URL, {\n method: 'POST',\n headers: {\n 'Accept': 'application/json',\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n user: user?.AVUser.get('objectId'),\n product: purchasePackage.product?.identifier,\n cmd: 'prepare',\n }),\n });\n const res = await rawResponse.json();\n // console.log(res);\n if (rawResponse.status === 200 && !res.error) {\n // Step2:调用微信支付 SDK\n const { errCode, errStr } = await WeChat.pay(res.payload);\n if (errCode) {\n console.log('购买失败(-5)', errStr);\n return { errorCode: -5, errorMsg: errStr };\n }\n // 虽然没什么问题,但保险起见还是延时下,让后台先更新\n await Tool.sleep(4000);\n // Step3:查询后台\n const { paid, e } = await VipAndroidManager.queryOrder(\n res.payload.order\n );\n if (paid && !e) {\n await Purchases.invalidateCustomerInfoCache();\n return { errorCode: 0 };\n } else {\n console.log('购买失败(-5)', JSON.stringify(e));\n return { errorCode: -5, errorMsg: JSON.stringify(e) };\n }\n } else {\n console.log('购买失败(-5)', JSON.stringify(res?.error));\n return { errorCode: -5, errorMsg: JSON.stringify(res?.error) };\n }\n } catch (e) {\n console.log('购买失败(-5)', JSON.stringify(e));\n return { errorCode: -5, errorMsg: JSON.stringify(e) };\n }\n },\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1,273 @@
|
|
|
1
|
+
import { Platform } from 'react-native';
|
|
2
|
+
import Purchases from 'react-native-purchases';
|
|
3
|
+
import { DevConfig } from './DevConfig';
|
|
4
|
+
import { LoginManager } from './LoginManager';
|
|
5
|
+
import { Notification } from './Notification';
|
|
6
|
+
import { BuildInPrefs } from './PrefData';
|
|
7
|
+
import { Tool } from './Tool';
|
|
8
|
+
import { VipAndroidManager } from './VipAndroidManager';
|
|
9
|
+
let _customerInfo;
|
|
10
|
+
let _RC_ENTITLEMENT_ID = '';
|
|
11
|
+
export const VipManager = {
|
|
12
|
+
init: _ref => {
|
|
13
|
+
let {
|
|
14
|
+
RC_API_KEY,
|
|
15
|
+
RC_ENTITLEMENT_ID,
|
|
16
|
+
WeChatPayServer
|
|
17
|
+
} = _ref;
|
|
18
|
+
console.log('Vip 模块初始化');
|
|
19
|
+
VipAndroidManager.init({
|
|
20
|
+
WeChatPayServer
|
|
21
|
+
});
|
|
22
|
+
_RC_ENTITLEMENT_ID = RC_ENTITLEMENT_ID;
|
|
23
|
+
Purchases.configure({
|
|
24
|
+
apiKey: RC_API_KEY
|
|
25
|
+
});
|
|
26
|
+
VipManager.refreshVip();
|
|
27
|
+
Notification.addListener('onLogin', async _ref2 => {
|
|
28
|
+
let {
|
|
29
|
+
error,
|
|
30
|
+
user
|
|
31
|
+
} = _ref2;
|
|
32
|
+
console.log('Vip 模块用户登录');
|
|
33
|
+
if (!error && user) {
|
|
34
|
+
try {
|
|
35
|
+
await Purchases.logIn(user.AVUser.get('objectId'));
|
|
36
|
+
await Purchases.setAttributes({
|
|
37
|
+
nickname: user.nickname
|
|
38
|
+
});
|
|
39
|
+
await VipManager.refreshVip();
|
|
40
|
+
} catch (e) {
|
|
41
|
+
console.error(e);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
Notification.addListener('onLogout', () => {
|
|
46
|
+
Purchases.logOut();
|
|
47
|
+
_customerInfo = null;
|
|
48
|
+
});
|
|
49
|
+
},
|
|
50
|
+
purchase: async purchasePackage => {
|
|
51
|
+
if (!LoginManager.isLogin()) {
|
|
52
|
+
return {
|
|
53
|
+
errorCode: -1
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
if (!purchasePackage) {
|
|
57
|
+
return {
|
|
58
|
+
errorCode: -4
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
console.log('购买商品', purchasePackage);
|
|
62
|
+
if (Platform.OS === 'android') {
|
|
63
|
+
return await VipAndroidManager.purchase(purchasePackage);
|
|
64
|
+
}
|
|
65
|
+
try {
|
|
66
|
+
const {
|
|
67
|
+
customerInfo
|
|
68
|
+
} = await Purchases.purchasePackage(purchasePackage);
|
|
69
|
+
await VipManager.refreshVip(customerInfo);
|
|
70
|
+
if (typeof customerInfo.entitlements.active[_RC_ENTITLEMENT_ID] !== 'undefined') {
|
|
71
|
+
console.log('购买成功');
|
|
72
|
+
return {
|
|
73
|
+
errorCode: 0
|
|
74
|
+
};
|
|
75
|
+
} else {
|
|
76
|
+
console.log('购买失败(-5)');
|
|
77
|
+
return {
|
|
78
|
+
errorCode: -5,
|
|
79
|
+
errorMsg: ''
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
} catch (e) {
|
|
83
|
+
if (!e.userCancelled) {
|
|
84
|
+
console.log('购买失败(-5)', e.message);
|
|
85
|
+
return {
|
|
86
|
+
errorCode: -5,
|
|
87
|
+
errorMsg: e.message
|
|
88
|
+
};
|
|
89
|
+
} else {
|
|
90
|
+
console.log('购买取消(-2)');
|
|
91
|
+
return {
|
|
92
|
+
errorCode: -2
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
},
|
|
97
|
+
recover: async () => {
|
|
98
|
+
if (!LoginManager.isLogin()) {
|
|
99
|
+
return {
|
|
100
|
+
errorCode: -1
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
try {
|
|
104
|
+
var _customerInfo$entitle;
|
|
105
|
+
if (Platform.OS === 'android') {
|
|
106
|
+
return await VipAndroidManager.recover();
|
|
107
|
+
}
|
|
108
|
+
console.log('iOS 恢复购买');
|
|
109
|
+
const customerInfo = await Purchases.restorePurchases();
|
|
110
|
+
await VipManager.refreshVip(customerInfo);
|
|
111
|
+
if ((_customerInfo$entitle = customerInfo.entitlements.active) !== null && _customerInfo$entitle !== void 0 && _customerInfo$entitle.vip) {
|
|
112
|
+
console.log('恢复成功');
|
|
113
|
+
return {
|
|
114
|
+
errorCode: 0
|
|
115
|
+
};
|
|
116
|
+
} else {
|
|
117
|
+
console.log('恢复失败(-2)');
|
|
118
|
+
return {
|
|
119
|
+
errorCode: -2
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
} catch (e) {
|
|
123
|
+
console.log('恢复失败(-3)', e.message);
|
|
124
|
+
return {
|
|
125
|
+
errorCode: -3,
|
|
126
|
+
errorMsg: e.message
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
},
|
|
130
|
+
getPackages: async () => {
|
|
131
|
+
if (VipManager.isForeverVip()) {
|
|
132
|
+
return [];
|
|
133
|
+
}
|
|
134
|
+
if (Platform.OS === 'android' || __DEV__) {
|
|
135
|
+
return VipAndroidManager.getPackages();
|
|
136
|
+
}
|
|
137
|
+
try {
|
|
138
|
+
const offerings = await Purchases.getOfferings();
|
|
139
|
+
let targetOffering = offerings.current;
|
|
140
|
+
if (__DEV__) {
|
|
141
|
+
targetOffering = offerings.all.NormalVip;
|
|
142
|
+
}
|
|
143
|
+
console.log('获取商品');
|
|
144
|
+
if (targetOffering !== null && targetOffering.availablePackages.length !== 0) {
|
|
145
|
+
let packages = targetOffering.availablePackages;
|
|
146
|
+
// 如果是订阅的,非试用的,展示永久 VIP
|
|
147
|
+
if (VipManager.isVip() && !VipManager.isTrailVip()) {
|
|
148
|
+
packages = packages.filter(item => {
|
|
149
|
+
return item;
|
|
150
|
+
// TODO
|
|
151
|
+
// return item.product.productCategory === 'NON_SUBSCRIPTION';
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
return packages;
|
|
156
|
+
} else {
|
|
157
|
+
return [];
|
|
158
|
+
}
|
|
159
|
+
} catch (e) {
|
|
160
|
+
console.error('Get Product Fail', e);
|
|
161
|
+
return [];
|
|
162
|
+
}
|
|
163
|
+
},
|
|
164
|
+
isVip: () => {
|
|
165
|
+
var _customerInfo2, _customerInfo3;
|
|
166
|
+
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;
|
|
167
|
+
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) {
|
|
168
|
+
_isVip = false;
|
|
169
|
+
}
|
|
170
|
+
if (__DEV__) {
|
|
171
|
+
if (DevConfig.hasValue(BuildInPrefs.DevVip)) {
|
|
172
|
+
_isVip = DevConfig.getValue(BuildInPrefs.DevVip);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
return _isVip;
|
|
176
|
+
},
|
|
177
|
+
isForeverVip: () => {
|
|
178
|
+
var _VipManager$vipEndTim;
|
|
179
|
+
// 苹果的永久会员是非订阅制的,因此 RevenueCat 的 vipEndTime 会空
|
|
180
|
+
return VipManager.isVip() && (((_VipManager$vipEndTim = VipManager.vipEndTime()) === null || _VipManager$vipEndTim === void 0 ? void 0 : _VipManager$vipEndTim.length) === 0 || VipManager.vipCountDay() >= 36500);
|
|
181
|
+
},
|
|
182
|
+
vipEndTime: () => {
|
|
183
|
+
var _customerInfo4;
|
|
184
|
+
const time = (_customerInfo4 = _customerInfo) === null || _customerInfo4 === void 0 || (_customerInfo4 = _customerInfo4.entitlements) === null || _customerInfo4 === void 0 || (_customerInfo4 = _customerInfo4.active) === null || _customerInfo4 === void 0 || (_customerInfo4 = _customerInfo4.vip) === null || _customerInfo4 === void 0 ? void 0 : _customerInfo4.expirationDate;
|
|
185
|
+
if (VipManager.isVip() && time) {
|
|
186
|
+
const date = new Date(time);
|
|
187
|
+
return Tool.formatDate(date, 'yyyy-MM-dd');
|
|
188
|
+
} else {
|
|
189
|
+
return '';
|
|
190
|
+
}
|
|
191
|
+
},
|
|
192
|
+
vipCountDay: () => {
|
|
193
|
+
var _customerInfo5;
|
|
194
|
+
const time = (_customerInfo5 = _customerInfo) === null || _customerInfo5 === void 0 || (_customerInfo5 = _customerInfo5.entitlements) === null || _customerInfo5 === void 0 || (_customerInfo5 = _customerInfo5.active) === null || _customerInfo5 === void 0 || (_customerInfo5 = _customerInfo5.vip) === null || _customerInfo5 === void 0 ? void 0 : _customerInfo5.expirationDate;
|
|
195
|
+
if (VipManager.isVip() && time) {
|
|
196
|
+
const date = new Date(time);
|
|
197
|
+
const diff = date.getTime() - new Date().getTime();
|
|
198
|
+
return Math.max(Math.ceil(diff / (24 * 60 * 60 * 1000)), 0);
|
|
199
|
+
}
|
|
200
|
+
return 0;
|
|
201
|
+
},
|
|
202
|
+
isTrailVip: () => {
|
|
203
|
+
var _LoginManager$current;
|
|
204
|
+
if (VipManager.isForeverVip()) {
|
|
205
|
+
return false;
|
|
206
|
+
}
|
|
207
|
+
if (!VipManager.isVip()) {
|
|
208
|
+
return false;
|
|
209
|
+
}
|
|
210
|
+
const vipType = (_LoginManager$current = LoginManager.currentUser()) === null || _LoginManager$current === void 0 ? void 0 : _LoginManager$current.AVUser.get('vipType');
|
|
211
|
+
if (vipType !== null && vipType !== void 0 && vipType.includes('rc_promo_')) {
|
|
212
|
+
return true;
|
|
213
|
+
}
|
|
214
|
+
return false;
|
|
215
|
+
},
|
|
216
|
+
refreshVip: async customerInfo => {
|
|
217
|
+
try {
|
|
218
|
+
var _customerInfo6;
|
|
219
|
+
console.log('刷新 VIP');
|
|
220
|
+
if (customerInfo) {
|
|
221
|
+
_customerInfo = customerInfo;
|
|
222
|
+
} else {
|
|
223
|
+
_customerInfo = await Purchases.getCustomerInfo();
|
|
224
|
+
}
|
|
225
|
+
console.log('VIP 信息', (_customerInfo6 = _customerInfo) === null || _customerInfo6 === void 0 || (_customerInfo6 = _customerInfo6.entitlements) === null || _customerInfo6 === void 0 ? void 0 : _customerInfo6.active);
|
|
226
|
+
console.log('是否是 VIP', VipManager.isVip());
|
|
227
|
+
console.log('VipInfo 过期时间', VipManager.vipEndTime());
|
|
228
|
+
await updateVipInfo();
|
|
229
|
+
Notification.postNotification('onVipRefresh', {});
|
|
230
|
+
} catch (e) {
|
|
231
|
+
console.error(e);
|
|
232
|
+
Notification.postNotification('onVipRefresh', {
|
|
233
|
+
e
|
|
234
|
+
});
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
};
|
|
238
|
+
const updateVipInfo = async () => {
|
|
239
|
+
var _customerInfo7, _LoginManager$current2;
|
|
240
|
+
if (!VipManager.isVip() || !LoginManager.isLogin()) {
|
|
241
|
+
return;
|
|
242
|
+
}
|
|
243
|
+
const keys = [];
|
|
244
|
+
const values = [];
|
|
245
|
+
const vipType = (_customerInfo7 = _customerInfo) === null || _customerInfo7 === void 0 || (_customerInfo7 = _customerInfo7.entitlements) === null || _customerInfo7 === void 0 || (_customerInfo7 = _customerInfo7.active) === null || _customerInfo7 === void 0 || (_customerInfo7 = _customerInfo7.vip) === null || _customerInfo7 === void 0 ? void 0 : _customerInfo7.productIdentifier;
|
|
246
|
+
const oldVipType = (_LoginManager$current2 = LoginManager.currentUser()) === null || _LoginManager$current2 === void 0 ? void 0 : _LoginManager$current2.AVUser.get('vipType');
|
|
247
|
+
if (vipType && vipType !== oldVipType) {
|
|
248
|
+
keys.push('vipType');
|
|
249
|
+
values.push(vipType);
|
|
250
|
+
}
|
|
251
|
+
let vipEndTime;
|
|
252
|
+
if (VipManager.isForeverVip()) {
|
|
253
|
+
vipEndTime = new Date(10413763200000); // 约定 2300-01-01 00:00:00 为永久会员
|
|
254
|
+
} else {
|
|
255
|
+
var _customerInfo8;
|
|
256
|
+
const expireDate = (_customerInfo8 = _customerInfo) === null || _customerInfo8 === void 0 || (_customerInfo8 = _customerInfo8.entitlements) === null || _customerInfo8 === void 0 || (_customerInfo8 = _customerInfo8.active) === null || _customerInfo8 === void 0 || (_customerInfo8 = _customerInfo8.vip) === null || _customerInfo8 === void 0 ? void 0 : _customerInfo8.expirationDate;
|
|
257
|
+
if (expireDate) {
|
|
258
|
+
vipEndTime = new Date(expireDate);
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
if (vipEndTime) {
|
|
262
|
+
var _LoginManager$current3;
|
|
263
|
+
const oldVipEndTime = (_LoginManager$current3 = LoginManager.currentUser()) === null || _LoginManager$current3 === void 0 ? void 0 : _LoginManager$current3.AVUser.get('vipEndTime');
|
|
264
|
+
if (vipEndTime.getTime() !== (oldVipEndTime === null || oldVipEndTime === void 0 ? void 0 : oldVipEndTime.getTime())) {
|
|
265
|
+
keys.push('vipEndTime');
|
|
266
|
+
values.push(vipEndTime);
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
if (keys.length > 0) {
|
|
270
|
+
await LoginManager.batchUpdateUser(keys, values);
|
|
271
|
+
}
|
|
272
|
+
};
|
|
273
|
+
//# sourceMappingURL=VipManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Platform","Purchases","DevConfig","LoginManager","Notification","BuildInPrefs","Tool","VipAndroidManager","_customerInfo","_RC_ENTITLEMENT_ID","VipManager","init","_ref","RC_API_KEY","RC_ENTITLEMENT_ID","WeChatPayServer","console","log","configure","apiKey","refreshVip","addListener","_ref2","error","user","logIn","AVUser","get","setAttributes","nickname","e","logOut","purchase","purchasePackage","isLogin","errorCode","OS","customerInfo","entitlements","active","errorMsg","userCancelled","message","recover","_customerInfo$entitle","restorePurchases","vip","getPackages","isForeverVip","__DEV__","offerings","getOfferings","targetOffering","current","all","NormalVip","availablePackages","length","packages","isVip","isTrailVip","filter","item","_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 } from './LoginManager';\nimport { Notification } from './Notification';\nimport { BuildInPrefs } from './PrefData';\nimport { Tool } from './Tool';\nimport { VipAndroidManager } from './VipAndroidManager';\nimport { UserType } from './constant';\n\nlet _customerInfo: CustomerInfo | null;\nlet _RC_ENTITLEMENT_ID: string = '';\n\nexport const VipManager = {\n init: ({\n RC_API_KEY,\n RC_ENTITLEMENT_ID,\n WeChatPayServer,\n }: {\n RC_API_KEY: string;\n RC_ENTITLEMENT_ID: string;\n WeChatPayServer: string;\n }) => {\n console.log('Vip 模块初始化');\n\n VipAndroidManager.init({ WeChatPayServer });\n\n _RC_ENTITLEMENT_ID = RC_ENTITLEMENT_ID;\n\n Purchases.configure({\n apiKey: RC_API_KEY,\n });\n\n VipManager.refreshVip();\n\n Notification.addListener(\n 'onLogin',\n async ({ error, user }: { error: any; user: UserType }) => {\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[_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 return item;\n // TODO\n // return item.product.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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"}
|
package/lib/module/index.js
CHANGED
|
@@ -4,13 +4,19 @@ const {
|
|
|
4
4
|
} = NativeModules;
|
|
5
5
|
export default ReactNativeToolkit;
|
|
6
6
|
export * from './AppleLoginUtil';
|
|
7
|
+
export * from './ConfigDataModel';
|
|
7
8
|
export * from './DevConfig';
|
|
9
|
+
export * from './Frequence';
|
|
8
10
|
export * from './LoginManager';
|
|
11
|
+
export * from './MessageModel';
|
|
9
12
|
export * from './Notification';
|
|
10
13
|
export * from './PrefData';
|
|
11
14
|
export * from './ReportUtil';
|
|
12
15
|
export * from './SentryManager';
|
|
13
16
|
export * from './SyncPrefData';
|
|
17
|
+
export * from './Tool';
|
|
18
|
+
export * from './VipAndroidManager';
|
|
19
|
+
export * from './VipManager';
|
|
14
20
|
export * from './WeChatLoginUtil';
|
|
15
21
|
export * from './constant';
|
|
16
22
|
//# sourceMappingURL=index.js.map
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeModules","ReactNativeToolkit"],"sources":["index.tsx"],"sourcesContent":["import { NativeModules } from 'react-native';\n\ntype ReactNativeToolkitType = {\n multiply(a: number, b: number): Promise<number>;\n};\n\nconst { ReactNativeToolkit } = NativeModules;\n\nexport default ReactNativeToolkit as ReactNativeToolkitType;\nexport * from './AppleLoginUtil';\nexport * from './DevConfig';\nexport * from './LoginManager';\nexport * from './Notification';\nexport * from './PrefData';\nexport * from './ReportUtil';\nexport * from './SentryManager';\nexport * from './SyncPrefData';\nexport * from './WeChatLoginUtil';\nexport * from './constant';\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,cAAc;AAM5C,MAAM;EAAEC;AAAmB,CAAC,GAAGD,aAAa;AAE5C,eAAeC,kBAAkB;AACjC,cAAc,kBAAkB;AAChC,cAAc,aAAa;AAC3B,cAAc,gBAAgB;AAC9B,cAAc,gBAAgB;AAC9B,cAAc,YAAY;AAC1B,cAAc,cAAc;AAC5B,cAAc,iBAAiB;AAC/B,cAAc,gBAAgB;AAC9B,cAAc,mBAAmB;AACjC,cAAc,YAAY"}
|
|
1
|
+
{"version":3,"names":["NativeModules","ReactNativeToolkit"],"sources":["index.tsx"],"sourcesContent":["import { NativeModules } from 'react-native';\n\ntype ReactNativeToolkitType = {\n multiply(a: number, b: number): Promise<number>;\n};\n\nconst { ReactNativeToolkit } = NativeModules;\n\nexport default ReactNativeToolkit as ReactNativeToolkitType;\nexport * from './AppleLoginUtil';\nexport * from './ConfigDataModel';\nexport * from './DevConfig';\nexport * from './Frequence';\nexport * from './LoginManager';\nexport * from './MessageModel';\nexport * from './Notification';\nexport * from './PrefData';\nexport * from './ReportUtil';\nexport * from './SentryManager';\nexport * from './SyncPrefData';\nexport * from './Tool';\nexport * from './VipAndroidManager';\nexport * from './VipManager';\nexport * from './WeChatLoginUtil';\nexport * from './constant';\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,cAAc;AAM5C,MAAM;EAAEC;AAAmB,CAAC,GAAGD,aAAa;AAE5C,eAAeC,kBAAkB;AACjC,cAAc,kBAAkB;AAChC,cAAc,mBAAmB;AACjC,cAAc,aAAa;AAC3B,cAAc,aAAa;AAC3B,cAAc,gBAAgB;AAC9B,cAAc,gBAAgB;AAC9B,cAAc,gBAAgB;AAC9B,cAAc,YAAY;AAC1B,cAAc,cAAc;AAC5B,cAAc,iBAAiB;AAC/B,cAAc,gBAAgB;AAC9B,cAAc,QAAQ;AACtB,cAAc,qBAAqB;AACnC,cAAc,cAAc;AAC5B,cAAc,mBAAmB;AACjC,cAAc,YAAY"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export interface ConfigsType {
|
|
2
|
+
[key: string]: any;
|
|
3
|
+
}
|
|
4
|
+
declare const ConfigDataModel: {
|
|
5
|
+
init: (defaultValues: ConfigsType) => void;
|
|
6
|
+
fetch: () => void;
|
|
7
|
+
getVersionConfig: () => {
|
|
8
|
+
currentVersion: any;
|
|
9
|
+
latestVersion: any;
|
|
10
|
+
isDanger: boolean;
|
|
11
|
+
hasNewVersion: boolean;
|
|
12
|
+
};
|
|
13
|
+
get: (key: string) => any;
|
|
14
|
+
emitChange: () => void;
|
|
15
|
+
addListenerOnce: (callback: Function) => void;
|
|
16
|
+
};
|
|
17
|
+
export { ConfigDataModel };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface FreConfigType {
|
|
2
|
+
key: string;
|
|
3
|
+
limit?: number;
|
|
4
|
+
gap?: number;
|
|
5
|
+
}
|
|
6
|
+
export declare const FrequenceManager: {
|
|
7
|
+
canRun: (config: FreConfigType) => boolean;
|
|
8
|
+
markFinishForCount: (config: FreConfigType) => void;
|
|
9
|
+
markFinishForTime: (configKey: string) => void;
|
|
10
|
+
};
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { LoginType } from '
|
|
2
|
-
import { LoginAuthDataType, UserType } from './constant';
|
|
1
|
+
import { LoginAuthDataType, LoginType, UserType } from './constant';
|
|
3
2
|
export declare const LoginManager: {
|
|
4
3
|
setup: (WeChatId: string, WeChatSecret: string) => void;
|
|
5
4
|
autoLogin: () => Promise<void>;
|
|
@@ -8,7 +7,7 @@ export declare const LoginManager: {
|
|
|
8
7
|
isLogin: () => boolean;
|
|
9
8
|
isVisitor: () => boolean;
|
|
10
9
|
currentUser: () => UserType | null;
|
|
11
|
-
batchUpdateUser: (keys: string[], values: string[], callback?: Function) => Promise<void>;
|
|
10
|
+
batchUpdateUser: (keys: string[], values: (string | Date)[], callback?: Function) => Promise<void>;
|
|
12
11
|
updateUser: (key: string, value: string, callback?: Function) => void;
|
|
13
12
|
deleteUser: (callback: Function) => Promise<void>;
|
|
14
13
|
lastLoginType: () => any;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
interface Message {
|
|
2
|
+
objectId: string;
|
|
3
|
+
android: boolean;
|
|
4
|
+
ios: boolean;
|
|
5
|
+
title?: string;
|
|
6
|
+
content?: string;
|
|
7
|
+
maxVer?: string;
|
|
8
|
+
minVer?: string;
|
|
9
|
+
key?: string;
|
|
10
|
+
updatedAt: string;
|
|
11
|
+
valid: boolean;
|
|
12
|
+
vipFilter?: number;
|
|
13
|
+
isRead: boolean;
|
|
14
|
+
users?: string[];
|
|
15
|
+
limit?: number;
|
|
16
|
+
gap?: number;
|
|
17
|
+
}
|
|
18
|
+
export declare const MessageModel: {
|
|
19
|
+
fetch: () => void;
|
|
20
|
+
getUnreadMessages: () => Message[];
|
|
21
|
+
getAllMessages: () => Message[];
|
|
22
|
+
markMessageRead: (message: Message) => Promise<void>;
|
|
23
|
+
emitChange: () => void;
|
|
24
|
+
addListenerOnce: (callback: Function) => void;
|
|
25
|
+
};
|
|
26
|
+
export {};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { PurchasesPackage } from 'react-native-purchases';
|
|
2
|
+
export declare const VipAndroidManager: {
|
|
3
|
+
init: ({ WeChatPayServer }: {
|
|
4
|
+
WeChatPayServer: string;
|
|
5
|
+
}) => void;
|
|
6
|
+
queryOrder: (orderId?: string) => Promise<{
|
|
7
|
+
paid: any;
|
|
8
|
+
e?: undefined;
|
|
9
|
+
} | {
|
|
10
|
+
paid: boolean;
|
|
11
|
+
e: any;
|
|
12
|
+
}>;
|
|
13
|
+
recover: () => Promise<{
|
|
14
|
+
errorCode: number;
|
|
15
|
+
errorMsg?: undefined;
|
|
16
|
+
} | {
|
|
17
|
+
errorCode: number;
|
|
18
|
+
errorMsg: string;
|
|
19
|
+
}>;
|
|
20
|
+
getPackages: () => any;
|
|
21
|
+
purchase: (purchasePackage: PurchasesPackage) => Promise<{
|
|
22
|
+
errorCode: number;
|
|
23
|
+
errorMsg: string | undefined;
|
|
24
|
+
} | {
|
|
25
|
+
errorCode: number;
|
|
26
|
+
errorMsg?: undefined;
|
|
27
|
+
}>;
|
|
28
|
+
};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { CustomerInfo, PurchasesPackage } from 'react-native-purchases';
|
|
2
|
+
export declare const VipManager: {
|
|
3
|
+
init: ({ RC_API_KEY, RC_ENTITLEMENT_ID, WeChatPayServer, }: {
|
|
4
|
+
RC_API_KEY: string;
|
|
5
|
+
RC_ENTITLEMENT_ID: string;
|
|
6
|
+
WeChatPayServer: string;
|
|
7
|
+
}) => void;
|
|
8
|
+
purchase: (purchasePackage: PurchasesPackage) => Promise<{
|
|
9
|
+
errorCode: number;
|
|
10
|
+
errorMsg?: undefined;
|
|
11
|
+
} | {
|
|
12
|
+
errorCode: number;
|
|
13
|
+
errorMsg: any;
|
|
14
|
+
}>;
|
|
15
|
+
recover: () => Promise<{
|
|
16
|
+
errorCode: number;
|
|
17
|
+
errorMsg?: undefined;
|
|
18
|
+
} | {
|
|
19
|
+
errorCode: number;
|
|
20
|
+
errorMsg: any;
|
|
21
|
+
}>;
|
|
22
|
+
getPackages: () => Promise<PurchasesPackage[]>;
|
|
23
|
+
isVip: () => boolean | undefined;
|
|
24
|
+
isForeverVip: () => boolean | undefined;
|
|
25
|
+
vipEndTime: () => string;
|
|
26
|
+
vipCountDay: () => number;
|
|
27
|
+
isTrailVip: () => boolean;
|
|
28
|
+
refreshVip: (customerInfo?: CustomerInfo) => Promise<void>;
|
|
29
|
+
};
|