@seayoo-web/gamer
v0.1.1
Published
seayoo gamer frontend sdk
Downloads
1
Readme
Gamer SDK
gamer 中的接口封装, 提高开发效率
方法列表
// 初始化接口地址和 eventId
export declare function initGamer(baseURL: string, eventId: number): void;
// 调用loginWithToken后, 所有 request 请求会自动增加 Authorization: Bearer xxx 的请求头
export declare function loginWithToken(id_token: string): Promise<{
gamer_token: string;
}>;
// 获取预约人数
export declare function engagementCount(type: string, feature_id: number): Promise<{
count: number;
}>;
// 获取预约状态
export declare function userEngagements(feature_id: number, page: number, page_size: number): Promise<{
data: {
count: number;
} | null;
status: number;
ok: boolean;
}>;
// 访问某个玩法
export declare function visit(feature_id: number, utm_source?: string, invited_by?: string): Promise<{
ok: boolean;
status: number;
}>;
// 预约
export declare function engage(feature_id: number, platforms: string[]): Promise<{
ok: boolean;
status: number;
}>;
示例
import {initGamer, engagementCount, loginWithToken} from '@seayoo-web/gamer';
initGamer("https://xx.com/v1/", 6);
const feature_id = 28;
async function handleLogin() {
// 判断是否有登录态
try {
// sso 统一登录
const res = (await login(endpoint)) || "";
// 判断是否是字符串
if (res) {
if (typeof res === "string") {
// 获取长久token
const data = await loginWithToken(res);
if (data) {
handleVisit();
const data = await engagementCount("user", feature_id);
if (data) {
count.value = data.count;
}
}
} else {
console.error("登录失败,请重新登录");
}
}
} catch (error) {
console.error("网络错误,请稍后重试");
}
}
// 预约之前要先访问 visit
async function handleVisit() {
const { ok, status } = await visit(feature_id);
}
async function handleEngage() {
// feature_id = xxx
const { ok, status } = await engage(feature_id, ["Android"]);
if (ok) {
emit("success");
}
}