@seayoo-web/gamer-api 1.1.18 → 2.0.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.
- package/dist/index.js +1415 -1072
- package/package.json +6 -6
- package/types/src/club.d.ts +11 -8
- package/types/src/club.define.d.ts +157 -55
- package/types/src/club.enums.d.ts +84 -33
- package/types/src/club.guards.d.ts +13 -23
- package/types/src/community.d.ts +20 -20
- package/types/src/community.define.d.ts +155 -62
- package/types/src/community.enums.d.ts +74 -33
- package/types/src/community.guards.d.ts +20 -28
- package/types/src/event.config/feature.base.d.ts +23 -0
- package/types/src/event.config/feature.cashback.d.ts +18 -0
- package/types/src/event.config/feature.checkIn.d.ts +7 -0
- package/types/src/event.config/feature.claimRewards.d.ts +7 -0
- package/types/src/event.config/feature.comment.d.ts +14 -0
- package/types/src/event.config/feature.d.ts +38 -0
- package/types/src/event.config/feature.follow.d.ts +24 -0
- package/types/src/event.config/feature.giftcode.d.ts +24 -0
- package/types/src/event.config/feature.invite.d.ts +12 -0
- package/types/src/event.config/feature.invitedRegister.d.ts +7 -0
- package/types/src/event.config/feature.lottery.d.ts +40 -0
- package/types/src/event.config/feature.lotteryDraw.d.ts +14 -0
- package/types/src/event.config/feature.preregister.d.ts +7 -0
- package/types/src/event.config/feature.quest.d.ts +22 -0
- package/types/src/event.config/feature.register.d.ts +7 -0
- package/types/src/event.config/feature.share.d.ts +16 -0
- package/types/src/event.config/feature.subscribe.d.ts +12 -0
- package/types/src/event.config/feature.survey.d.ts +14 -0
- package/types/src/event.config/feature.team.d.ts +14 -0
- package/types/src/event.config/feature.vote.d.ts +44 -0
- package/types/src/event.config/index.d.ts +23 -0
- package/types/src/event.config/reward.d.ts +55 -0
- package/types/src/event.d.ts +47 -38
- package/types/src/event.define.d.ts +20 -309
- package/types/src/event.engage/engage.cashback.d.ts +9 -0
- package/types/src/event.engage/engage.comment.d.ts +22 -0
- package/types/src/event.engage/engage.giftcode.d.ts +5 -0
- package/types/src/event.engage/engage.invite.d.ts +9 -0
- package/types/src/event.engage/engage.lottery.d.ts +9 -0
- package/types/src/event.engage/engage.lotteryDraw.d.ts +40 -0
- package/types/src/event.engage/engage.preregister.d.ts +11 -0
- package/types/src/event.engage/engage.quest.d.ts +28 -0
- package/types/src/event.engage/engage.share.d.ts +9 -0
- package/types/src/event.engage/engage.subscribe.d.ts +14 -0
- package/types/src/event.engage/engage.survey.d.ts +7 -0
- package/types/src/event.engage/engage.team.d.ts +53 -0
- package/types/src/event.engage/engage.vote.d.ts +9 -0
- package/types/src/event.engage/index.d.ts +83 -0
- package/types/src/event.engage/reward.d.ts +89 -0
- package/types/src/event.enums.d.ts +298 -109
- package/types/src/event.guards.d.ts +22 -26
- package/types/src/token.d.ts +2 -2
- package/types/src/weixin.d.ts +4 -4
- package/types/src/weixin.define.d.ts +1 -1
package/types/src/event.d.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import type {
|
|
1
|
+
import { ClaimRewardStatus, type GamerItemType, type RewardSource } from "./event.enums";
|
|
2
|
+
import type { EngagementFeatureType, InferEngagementParam } from "./event.define";
|
|
3
3
|
import type { AuthToken } from "./token";
|
|
4
|
-
import type {
|
|
5
|
-
export * from "./event.config";
|
|
4
|
+
import type { RequestInternalError } from "@seayoo-web/request";
|
|
6
5
|
export * from "./event.define";
|
|
7
6
|
export * from "./event.enums";
|
|
8
7
|
/** EventApi */
|
|
@@ -38,9 +37,11 @@ export declare class EventApi {
|
|
|
38
37
|
/**
|
|
39
38
|
* 获取某个玩法的参与记录(和特定用户无关)
|
|
40
39
|
*
|
|
40
|
+
* 💡目前仅支持 Comment / Team 两个玩法的参与数据
|
|
41
|
+
*
|
|
41
42
|
* https://kdocs.cn/l/ckWFDcOsYEUA?linkname=THtZ4ewIQW
|
|
42
43
|
*/
|
|
43
|
-
getEngagements(featureId: number): Promise<import("./event.
|
|
44
|
+
getEngagements(featureId: number): Promise<import("./event.engage").CommentEngagement[] | import("./event.engage").TeamEngagement[]>;
|
|
44
45
|
/**
|
|
45
46
|
* 用户访问某个活动或玩法
|
|
46
47
|
*
|
|
@@ -50,19 +51,18 @@ export declare class EventApi {
|
|
|
50
51
|
feature_id?: number;
|
|
51
52
|
server_id?: string;
|
|
52
53
|
role_id?: string;
|
|
53
|
-
/** 来源标识 */
|
|
54
54
|
utm_source?: string;
|
|
55
55
|
/** 邀请人的世游通行证 ID */
|
|
56
56
|
invited_by?: string;
|
|
57
57
|
}): Promise<{
|
|
58
58
|
first_visit: boolean;
|
|
59
59
|
} | {
|
|
60
|
-
error:
|
|
60
|
+
error: RequestInternalError | "event_not_found" | "feature_not_found" | "invalid_server_id" | "invalid_role_id";
|
|
61
61
|
}>;
|
|
62
62
|
/**
|
|
63
63
|
* 获取用户在目标活动下的所有玩法的参与状态,用于前端进一步确定如何执行交互逻辑
|
|
64
64
|
*
|
|
65
|
-
* 💡活动下包含 engage_account_type 为 role_id
|
|
65
|
+
* 💡活动下包含 engage_account_type 为 role_id 的玩法时,需要提供 server_id 和 role_id
|
|
66
66
|
*
|
|
67
67
|
* 🔕请求静默进行,无消息提示
|
|
68
68
|
*
|
|
@@ -75,21 +75,17 @@ export declare class EventApi {
|
|
|
75
75
|
/**
|
|
76
76
|
* 获取当前登录用户参与某个玩法的记录
|
|
77
77
|
*
|
|
78
|
-
*
|
|
79
|
-
*
|
|
80
|
-
* @deprecated 请改用 getUserEngagementsV2
|
|
81
|
-
*/
|
|
82
|
-
getUserEngagements(featureId: number): Promise<import("./event.define").UserEngagement[]>;
|
|
83
|
-
/**
|
|
84
|
-
* 获取当前登录用户参与某个玩法的记录
|
|
78
|
+
* 💡当玩法的 engage_account_type 为 role_id 时,可提供 server_id 和 role_id 获取具体角色的参与记录
|
|
85
79
|
*
|
|
86
80
|
* https://kdocs.cn/l/ckWFDcOsYEUA?linkname=NFDdV1dwWb
|
|
87
81
|
*/
|
|
88
|
-
|
|
89
|
-
/** 单页返回的最大数量,默认
|
|
82
|
+
getUserEngagements(featureId: number, option?: {
|
|
83
|
+
/** 单页返回的最大数量,默认 20 */
|
|
90
84
|
max_results?: number;
|
|
91
85
|
next_token?: string;
|
|
92
|
-
/**
|
|
86
|
+
/**
|
|
87
|
+
* 是否返回参与奖记录,默认 false
|
|
88
|
+
*/
|
|
93
89
|
return_rewards?: boolean;
|
|
94
90
|
/**
|
|
95
91
|
* 当玩法的 engage_account_type 为 role_id 时,可提供 server_id 和 role_id 获取具体角色的参与记录
|
|
@@ -99,17 +95,20 @@ export declare class EventApi {
|
|
|
99
95
|
* 当玩法的 engage_account_type 为 role_id 时,可提供 server_id 和 role_id 获取具体角色的参与记录
|
|
100
96
|
*/
|
|
101
97
|
role_id?: string;
|
|
102
|
-
}): Promise<
|
|
98
|
+
}): Promise<never[] | {
|
|
99
|
+
engagements: import("./event.engage").UserEngagement[];
|
|
100
|
+
next_token: string;
|
|
101
|
+
}>;
|
|
103
102
|
/**
|
|
104
|
-
*
|
|
103
|
+
* 用户参与某个玩法
|
|
104
|
+
*
|
|
105
|
+
* 💡可以设置泛型参数来快速确定 engagementParam 数据类型
|
|
106
|
+
*
|
|
107
|
+
* 💡需要先调用 `visit` 接口提交访问信息
|
|
105
108
|
*
|
|
106
109
|
* https://kdocs.cn/l/ckWFDcOsYEUA?linkname=vuOyrcry3S
|
|
107
110
|
*/
|
|
108
|
-
engage(
|
|
109
|
-
/** 活动玩法 ID */
|
|
110
|
-
feature_id: number;
|
|
111
|
-
/** 用户参数数据 */
|
|
112
|
-
engagement: EngagementInfo;
|
|
111
|
+
engage<T extends EngagementFeatureType = unknown>(featureId: number, engagementParam: InferEngagementParam<T>, option?: {
|
|
113
112
|
/**
|
|
114
113
|
* 联的游戏账号 ID,如果传该参数后端需验证 player_id 是否从属于当前用户。
|
|
115
114
|
*
|
|
@@ -121,23 +120,26 @@ export declare class EventApi {
|
|
|
121
120
|
role_id?: string;
|
|
122
121
|
role_name?: string;
|
|
123
122
|
}): Promise<import("./event.define").EngageResponse | {
|
|
124
|
-
error:
|
|
123
|
+
error: RequestInternalError | "event_not_found" | "feature_not_found" | "invalid_weixin_appid" | "invalid_weixin_openid" | "event_not_started" | "event_already_ended" | "engage_feature_reached_limit" | "comment_too_frequently" | "lottery_reward_is_empty" | "invalid_merchant_parameter" | "budget_not_enough" | "combo_id_not_found" | "query_user_order_total_amount_err" | "unique_gift_code_is_empty" | "player_created_at_out_of_range" | "user_had_joined_a_team" | "team_is_full" | "disband_team_not_allowed" | "change_team_visibility_not_allowed" | "team_not_found" | "join_team_conflict" | "team_has_been_disbanded" | "exceeded_assembled_team_limit" | "invalid_engage_lottery_draw_ticket" | "lottery_ticket_not_found" | "draw_lottery_ticket_not_start" | "draw_lottery_ticket_is_ended";
|
|
125
124
|
}>;
|
|
126
125
|
/**
|
|
127
126
|
* 用户领取除红包和实物奖励以外的所有奖励
|
|
128
127
|
*
|
|
129
128
|
* https://kdocs.cn/l/ckWFDcOsYEUA?linkname=lCGuqgvUDP
|
|
130
129
|
*/
|
|
131
|
-
claimRewards(
|
|
130
|
+
claimRewards(params: {
|
|
132
131
|
/** 用户参与记录 ID */
|
|
133
132
|
engagement_id: number;
|
|
134
133
|
/** 产生奖励的来源 */
|
|
135
|
-
reward_source:
|
|
134
|
+
reward_source: RewardSource;
|
|
135
|
+
/** 游戏服务器 ID,领取游戏道具时为必填 */
|
|
136
136
|
server_id?: number;
|
|
137
|
+
/** 游戏角色 ID,领取游戏道具时为必填 */
|
|
137
138
|
role_id?: string;
|
|
139
|
+
/** 游戏角色名 */
|
|
138
140
|
role_name?: string;
|
|
139
141
|
}): Promise<import("./event.define").ClaimedItem[] | {
|
|
140
|
-
error:
|
|
142
|
+
error: RequestInternalError | "invalid_server_id" | "invalid_role_id" | "event_not_found" | "engagement_not_found" | "event_not_started" | "event_already_ended" | "claim_rewards_not_started" | "claim_rewards_already_ended" | "no_rewards_to_claim" | "reward_received" | "claim_reward_error";
|
|
141
143
|
}>;
|
|
142
144
|
/**
|
|
143
145
|
* 用户领取红包奖励
|
|
@@ -145,9 +147,9 @@ export declare class EventApi {
|
|
|
145
147
|
* https://kdocs.cn/l/ckWFDcOsYEUA?linkname=aQLhlOAB4Q
|
|
146
148
|
*/
|
|
147
149
|
claimWeixinHongbao(rewardId: number): Promise<{
|
|
148
|
-
reward_status:
|
|
150
|
+
reward_status: ClaimRewardStatus;
|
|
149
151
|
} | {
|
|
150
|
-
error:
|
|
152
|
+
error: RequestInternalError | "invalid_weixin_openid" | "event_not_started" | "event_already_ended" | "no_rewards_to_claim" | "reward_received" | "invalid_merchant_parameter" | "budget_not_enough";
|
|
151
153
|
}>;
|
|
152
154
|
/**
|
|
153
155
|
* 查询用户活动奖励列表
|
|
@@ -157,11 +159,17 @@ export declare class EventApi {
|
|
|
157
159
|
getUserRewards(option: {
|
|
158
160
|
/** 活动玩法 ID */
|
|
159
161
|
feature_id?: number;
|
|
160
|
-
/**
|
|
161
|
-
reward_types?: Exclude<GamerItemType, GamerItemType.VoidItem>[];
|
|
162
|
-
|
|
162
|
+
/** 奖励类型,不支持传递空奖励 `void_item` */
|
|
163
|
+
reward_types?: Exclude<GamerItemType, typeof GamerItemType.VoidItem>[];
|
|
164
|
+
/** 单次查询的数量,默认 20 */
|
|
165
|
+
max_results?: number;
|
|
166
|
+
next_token?: string;
|
|
167
|
+
}): Promise<never[] | {
|
|
168
|
+
user_rewards: import("./event.engage/reward").UserReward[];
|
|
169
|
+
next_token: string;
|
|
170
|
+
}>;
|
|
163
171
|
/**
|
|
164
|
-
*
|
|
172
|
+
* 查询用户活动道具数量。💡 注意,这里只能是活动道具
|
|
165
173
|
*
|
|
166
174
|
* https://kdocs.cn/l/ckWFDcOsYEUA?linkname=mnGCTeTgMb
|
|
167
175
|
*/
|
|
@@ -174,8 +182,8 @@ export declare class EventApi {
|
|
|
174
182
|
submitUserRewardAddress(option: {
|
|
175
183
|
/** 用户奖励记录 id */
|
|
176
184
|
reward_id: number;
|
|
177
|
-
/**
|
|
178
|
-
address_id
|
|
185
|
+
/** 用户收货地址 id */
|
|
186
|
+
address_id: number;
|
|
179
187
|
/** 收件人称呼 */
|
|
180
188
|
recipient: string;
|
|
181
189
|
/** 收件人手机号 */
|
|
@@ -206,11 +214,12 @@ export declare class EventApi {
|
|
|
206
214
|
*/
|
|
207
215
|
getParamsByQrcodeScene(scene: string): Promise<string | null>;
|
|
208
216
|
/**
|
|
209
|
-
* 生成不限制的带参数的小程序码(
|
|
217
|
+
* 生成不限制的带参数的小程序码(dataURI 格式的小程序码图片)
|
|
210
218
|
*
|
|
211
219
|
* https://kdocs.cn/l/ckWFDcOsYEUA?linkname=Rvmoq8iIy0
|
|
212
220
|
*/
|
|
213
221
|
generateUnlimitQrcode(option: {
|
|
222
|
+
/** 小程序 appid */
|
|
214
223
|
app_id: string;
|
|
215
224
|
/**
|
|
216
225
|
* 小程序码所携带参数
|
|
@@ -1,32 +1,15 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { type UserEngagementData } from "./event.engage";
|
|
2
|
+
import { type EngageReward } from "./event.engage/reward";
|
|
3
|
+
import { type ClaimRewardStatus } from "./event.enums";
|
|
4
|
+
export * from "./event.config";
|
|
5
|
+
export * from "./event.engage";
|
|
2
6
|
export interface VerifyMobileResult {
|
|
3
7
|
/** 手机号是否允许登录此游戏(游戏 ID 由 Request Header 的 Origin 或 Referer 决定) */
|
|
4
8
|
allowed: boolean;
|
|
5
9
|
/** 手机号是否已注册世游通行证 */
|
|
6
10
|
registered: boolean;
|
|
7
11
|
}
|
|
8
|
-
export
|
|
9
|
-
/** 用户世游通行证 ID */
|
|
10
|
-
user_id: string;
|
|
11
|
-
/** 用户昵称 */
|
|
12
|
-
name: string;
|
|
13
|
-
/** 用户头像地址 */
|
|
14
|
-
avatar_url: string;
|
|
15
|
-
/** 评论信息 */
|
|
16
|
-
comment: string;
|
|
17
|
-
/** 用户发布弹幕的视频点 */
|
|
18
|
-
video_note: number;
|
|
19
|
-
/** 用户发布弹幕的时间 */
|
|
20
|
-
created_at: number;
|
|
21
|
-
}
|
|
22
|
-
export interface TeamEngagement {
|
|
23
|
-
/** 组队码 */
|
|
24
|
-
team_code: string;
|
|
25
|
-
/** 队长角色名称 */
|
|
26
|
-
leader_name: string;
|
|
27
|
-
/** 队员数量 */
|
|
28
|
-
total_members: number;
|
|
29
|
-
}
|
|
12
|
+
export declare const VerifyMobileResultValidator: import("@seayoo-web/utils").ObjectValidator<VerifyMobileResult, false, false>;
|
|
30
13
|
export interface UserFeatureStatus {
|
|
31
14
|
/** 玩法 ID */
|
|
32
15
|
feature_id: number;
|
|
@@ -39,302 +22,30 @@ export interface UserFeatureStatus {
|
|
|
39
22
|
/** 是否有已获得但尚未领取的玩法参与奖励 */
|
|
40
23
|
has_unclaimed_rewards: boolean;
|
|
41
24
|
}
|
|
42
|
-
|
|
43
|
-
* 用户参与记录,已经作废
|
|
44
|
-
*/
|
|
45
|
-
export interface UserEngagement {
|
|
46
|
-
/** 参与记录 ID */
|
|
47
|
-
engagement_id: number;
|
|
48
|
-
/** 玩法参与次数 */
|
|
49
|
-
sequence: number;
|
|
50
|
-
/** 玩法 ID */
|
|
51
|
-
feature_id: number;
|
|
52
|
-
/** 奖励 ID */
|
|
53
|
-
reward_id: number;
|
|
54
|
-
/** 奖励状态 */
|
|
55
|
-
reward_status: RewardStatusPrefix;
|
|
56
|
-
/** 道具数量 */
|
|
57
|
-
reward_item_amount: number;
|
|
58
|
-
/** 道具名称 */
|
|
59
|
-
reward_item_name: string;
|
|
60
|
-
/** 道具描述 */
|
|
61
|
-
reward_item_desc: string;
|
|
62
|
-
/** 道具图标 */
|
|
63
|
-
reward_item_icon_url: string;
|
|
64
|
-
/** 道具评级 */
|
|
65
|
-
reward_item_rating: number;
|
|
66
|
-
/** 奖励来源 */
|
|
67
|
-
reward_source: RewardSoure;
|
|
68
|
-
/** 附带的数据,由 feature_id 的类型决定 */
|
|
69
|
-
data?: PreregisterEngagementData | LotteryEngagementData | SurveyEngagementData | InviteEngagementData | ShareEngagementData | VoteEngagementData | WeixinSubscribeEngagementData | CashbackEngagementData | GiftCodeEngagementData | TeamEngagementData | QuestEngagementData | LotteryDrawEngagementData;
|
|
70
|
-
server_id?: string;
|
|
71
|
-
role_id?: string;
|
|
72
|
-
created_at: number;
|
|
73
|
-
}
|
|
74
|
-
export type UserEngagementV2 = Pick<UserEngagement, "engagement_id" | "feature_id" | "sequence" | "data" | "server_id" | "role_id" | "created_at"> & {
|
|
75
|
-
user_id: number;
|
|
76
|
-
/** 参与奖励列表 */
|
|
77
|
-
rewards?: Reward[];
|
|
78
|
-
};
|
|
79
|
-
export interface Reward {
|
|
80
|
-
/** 用户奖励记录 id */
|
|
81
|
-
reward_id: number;
|
|
82
|
-
/** 奖励道具 id */
|
|
83
|
-
reward_item_id: number;
|
|
84
|
-
/** 奖励道具类型 */
|
|
85
|
-
reward_item_type: GamerItemType;
|
|
86
|
-
/** 奖励道具数量 */
|
|
87
|
-
reward_count: number;
|
|
88
|
-
/** 奖励状态 */
|
|
89
|
-
reward_status: RewardStatusSuffixV2;
|
|
90
|
-
/** 奖励来源 */
|
|
91
|
-
reward_source: RewardSoure;
|
|
92
|
-
/** 奖励道具名称 */
|
|
93
|
-
reward_item_name: string;
|
|
94
|
-
/** 奖励道具图片地址 */
|
|
95
|
-
reward_item_icon_url: string;
|
|
96
|
-
/** 奖励道具描述 */
|
|
97
|
-
reward_item_desc?: string;
|
|
98
|
-
/** 奖励道具评级,用于前端展示 */
|
|
99
|
-
reward_item_rating: number;
|
|
100
|
-
/** 领奖时间 */
|
|
101
|
-
receive_time: number;
|
|
102
|
-
/** 提供额外扩展信息,比如收获地址等 */
|
|
103
|
-
extra_data?: Record<string, unknown>;
|
|
104
|
-
}
|
|
105
|
-
export interface PreregisterEngagementData {
|
|
106
|
-
/** 用户预约平台 */
|
|
107
|
-
platforms: string[];
|
|
108
|
-
}
|
|
109
|
-
export interface LotteryEngagementData {
|
|
110
|
-
/** 用户抽奖次数 */
|
|
111
|
-
lottery_count: number;
|
|
112
|
-
}
|
|
113
|
-
export interface SurveyEngagementData {
|
|
114
|
-
/** 用户填写问卷流水号 */
|
|
115
|
-
serial_number: number;
|
|
116
|
-
}
|
|
117
|
-
export interface InviteEngagementData {
|
|
118
|
-
/** 被邀请人的世游通行证 ID */
|
|
119
|
-
user_id: string;
|
|
120
|
-
/** 被邀请人昵称 */
|
|
121
|
-
name?: string;
|
|
122
|
-
/** 被邀请人头像地址 */
|
|
123
|
-
avatar_url?: string;
|
|
124
|
-
}
|
|
125
|
-
export interface ShareEngagementData {
|
|
126
|
-
/** 用户分享到对应的平台 */
|
|
127
|
-
platform: string;
|
|
128
|
-
}
|
|
129
|
-
export interface VoteEngagementData {
|
|
130
|
-
/** 用户投票选项 */
|
|
131
|
-
option_sn: string;
|
|
132
|
-
}
|
|
133
|
-
export interface WeixinSubscribeEngagementData {
|
|
134
|
-
weixin_openid: string;
|
|
135
|
-
}
|
|
136
|
-
export interface CashbackEngagementData {
|
|
137
|
-
/** 用户充值订单总金额(分) */
|
|
138
|
-
order_total_amount: `${number}` | number;
|
|
139
|
-
/** 充值返还的总金额(分) */
|
|
140
|
-
cashback_total_amount: `${number}` | number;
|
|
141
|
-
/** 充值返还的总金额所对应的游戏道具数量 */
|
|
142
|
-
game_item_count: `${number}` | number;
|
|
143
|
-
}
|
|
144
|
-
export interface GiftCodeEngagementData {
|
|
145
|
-
/** 礼包码 */
|
|
146
|
-
gift_code: string;
|
|
147
|
-
}
|
|
148
|
-
export interface TeamEngagementData {
|
|
149
|
-
/** 组队码 */
|
|
150
|
-
team_code: string;
|
|
151
|
-
/** 队伍可见性 */
|
|
152
|
-
visibility: TeamVisibility;
|
|
153
|
-
/** 队员信息 */
|
|
154
|
-
members: {
|
|
155
|
-
/** 是否为队长 */
|
|
156
|
-
is_leader: boolean;
|
|
157
|
-
/** 角色名 */
|
|
158
|
-
role_name: string;
|
|
159
|
-
/** 服务器名 */
|
|
160
|
-
server_name: string;
|
|
161
|
-
}[];
|
|
162
|
-
}
|
|
163
|
-
export interface QuestEngagementData {
|
|
164
|
-
/** 任务目标 */
|
|
165
|
-
objective: QuestObjective;
|
|
166
|
-
/** 个人任务进度值 */
|
|
167
|
-
progress: number;
|
|
168
|
-
/** 个人任务目标值 */
|
|
169
|
-
completion_value?: number;
|
|
170
|
-
/** 组队任务进度信息 */
|
|
171
|
-
team?: {
|
|
172
|
-
/** 进度值 */
|
|
173
|
-
progress: number;
|
|
174
|
-
/** 目标值 */
|
|
175
|
-
completion_value?: number;
|
|
176
|
-
/** 队伍信息 */
|
|
177
|
-
players: {
|
|
178
|
-
/** 用户 id,含当前用户 */
|
|
179
|
-
user_id: number;
|
|
180
|
-
/** 角色名 */
|
|
181
|
-
role_name: string;
|
|
182
|
-
/** 是否为队长 */
|
|
183
|
-
is_leader: boolean;
|
|
184
|
-
/** 进度值 */
|
|
185
|
-
progress?: number;
|
|
186
|
-
}[];
|
|
187
|
-
};
|
|
188
|
-
}
|
|
189
|
-
export interface LotteryDrawEngagementData {
|
|
190
|
-
tickets: ({
|
|
191
|
-
/** 抽奖券 */
|
|
192
|
-
ticket: string;
|
|
193
|
-
/** 抽奖券状态 */
|
|
194
|
-
status: LotteryTicketStatus.Unknown | LotteryTicketStatus.Pending;
|
|
195
|
-
} | {
|
|
196
|
-
/** 抽奖券 */
|
|
197
|
-
ticket: string;
|
|
198
|
-
/** 抽奖券状态 */
|
|
199
|
-
status: Exclude<LotteryTicketStatus, LotteryTicketStatus.Unknown | LotteryTicketStatus.Pending>;
|
|
200
|
-
/** 抽奖券奖励物品,status = drawn 时 reward_id = 0 */
|
|
201
|
-
reward: UserReward;
|
|
202
|
-
})[];
|
|
203
|
-
}
|
|
204
|
-
export interface UserReward {
|
|
205
|
-
/** 用户奖励记录 id */
|
|
206
|
-
reward_id: number;
|
|
207
|
-
/** 奖励道具 id */
|
|
208
|
-
reward_item_id: number;
|
|
209
|
-
/** 产生奖励的来源 */
|
|
210
|
-
reward_source: RewardSoure;
|
|
211
|
-
/** 奖励道具名称 */
|
|
212
|
-
reward_item_name: string;
|
|
213
|
-
/** 奖励道具类型 */
|
|
214
|
-
reward_item_type: GamerItemType;
|
|
215
|
-
/** 奖励道具图片地址 */
|
|
216
|
-
reward_item_icon_url: string;
|
|
217
|
-
/** 奖励道具描述 */
|
|
218
|
-
reward_item_desc?: string;
|
|
219
|
-
/** 奖励道具数量 */
|
|
220
|
-
reward_amount: number;
|
|
221
|
-
/** 奖励状态 */
|
|
222
|
-
reward_status: RewardStatusSuffix;
|
|
223
|
-
/** 活动 ID */
|
|
224
|
-
event_id: number;
|
|
225
|
-
/** 活动名称 */
|
|
226
|
-
event_name: string;
|
|
227
|
-
/** 活动玩法 ID */
|
|
228
|
-
feature_id: number;
|
|
229
|
-
/** 参与记录 ID */
|
|
230
|
-
engagement_id: number;
|
|
231
|
-
/** 玩法类型 */
|
|
232
|
-
feature_type: FeatureType;
|
|
233
|
-
/** 领奖时间 */
|
|
234
|
-
receive_time: number;
|
|
235
|
-
/** 提供额外扩展信息,比如收获地址等 */
|
|
236
|
-
extra_data?: Record<string, unknown>;
|
|
237
|
-
}
|
|
238
|
-
export type EngagementInfo = PreregisterEngagementInfo | LotteryEngagementInfo | CommentEngagementInfo | ShareEngagementInfo | VoteEngagementInfo | SubscribeEngagementInfo | TeamEngagementInfo | LotteryDrawEngagementInfo | EmptyInfo;
|
|
239
|
-
export type EmptyInfo = Record<string, never>;
|
|
240
|
-
export interface PreregisterEngagementInfo {
|
|
241
|
-
/** 用户预约平台 */
|
|
242
|
-
platforms: string[];
|
|
243
|
-
}
|
|
244
|
-
export interface LotteryEngagementInfo {
|
|
245
|
-
/** 用户抽奖次数 */
|
|
246
|
-
lottery_count: number;
|
|
247
|
-
}
|
|
248
|
-
export interface CommentEngagementInfo {
|
|
249
|
-
/** 用户发送弹幕内容 */
|
|
250
|
-
comment: string;
|
|
251
|
-
/** 用户发布弹幕的视频点 */
|
|
252
|
-
video_note?: number;
|
|
253
|
-
}
|
|
254
|
-
export interface ShareEngagementInfo {
|
|
255
|
-
/** 用户分享到对应的平台 */
|
|
256
|
-
platform: string;
|
|
257
|
-
}
|
|
258
|
-
export interface VoteEngagementInfo {
|
|
259
|
-
/** 选项的 sn */
|
|
260
|
-
option_sn: string;
|
|
261
|
-
}
|
|
262
|
-
export interface SubscribeEngagementInfo {
|
|
263
|
-
/**
|
|
264
|
-
* 小程序调用 wx.requestSubscribeMessage 并收到 success 回调后,得到的订阅结果。
|
|
265
|
-
*
|
|
266
|
-
* - key 为模版 ID
|
|
267
|
-
*
|
|
268
|
-
* - value 为订阅结果。示例 accept reject ban filter
|
|
269
|
-
*/
|
|
270
|
-
subscribe_results: Record<string, string>;
|
|
271
|
-
}
|
|
272
|
-
export type TeamEngagementInfo = {
|
|
273
|
-
/** 操作类型 */
|
|
274
|
-
action: TeamAction.ChangeVisibility;
|
|
275
|
-
/** 组队码 */
|
|
276
|
-
team_code: string;
|
|
277
|
-
/** 设置队伍的可见性 */
|
|
278
|
-
visibility: TeamVisibility;
|
|
279
|
-
} | {
|
|
280
|
-
/** 操作类型 */
|
|
281
|
-
action: TeamAction.Assemble;
|
|
282
|
-
/** 设置队伍的可见性 */
|
|
283
|
-
visibility?: TeamVisibility;
|
|
284
|
-
} | {
|
|
285
|
-
action: TeamAction.Join | TeamAction.Disband;
|
|
286
|
-
/** 组队码 */
|
|
287
|
-
team_code: string;
|
|
288
|
-
} | {
|
|
289
|
-
/** 操作类型 */
|
|
290
|
-
action: TeamAction.Query;
|
|
291
|
-
/** 组队码 */
|
|
292
|
-
team_code?: string;
|
|
293
|
-
};
|
|
294
|
-
export type LotteryDrawEngagementInfo = {
|
|
295
|
-
/** 参与抽奖券的动作类型 */
|
|
296
|
-
action: Exclude<LotteryDrawAction, LotteryDrawAction.Claim>;
|
|
297
|
-
} | {
|
|
298
|
-
/** 参与抽奖券的动作类型 */
|
|
299
|
-
action: LotteryDrawAction.Claim;
|
|
300
|
-
/** 抽奖券 */
|
|
301
|
-
ticket: string;
|
|
302
|
-
};
|
|
303
|
-
export interface EngageReward {
|
|
304
|
-
/** 用户奖励记录 id(微信红包类型奖励需要前端请求一次领奖 api) */
|
|
305
|
-
reward_id: number;
|
|
306
|
-
/** 奖励道具 id */
|
|
307
|
-
reward_item_id: number;
|
|
308
|
-
/** 奖励道具名称 */
|
|
309
|
-
reward_item_name: string;
|
|
310
|
-
/** 奖励道具类型 */
|
|
311
|
-
reward_item_type: Exclude<GamerItemType, GamerItemType.GiftCode | GamerItemType.LotteryTicket>;
|
|
312
|
-
/** 奖励道具图片地址 */
|
|
313
|
-
reward_item_icon_url: string;
|
|
314
|
-
/** 奖励道具描述 */
|
|
315
|
-
reward_item_desc?: string;
|
|
316
|
-
/** 奖励道具数量 */
|
|
317
|
-
reward_amount: number;
|
|
318
|
-
/** 奖励状态 */
|
|
319
|
-
reward_status: RewardStatusSuffix;
|
|
320
|
-
/** 产生奖励的来源 */
|
|
321
|
-
reward_source: RewardSoure;
|
|
322
|
-
/** 提供额外扩展信息,例如:礼包码的值等 */
|
|
323
|
-
extra_data?: Record<string, unknown>;
|
|
324
|
-
}
|
|
25
|
+
export declare const UserFeatureStatusValidator: import("@seayoo-web/utils").ObjectValidator<UserFeatureStatus, false, false>;
|
|
325
26
|
export interface EngageResponse {
|
|
326
27
|
/** 当前参与记录 ID */
|
|
327
28
|
engagement_id: number;
|
|
328
|
-
/** 用户玩法参与记录 */
|
|
329
|
-
engagement?:
|
|
29
|
+
/** 用户玩法参与记录(部分通用数据以兼容新旧版本数据结构) */
|
|
30
|
+
engagement?: {
|
|
31
|
+
user_id: string;
|
|
32
|
+
feature_id: number;
|
|
33
|
+
sequence: number;
|
|
34
|
+
server_id: string;
|
|
35
|
+
role_id: string;
|
|
36
|
+
/** 附带的数据,由 feature_id 的类型决定 */
|
|
37
|
+
data?: UserEngagementData;
|
|
38
|
+
};
|
|
330
39
|
/** 用户参与玩法得到的奖励 */
|
|
331
40
|
rewards?: EngageReward[];
|
|
332
41
|
/** 参与玩法后是否需要微信扫码 */
|
|
333
42
|
scan?: boolean;
|
|
334
43
|
}
|
|
44
|
+
export declare const EngageResponseValidator: import("@seayoo-web/utils").ObjectValidator<EngageResponse, false, false>;
|
|
335
45
|
export interface ClaimedItem {
|
|
336
46
|
/** 用户奖励记录 id */
|
|
337
47
|
reward_id: number;
|
|
338
48
|
/** 领取后的奖励状态 */
|
|
339
|
-
reward_status:
|
|
49
|
+
reward_status: ClaimRewardStatus;
|
|
340
50
|
}
|
|
51
|
+
export declare const ClaimedItemValidator: import("@seayoo-web/utils").ObjectValidator<ClaimedItem, false, false>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export interface CashbackEngagementData {
|
|
2
|
+
/** 用户充值订单总金额(分) */
|
|
3
|
+
order_total_amount: `${number}` | number;
|
|
4
|
+
/** 充值返还的总金额(分) */
|
|
5
|
+
cashback_total_amount: `${number}` | number;
|
|
6
|
+
/** 充值返还的总金额所对应的游戏道具数量 */
|
|
7
|
+
game_item_count: `${number}` | number;
|
|
8
|
+
}
|
|
9
|
+
export declare const CashbackEngagementDataValidator: import("@seayoo-web/utils").ObjectValidator<CashbackEngagementData, false, false>;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/** 评论玩法的参与记录 */
|
|
2
|
+
export interface CommentEngagement {
|
|
3
|
+
/** 用户世游通行证 ID */
|
|
4
|
+
user_id: string;
|
|
5
|
+
/** 用户昵称 */
|
|
6
|
+
name: string;
|
|
7
|
+
/** 用户头像地址 */
|
|
8
|
+
avatar_url: string;
|
|
9
|
+
/** 评论信息 */
|
|
10
|
+
comment: string;
|
|
11
|
+
/** 用户发布弹幕的视频点 */
|
|
12
|
+
video_note: number;
|
|
13
|
+
/** 用户发布弹幕的时间 */
|
|
14
|
+
created_at: number;
|
|
15
|
+
}
|
|
16
|
+
export declare const CommentEngagementValidator: import("@seayoo-web/utils").ObjectValidator<CommentEngagement, false, false>;
|
|
17
|
+
export interface CommentEngagementParam {
|
|
18
|
+
/** 用户发送弹幕内容 */
|
|
19
|
+
comment: string;
|
|
20
|
+
/** 用户发布弹幕的视频点 */
|
|
21
|
+
video_note?: number;
|
|
22
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export interface InviteEngagementData {
|
|
2
|
+
/** 被邀请人的世游通行证 ID */
|
|
3
|
+
user_id: string;
|
|
4
|
+
/** 被邀请人昵称 */
|
|
5
|
+
name?: string;
|
|
6
|
+
/** 被邀请人头像地址 */
|
|
7
|
+
avatar_url?: string;
|
|
8
|
+
}
|
|
9
|
+
export declare const InviteEngagementDataValidator: import("@seayoo-web/utils").ObjectValidator<InviteEngagementData, false, false>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export interface LotteryEngagementData {
|
|
2
|
+
/** 用户抽奖次数 */
|
|
3
|
+
lottery_count: number;
|
|
4
|
+
}
|
|
5
|
+
export declare const LotteryEngagementDataValidator: import("@seayoo-web/utils").ObjectValidator<LotteryEngagementData, false, false>;
|
|
6
|
+
export interface LotteryEngagementParam {
|
|
7
|
+
/** 用户抽奖次数 */
|
|
8
|
+
lottery_count: number;
|
|
9
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { type InferType } from "@seayoo-web/utils";
|
|
2
|
+
import { LotteryTicketStatus, type LotteryDrawAction } from "../event.enums";
|
|
3
|
+
import { type UserReward } from "./reward";
|
|
4
|
+
declare const noRewardStatus: import("@seayoo-web/utils").StringValidator<"unknown" | "pending", false, false>;
|
|
5
|
+
export type LotteryDrawTicket = {
|
|
6
|
+
/** 抽奖券 */
|
|
7
|
+
ticket: string;
|
|
8
|
+
/** 抽奖券状态 */
|
|
9
|
+
status: InferType<typeof noRewardStatus>;
|
|
10
|
+
} | {
|
|
11
|
+
/** 抽奖券 */
|
|
12
|
+
ticket: string;
|
|
13
|
+
/** 抽奖券状态 */
|
|
14
|
+
status: Exclude<LotteryTicketStatus, InferType<typeof noRewardStatus>>;
|
|
15
|
+
/** 抽奖券奖励物品,status = drawn 时 reward_id = 0 */
|
|
16
|
+
reward: UserReward;
|
|
17
|
+
};
|
|
18
|
+
export interface LotteryDrawEngagementData {
|
|
19
|
+
tickets: LotteryDrawTicket[];
|
|
20
|
+
}
|
|
21
|
+
export declare const LotteryDrawEngagementDataValidator: import("@seayoo-web/utils").ObjectValidator<{
|
|
22
|
+
tickets: ({
|
|
23
|
+
ticket: /*elided*/ any;
|
|
24
|
+
status: /*elided*/ any;
|
|
25
|
+
} | {
|
|
26
|
+
ticket: /*elided*/ any;
|
|
27
|
+
status: /*elided*/ any;
|
|
28
|
+
reward: /*elided*/ any;
|
|
29
|
+
})[];
|
|
30
|
+
}, false, false>;
|
|
31
|
+
export type LotteryDrawEngagementParam = {
|
|
32
|
+
/** 参与抽奖券的动作类型 */
|
|
33
|
+
action: Exclude<LotteryDrawAction, typeof LotteryDrawAction.Claim>;
|
|
34
|
+
} | {
|
|
35
|
+
/** 参与抽奖券的动作类型 */
|
|
36
|
+
action: typeof LotteryDrawAction.Claim;
|
|
37
|
+
/** 抽奖券 */
|
|
38
|
+
ticket: string;
|
|
39
|
+
};
|
|
40
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export interface PreregisterEngagementData {
|
|
2
|
+
/** 用户预约平台 */
|
|
3
|
+
platforms: string[];
|
|
4
|
+
}
|
|
5
|
+
export declare const PreregisterEngagementDataValidator: import("@seayoo-web/utils").ObjectValidator<{
|
|
6
|
+
platforms: string[];
|
|
7
|
+
}, false, false>;
|
|
8
|
+
export interface PreregisterEngagementParam {
|
|
9
|
+
/** 用户预约平台 */
|
|
10
|
+
platforms: string[];
|
|
11
|
+
}
|