@jolibox/implement 1.1.12 → 1.1.13-beta.10
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/.rush/temp/package-deps_build.json +35 -41
- package/.rush/temp/shrinkwrap-deps.json +1 -1
- package/dist/common/ads/anti-cheating.d.ts +5 -0
- package/dist/common/context/index.d.ts +5 -0
- package/dist/common/context/url-parse.d.ts +8 -1
- package/dist/common/rewards/__tests__/can-use-jolicoin.test.d.ts +1 -0
- package/dist/common/rewards/fetch-reward.d.ts +2 -0
- package/dist/common/rewards/index.d.ts +18 -0
- package/dist/common/rewards/registers/use-ads.d.ts +3 -0
- package/dist/common/rewards/registers/use-jolicoin.d.ts +9 -0
- package/dist/common/rewards/registers/utils/index.d.ts +2 -0
- package/dist/common/rewards/reward-helper.d.ts +14 -0
- package/dist/common/rewards/type.d.ts +23 -0
- package/dist/common/utils/index.d.ts +7 -0
- package/dist/index.js +3 -3
- package/dist/index.native.js +131 -4
- package/dist/native/api/index.d.ts +1 -0
- package/dist/native/api/keyboard.d.ts +1 -1
- package/dist/native/api/navigate.d.ts +1 -0
- package/dist/native/network/create-fetch.d.ts +1 -0
- package/dist/native/ui/retention.d.ts +1 -0
- package/implement.build.log +2 -2
- package/package.json +5 -3
- package/src/common/ads/anti-cheating.test.ts +4 -2
- package/src/common/ads/anti-cheating.ts +12 -4
- package/src/common/ads/index.ts +51 -33
- package/src/common/context/index.ts +22 -3
- package/src/common/context/url-parse.ts +24 -1
- package/src/common/rewards/__tests__/can-use-jolicoin.test.ts +94 -0
- package/src/common/rewards/fetch-reward.ts +33 -0
- package/src/common/rewards/index.ts +20 -0
- package/src/common/rewards/registers/use-ads.ts +9 -0
- package/src/common/rewards/registers/use-jolicoin.ts +89 -0
- package/src/common/rewards/registers/utils/index.ts +11 -0
- package/src/common/rewards/reward-helper.ts +56 -0
- package/src/common/rewards/type.ts +25 -0
- package/src/common/utils/index.ts +7 -0
- package/src/h5/api/ads.ts +20 -1
- package/src/h5/api/get-system-info.ts +1 -1
- package/src/h5/http/utils/__tests__/xua.test.ts +1 -1
- package/src/native/api/ads.ts +31 -3
- package/src/native/api/get-system-info.ts +2 -2
- package/src/native/api/index.ts +1 -0
- package/src/native/api/keyboard.ts +1 -1
- package/src/native/api/lifecycle.ts +16 -4
- package/src/native/api/login.ts +1 -1
- package/src/native/api/navigate.ts +61 -0
- package/src/native/api/request.ts +19 -10
- package/src/native/api/storage.ts +1 -1
- package/src/native/bootstrap/index.ts +111 -27
- package/src/native/network/create-fetch.ts +7 -2
- package/src/native/network/utils.ts +13 -6
- package/src/native/report/errors/index.ts +1 -1
- package/src/native/report/index.ts +1 -1
- package/src/native/report/task-tracker.ts +1 -1
- package/src/native/ui/retention.ts +153 -0
- package/dist/native/bootstrap/bridge.d.ts +0 -4
- package/dist/native/js-bridge/const.d.ts +0 -5
- package/dist/native/js-bridge/index.d.ts +0 -2
- package/dist/native/js-bridge/invoke.d.ts +0 -21
- package/dist/native/js-bridge/js-bridge.d.ts +0 -6
- package/dist/native/js-bridge/report.d.ts +0 -63
- package/dist/native/js-bridge/subscribe.d.ts +0 -8
- package/dist/native/js-bridge/types.d.ts +0 -14
- package/dist/native/js-bridge/utils.d.ts +0 -17
- package/dist/native/js-core/index.d.ts +0 -3
- package/dist/native/js-core/jolibox-js-core.d.ts +0 -45
- package/dist/native/js-core/message-port.d.ts +0 -12
- package/dist/native/js-core/utils.d.ts +0 -7
- package/src/native/bootstrap/bridge.ts +0 -59
- package/src/native/js-bridge/const.ts +0 -11
- package/src/native/js-bridge/index.ts +0 -2
- package/src/native/js-bridge/invoke.ts +0 -208
- package/src/native/js-bridge/js-bridge.ts +0 -23
- package/src/native/js-bridge/report.ts +0 -311
- package/src/native/js-bridge/subscribe.ts +0 -50
- package/src/native/js-bridge/types.ts +0 -26
- package/src/native/js-bridge/utils.ts +0 -116
- package/src/native/js-core/index.ts +0 -4
- package/src/native/js-core/jolibox-js-core.ts +0 -188
- package/src/native/js-core/message-port.ts +0 -52
- package/src/native/js-core/utils.ts +0 -9
- package/src/native/types/global.d.ts +0 -26
- package/src/native/types/native-method-map.d.ts +0 -300
- package/src/native/types/native-method.d.ts +0 -30
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"files": {
|
|
3
|
-
"packages/implement/.rush/temp/shrinkwrap-deps.json": "
|
|
3
|
+
"packages/implement/.rush/temp/shrinkwrap-deps.json": "409982f688cb8365b288673bcc40782cb7dedd5f",
|
|
4
4
|
"packages/implement/.eslintrc.js": "7a3d2747dc887655ca9e2d3ff621f7dfd98500b9",
|
|
5
5
|
"packages/implement/README.md": "5660cd88848b7a5428394cc34d881a35dd402188",
|
|
6
6
|
"packages/implement/esbuild.config.js": "86f1fd21722a2cb05216751578dcca66326e664a",
|
|
7
|
-
"packages/implement/package.json": "
|
|
7
|
+
"packages/implement/package.json": "6f91a5f04be9820dd05ddc3f68536e6db7f29972",
|
|
8
8
|
"packages/implement/src/common/ads/ads-action-detection.ts": "5a7b9f85d7eab9e744f8a9fc7638063f43baa214",
|
|
9
|
-
"packages/implement/src/common/ads/anti-cheating.test.ts": "
|
|
10
|
-
"packages/implement/src/common/ads/anti-cheating.ts": "
|
|
9
|
+
"packages/implement/src/common/ads/anti-cheating.test.ts": "e2ff3dc6760cfd28d0f8c15703d7fb20d43df583",
|
|
10
|
+
"packages/implement/src/common/ads/anti-cheating.ts": "a3ffb6a78e289e1c0ce45c7f7c0cee000e75e541",
|
|
11
11
|
"packages/implement/src/common/ads/channel-policy.ts": "c6d036be5cedf0c5d545fac271c6c8447ca55d8a",
|
|
12
|
-
"packages/implement/src/common/ads/index.ts": "
|
|
12
|
+
"packages/implement/src/common/ads/index.ts": "e5d6d4b5754b6735f54b6cad377320ac980efb29",
|
|
13
13
|
"packages/implement/src/common/api-factory/index.ts": "a2b60f027384e37492ddde550dd46f3fb3e14cfe",
|
|
14
14
|
"packages/implement/src/common/api-factory/validator/__tests__/validate/any.test.ts": "6e225e09fce401b374221ad2e4fe33bc91df4152",
|
|
15
15
|
"packages/implement/src/common/api-factory/validator/__tests__/validate/array.test.ts": "8a9cc32be03e952f1176a970fea033d597c176cb",
|
|
@@ -31,9 +31,9 @@
|
|
|
31
31
|
"packages/implement/src/common/api-factory/validator/index.ts": "204e86b97c854647d177805e3180d4cfd542b0f8",
|
|
32
32
|
"packages/implement/src/common/api-factory/validator/validate.ts": "5fee8175a9a05a69fe709c7e7899e5372d81efb1",
|
|
33
33
|
"packages/implement/src/common/can-i-use.ts": "9a28562870d92b82ce42ec656c8e9d868dd87528",
|
|
34
|
-
"packages/implement/src/common/context/index.ts": "
|
|
34
|
+
"packages/implement/src/common/context/index.ts": "b08ac6a2021c7e10701f87d88ab3f7e7a2ac90d7",
|
|
35
35
|
"packages/implement/src/common/context/types.ts": "244ff65de52dcbce2457ffee427f5fa102987825",
|
|
36
|
-
"packages/implement/src/common/context/url-parse.ts": "
|
|
36
|
+
"packages/implement/src/common/context/url-parse.ts": "bc25ab4dec5a92f02a8bf99a8e8da4e74f50aba3",
|
|
37
37
|
"packages/implement/src/common/http/index.ts": "5087185d80e1e239262f849b3015eb9b810e2945",
|
|
38
38
|
"packages/implement/src/common/http/uuid.ts": "72e0bcc38976f6d25a55128843c6e3b0dbfd978e",
|
|
39
39
|
"packages/implement/src/common/http/xua.ts": "2ef571b8467fe5e8ecb470c26cb6da99b24be9a8",
|
|
@@ -46,17 +46,25 @@
|
|
|
46
46
|
"packages/implement/src/common/report/task-track/index.ts": "056d4ce9121648e94aa177e8e6b261adb455d244",
|
|
47
47
|
"packages/implement/src/common/report/track.ts": "1c71050f8caadfe7065f0db5a4a0708c264c21b4",
|
|
48
48
|
"packages/implement/src/common/report/types.ts": "fd127bfd31586f1d712152ef60a4e9175f8bfe8f",
|
|
49
|
-
"packages/implement/src/common/
|
|
50
|
-
"packages/implement/src/
|
|
49
|
+
"packages/implement/src/common/rewards/__tests__/can-use-jolicoin.test.ts": "ec0f7225cb1b322e9278a3d8d6848bc50190696a",
|
|
50
|
+
"packages/implement/src/common/rewards/fetch-reward.ts": "bef4af1b9314cc4d06b2609edffdfad024b57081",
|
|
51
|
+
"packages/implement/src/common/rewards/index.ts": "f6160318ce7393684ebf229729b3168beb0c2d99",
|
|
52
|
+
"packages/implement/src/common/rewards/registers/use-ads.ts": "e6eb324d5ac39d0a5df478760fdf0ee75fded1b5",
|
|
53
|
+
"packages/implement/src/common/rewards/registers/use-jolicoin.ts": "ee28989dea8aca243439cb1508d3fac55a689ae1",
|
|
54
|
+
"packages/implement/src/common/rewards/registers/utils/index.ts": "a297dfc50b091368fba6e12e67663693f14ac1b8",
|
|
55
|
+
"packages/implement/src/common/rewards/reward-helper.ts": "2113cbd370da5be4beaf88bed865f1846e43d472",
|
|
56
|
+
"packages/implement/src/common/rewards/type.ts": "75c8444405686dbee1628f6d67c4a6b803e0623e",
|
|
57
|
+
"packages/implement/src/common/utils/index.ts": "6e2af1b721d5a9caf8fa40fd22fc73a2fdd5c4c0",
|
|
58
|
+
"packages/implement/src/h5/api/ads.ts": "35f3efdc7b7ca6399ba589d97691e2e6a811b4c2",
|
|
51
59
|
"packages/implement/src/h5/api/base.ts": "ead2c3cdcbe174b0e725c31a3885c7985bd8f667",
|
|
52
|
-
"packages/implement/src/h5/api/get-system-info.ts": "
|
|
60
|
+
"packages/implement/src/h5/api/get-system-info.ts": "158d66156c720446457318b7eaa9112452114dbb",
|
|
53
61
|
"packages/implement/src/h5/api/index.ts": "81b815f5ac8e1bd3e3f019f94c28bd5522a36193",
|
|
54
62
|
"packages/implement/src/h5/api/lifecycle.ts": "3bc23344a0975fd67ddea22bae580af401284067",
|
|
55
63
|
"packages/implement/src/h5/api/storage.ts": "ac2d6aa75c8fd5fc2f9f06124db0b0b61ab40ac3",
|
|
56
64
|
"packages/implement/src/h5/api/task.ts": "8bb87ad8874f6a3833901977b9b5659838c9aacf",
|
|
57
65
|
"packages/implement/src/h5/bootstrap/index.ts": "8beec81dba25b479afe06f79f9b6e3d240eea32a",
|
|
58
66
|
"packages/implement/src/h5/http/index.ts": "4f965ff49e89e0060a991545b409af857832ce1d",
|
|
59
|
-
"packages/implement/src/h5/http/utils/__tests__/xua.test.ts": "
|
|
67
|
+
"packages/implement/src/h5/http/utils/__tests__/xua.test.ts": "4345cfd10cae6f94cef673f04a5155b70123c048",
|
|
60
68
|
"packages/implement/src/h5/http/utils/index.ts": "05f4d94be09b9bfdcbb1365b31a5559e44a74991",
|
|
61
69
|
"packages/implement/src/h5/http/utils/session.ts": "4762a6a56762484f91ca5f2a456ab2cff3107659",
|
|
62
70
|
"packages/implement/src/h5/report/errors/index.ts": "22ef4184d6a6d272a5fefc1453a4a6d78ae8f2ff",
|
|
@@ -65,42 +73,28 @@
|
|
|
65
73
|
"packages/implement/src/h5/report/task-tracker.ts": "9b55e81e5c20d459ff851f70689e9280e89c0e63",
|
|
66
74
|
"packages/implement/src/index.native.ts": "96cc46c8919ba2333600e9c3ee100f47c511a79a",
|
|
67
75
|
"packages/implement/src/index.ts": "d0ca7b5312b0a258ae8887e725440c70190442f7",
|
|
68
|
-
"packages/implement/src/native/api/ads.ts": "
|
|
76
|
+
"packages/implement/src/native/api/ads.ts": "61820883bebf9eb011dc78b48b614bfac69aed9b",
|
|
69
77
|
"packages/implement/src/native/api/base.ts": "c4c4d04519cdbc3a08226c620f6314ee3b151435",
|
|
70
|
-
"packages/implement/src/native/api/get-system-info.ts": "
|
|
71
|
-
"packages/implement/src/native/api/index.ts": "
|
|
72
|
-
"packages/implement/src/native/api/keyboard.ts": "
|
|
73
|
-
"packages/implement/src/native/api/lifecycle.ts": "
|
|
74
|
-
"packages/implement/src/native/api/login.ts": "
|
|
75
|
-
"packages/implement/src/native/api/
|
|
76
|
-
"packages/implement/src/native/api/
|
|
78
|
+
"packages/implement/src/native/api/get-system-info.ts": "187333a4eca5304e896360d1496744cb7535ab49",
|
|
79
|
+
"packages/implement/src/native/api/index.ts": "39c85b6c6d93f91d9ecc4a96a38a39a425d5487a",
|
|
80
|
+
"packages/implement/src/native/api/keyboard.ts": "cb65da6e8cbfb7ef4a21582acd74f450a0e3c894",
|
|
81
|
+
"packages/implement/src/native/api/lifecycle.ts": "857beae3012fcb89396ac8e485c9d9b3df737db2",
|
|
82
|
+
"packages/implement/src/native/api/login.ts": "b820416100228e12df434238685a02e4b07a24c1",
|
|
83
|
+
"packages/implement/src/native/api/navigate.ts": "ff8b39101a714bed4d5cc287edb384b76b5b6045",
|
|
84
|
+
"packages/implement/src/native/api/request.ts": "d2b5fb71eff0dfda5f24ca7ddf11fa4704c35eee",
|
|
85
|
+
"packages/implement/src/native/api/storage.ts": "4e5886d5cdb4db50ab7fcdc24392569f749f4c93",
|
|
77
86
|
"packages/implement/src/native/api/task.ts": "26e06a3d6bbeaed34fd704d096e712448296607e",
|
|
78
|
-
"packages/implement/src/native/bootstrap/
|
|
79
|
-
"packages/implement/src/native/bootstrap/index.ts": "8b04d68a88b653917bb8ee2d4b6b1d7412cb96f8",
|
|
87
|
+
"packages/implement/src/native/bootstrap/index.ts": "12b491efeb62cc19c41fc613f725314cce38e969",
|
|
80
88
|
"packages/implement/src/native/bootstrap/init-env.ts": "b7514d5d2db60da990575c1426243777aee57748",
|
|
81
|
-
"packages/implement/src/native/
|
|
82
|
-
"packages/implement/src/native/js-bridge/index.ts": "b65e1e20edcce8ce270381a9c7c79cc981761ad4",
|
|
83
|
-
"packages/implement/src/native/js-bridge/invoke.ts": "f7fd744c9491e4eb21b8d5ec6ef314a602a5adcb",
|
|
84
|
-
"packages/implement/src/native/js-bridge/js-bridge.ts": "a4b3c18e243aedf7d4aabc3b3791911bffb7b6ff",
|
|
85
|
-
"packages/implement/src/native/js-bridge/report.ts": "056a4b6eea59219d1ea3af08a39fd35a4627abd2",
|
|
86
|
-
"packages/implement/src/native/js-bridge/subscribe.ts": "757943dc68dcd8b87815126b2aa4b5fe291fea4f",
|
|
87
|
-
"packages/implement/src/native/js-bridge/types.ts": "53d2bcc07e165faf36d969cb0c015822fd34bb7d",
|
|
88
|
-
"packages/implement/src/native/js-bridge/utils.ts": "9a444bd1dc499fcdb45561eb06396a04c4d538e1",
|
|
89
|
-
"packages/implement/src/native/js-core/index.ts": "d3fdbad44b2969e0d45d22e8c4da5b8f83782667",
|
|
90
|
-
"packages/implement/src/native/js-core/jolibox-js-core.ts": "88908550c33392b1bf7f2909a218f9caedb7cab0",
|
|
91
|
-
"packages/implement/src/native/js-core/message-port.ts": "7199fe2e9a89617bfce7853562ac0fd37772bce2",
|
|
92
|
-
"packages/implement/src/native/js-core/utils.ts": "a3639631f50764a5498f17949d3b9204fcc86fbf",
|
|
93
|
-
"packages/implement/src/native/network/create-fetch.ts": "e677cf812494994762afc48ddb8a6eca70a1936d",
|
|
89
|
+
"packages/implement/src/native/network/create-fetch.ts": "348e6af474257596663befbbf4179f18a2dec489",
|
|
94
90
|
"packages/implement/src/native/network/index.ts": "f57653dfa388545cbe7fb0a3f1eb9603c6208f45",
|
|
95
91
|
"packages/implement/src/native/network/report.ts": "705e9614faeb0611c9c57ced998885bdc3a02d11",
|
|
96
92
|
"packages/implement/src/native/network/types.ts": "4e8eb72bf0b0b26a5298ce42d96855d27769be51",
|
|
97
|
-
"packages/implement/src/native/network/utils.ts": "
|
|
98
|
-
"packages/implement/src/native/report/errors/index.ts": "
|
|
99
|
-
"packages/implement/src/native/report/index.ts": "
|
|
100
|
-
"packages/implement/src/native/report/task-tracker.ts": "
|
|
101
|
-
"packages/implement/src/native/
|
|
102
|
-
"packages/implement/src/native/types/native-method-map.d.ts": "4f852c0331eaabb90849a652de3ea75905d98324",
|
|
103
|
-
"packages/implement/src/native/types/native-method.d.ts": "e4e22c921a5b54d4e10fe5ca18158d691fbfe3e7",
|
|
93
|
+
"packages/implement/src/native/network/utils.ts": "53877a6871dc3a6b173daef930872c44589659b9",
|
|
94
|
+
"packages/implement/src/native/report/errors/index.ts": "40e60ee03e0b91cdb0a143a2bea07f5d1e5d6dd7",
|
|
95
|
+
"packages/implement/src/native/report/index.ts": "2df4598a1004c3f7764ac7a90528e44772b41943",
|
|
96
|
+
"packages/implement/src/native/report/task-tracker.ts": "8905391993830700027cc78c80a76c0750ab0d43",
|
|
97
|
+
"packages/implement/src/native/ui/retention.ts": "96e18984b55fb87463f6aff84c80351b9d4cc61c",
|
|
104
98
|
"packages/implement/tsconfig.json": "b150f4b2ef4eb9d98f92135d481fe530eb7145b5"
|
|
105
99
|
},
|
|
106
100
|
"arguments": "npm run clean && npm run build:esm && tsc "
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"../../packages/implement": "../../packages/implement:
|
|
2
|
+
"../../packages/implement": "../../packages/implement:XNjV+nubYJ5Ea+L3nAHfmmaL+hefQPGR6Lf/+SGPCU0=:",
|
|
3
3
|
"/@esbuild/aix-ppc64/0.24.2": "sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==",
|
|
4
4
|
"/@esbuild/android-arm/0.24.2": "sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==",
|
|
5
5
|
"/@esbuild/android-arm64/0.24.2": "sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==",
|
|
@@ -10,6 +10,11 @@ export interface IAdsAntiCheatingConfig {
|
|
|
10
10
|
banForSessionThreshold?: number;
|
|
11
11
|
highFreqThreshold?: number;
|
|
12
12
|
}
|
|
13
|
+
declare global {
|
|
14
|
+
interface Window {
|
|
15
|
+
__joliboxLocalStorage__: Storage;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
13
18
|
export declare class AdsAntiCheating {
|
|
14
19
|
readonly track: Track;
|
|
15
20
|
readonly httpClient: IHttpClient;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { DeviceInfo, HostInfo, HostUserInfo, SdkInfo } from './types';
|
|
2
2
|
import { Env } from '@jolibox/types';
|
|
3
|
+
import { QueryParams } from './url-parse';
|
|
3
4
|
type MPType = 'game' | 'miniApp';
|
|
4
5
|
export declare const context: {
|
|
5
6
|
readonly testMode: boolean;
|
|
@@ -17,6 +18,10 @@ export declare const context: {
|
|
|
17
18
|
readonly sessionId: string;
|
|
18
19
|
readonly channel: string | undefined;
|
|
19
20
|
readonly webviewId: number;
|
|
21
|
+
readonly shouldInterupt: boolean | undefined;
|
|
22
|
+
readonly from: number | undefined;
|
|
23
|
+
readonly baseApiHost: string;
|
|
20
24
|
onEnvConfigChanged: (newConfig: Partial<Env>) => void;
|
|
25
|
+
encodeJoliSourceQuery: (newPayloadJson: QueryParams["payloadJson"]) => string;
|
|
21
26
|
};
|
|
22
27
|
export {};
|
|
@@ -10,15 +10,22 @@ interface PayloadJson {
|
|
|
10
10
|
joliboxEnv?: 'staging' | 'production';
|
|
11
11
|
sessionId?: string;
|
|
12
12
|
__mpType?: 'game' | 'miniApp';
|
|
13
|
+
__orientation?: 'HORIZONTAL' | 'VERTICAL';
|
|
14
|
+
__transparent?: boolean;
|
|
15
|
+
__entryPath?: string;
|
|
16
|
+
__showStatusBar?: boolean;
|
|
17
|
+
__shouldInterupt?: boolean;
|
|
18
|
+
__from?: number;
|
|
13
19
|
}
|
|
14
20
|
interface Signature {
|
|
15
21
|
headerSig?: string;
|
|
16
22
|
payloadSig?: string;
|
|
17
23
|
}
|
|
18
|
-
interface QueryParams {
|
|
24
|
+
export interface QueryParams {
|
|
19
25
|
headerJson: HeaderJson;
|
|
20
26
|
payloadJson: PayloadJson;
|
|
21
27
|
signature: Signature;
|
|
22
28
|
}
|
|
23
29
|
export declare const parseUrlQuery: (url: string) => QueryParams;
|
|
30
|
+
export declare const encodeJoliSourceQuery: (payloadJson: PayloadJson, originJoliSource: string) => string;
|
|
24
31
|
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { EventEmitter } from '@jolibox/common';
|
|
2
|
+
import { IUnlockOption, IJoliCoin } from './type';
|
|
3
|
+
export declare const rewardsHelper: {
|
|
4
|
+
registerRewardHandler<T extends import("./reward-helper").RewardType>(type: T, handler: import("./reward-helper").RewardHandler<T>): void;
|
|
5
|
+
handleReward<T extends import("./reward-helper").RewardType>(rewardsTypes: T[], ...args: Parameters<import("./reward-helper").RewardHandler<T>>): Promise<any>;
|
|
6
|
+
registerRewardsFetcher<T extends import("./reward-helper").RewardType>(fetcher: (...args: any[]) => Promise<T[]>): Promise<void>;
|
|
7
|
+
getRewardsTypes(...args: unknown[]): Promise<import("./reward-helper").RewardType[]>;
|
|
8
|
+
};
|
|
9
|
+
export * from './registers/use-ads';
|
|
10
|
+
export * from './registers/use-jolicoin';
|
|
11
|
+
export interface IUnlockOptionsEvent {
|
|
12
|
+
options: IUnlockOption[];
|
|
13
|
+
userJoliCoin: IJoliCoin;
|
|
14
|
+
}
|
|
15
|
+
export declare const UnlockOptionsEventName: "UNLOCK_OPTIONS_CHANGED";
|
|
16
|
+
export declare const unlockOptionsEmitter: EventEmitter<{
|
|
17
|
+
UNLOCK_OPTIONS_CHANGED: [IUnlockOptionsEvent];
|
|
18
|
+
}, "UNLOCK_OPTIONS_CHANGED">;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { IHttpClient } from '@/common/http';
|
|
2
|
+
export type JolicoinRewardsHandler = () => Promise<boolean>;
|
|
3
|
+
export declare const createJolicoinRewardHandler: (httpClient: IHttpClient, { onUnlockSuccess, onUnlockFailed }: {
|
|
4
|
+
onUnlockSuccess?: (data: {
|
|
5
|
+
quantity: number;
|
|
6
|
+
balance: number;
|
|
7
|
+
}) => void;
|
|
8
|
+
onUnlockFailed?: () => void;
|
|
9
|
+
}) => JolicoinRewardsHandler;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export type RewardType = 'ADS' | 'JOLI_COIN';
|
|
2
|
+
import type { AdsRewardsHandler } from './registers/use-ads';
|
|
3
|
+
export interface RewardHandlerMap {
|
|
4
|
+
ADS: AdsRewardsHandler;
|
|
5
|
+
JOLI_COIN: (params?: unknown) => Promise<boolean>;
|
|
6
|
+
}
|
|
7
|
+
export type RewardHandler<T extends RewardType> = RewardHandlerMap[T];
|
|
8
|
+
export declare function createRewardsHelper(): {
|
|
9
|
+
registerRewardHandler<T extends RewardType>(type: T, handler: RewardHandler<T>): void;
|
|
10
|
+
handleReward<T extends RewardType>(rewardsTypes: T[], ...args: Parameters<RewardHandler<T>>): Promise<any>;
|
|
11
|
+
registerRewardsFetcher<T extends RewardType>(fetcher: (...args: any[]) => Promise<T[]>): Promise<void>;
|
|
12
|
+
getRewardsTypes(...args: unknown[]): Promise<RewardType[]>;
|
|
13
|
+
};
|
|
14
|
+
export type RewardsHelper = ReturnType<typeof createRewardsHelper>;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export interface IJoliCoin {
|
|
2
|
+
balance: number;
|
|
3
|
+
enableAutoDeduct: boolean;
|
|
4
|
+
}
|
|
5
|
+
export type IUnlockOptionType = 'JOLI_COIN' | 'ADS';
|
|
6
|
+
interface IJoliCoinChoice {
|
|
7
|
+
joliCoinQuantity: number;
|
|
8
|
+
}
|
|
9
|
+
export interface IUnlockOption {
|
|
10
|
+
type: IUnlockOptionType;
|
|
11
|
+
joliCoinChoices: IJoliCoinChoice[];
|
|
12
|
+
}
|
|
13
|
+
export interface IJolicoinRewardOption {
|
|
14
|
+
code: 'SUCCESS' | 'ERROR' | 'PARAMETER_ERROR' | 'EPISODE_LOCK_JUMP';
|
|
15
|
+
message: string;
|
|
16
|
+
data: {
|
|
17
|
+
unlockOptions?: IUnlockOption[];
|
|
18
|
+
};
|
|
19
|
+
extra: {
|
|
20
|
+
joliCoin: IJoliCoin;
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
export {};
|
|
@@ -1,8 +1,15 @@
|
|
|
1
1
|
declare const JOLIBOX_CUSTOM_ADS_EVENT_TYPE = "JOLIBOX_ADS_EVENT";
|
|
2
|
+
declare const JOLIBOX_CUSTOM_REWARDS_EVENT_TYPE = "JOLIBOX_CUSTOM_REWARDS_EVENT";
|
|
2
3
|
interface JoliboxCustomEvent {
|
|
3
4
|
[JOLIBOX_CUSTOM_ADS_EVENT_TYPE]: {
|
|
4
5
|
isAdShowing: boolean;
|
|
5
6
|
};
|
|
7
|
+
[JOLIBOX_CUSTOM_REWARDS_EVENT_TYPE]: {
|
|
8
|
+
['JOLI_COIN']?: {
|
|
9
|
+
quantity: number;
|
|
10
|
+
balance: number;
|
|
11
|
+
};
|
|
12
|
+
};
|
|
6
13
|
}
|
|
7
14
|
export declare const notifyCustomEvent: <T extends keyof JoliboxCustomEvent>(eventName: T, data: JoliboxCustomEvent[T]) => void;
|
|
8
15
|
export {};
|