import { MiniAppData, MiniAppReqParams, MiniAppRawData, MiniAppReqCustomParams, MiniAppReqTemplateParams } from "@/core/packet/entities/miniApp"; type MiniAppTemplateNameList = "bili" | "weibo"; export abstract class MiniAppInfo { static sdkId: string = "V1_PC_MINISDK_99.99.99_1_APP_A"; template: MiniAppReqTemplateParams; private static appMap = new Map(); protected constructor(template: MiniAppReqTemplateParams) { this.template = template; } static get(name: MiniAppTemplateNameList): MiniAppInfo | undefined { return this.appMap.get(name); } static Bili = new class extends MiniAppInfo { constructor() { super({ sdkId: MiniAppInfo.sdkId, appId: "1109937557", scene: 1, templateType: 1, businessType: 0, verType: 3, shareType: 0, versionId: "cfc5f7b05b44b5956502edaecf9d2240", withShareTicket: 0, iconUrl: "https://miniapp.gtimg.cn/public/appicon/51f90239b78a2e4994c11215f4c4ba15_200.jpg" }); MiniAppInfo.appMap.set("bili", this); } }; static WeiBo = new class extends MiniAppInfo { constructor() { super({ sdkId: MiniAppInfo.sdkId, appId: "1109224783", scene: 1, templateType: 1, businessType: 0, verType: 3, shareType: 0, versionId: "e482a3cc4e574d9b772e96ba6eec9ba2", withShareTicket: 0, iconUrl: "https://miniapp.gtimg.cn/public/appicon/35bbb44dc68e65194cfacfb206b8f1f7_200.jpg" }); MiniAppInfo.appMap.set("weibo", this); } }; } export class MiniAppInfoHelper { static generateReq(custom: MiniAppReqCustomParams, template: MiniAppReqTemplateParams): MiniAppReqParams { return { ...custom, ...template }; } static RawToSend(rawData: MiniAppRawData): MiniAppData { return { ver: rawData.ver, prompt: rawData.prompt, config: rawData.config, app: rawData.appName, view: rawData.appView, meta: rawData.metaData, miniappShareOrigin: 3, miniappOpenRefer: "10002", }; } static SendToRaw(data: MiniAppData): MiniAppRawData { return { appName: data.app, appView: data.view, ver: data.ver, desc: data.meta.detail_1.desc, prompt: data.prompt, metaData: data.meta, config: data.config, }; } }