Files
NapCatQQ/packages/napcat-core/packet/utils/helper/miniAppHelper.ts
T
TanTan f954252a34
Build NapCat Artifacts / Type Check & Test (push) Waiting to run
Release Tag / validate-version (push) Waiting to run
NapCatQQ source snapshot
2026-11-13 09:01:47 +08:00

95 lines
2.4 KiB
TypeScript

import {
MiniAppData,
MiniAppReqParams,
MiniAppRawData,
MiniAppReqCustomParams,
MiniAppReqTemplateParams,
} from '@/napcat-core/packet/entities/miniApp';
type MiniAppTemplateNameList = 'bili' | 'weibo';
export abstract class MiniAppInfo {
static readonly sdkId: string = 'V1_PC_MINISDK_99.99.99_1_APP_A';
template: MiniAppReqTemplateParams;
private static readonly appMap = new Map<MiniAppTemplateNameList, MiniAppInfo>();
protected constructor (template: MiniAppReqTemplateParams) {
this.template = template;
}
static get (name: MiniAppTemplateNameList): MiniAppInfo | undefined {
return this.appMap.get(name);
}
static readonly 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 readonly 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,
};
}
}