@seayoo-web/gamer-api 2.14.5 → 2.15.1
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 +392 -338
- package/package.json +2 -2
- package/types/src/event.config/feature.d.ts +4 -2
- package/types/src/event.config/feature.redeem.d.ts +24 -0
- package/types/src/event.d.ts +9 -0
- package/types/src/event.engage/engage.d.ts +4 -2
- package/types/src/event.engage/engage.redeem.d.ts +25 -0
- package/types/src/event.engage/index.d.ts +4 -4
- package/types/src/event.enums.d.ts +8 -2
- package/types/src/event.guards.d.ts +1 -0
- package/types/src/utils.d.ts +1 -1
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
|
+
"version": "2.15.1",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"source": "index.ts",
|
|
7
7
|
"main": "./dist/index.js",
|
|
@@ -30,9 +30,9 @@
|
|
|
30
30
|
"license": "MIT",
|
|
31
31
|
"devDependencies": {
|
|
32
32
|
"@types/node": "^22.13.1",
|
|
33
|
-
"@seayoo-web/combo-webview": "2.8.0",
|
|
34
33
|
"@seayoo-web/scripts": "3.1.6",
|
|
35
34
|
"@seayoo-web/request": "3.4.2",
|
|
35
|
+
"@seayoo-web/combo-webview": "2.8.0",
|
|
36
36
|
"@seayoo-web/tsconfig": "1.0.5",
|
|
37
37
|
"@seayoo-web/utils": "4.1.3",
|
|
38
38
|
"@seayoo-web/validator": "2.0.0"
|
|
@@ -11,6 +11,7 @@ import type { EventFeatureConfigOfLottery } from "./feature.lottery";
|
|
|
11
11
|
import type { EventFeatureConfigOfLotteryDraw } from "./feature.lotteryDraw";
|
|
12
12
|
import type { EventFeatureConfigOfPreregister } from "./feature.preregister";
|
|
13
13
|
import type { EventFeatureConfigOfQuest } from "./feature.quest";
|
|
14
|
+
import type { EventFeatureConfigOfRedeem } from "./feature.redeem";
|
|
14
15
|
import type { EventFeatureConfigOfRegister } from "./feature.register";
|
|
15
16
|
import type { EventFeatureConfigOfShare } from "./feature.share";
|
|
16
17
|
import type { EventFeatureConfigOfSubscribe } from "./feature.subscribe";
|
|
@@ -43,5 +44,6 @@ export * from "./feature.vote2";
|
|
|
43
44
|
export * from "./feature.claimActivationKey";
|
|
44
45
|
export * from "./feature.ugc";
|
|
45
46
|
export * from "./feature.ugcLike";
|
|
46
|
-
export
|
|
47
|
-
export
|
|
47
|
+
export * from "./feature.redeem";
|
|
48
|
+
export type EventFeatureConfig = EventFeatureConfigOfCashback | EventFeatureConfigOfCheckIn | EventFeatureConfigOfClaimRewards | EventFeatureConfigOfComment | EventFeatureConfigOfFollow | EventFeatureConfigOfGiftCode | EventFeatureConfigOfInvite | EventFeatureConfigOfInvitedRegister | EventFeatureConfigOfLottery | EventFeatureConfigOfLotteryDraw | EventFeatureConfigOfPreregister | EventFeatureConfigOfQuest | EventFeatureConfigOfRegister | EventFeatureConfigOfShare | EventFeatureConfigOfSubscribe | EventFeatureConfigOfSurvey | EventFeatureConfigOfTeam | EventFeatureConfigOfVote | EventFeatureConfigOfVote2 | EventFeatureConfigOfClaimActivationKey | EventFeatureConfigOfZeroChatgpt | EventFeatureConfigOfUgc | EventFeatureConfigOfUgcLike | EventFeatureConfigOfRedeem;
|
|
49
|
+
export declare const EventFeatureConfigValidator: import("@seayoo-web/validator").UnionValidator<[import("@seayoo-web/validator").ObjectValidator<EventFeatureConfigOfCashback, false, false>, import("@seayoo-web/validator").ObjectValidator<EventFeatureConfigOfCheckIn, false, false>, import("@seayoo-web/validator").ObjectValidator<EventFeatureConfigOfClaimRewards, false, false>, import("@seayoo-web/validator").ObjectValidator<EventFeatureConfigOfComment, false, false>, import("@seayoo-web/validator").ObjectValidator<EventFeatureConfigOfFollow, false, false>, import("@seayoo-web/validator").ObjectValidator<EventFeatureConfigOfGiftCode, false, false>, import("@seayoo-web/validator").ObjectValidator<EventFeatureConfigOfInvite, false, false>, import("@seayoo-web/validator").ObjectValidator<EventFeatureConfigOfInvitedRegister, false, false>, import("@seayoo-web/validator").ObjectValidator<EventFeatureConfigOfLottery, false, false>, import("@seayoo-web/validator").ObjectValidator<EventFeatureConfigOfLotteryDraw, false, false>, import("@seayoo-web/validator").ObjectValidator<EventFeatureConfigOfPreregister, false, false>, import("@seayoo-web/validator").ObjectValidator<EventFeatureConfigOfQuest, false, false>, import("@seayoo-web/validator").ObjectValidator<EventFeatureConfigOfRegister, false, false>, import("@seayoo-web/validator").ObjectValidator<EventFeatureConfigOfShare, false, false>, import("@seayoo-web/validator").ObjectValidator<EventFeatureConfigOfSubscribe, false, false>, import("@seayoo-web/validator").ObjectValidator<EventFeatureConfigOfSurvey, false, false>, import("@seayoo-web/validator").ObjectValidator<EventFeatureConfigOfTeam, false, false>, import("@seayoo-web/validator").ObjectValidator<EventFeatureConfigOfVote, false, false>, import("@seayoo-web/validator").ObjectValidator<EventFeatureConfigOfVote2, false, false>, import("@seayoo-web/validator").ObjectValidator<EventFeatureConfigOfClaimActivationKey, false, false>, import("@seayoo-web/validator").ObjectValidator<EventFeatureConfigOfZeroChatgpt, false, false>, import("@seayoo-web/validator").ObjectValidator<EventFeatureConfigOfUgc, false, false>, import("@seayoo-web/validator").ObjectValidator<EventFeatureConfigOfUgcLike, false, false>, import("@seayoo-web/validator").ObjectValidator<EventFeatureConfigOfRedeem, false, false>], false, false>;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { EventFeatureBaseConfig } from "./feature.base";
|
|
2
|
+
import type { EventRewardItemConfig } from "./reward";
|
|
3
|
+
declare const featureType: "redeem";
|
|
4
|
+
export interface FeatureRedeemItemConfig {
|
|
5
|
+
/** 价格,即消耗多少个兑换道具 */
|
|
6
|
+
price: number;
|
|
7
|
+
/** 每个用户可兑换的最大数量 */
|
|
8
|
+
per_user_limit: number;
|
|
9
|
+
/** 道具 */
|
|
10
|
+
item: EventRewardItemConfig;
|
|
11
|
+
}
|
|
12
|
+
export declare const FeatureRedeemItemConfigValidator: import("@seayoo-web/validator").ObjectValidator<FeatureRedeemItemConfig, false, false>;
|
|
13
|
+
export interface FeatureRedeemConfig {
|
|
14
|
+
/** 兑换消耗道具 id */
|
|
15
|
+
event_item_id: number;
|
|
16
|
+
/** 兑换列表 */
|
|
17
|
+
redeem_catalog: FeatureRedeemItemConfig[];
|
|
18
|
+
}
|
|
19
|
+
export type EventFeatureConfigOfRedeem = EventFeatureBaseConfig & {
|
|
20
|
+
feature_type: typeof featureType;
|
|
21
|
+
config: FeatureRedeemConfig;
|
|
22
|
+
};
|
|
23
|
+
export declare const EventFeatureConfigOfRedeemValidator: import("@seayoo-web/validator").ObjectValidator<EventFeatureConfigOfRedeem, false, false>;
|
|
24
|
+
export {};
|
package/types/src/event.d.ts
CHANGED
|
@@ -432,4 +432,13 @@ export declare class EventApi {
|
|
|
432
432
|
message: string;
|
|
433
433
|
error: RequestInternalError | "event_not_found" | "feature_not_found";
|
|
434
434
|
} | null>;
|
|
435
|
+
/**
|
|
436
|
+
* 查询兑换玩法的物品剩余库存(含用户可兑换数量)
|
|
437
|
+
*
|
|
438
|
+
* https://www.kdocs.cn/l/ckWFDcOsYEUA?linkname=gOqT9svLF7
|
|
439
|
+
*/
|
|
440
|
+
getRedeemItemStocks(featureId: number, requestOptions?: IRequestOptions): Promise<import("./event.engage").RedeemStocksResponse | {
|
|
441
|
+
message: string;
|
|
442
|
+
error: RequestInternalError | "event_not_found" | "feature_not_found";
|
|
443
|
+
} | null>;
|
|
435
444
|
}
|
|
@@ -6,6 +6,7 @@ import type { LotteryEngagementData } from "./engage.lottery";
|
|
|
6
6
|
import type { LotteryDrawEngagementData } from "./engage.lotteryDraw";
|
|
7
7
|
import type { PreregisterEngagementData } from "./engage.preregister";
|
|
8
8
|
import type { QuestEngagementData } from "./engage.quest";
|
|
9
|
+
import type { RedeemEngagementData } from "./engage.redeem";
|
|
9
10
|
import type { ShareEngagementData } from "./engage.share";
|
|
10
11
|
import type { WeixinSubscribeEngagementData } from "./engage.subscribe";
|
|
11
12
|
import type { SurveyEngagementData } from "./engage.survey";
|
|
@@ -32,8 +33,9 @@ export * from "./engage.claimActivationKey";
|
|
|
32
33
|
export * from "./engage.zeroChatGPT";
|
|
33
34
|
export * from "./engage.ugc";
|
|
34
35
|
export * from "./engage.ugcLike";
|
|
36
|
+
export * from "./engage.redeem";
|
|
35
37
|
export type EmptyObject = Record<string | number | symbol, never>;
|
|
36
|
-
export type UserEngagementData = PreregisterEngagementData | LotteryEngagementData | SurveyEngagementData | InviteEngagementData | ShareEngagementData | VoteEngagementData | Vote2EngagementData | WeixinSubscribeEngagementData | CashbackEngagementData | GiftCodeEngagementData | TeamEngagementData | QuestEngagementData | LotteryDrawEngagementData | ClaimActivationKeyEngagementData | ZeroChatGPTData | UgcEngagementData | EmptyObject;
|
|
38
|
+
export type UserEngagementData = PreregisterEngagementData | LotteryEngagementData | SurveyEngagementData | InviteEngagementData | ShareEngagementData | VoteEngagementData | Vote2EngagementData | WeixinSubscribeEngagementData | CashbackEngagementData | GiftCodeEngagementData | TeamEngagementData | QuestEngagementData | LotteryDrawEngagementData | ClaimActivationKeyEngagementData | ZeroChatGPTData | UgcEngagementData | RedeemEngagementData | EmptyObject;
|
|
37
39
|
export declare const UserEngagementDataValidator: import("@seayoo-web/validator").UnionValidator<[import("@seayoo-web/validator").ObjectValidator<{
|
|
38
40
|
platforms: string[];
|
|
39
41
|
}, false, false>, import("@seayoo-web/validator").ObjectValidator<LotteryEngagementData, false, false>, import("@seayoo-web/validator").ObjectValidator<{
|
|
@@ -52,7 +54,7 @@ export declare const UserEngagementDataValidator: import("@seayoo-web/validator"
|
|
|
52
54
|
role: /*elided*/ any;
|
|
53
55
|
content: /*elided*/ any;
|
|
54
56
|
}[];
|
|
55
|
-
}, false, false>, import("@seayoo-web/validator").ObjectValidator<UgcEngagementData, false, false>, import("@seayoo-web/validator").CustomValidator<EmptyObject, false, false>], false, false> & {
|
|
57
|
+
}, false, false>, import("@seayoo-web/validator").ObjectValidator<UgcEngagementData, false, false>, import("@seayoo-web/validator").ObjectValidator<RedeemEngagementData, false, false>, import("@seayoo-web/validator").CustomValidator<EmptyObject, false, false>], false, false> & {
|
|
56
58
|
desc: never;
|
|
57
59
|
optional: never;
|
|
58
60
|
maybeNull: never;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export interface RedeemEngagementData {
|
|
2
|
+
item_id: number;
|
|
3
|
+
item_count: number;
|
|
4
|
+
redeem_count: number;
|
|
5
|
+
}
|
|
6
|
+
export declare const RedeemEngagementDataValidator: import("@seayoo-web/validator").ObjectValidator<RedeemEngagementData, false, false>;
|
|
7
|
+
export interface RedeemEngagementParam {
|
|
8
|
+
/** 道具 id */
|
|
9
|
+
item_id: number;
|
|
10
|
+
/** 兑换的数量 */
|
|
11
|
+
redeem_count: number;
|
|
12
|
+
}
|
|
13
|
+
export type RedeemEngagementError = "item_stock_not_enough";
|
|
14
|
+
export interface RedeemStock {
|
|
15
|
+
/** 道具 ID */
|
|
16
|
+
item_id: number;
|
|
17
|
+
/** 剩余库存 */
|
|
18
|
+
item_stock: number;
|
|
19
|
+
/** 用户剩余可兑换次数 */
|
|
20
|
+
user_limit: number;
|
|
21
|
+
}
|
|
22
|
+
export interface RedeemStocksResponse {
|
|
23
|
+
item_stocks: Array<RedeemStock>;
|
|
24
|
+
}
|
|
25
|
+
export declare const RedeemStocksResponseValidator: import("@seayoo-web/validator").ObjectValidator<RedeemStocksResponse, false, false>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { UserEngagementData, CommentEngagementParam, PreregisterEngagementParam, LotteryEngagementParam, LotteryDrawEngagementParam, ShareEngagementParam, SubscribeEngagementParam, TeamEngagementParam, VoteEngagementParam, Vote2EngagementParam, UgcEngagementParam, UgcLikeEngagementParam, Vote2EngagementError, LotteryEngagementError, ClaimActivationKeyEngagementError, LotteryDrawEngagementError, TeamEngagementError, GiftCodeEngagementError } from "./engage";
|
|
1
|
+
import type { UserEngagementData, CommentEngagementParam, PreregisterEngagementParam, LotteryEngagementParam, LotteryDrawEngagementParam, ShareEngagementParam, SubscribeEngagementParam, TeamEngagementParam, VoteEngagementParam, Vote2EngagementParam, UgcEngagementParam, UgcLikeEngagementParam, Vote2EngagementError, LotteryEngagementError, ClaimActivationKeyEngagementError, LotteryDrawEngagementError, TeamEngagementError, GiftCodeEngagementError, RedeemEngagementParam, RedeemEngagementError } from "./engage";
|
|
2
2
|
import type { Reward } from "./reward";
|
|
3
3
|
import type { FeatureType } from "../event.enums";
|
|
4
4
|
import type { ZeroChatGPTEngagementParam } from "./engage.zeroChatGPT";
|
|
@@ -38,10 +38,10 @@ export type EngagementFeatureType = FeatureType | unknown;
|
|
|
38
38
|
/**
|
|
39
39
|
* 根据玩法类型推导需要提交的参数数据类型
|
|
40
40
|
*/
|
|
41
|
-
export type InferEngagementParam<T extends EngagementFeatureType> = [T] extends ["preregister"] ? PreregisterEngagementParam : [T] extends ["lottery"] ? LotteryEngagementParam : [T] extends ["comment"] ? CommentEngagementParam : [T] extends ["share"] ? ShareEngagementParam : [T] extends ["vote"] ? VoteEngagementParam : [T] extends ["vote2"] ? Vote2EngagementParam : [T] extends ["weixin_subscribe"] ? SubscribeEngagementParam : [T] extends ["team"] ? TeamEngagementParam : [T] extends ["lottery_draw"] ? LotteryDrawEngagementParam : [T] extends ["zero_chatgpt"] ? ZeroChatGPTEngagementParam : [T] extends ["ugc"] ? UgcEngagementParam : [T] extends ["ugc_like"] ? UgcLikeEngagementParam : EngagementParam;
|
|
41
|
+
export type InferEngagementParam<T extends EngagementFeatureType> = [T] extends ["preregister"] ? PreregisterEngagementParam : [T] extends ["lottery"] ? LotteryEngagementParam : [T] extends ["comment"] ? CommentEngagementParam : [T] extends ["share"] ? ShareEngagementParam : [T] extends ["vote"] ? VoteEngagementParam : [T] extends ["vote2"] ? Vote2EngagementParam : [T] extends ["weixin_subscribe"] ? SubscribeEngagementParam : [T] extends ["team"] ? TeamEngagementParam : [T] extends ["lottery_draw"] ? LotteryDrawEngagementParam : [T] extends ["zero_chatgpt"] ? ZeroChatGPTEngagementParam : [T] extends ["ugc"] ? UgcEngagementParam : [T] extends ["ugc_like"] ? UgcLikeEngagementParam : [T] extends ["redeem"] ? RedeemEngagementParam : EngagementParam;
|
|
42
42
|
export type EngagementCommonError = "invalid_token" | "event_not_found" | "feature_not_found" | "visit_record_not_found" | "event_not_started" | "event_already_ended" | "engage_feature_reached_limit" | "invalid_merchant_parameter" | "budget_not_enough" | "combo_id_not_found";
|
|
43
|
-
export type EngagementError = EngagementCommonError | TeamEngagementError | Vote2EngagementError | ClaimActivationKeyEngagementError | LotteryDrawEngagementError | LotteryEngagementError | GiftCodeEngagementError;
|
|
43
|
+
export type EngagementError = EngagementCommonError | TeamEngagementError | Vote2EngagementError | ClaimActivationKeyEngagementError | LotteryDrawEngagementError | LotteryEngagementError | GiftCodeEngagementError | RedeemEngagementError;
|
|
44
44
|
/**
|
|
45
45
|
* 根据玩法类型推导额外的错误字段
|
|
46
46
|
*/
|
|
47
|
-
export type InferEngagementError<T extends EngagementFeatureType> = ([T] extends ["vote2"] ? Vote2EngagementError : [T] extends ["claim_activation_key"] ? ClaimActivationKeyEngagementError : [T] extends ["lottery"] ? LotteryEngagementError : [T] extends ["lottery_draw"] ? LotteryDrawEngagementError : [T] extends ["team"] ? TeamEngagementError : [T] extends ["gift_code"] ? GiftCodeEngagementError : EngagementError) | EngagementCommonError;
|
|
47
|
+
export type InferEngagementError<T extends EngagementFeatureType> = ([T] extends ["vote2"] ? Vote2EngagementError : [T] extends ["claim_activation_key"] ? ClaimActivationKeyEngagementError : [T] extends ["lottery"] ? LotteryEngagementError : [T] extends ["lottery_draw"] ? LotteryDrawEngagementError : [T] extends ["team"] ? TeamEngagementError : [T] extends ["gift_code"] ? GiftCodeEngagementError : [T] extends ["redeem"] ? RedeemEngagementError : EngagementError) | EngagementCommonError;
|
|
@@ -158,6 +158,8 @@ export declare const FeatureType: {
|
|
|
158
158
|
readonly Ugc: "ugc";
|
|
159
159
|
/** 投稿点赞 */
|
|
160
160
|
readonly UgcLike: "ugc_like";
|
|
161
|
+
/** 兑换 */
|
|
162
|
+
readonly Redeem: "redeem";
|
|
161
163
|
};
|
|
162
164
|
export type FeatureType = ValueOf<typeof FeatureType>;
|
|
163
165
|
export declare const FeatureTypeValidator: import("@seayoo-web/validator").StringValidator<FeatureType, false, false> & {
|
|
@@ -193,8 +195,12 @@ export declare const QuestObjective: {
|
|
|
193
195
|
readonly PlayerLevel: "player_level";
|
|
194
196
|
/** 活动道具累计获取 */
|
|
195
197
|
readonly EventItems: "event_items";
|
|
196
|
-
|
|
198
|
+
/** 游戏内任务 */
|
|
197
199
|
readonly GameTask: "game_task";
|
|
200
|
+
/** 游戏内充值金额 */
|
|
201
|
+
readonly OrderAmountInApp: "order_in_app_total_amount";
|
|
202
|
+
/** 支付中心充值金额 */
|
|
203
|
+
readonly OrderAmountInPayCenter: "order_seayoo_web_total_amount";
|
|
198
204
|
};
|
|
199
205
|
export type QuestObjective = ValueOf<typeof QuestObjective>;
|
|
200
206
|
export declare const QuestObjectiveValidator: import("@seayoo-web/validator").StringValidator<QuestObjective, false, false> & {
|
|
@@ -282,7 +288,7 @@ export declare const RewardStatusSuffixValidator: import("@seayoo-web/validator"
|
|
|
282
288
|
lock: never;
|
|
283
289
|
};
|
|
284
290
|
/**
|
|
285
|
-
*
|
|
291
|
+
* 奖励状态
|
|
286
292
|
*/
|
|
287
293
|
export declare const ClaimRewardStatus: {
|
|
288
294
|
/** 未获得奖励 */
|
|
@@ -61,3 +61,4 @@ export declare const isUgcUploadImageResponse: (data: unknown) => data is {
|
|
|
61
61
|
image_url: string;
|
|
62
62
|
};
|
|
63
63
|
export declare const isUgcLeaderboardResponse: (data: unknown) => data is import("./event.engage").UgcLeaderboardResponse;
|
|
64
|
+
export declare const isRedeemItemStockResponse: (data: unknown) => data is import("./event.engage").RedeemStocksResponse;
|
package/types/src/utils.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const console: Pick<Console, "
|
|
1
|
+
export declare const console: Pick<Console, "log" | "error" | "warn">;
|
|
2
2
|
/** 检测是否在 combo webview */
|
|
3
3
|
export declare function inComboWebview(): boolean;
|
|
4
4
|
export declare function isRootEndpoint(path: string): boolean;
|