@seayoo-web/gamer-api 2.4.4 → 2.4.5

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/dist/index.js CHANGED
@@ -319,7 +319,7 @@ const Ce = {
319
319
  decreased_credit: e.number(),
320
320
  expired_credit: e.number(),
321
321
  balance_credit: e.number()
322
- }).lock(), Ge = e.object({
322
+ }).lock(), Ae = e.object({
323
323
  id: e.number(),
324
324
  change_type: je,
325
325
  change_scene: qe,
@@ -361,7 +361,7 @@ const Ce = {
361
361
  created_at: e.number(),
362
362
  updated_at: e.number(),
363
363
  redeemable_quantity: e.number().optional()
364
- }).lock(), Ae = e.object({
364
+ }).lock(), Ge = e.object({
365
365
  ...V(W.shape, "tag"),
366
366
  product: ee.clone().optional()
367
367
  }).lock(), Vr = e.union(
@@ -400,9 +400,9 @@ const Ce = {
400
400
  created_at: e.number(),
401
401
  extra_data: e.union(Ne.clone(), Oe.clone()).satisfies().optional()
402
402
  }), Me = e.guard(Ee), Q = s({ player: Pe }), Qe = s({ roles: e.array(Y) }), x = s({ role_card: Fe }), K = e.guard(De), H = e.guard(Z), Ke = s({ addresses: e.array(Z) }), He = e.guard(Ie), ze = s({
403
- credit_logs: e.array(Ge),
403
+ credit_logs: e.array(Ae),
404
404
  next_token: e.string().optional()
405
- }), Je = s({ products: e.array(ee) }), Xe = s({ benefits: e.array(W) }), Ye = s({ benefit: Ae }), Ze = s({
405
+ }), Je = s({ products: e.array(ee) }), Xe = s({ benefits: e.array(W) }), Ye = s({ benefit: Ge }), Ze = s({
406
406
  redemptions: e.array(Be),
407
407
  next_token: e.string().optional()
408
408
  });
@@ -678,6 +678,8 @@ const j = {
678
678
  WeixinHongbao: "weixin_hongbao",
679
679
  /** 礼包码 */
680
680
  GiftCode: "gift_code",
681
+ /** 激活码 */
682
+ ActivationKey: "activation_key",
681
683
  /** 抽奖券 */
682
684
  LotteryTicket: "lottery_ticket",
683
685
  /** 积分 */
@@ -944,16 +946,16 @@ const j = {
944
946
  consume_item_desc: e.string().optional(),
945
947
  rewards: e.array(Ft)
946
948
  })
947
- }), It = u.LotteryDraw, Gt = e.object({
949
+ }), It = u.LotteryDraw, At = e.object({
948
950
  ...l.shape,
949
951
  feature_type: e.string().enum(It),
950
952
  config: e.object({
951
953
  draw_not_before: e.number(),
952
954
  draw_not_after: e.number()
953
955
  })
954
- }), At = u.Preregister, Nt = e.object({
956
+ }), Gt = u.Preregister, Nt = e.object({
955
957
  ...l.shape,
956
- feature_type: e.string().enum(At)
958
+ feature_type: e.string().enum(Gt)
957
959
  }), Ot = u.Quest, Bt = e.object({
958
960
  ...l.shape,
959
961
  feature_type: e.string().enum(Ot),
@@ -1032,7 +1034,7 @@ const j = {
1032
1034
  Lt,
1033
1035
  Pt,
1034
1036
  Dt,
1035
- Gt,
1037
+ At,
1036
1038
  Nt,
1037
1039
  Bt,
1038
1040
  Qt,
@@ -1231,10 +1233,10 @@ const j = {
1231
1233
  claimed_items: e.array(xn)
1232
1234
  }), In = s({
1233
1235
  reward_status: U
1234
- }), Gn = s({
1236
+ }), An = s({
1235
1237
  user_rewards: e.array(oe),
1236
1238
  next_token: e.string().optional()
1237
- }), An = s({
1239
+ }), Gn = s({
1238
1240
  scene: e.string()
1239
1241
  }), Nn = s({
1240
1242
  params: e.string()
@@ -1469,7 +1471,7 @@ class Pr {
1469
1471
  const { data: n } = await this.req.post(
1470
1472
  "event/user-rewards",
1471
1473
  c({ max_results: 20, ...t, event_id: this.event }),
1472
- Gn,
1474
+ An,
1473
1475
  r
1474
1476
  );
1475
1477
  return {
@@ -1509,7 +1511,7 @@ class Pr {
1509
1511
  */
1510
1512
  async getUnlimitQrcodeScene(t, r) {
1511
1513
  if (!await this.token.autoLogin()) return null;
1512
- const { data: n } = await this.req.get("event/unlimit-qrcode-scene", An, {
1514
+ const { data: n } = await this.req.get("event/unlimit-qrcode-scene", Gn, {
1513
1515
  ...r,
1514
1516
  params: { params: t }
1515
1517
  });
@@ -1599,14 +1601,14 @@ const Bn = {
1599
1601
  sort: e.number(),
1600
1602
  mode: Mn,
1601
1603
  member_ids: e.array(e.number())
1602
- }).lock(), G = e.object({
1604
+ }).lock(), A = e.object({
1603
1605
  topic_id: e.number(),
1604
1606
  cover_url: e.string(),
1605
1607
  name: e.string(),
1606
1608
  description: e.string(),
1607
1609
  tags: e.array(e.string()),
1608
1610
  post_num: e.number()
1609
- }).lock(), A = e.object({
1611
+ }).lock(), G = e.object({
1610
1612
  post_id: e.number(),
1611
1613
  forum: se,
1612
1614
  posted_by: e.string(),
@@ -1620,7 +1622,7 @@ const Bn = {
1620
1622
  comments_num: e.number(),
1621
1623
  liked: e.bool(),
1622
1624
  image_urls: e.array(e.string()),
1623
- topics: e.array(G),
1625
+ topics: e.array(A),
1624
1626
  event_ids: e.array(e.number()),
1625
1627
  is_pinned: e.bool(),
1626
1628
  is_highlighted: e.bool(),
@@ -1743,10 +1745,10 @@ const Bn = {
1743
1745
  tr,
1744
1746
  nr,
1745
1747
  rr
1746
- ).satisfies().lock(), or = s({ forums: e.array(se) }), ar = s({ topics: e.array(G) }), sr = s({ topic: G }), cr = s({ post: A }), z = s({
1747
- posts: e.array(A),
1748
+ ).satisfies().lock(), or = s({ forums: e.array(se) }), ar = s({ topics: e.array(A) }), sr = s({ topic: A }), cr = s({ post: G }), z = s({
1749
+ posts: e.array(G),
1748
1750
  next_token: e.string().optional()
1749
- }), ur = s({ post: A, antispam: ce }), lr = s({
1751
+ }), ur = s({ post: G, antispam: ce }), lr = s({
1750
1752
  replies: e.array(T),
1751
1753
  next_token: e.string().optional()
1752
1754
  }), mr = s({ reply: T }), dr = s({
@@ -2228,12 +2230,12 @@ export {
2228
2230
  Z as ClubAddressValidator,
2229
2231
  jr as ClubApi,
2230
2232
  W as ClubBenefitSummaryValidator,
2231
- Ae as ClubBenefitValidator,
2233
+ Ge as ClubBenefitValidator,
2232
2234
  Te as ClubCreditChangeScene,
2233
2235
  qe as ClubCreditChangeSceneValidator,
2234
2236
  Ve as ClubCreditChangeType,
2235
2237
  je as ClubCreditChangeTypeValidator,
2236
- Ge as ClubCreditLogValidator,
2238
+ Ae as ClubCreditLogValidator,
2237
2239
  Ee as ClubGlobalConfigValidator,
2238
2240
  xe as ClubItemType,
2239
2241
  X as ClubItemTypeValidator,
@@ -2261,7 +2263,7 @@ export {
2261
2263
  xt as EventFeatureConfigOfGiftCodeValidator,
2262
2264
  Lt as EventFeatureConfigOfInviteValidator,
2263
2265
  Pt as EventFeatureConfigOfInvitedRegisterValidator,
2264
- Gt as EventFeatureConfigOfLotteryDrawValidator,
2266
+ At as EventFeatureConfigOfLotteryDrawValidator,
2265
2267
  Dt as EventFeatureConfigOfLotteryValidator,
2266
2268
  Nt as EventFeatureConfigOfPreregisterValidator,
2267
2269
  Bt as EventFeatureConfigOfQuestValidator,
@@ -2316,7 +2318,7 @@ export {
2316
2318
  Y as PlayerRoleValidator,
2317
2319
  Qn as PostStatus,
2318
2320
  ae as PostStatusValidator,
2319
- A as PostValidator,
2321
+ G as PostValidator,
2320
2322
  pn as PreregisterEngagementDataValidator,
2321
2323
  Jn as PresignedUrlResponseValidator,
2322
2324
  _n as QuestEngagementDataValidator,
@@ -2347,7 +2349,7 @@ export {
2347
2349
  Er as TeamMemberValidator,
2348
2350
  ct as TeamVisibility,
2349
2351
  ut as TeamVisibilityValidator,
2350
- G as TopicValidator,
2352
+ A as TopicValidator,
2351
2353
  I as UserEngagementDataValidator,
2352
2354
  Vn as UserEngagementValidator,
2353
2355
  Tn as UserFeatureStatusValidator,
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@seayoo-web/gamer-api",
3
3
  "description": "agent for gamer api",
4
- "version": "2.4.4",
4
+ "version": "2.4.5",
5
5
  "type": "module",
6
6
  "source": "index.ts",
7
7
  "main": "./dist/index.js",
@@ -30,10 +30,10 @@
30
30
  "license": "MIT",
31
31
  "devDependencies": {
32
32
  "@types/node": "^22.13.1",
33
- "@seayoo-web/tsconfig": "^1.0.4",
34
33
  "@seayoo-web/combo-webview": "^2.5.4",
35
- "@seayoo-web/request": "^3.2.0",
36
34
  "@seayoo-web/scripts": "^2.5.7",
35
+ "@seayoo-web/request": "^3.2.0",
36
+ "@seayoo-web/tsconfig": "^1.0.4",
37
37
  "@seayoo-web/utils": "^3.6.0"
38
38
  },
39
39
  "peerDependencies": {
@@ -1,6 +1,6 @@
1
1
  import { type InferType } from "@seayoo-web/utils";
2
2
  import { type EventFeatureBaseConfig } from "./feature.base";
3
- declare const rewardItemTypeValidator: import("@seayoo-web/utils").StringValidator<"credit" | "event_item" | "game_item" | "physical_item" | "weixin_hongbao" | "external_gift_code" | "void_item", false, false>;
3
+ declare const rewardItemTypeValidator: import("@seayoo-web/utils").StringValidator<"credit" | "activation_key" | "event_item" | "game_item" | "physical_item" | "weixin_hongbao" | "external_gift_code" | "void_item", false, false>;
4
4
  declare const featureType: "lottery";
5
5
  export interface FeatureLotteryItemConfig {
6
6
  /** 抽奖奖励道具 id */
@@ -1,5 +1,5 @@
1
1
  import { type InferType } from "@seayoo-web/utils";
2
- declare const rewardItemTypeValidator: import("@seayoo-web/utils").StringValidator<"credit" | "event_item" | "game_item" | "physical_item" | "weixin_hongbao" | "external_gift_code" | "void_item", false, false>;
2
+ declare const rewardItemTypeValidator: import("@seayoo-web/utils").StringValidator<"credit" | "activation_key" | "event_item" | "game_item" | "physical_item" | "weixin_hongbao" | "external_gift_code" | "void_item", false, false>;
3
3
  export interface EventRewardItemConfig {
4
4
  /** 玩法奖励道具 id */
5
5
  reward_item_id: number;
@@ -0,0 +1,228 @@
1
+ import { type GamerItemType, EngageAccountType, EventPeriodType, FeatureType, QuestObjective, VoteOptionSource } from "./event.enums";
2
+ export interface EventConfig {
3
+ /** 活动名称 */
4
+ event_name: string;
5
+ /** 面向玩家的富文本活动规则 */
6
+ rules: string;
7
+ /** 活动开始时间 */
8
+ since: number;
9
+ /** 活动结束时间 */
10
+ until: number;
11
+ /** 活动访问人数 */
12
+ visit_count?: number;
13
+ /** 活动下玩法列表 */
14
+ features: EventFeatureConfig[];
15
+ }
16
+ export declare function isEventConfig(data: unknown): data is EventConfig;
17
+ export type EventFeatureConfig = EventFeatureBaseConfig<FeatureType.Preregister, NoopFeatureConfig> | EventFeatureBaseConfig<FeatureType.Lottery, FeatureLotteryConfig> | EventFeatureBaseConfig<FeatureType.Survey, FeatureSurveyConfig> | EventFeatureBaseConfig<FeatureType.Invite, FeatureInviteConfig> | EventFeatureBaseConfig<FeatureType.Share, FeatureShareConfig> | EventFeatureBaseConfig<FeatureType.Follow, FeatureFollowConfig> | EventFeatureBaseConfig<FeatureType.Subscribe, FeatureSubscribeConfig> | EventFeatureBaseConfig<FeatureType.Comment, FeatureCommentConfig> | EventFeatureBaseConfig<FeatureType.Vote, FeatureVoteConfig> | EventFeatureBaseConfig<FeatureType.Cashback, FeatureCashbackConfig> | EventFeatureBaseConfig<FeatureType.GiftCode, FeatureGiftCodeConfig> | EventFeatureBaseConfig<FeatureType.Register, NoopFeatureConfig> | EventFeatureBaseConfig<FeatureType.InvitedRegister, NoopFeatureConfig> | EventFeatureBaseConfig<FeatureType.ClaimRewards, NoopFeatureConfig> | EventFeatureBaseConfig<FeatureType.Quest, FeatureQuestConfig> | EventFeatureBaseConfig<FeatureType.Team, FeatureTeamConfig> | EventFeatureBaseConfig<FeatureType.LotteryDraw, FeatureLotteryDrawConfig> | EventFeatureBaseConfig<FeatureType.CheckIn, NoopFeatureConfig>;
18
+ export interface EventRewardItemConfig {
19
+ /** 玩法奖励道具 id */
20
+ reward_item_id: number;
21
+ /** 玩法奖励道具数量 */
22
+ reward_amount: number;
23
+ /** 玩法奖励道具名称 */
24
+ reward_item_name: string;
25
+ /** 玩法奖励道具图片地址 */
26
+ reward_item_icon_url: string;
27
+ /** 玩法奖励道具描述 */
28
+ reward_item_desc?: string;
29
+ /** 玩法奖励道具类型 */
30
+ reward_item_type: Exclude<GamerItemType, GamerItemType.GiftCode | GamerItemType.LotteryTicket>;
31
+ /** 奖励道具评级,用于前端展示 */
32
+ reward_item_rating: number;
33
+ }
34
+ export interface RegularReward {
35
+ engage_count: number;
36
+ rewards: EventRewardItemConfig[];
37
+ }
38
+ export type FeatureReward = {
39
+ feature_reward_type: "every";
40
+ reward_details: EventRewardItemConfig[];
41
+ } | {
42
+ feature_reward_type: "regular";
43
+ reward_details: RegularReward[];
44
+ };
45
+ export type NoopFeatureConfig = {} | null;
46
+ export interface EventFeatureBaseConfig<T extends FeatureType = FeatureType, C extends object | null = object> {
47
+ /** 玩法名称 */
48
+ feature_name: string;
49
+ /** 玩法 Id */
50
+ feature_id: number;
51
+ /** 玩法描述 */
52
+ description: string;
53
+ /** 玩法类型 */
54
+ feature_type: T;
55
+ /** 玩法配置 */
56
+ config?: C;
57
+ /** 玩法周期,即每多长时间可参与一次 */
58
+ cycle: EventPeriodType;
59
+ /** 允许的最大参与次数 */
60
+ limit: number;
61
+ /** 玩法开始时间 */
62
+ since: number;
63
+ /** 玩法结束时间 */
64
+ until: number;
65
+ /** 参与玩法维度账号类型 */
66
+ engage_account: EngageAccountType;
67
+ /** 玩法参与奖励 */
68
+ feature_rewards?: FeatureReward;
69
+ }
70
+ export interface FeatureLotteryItemConfig {
71
+ /** 抽奖奖励道具 id */
72
+ reward_item_id: number;
73
+ /** 抽奖奖励道具名称 */
74
+ reward_item_name: string;
75
+ /** 抽奖奖励道具类型 */
76
+ reward_item_type: Exclude<GamerItemType, GamerItemType.GiftCode | GamerItemType.LotteryTicket>;
77
+ /** 抽奖奖励道具图片地址 */
78
+ reward_item_icon_url: string;
79
+ /** 抽奖奖励道具描述 */
80
+ reward_item_desc?: string;
81
+ /** 抽奖奖励道具数量 */
82
+ reward_amount: number;
83
+ /** 抽奖奖励道具库存 */
84
+ reward_remaining_stock: number;
85
+ }
86
+ export interface FeatureLotteryConfig {
87
+ /** 抽奖消耗道具 id */
88
+ consume_item_id: number;
89
+ /** 抽奖消耗道具名称 */
90
+ consume_item_name: number;
91
+ /** 抽奖消耗道具图片地址 */
92
+ consume_item_icon_url: string;
93
+ /** 抽奖消耗道具数量配置 */
94
+ consume_item_count: number;
95
+ /** 抽奖消耗道具描述 */
96
+ consume_item_desc?: string;
97
+ /** 抽奖配置奖励列表 */
98
+ rewards: FeatureLotteryItemConfig[];
99
+ }
100
+ export interface FeatureSurveyConfig {
101
+ /** 问卷 ID */
102
+ survey_id: string;
103
+ /** 问卷 url 地址 */
104
+ survey_url: string;
105
+ }
106
+ export interface FeatureInviteConfig {
107
+ /** 邀请玩法配置分享链接 */
108
+ share_url: string;
109
+ }
110
+ export interface FeatureShareConfig {
111
+ /** 分享玩法配置分享平台 */
112
+ share_platform: string;
113
+ /** 分享玩法配置跳转地址 */
114
+ jump_url?: string;
115
+ /** 分享玩法分享平台图标 */
116
+ icon_url?: string;
117
+ }
118
+ export interface FeatureFollowConfig {
119
+ /**
120
+ * 社交媒体平台的标识
121
+ *
122
+ * 比如 "bilibili", "douyin", "xiaohongshu", "weibo", "weixin_official_account", "qq"
123
+ */
124
+ platform: string;
125
+ /** 社交媒体平台 icon */
126
+ platform_icon?: string;
127
+ /** 跳转链接 */
128
+ link?: string;
129
+ /** 二维码链接地址 */
130
+ qr_code_url?: string;
131
+ /** 社交媒体平台描述 */
132
+ platform_desc?: string;
133
+ }
134
+ export interface FeatureSubscribeConfig {
135
+ /** 一组微信订阅消息模版 ID */
136
+ weixin_template_ids: string[];
137
+ }
138
+ export interface FeatureCommentConfig {
139
+ /** 活动配置的弹幕信息,用于快捷选择 */
140
+ comments: string[];
141
+ /** 发送频率限制,单位:秒 */
142
+ send_rate: number;
143
+ }
144
+ export interface FeatureVoteConfig {
145
+ /** 关联一个或多个投票玩法 ID */
146
+ vote_feature_ids: number[];
147
+ /** 关联一个或多个投稿玩法 ID */
148
+ submission_feature_ids: number[];
149
+ /** 入围数量 */
150
+ finalists_amount: number;
151
+ /** 选项来源 */
152
+ source: VoteOptionSource;
153
+ /** 投票选项配置 */
154
+ options: FeatureVoteOption[];
155
+ /** 投票入围后用户可获得的奖励 */
156
+ rewards: EventRewardItemConfig[];
157
+ }
158
+ export interface FeatureVoteOption {
159
+ /** 选项标识 */
160
+ sn: string;
161
+ /** 选项名称 */
162
+ name: string;
163
+ /** 选项图片地址 */
164
+ img_urls?: string[];
165
+ /** 选项视频地址 */
166
+ video_urls?: string[];
167
+ /** 选项描述文本 */
168
+ descriptions?: string[];
169
+ /** 跳转地址 */
170
+ jump_url: string;
171
+ /** 选项投票数量 */
172
+ amount: number;
173
+ /** 选项是否入围 */
174
+ finalists: boolean;
175
+ /** 最后投票时间秒级时间戳 */
176
+ last_vote_time: number;
177
+ }
178
+ export interface FeatureCashbackConfig {
179
+ /** 计算充值总额的开始时间 */
180
+ order_start_time: number;
181
+ /** 计算充值总额的结束时间 */
182
+ order_end_time: number;
183
+ /** 可领取充值返还奖励的开始时间 */
184
+ claim_rewards_start_time: number;
185
+ /** 可领取充值返还奖励的结束时间 */
186
+ claim_rewards_end_time: number;
187
+ }
188
+ export interface FeatureGiftCodeConfig {
189
+ /** 用于前端显示礼包码兑换后会获得的奖励内容 */
190
+ gift_items: EventGiftItemConfig[];
191
+ /** 社媒平台链接 */
192
+ mp_url?: string;
193
+ /** 社媒平台二维码 */
194
+ mp_qrcode_url?: string;
195
+ }
196
+ export interface EventGiftItemConfig {
197
+ /** 用于前端展示的游戏道具名称 */
198
+ name: string;
199
+ /** 用于前端展示的游戏道具图片地址 */
200
+ icon_url: string;
201
+ /** 用于前端展示的游戏道具数量 */
202
+ count: number;
203
+ }
204
+ export interface FeatureQuestConfig {
205
+ /** 任务目标 */
206
+ objective: QuestObjective;
207
+ /** 目标值 */
208
+ completion_value: number;
209
+ /** 团队任务配置 */
210
+ team?: {
211
+ /** 组队任务 ID */
212
+ feature_id?: number;
213
+ /** 目标值 */
214
+ completion_value: number;
215
+ };
216
+ }
217
+ export interface FeatureTeamConfig {
218
+ /** 队伍最大成员数 */
219
+ max_members: number;
220
+ /** 队伍最小成员数 */
221
+ min_members: number;
222
+ }
223
+ export interface FeatureLotteryDrawConfig {
224
+ /** 可开奖起始时间 */
225
+ draw_not_before: number;
226
+ /** 可开奖结束时间 */
227
+ draw_not_after: number;
228
+ }
@@ -11,6 +11,8 @@ export declare const GamerItemType: {
11
11
  readonly WeixinHongbao: "weixin_hongbao";
12
12
  /** 礼包码 */
13
13
  readonly GiftCode: "gift_code";
14
+ /** 激活码 */
15
+ readonly ActivationKey: "activation_key";
14
16
  /** 抽奖券 */
15
17
  readonly LotteryTicket: "lottery_ticket";
16
18
  /** 积分 */
@@ -42,6 +44,8 @@ export declare const RewardItemType: {
42
44
  readonly WeixinHongbao: "weixin_hongbao";
43
45
  /** 礼包码 */
44
46
  readonly GiftCode: "gift_code";
47
+ /** 激活码 */
48
+ readonly ActivationKey: "activation_key";
45
49
  /** 抽奖券 */
46
50
  readonly LotteryTicket: "lottery_ticket";
47
51
  /** 积分 */