@seayoo-web/gamer-api 2.3.2 → 2.4.0

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.
Files changed (57) hide show
  1. package/dist/index.js +20 -0
  2. package/package.json +5 -5
  3. package/types/index.d.ts +5 -0
  4. package/types/src/club.define.d.ts +371 -0
  5. package/types/src/club.enums.d.ts +104 -0
  6. package/types/src/club.guards.d.ts +33 -0
  7. package/types/src/community.define.d.ts +331 -0
  8. package/types/src/community.enums.d.ts +99 -0
  9. package/types/src/community.guards.d.ts +52 -0
  10. package/types/src/event.config/feature.base.d.ts +23 -0
  11. package/types/src/event.config/feature.cashback.d.ts +18 -0
  12. package/types/src/event.config/feature.checkIn.d.ts +7 -0
  13. package/types/src/event.config/feature.claimActivationKey.d.ts +7 -0
  14. package/types/src/event.config/feature.claimRewards.d.ts +7 -0
  15. package/types/src/event.config/feature.comment.d.ts +14 -0
  16. package/types/src/event.config/feature.d.ts +40 -0
  17. package/types/src/event.config/feature.follow.d.ts +24 -0
  18. package/types/src/event.config/feature.giftcode.d.ts +24 -0
  19. package/types/src/event.config/feature.invite.d.ts +12 -0
  20. package/types/src/event.config/feature.invitedRegister.d.ts +7 -0
  21. package/types/src/event.config/feature.lotteryDraw.d.ts +14 -0
  22. package/types/src/event.config/feature.preregister.d.ts +7 -0
  23. package/types/src/event.config/feature.quest.d.ts +31 -0
  24. package/types/src/event.config/feature.register.d.ts +7 -0
  25. package/types/src/event.config/feature.share.d.ts +16 -0
  26. package/types/src/event.config/feature.subscribe.d.ts +12 -0
  27. package/types/src/event.config/feature.survey.d.ts +14 -0
  28. package/types/src/event.config/feature.team.d.ts +14 -0
  29. package/types/src/event.config/feature.vote.d.ts +44 -0
  30. package/types/src/event.config/index.d.ts +23 -0
  31. package/types/src/event.d.ts +11 -1
  32. package/types/src/event.define.d.ts +48 -0
  33. package/types/src/event.engage/engage.cashback.d.ts +9 -0
  34. package/types/src/event.engage/engage.claimActivationKey.d.ts +5 -0
  35. package/types/src/event.engage/engage.comment.d.ts +22 -0
  36. package/types/src/event.engage/engage.d.ts +49 -0
  37. package/types/src/event.engage/engage.giftcode.d.ts +5 -0
  38. package/types/src/event.engage/engage.invite.d.ts +9 -0
  39. package/types/src/event.engage/engage.lottery.d.ts +9 -0
  40. package/types/src/event.engage/engage.lotteryDraw.d.ts +40 -0
  41. package/types/src/event.engage/engage.lotteryDraw.reward.d.ts +38 -0
  42. package/types/src/event.engage/engage.preregister.d.ts +11 -0
  43. package/types/src/event.engage/engage.quest.d.ts +28 -0
  44. package/types/src/event.engage/engage.share.d.ts +9 -0
  45. package/types/src/event.engage/engage.subscribe.d.ts +14 -0
  46. package/types/src/event.engage/engage.survey.d.ts +7 -0
  47. package/types/src/event.engage/engage.team.d.ts +53 -0
  48. package/types/src/event.engage/engage.vote.d.ts +9 -0
  49. package/types/src/event.engage/reward.d.ts +52 -0
  50. package/types/src/event.enums.d.ts +392 -0
  51. package/types/src/event.guards.d.ts +38 -0
  52. package/types/src/token.d.ts +93 -0
  53. package/types/src/token.define.d.ts +31 -0
  54. package/types/src/token.guards.d.ts +5 -0
  55. package/types/src/utils.d.ts +12 -0
  56. package/types/src/weixin.define.d.ts +46 -0
  57. package/types/src/weixin.guards.d.ts +2 -0
@@ -0,0 +1,52 @@
1
+ import { RewardItemType, type RewardSource, type RewardStatusSuffix } from "../event.enums";
2
+ import { type UserEngagementData } from "./engage";
3
+ export interface Reward {
4
+ /** 用户奖励记录 id */
5
+ reward_id: number;
6
+ /** 奖励道具 id */
7
+ reward_item_id: number;
8
+ /** 奖励道具类型 */
9
+ reward_item_type: RewardItemType;
10
+ /** 奖励道具数量 */
11
+ reward_count: number;
12
+ /** 奖励状态 */
13
+ reward_status: RewardStatusSuffix;
14
+ /** 奖励来源 */
15
+ reward_source: RewardSource;
16
+ /** 奖励道具名称 */
17
+ reward_item_name: string;
18
+ /** 奖励道具图片地址 */
19
+ reward_item_icon_url: string;
20
+ /** 奖励道具描述 */
21
+ reward_item_desc?: string;
22
+ /** 奖励道具评级,用于前端展示 */
23
+ reward_item_rating: number;
24
+ /** 领奖时间 */
25
+ receive_time: number;
26
+ /** 提供额外扩展信息 */
27
+ extra_data?: UserEngagementData | Record<string, unknown>;
28
+ }
29
+ export declare const RewardValidator: import("@seayoo-web/utils").ObjectValidator<Reward, false, false>;
30
+ export interface EngageReward {
31
+ /** 用户奖励记录 id(微信红包类型奖励需要前端请求一次领奖 api) */
32
+ reward_id: number;
33
+ /** 奖励道具 id */
34
+ reward_item_id: number;
35
+ /** 奖励道具名称 */
36
+ reward_item_name: string;
37
+ /** 奖励道具类型 */
38
+ reward_item_type: RewardItemType;
39
+ /** 奖励道具图片地址 */
40
+ reward_item_icon_url: string;
41
+ /** 奖励道具描述 */
42
+ reward_item_desc?: string;
43
+ /** 奖励道具数量 */
44
+ reward_amount: number;
45
+ /** 奖励状态 */
46
+ reward_status: RewardStatusSuffix;
47
+ /** 产生奖励的来源 */
48
+ reward_source: RewardSource;
49
+ /** 提供额外扩展信息,例如:礼包码的值等 */
50
+ extra_data?: Record<string, unknown>;
51
+ }
52
+ export declare const EngageRewardValidator: import("@seayoo-web/utils").ObjectValidator<EngageReward, false, false>;
@@ -0,0 +1,392 @@
1
+ import { type ValueOf } from "@seayoo-web/utils";
2
+ /** 道具类型 */
3
+ export declare const GamerItemType: {
4
+ /** 活动道具 */
5
+ readonly EventItem: "event_item";
6
+ /** 游戏内道具 */
7
+ readonly GameItem: "game_item";
8
+ /** 实物 */
9
+ readonly PhysicalItem: "physical_item";
10
+ /** 微信红包 */
11
+ readonly WeixinHongbao: "weixin_hongbao";
12
+ /** 礼包码 */
13
+ readonly GiftCode: "gift_code";
14
+ /** 抽奖券 */
15
+ readonly LotteryTicket: "lottery_ticket";
16
+ /** 积分 */
17
+ readonly Credit: "credit";
18
+ /** 外部兑换码 */
19
+ readonly ExternalCode: "external_gift_code";
20
+ /** 空奖励 */
21
+ readonly VoidItem: "void_item";
22
+ };
23
+ export type GamerItemType = ValueOf<typeof GamerItemType>;
24
+ export declare const GamerItemTypeValidator: import("@seayoo-web/utils").StringValidator<GamerItemType, false, false> & {
25
+ pattern: never;
26
+ url: never;
27
+ dataUri: never;
28
+ enum: never;
29
+ disallow: never;
30
+ optional: never;
31
+ maybeNull: never;
32
+ lock: never;
33
+ };
34
+ export declare const RewardItemType: {
35
+ /** 活动道具 */
36
+ readonly EventItem: "event_item";
37
+ /** 游戏内道具 */
38
+ readonly GameItem: "game_item";
39
+ /** 实物 */
40
+ readonly PhysicalItem: "physical_item";
41
+ /** 微信红包 */
42
+ readonly WeixinHongbao: "weixin_hongbao";
43
+ /** 礼包码 */
44
+ readonly GiftCode: "gift_code";
45
+ /** 抽奖券 */
46
+ readonly LotteryTicket: "lottery_ticket";
47
+ /** 积分 */
48
+ readonly Credit: "credit";
49
+ /** 外部兑换码 */
50
+ readonly ExternalCode: "external_gift_code";
51
+ /** 空奖励 */
52
+ readonly VoidItem: "void_item";
53
+ };
54
+ export type RewardItemType = GamerItemType;
55
+ export declare const RewardItemTypeValidator: import("@seayoo-web/utils").StringValidator<GamerItemType, false, false> & {
56
+ pattern: never;
57
+ url: never;
58
+ dataUri: never;
59
+ enum: never;
60
+ disallow: never;
61
+ optional: never;
62
+ maybeNull: never;
63
+ lock: never;
64
+ };
65
+ /** 参与活动的账号类型 */
66
+ export declare const EngageAccountType: {
67
+ /** 世游通行证 ID / Combo ID */
68
+ readonly UserId: "user_id";
69
+ /** 游戏角色 ID */
70
+ readonly RoleId: "role_id";
71
+ };
72
+ export type EngageAccountType = ValueOf<typeof EngageAccountType>;
73
+ export declare const EngageAccountTypeValidator: import("@seayoo-web/utils").StringValidator<EngageAccountType, false, false> & {
74
+ pattern: never;
75
+ url: never;
76
+ dataUri: never;
77
+ enum: never;
78
+ disallow: never;
79
+ optional: never;
80
+ maybeNull: never;
81
+ lock: never;
82
+ };
83
+ /** 玩法刷新周期类型 */
84
+ export declare const EventPeriodType: {
85
+ readonly None: "none";
86
+ readonly Daily: "daily";
87
+ readonly Weekly: "weekly";
88
+ readonly Monthly: "monthly";
89
+ };
90
+ export type EventPeriodType = ValueOf<typeof EventPeriodType>;
91
+ export declare const EventPeriodTypeValidator: import("@seayoo-web/utils").StringValidator<EventPeriodType, false, false> & {
92
+ pattern: never;
93
+ url: never;
94
+ dataUri: never;
95
+ enum: never;
96
+ disallow: never;
97
+ optional: never;
98
+ maybeNull: never;
99
+ lock: never;
100
+ };
101
+ /** 活动玩法类型 */
102
+ export declare const FeatureType: {
103
+ /** 预约 */
104
+ readonly Preregister: "preregister";
105
+ /** 抽奖 */
106
+ readonly Lottery: "lottery";
107
+ /** 问卷 */
108
+ readonly Survey: "survey";
109
+ /** 邀请 */
110
+ readonly Invite: "invite";
111
+ /** 分享 */
112
+ readonly Share: "share";
113
+ /** 关注社交媒体 */
114
+ readonly Follow: "follow";
115
+ /** 微信小程序订阅消息 */
116
+ readonly Subscribe: "weixin_subscribe";
117
+ /** 弹幕/评论 */
118
+ readonly Comment: "comment";
119
+ /** 投票 */
120
+ readonly Vote: "vote";
121
+ /** 礼包码 */
122
+ readonly GiftCode: "gift_code";
123
+ /** 注册 */
124
+ readonly Register: "register";
125
+ /** 受邀注册 */
126
+ readonly InvitedRegister: "invited_register";
127
+ /** 领奖 */
128
+ readonly ClaimRewards: "claim_rewards";
129
+ /** 充值返还 */
130
+ readonly Cashback: "cashback";
131
+ /** 任务 */
132
+ readonly Quest: "quest";
133
+ /** 组队 */
134
+ readonly Team: "team";
135
+ /** 开奖 */
136
+ readonly LotteryDraw: "lottery_draw";
137
+ /** 签到 */
138
+ readonly CheckIn: "check_in";
139
+ /** 领取激活码 */
140
+ readonly ClaimActivationKey: "claim_activation_key";
141
+ };
142
+ export type FeatureType = ValueOf<typeof FeatureType>;
143
+ export declare const FeatureTypeValidator: import("@seayoo-web/utils").StringValidator<FeatureType, false, false> & {
144
+ pattern: never;
145
+ url: never;
146
+ dataUri: never;
147
+ enum: never;
148
+ disallow: never;
149
+ optional: never;
150
+ maybeNull: never;
151
+ lock: never;
152
+ };
153
+ /** 任务玩法的目标类型 */
154
+ export declare const QuestObjective: {
155
+ /** 累计游戏内活跃值 */
156
+ readonly Active: "player_active_points";
157
+ /** 累计登录,单位 人天 */
158
+ readonly Login: "player_login_days";
159
+ /** 累计充值金额 */
160
+ readonly OrderAmount: "order_total_amount";
161
+ /** 社区发帖数量 */
162
+ readonly Posts: "community_posts";
163
+ /** 社区评论数量 */
164
+ readonly Comments: "community_comments";
165
+ /** 游戏对局次数 */
166
+ readonly MatchCounts: "player_match_counts";
167
+ /** 游戏对局天数 */
168
+ readonly MatchDays: "player_match_days";
169
+ };
170
+ export type QuestObjective = ValueOf<typeof QuestObjective>;
171
+ export declare const QuestObjectiveValidator: import("@seayoo-web/utils").StringValidator<QuestObjective, false, false> & {
172
+ pattern: never;
173
+ url: never;
174
+ dataUri: never;
175
+ enum: never;
176
+ disallow: never;
177
+ optional: never;
178
+ maybeNull: never;
179
+ lock: never;
180
+ };
181
+ /** 投票数据来源 */
182
+ export declare const VoteOptionSource: {
183
+ /** 官方上传 */
184
+ readonly System: "system";
185
+ /** 用户投稿 */
186
+ readonly UserSubmission: "user_submission";
187
+ /** 投票入围 */
188
+ readonly Shortlisted: "shortlisted";
189
+ };
190
+ export type VoteOptionSource = ValueOf<typeof VoteOptionSource>;
191
+ export declare const VoteOptionSourceValidator: import("@seayoo-web/utils").StringValidator<VoteOptionSource, false, false> & {
192
+ pattern: never;
193
+ url: never;
194
+ dataUri: never;
195
+ enum: never;
196
+ disallow: never;
197
+ optional: never;
198
+ maybeNull: never;
199
+ lock: never;
200
+ };
201
+ /**
202
+ * 奖励状态
203
+ */
204
+ export declare const RewardStatus: {
205
+ /** 未获得奖励 */
206
+ readonly Ineligible: "ineligible";
207
+ /** 奖励未领取 */
208
+ readonly Unclaimed: "unclaimed";
209
+ /** 奖励已领取 */
210
+ readonly Received: "received";
211
+ /** 奖励发放失败 */
212
+ readonly Failed: "failed";
213
+ /** 奖励已发货 */
214
+ readonly Delivered: "delivered";
215
+ };
216
+ export type RewardStatus = ValueOf<typeof RewardStatus>;
217
+ export declare const RewardStatusValidator: import("@seayoo-web/utils").StringValidator<RewardStatus, false, false> & {
218
+ pattern: never;
219
+ url: never;
220
+ dataUri: never;
221
+ enum: never;
222
+ disallow: never;
223
+ optional: never;
224
+ maybeNull: never;
225
+ lock: never;
226
+ };
227
+ /**
228
+ * 已获得奖励的奖励状态,不含有未领取状态
229
+ */
230
+ export declare const RewardStatusSuffix: {
231
+ /**
232
+ * 奖励未领取,拼写错误以兼容后端历史版本,检查请使用 Unclaimed
233
+ *
234
+ * @deprecated
235
+ */
236
+ readonly UnclaimedErr: "unaccalimed";
237
+ /** 奖励未领取 */
238
+ readonly Unclaimed: "unclaimed";
239
+ /** 奖励已领取 */
240
+ readonly Received: "received";
241
+ /** 奖励发放失败 */
242
+ readonly Failed: "failed";
243
+ /** 奖励已发货 */
244
+ readonly Delivered: "delivered";
245
+ };
246
+ export type RewardStatusSuffix = ValueOf<typeof RewardStatusSuffix>;
247
+ export declare const RewardStatusSuffixValidator: import("@seayoo-web/utils").StringValidator<RewardStatusSuffix, false, false> & {
248
+ pattern: never;
249
+ url: never;
250
+ dataUri: never;
251
+ enum: never;
252
+ disallow: never;
253
+ optional: never;
254
+ maybeNull: never;
255
+ lock: never;
256
+ };
257
+ /**
258
+ * 奖励状态,兼容后端拼写错误的版本
259
+ */
260
+ export declare const ClaimRewardStatus: {
261
+ /** 未获得奖励 */
262
+ readonly Ineligible: "ineligible";
263
+ /**
264
+ * 奖励未领取,拼写错误以兼容后端历史版本,检查请使用 Unclaimed
265
+ *
266
+ * @deprecated
267
+ */
268
+ readonly UnclaimedErr: "unaccalimed";
269
+ /** 奖励未领取 */
270
+ readonly Unclaimed: "unclaimed";
271
+ /** 奖励已领取 */
272
+ readonly Received: "received";
273
+ /** 奖励发放失败 */
274
+ readonly Failed: "failed";
275
+ /** 奖励已发货 */
276
+ readonly Delivered: "delivered";
277
+ };
278
+ export declare const ClaimRewardStatusValidator: import("@seayoo-web/utils").StringValidator<ClaimRewardStatus, false, false> & {
279
+ pattern: never;
280
+ url: never;
281
+ dataUri: never;
282
+ enum: never;
283
+ disallow: never;
284
+ optional: never;
285
+ maybeNull: never;
286
+ lock: never;
287
+ };
288
+ export type ClaimRewardStatus = ValueOf<typeof ClaimRewardStatus>;
289
+ /** 奖励来源 */
290
+ export declare const RewardSource: {
291
+ /** 玩法产出奖励 */
292
+ readonly Output: "output";
293
+ /** 玩法参与奖励 */
294
+ readonly Engage: "engage";
295
+ };
296
+ export type RewardSource = ValueOf<typeof RewardSource>;
297
+ export declare const RewardSourceValidator: import("@seayoo-web/utils").StringValidator<RewardSource, false, false> & {
298
+ pattern: never;
299
+ url: never;
300
+ dataUri: never;
301
+ enum: never;
302
+ disallow: never;
303
+ optional: never;
304
+ maybeNull: never;
305
+ lock: never;
306
+ };
307
+ /** 组队玩法中队伍的可见性 */
308
+ export declare const TeamVisibility: {
309
+ /** 私有队伍 */
310
+ readonly Private: "private";
311
+ /** 公开队伍 */
312
+ readonly Public: "public";
313
+ };
314
+ export type TeamVisibility = ValueOf<typeof TeamVisibility>;
315
+ export declare const TeamVisibilityValidator: import("@seayoo-web/utils").StringValidator<TeamVisibility, false, false> & {
316
+ pattern: never;
317
+ url: never;
318
+ dataUri: never;
319
+ enum: never;
320
+ disallow: never;
321
+ optional: never;
322
+ maybeNull: never;
323
+ lock: never;
324
+ };
325
+ /** 抽奖券状态 */
326
+ export declare const LotteryTicketStatus: {
327
+ /** 未知状态 */
328
+ readonly Unknown: "unknown";
329
+ /** 等待开奖 */
330
+ readonly Pending: "pending";
331
+ /** 已开奖,待领奖 */
332
+ readonly Drawn: "drawn";
333
+ /** 已领奖 */
334
+ readonly Claimed: "claimed";
335
+ /** 领奖失败 */
336
+ readonly Fail: "fail";
337
+ };
338
+ export type LotteryTicketStatus = ValueOf<typeof LotteryTicketStatus>;
339
+ export declare const LotteryTicketStatusValidator: import("@seayoo-web/utils").StringValidator<LotteryTicketStatus, false, false> & {
340
+ pattern: never;
341
+ url: never;
342
+ dataUri: never;
343
+ enum: never;
344
+ disallow: never;
345
+ optional: never;
346
+ maybeNull: never;
347
+ lock: never;
348
+ };
349
+ /** 组队玩法队伍操作类型 */
350
+ export declare const TeamAction: {
351
+ /** 发起组队 */
352
+ readonly Assemble: "assemble";
353
+ /** 加入队伍 */
354
+ readonly Join: "join";
355
+ /** 解散队伍 */
356
+ readonly Disband: "disband";
357
+ /** 修改队伍可见性 */
358
+ readonly ChangeVisibility: "change_visibility";
359
+ /** 查询组队信息 */
360
+ readonly Query: "query";
361
+ };
362
+ export type TeamAction = ValueOf<typeof TeamAction>;
363
+ export declare const TeamActionValidator: import("@seayoo-web/utils").StringValidator<TeamAction, false, false> & {
364
+ pattern: never;
365
+ url: never;
366
+ dataUri: never;
367
+ enum: never;
368
+ disallow: never;
369
+ optional: never;
370
+ maybeNull: never;
371
+ lock: never;
372
+ };
373
+ /** 抽奖券玩法操作类型 */
374
+ export declare const LotteryDrawAction: {
375
+ /** 查询抽奖券 */
376
+ readonly Query: "query";
377
+ /** 开奖 */
378
+ readonly Draw: "draw";
379
+ /** 领奖 */
380
+ readonly Claim: "claim";
381
+ };
382
+ export type LotteryDrawAction = ValueOf<typeof LotteryDrawAction>;
383
+ export declare const LotteryDrawActionValidator: import("@seayoo-web/utils").StringValidator<LotteryDrawAction, false, false> & {
384
+ pattern: never;
385
+ url: never;
386
+ dataUri: never;
387
+ enum: never;
388
+ disallow: never;
389
+ optional: never;
390
+ maybeNull: never;
391
+ lock: never;
392
+ };
@@ -0,0 +1,38 @@
1
+ export declare const isEventConfig: (data: unknown) => data is import("./event.config").EventConfig;
2
+ export declare const isVerifyMobileResponse: (data: unknown) => data is import("./event.define").VerifyMobileResult;
3
+ export declare const isCommonCountResponse: (data: unknown) => data is {
4
+ count: number;
5
+ };
6
+ export declare const isUserVisitResponse: (data: unknown) => data is {
7
+ first_visit: boolean;
8
+ };
9
+ export declare const isEngagementsResponse: (data: unknown) => data is {
10
+ engagements: import("./event.engage").CommentEngagement[] | import("./event.engage").TeamEngagement[];
11
+ };
12
+ export declare const isUserFeatureStatusResponse: (data: unknown) => data is {
13
+ status: import("./event.define").UserFeatureStatus[];
14
+ };
15
+ export declare const isUserEngagementsResponse: (data: unknown) => data is {
16
+ engagements: import("./event.engage").UserEngagement[];
17
+ next_token: string | undefined;
18
+ };
19
+ export declare const isEngageResponse: (data: unknown) => data is import("./event.define").EngageResponse;
20
+ export declare const isClaimRewardsResponse: (data: unknown) => data is {
21
+ claimed_items: import("./event.define").ClaimedItem[];
22
+ };
23
+ export declare const isClaimWeixinHongbaoResponse: (data: unknown) => data is {
24
+ reward_status: import("./event.enums").ClaimRewardStatus;
25
+ };
26
+ export declare const isGetUserRewardsResponse: (data: unknown) => data is {
27
+ user_rewards: import("./event.engage").UserReward[];
28
+ next_token: string | undefined;
29
+ };
30
+ export declare const isGetUnlimitQrcodeSceneResponse: (data: unknown) => data is {
31
+ scene: string;
32
+ };
33
+ export declare const isGetParamsByQrcodeSceneResponse: (data: unknown) => data is {
34
+ params: string;
35
+ };
36
+ export declare const isGenerateUnlimitQrcodeResponse: (data: unknown) => data is {
37
+ img: string;
38
+ };
@@ -0,0 +1,93 @@
1
+ import { type StorageHelper } from "./utils";
2
+ import type { NetRequestFactory } from "@seayoo-web/request";
3
+ export * from "./token.define";
4
+ /**
5
+ * auth 管理工具 + request 工具
6
+ *
7
+ * 核心概念如下:
8
+ *
9
+ * - [ID Token](https://365.kdocs.cn/l/ctrXywvA1Wfd)
10
+ * - [Gamer Token](https://365.kdocs.cn/l/crZwOsI54RBH)
11
+ * - [Weixin Token](https://kdocs.cn/l/cf2mO2uRLqh9?linkname=YtzQpmRQ0v)
12
+ */
13
+ export declare class AuthToken {
14
+ private $NetRequest;
15
+ private $idToken;
16
+ private $weixinToken;
17
+ private $gamerToken;
18
+ req: ReturnType<NetRequestFactory>;
19
+ storage: StorageHelper;
20
+ constructor(
21
+ /**
22
+ * 服务端点
23
+ *
24
+ * https://kdocs.cn/l/cf2mO2uRLqh9?linkname=k2iGGXbfov
25
+ */
26
+ endpoint: string,
27
+ /** request 工具类 */
28
+ NetRequest: NetRequestFactory);
29
+ get NetRequest(): typeof import("@seayoo-web/request").NetRequest;
30
+ private loadGamerTokenCache;
31
+ /** 当前是否为登录状态,即是否拥有 gamerToken */
32
+ get isLoggedIn(): boolean;
33
+ /** 读取已经设置的 idToken */
34
+ get idToken(): string;
35
+ /** 设置从登录组件获取的 Id Token,用于后续请求自动置换 Gamer Token */
36
+ set idToken(value: string);
37
+ /** 读取设置 weixinToken */
38
+ get weixinToken(): string;
39
+ /**
40
+ * 设置 Weixin Token,用于后续请求自动置换 Gamer Token
41
+ *
42
+ * 仅仅在微信小程序模式下有效
43
+ */
44
+ set weixinToken(value: string);
45
+ /** 读取自动置换的 gamerToken */
46
+ get gamerToken(): string;
47
+ /**
48
+ * 直接写入 Gamer Token,并更新缓存
49
+ */
50
+ set gamerToken(value: string);
51
+ /**
52
+ * 退出登录,销毁相关 Token
53
+ */
54
+ logout(): void;
55
+ /**
56
+ * 用世游通行证统一登录能力签发的 ID Token / Weixin Token,自动置换 Gamer Token,成功后会自动设置后续 Request Headers
57
+ *
58
+ * [世游通行证统一登录](https://kdocs.cn/l/cf2mO2uRLqh9?linkname=FJXYgqvLHs)
59
+ *
60
+ * [世游通行证统一登录 - Web 站点](https://365.kdocs.cn/l/cf57sp1qLlZh)
61
+ *
62
+ * [世游通行证统一登录 - 微信小程序](https://365.kdocs.cn/l/ccHVuUs0UsZs)
63
+ *
64
+ * - 此方法通常不需要手动调用,在需要登录的接口调用时会自动执行
65
+ * - 为了提高页面执行速度,可以在设置 Token 后立即调用 autoLogin
66
+ *
67
+ * 🔕请求静默进行,无消息提示
68
+ *
69
+ * https://kdocs.cn/l/cf2mO2uRLqh9?linkname=ReeJpWraRO
70
+ */
71
+ autoLogin(): Promise<boolean>;
72
+ /**
73
+ * 获取当前登录用户的 Session 的信息
74
+ *
75
+ * 🔕请求静默进行,无消息提示
76
+ *
77
+ * https://kdocs.cn/l/cf2mO2uRLqh9?linkname=OdGVCdQxEu
78
+ */
79
+ getSession(): Promise<import("./token.define").GamerSession | null>;
80
+ /**
81
+ * 实名认证
82
+ *
83
+ * https://kdocs.cn/l/cf2mO2uRLqh9?linkname=kZYnwX6RcF
84
+ */
85
+ authRealName(option: {
86
+ /** 用户输入的真实姓名。明文或者密文 */
87
+ real_name: string;
88
+ /** 用户输入的身份证号码。明文或者密文 */
89
+ identity_card: string;
90
+ /** 预留参数,是否加密 real_name 和 identity_card,加密的密钥应当使用 api 服务的 ECDSA Public Key */
91
+ encrypted?: boolean;
92
+ }): Promise<import("./token.define").GamerSession | null>;
93
+ }
@@ -0,0 +1,31 @@
1
+ export type PopupFn = (option: {
2
+ title?: string;
3
+ content: string;
4
+ cancelText?: string;
5
+ confirmText: string;
6
+ onCancel?: () => void;
7
+ onConfirm: () => void;
8
+ }) => void;
9
+ export type ToastFn = (content: string, timeout?: number) => void;
10
+ export interface GamerSession {
11
+ /** 世游通行证 ID */
12
+ seayoo_user_id?: string;
13
+ /** 手机号码(掩码形式) */
14
+ seayoo_mobile?: string;
15
+ /**
16
+ * 世游通行证用户实名信息(掩码形式);即将去除此字段,使用 has_real_name 代替
17
+ * https://kdocs.cn/l/cf2mO2uRLqh9?linkname=OdGVCdQxEu
18
+ * @deprecated
19
+ */
20
+ seayoo_real_name?: string;
21
+ /** 是否已经具有世游通行证用户实名信息 */
22
+ has_real_name?: boolean;
23
+ /** Combo ID */
24
+ combo_id?: string;
25
+ /**
26
+ * combo_id 背后的 IdP
27
+ *
28
+ * 取值参见 [Combo Client REST API 中的 idp](https://kdocs.cn/l/cg0cfHzazsta?linkname=ZVDdf1pe48),仅当 combo_id 有值时才有值
29
+ */
30
+ combo_idp?: string;
31
+ }
@@ -0,0 +1,5 @@
1
+ import type { GamerSession } from "./token.define";
2
+ export declare function isGamerTokenResponse(data: unknown): data is {
3
+ gamer_token: string;
4
+ };
5
+ export declare function isGetSessionResponse(data: unknown): data is GamerSession;
@@ -0,0 +1,12 @@
1
+ export declare const console: Pick<Console, "log" | "error" | "warn">;
2
+ /** 检测是否在 combo webview */
3
+ export declare function inComboWebview(): boolean;
4
+ export declare function isRootEndpoint(path: string): boolean;
5
+ export declare function getWeixinLoginCode(): Promise<string>;
6
+ export type StorageHelper = {
7
+ set(key: string, value: string): void;
8
+ get(key: string): string;
9
+ remove(key: string): void;
10
+ };
11
+ export declare const localStorageHelper: StorageHelper;
12
+ export declare const weixinStorageHelper: StorageHelper;
@@ -0,0 +1,46 @@
1
+ export interface WeixinLoginResponse {
2
+ /** 微信小程序下,用户的 open_id */
3
+ open_id: string;
4
+ /** 微信小程序所在的微信开放平台账号下,用户的 union_id */
5
+ union_id: string;
6
+ /**
7
+ * Gamer 为这个微信小程序用户签发的 Weixin Token。长期有效
8
+ *
9
+ * 对 Weixin Token 的详细描述请阅读 [世游用户运营 - JWT 场景与规范](https://365.kdocs.cn/l/cbxbzWc6zSgY)
10
+ */
11
+ weixin_token: string;
12
+ }
13
+ export declare const isWeixinSignResponse: (data: unknown) => data is {
14
+ nonce_str: string;
15
+ timestamp: number;
16
+ signature: string;
17
+ };
18
+ /**
19
+ * 微信web登录错误码
20
+ *
21
+ * https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_webpage_authorization.html
22
+ */
23
+ export declare const enum WeixinWebLoginErrorCode {
24
+ /** redirect_uri域名与后台配置不一致 */
25
+ RedirectUriDisMatch = "10003",
26
+ /** 不支持微信开放平台的 Appid,请使用公众号Appid */
27
+ AppidError = "10016",
28
+ /** 公众号未授权第三方平台,请检查授权状态 */
29
+ AuthorizationError = "10015",
30
+ /** 此公众号并没有这些 scope 的权限 */
31
+ NoRightForScope = "10005",
32
+ /** 操作太频繁了,请稍后重试 */
33
+ Frequently = "10009",
34
+ /** 此公众号被封禁 */
35
+ AppBanded = "10004",
36
+ /** 必须关注此测试号 */
37
+ ShouldFollow = "10006",
38
+ /** scope不能为空 */
39
+ ScopeNull = "10010",
40
+ /** redirect_uri不能为空 */
41
+ RedirectUriNull = "10011",
42
+ /** appid不能为空 */
43
+ AppidNull = "10012",
44
+ /** state不能为空 */
45
+ StateNull = "10013"
46
+ }
@@ -0,0 +1,2 @@
1
+ import type { WeixinLoginResponse } from "./weixin.define";
2
+ export declare function isWeixinLoginResponse(data: unknown): data is WeixinLoginResponse;