import request from '../../utils/request'; export const TYPES_BUNDLEID = { alipay: 'com.alipay.alipaywallet', ampe: 'com.alibaba.hardware.app', amap: 'com.amap.app', genie: 'com.alibaba.ailabs.genie.webapps', alios: 'com.alibaba.alicar.webapps', alipayiot: 'com.alipay.iot.xpaas', uc: 'com.uc.app', quark: 'com.quark.browser', health: 'com.alibaba.health', koubei: 'com.koubei.mobile.KoubeiClient', taobao: 'com.taobao.app', cainiao: 'com.cainiao.wireless', alihealth: 'com.alihealth.manager', OTT_CIBN: 'com.cibn.tv', OTT_TAITAN: 'com.youku.taitan.tv', }; // export const CLIENT_TYPES = [ // 'alipay', // 'amap', // 'ampe', // 'com.uc.app', // 'com.quark.browser', // 'com.alibaba.health', // 'com.koubei.mobile.KoubeiClient', // ] as const; export interface MiniUploadVersion { /** * 小程序appId */ appId: string; /** * 多端支持 */ clientType?: keyof typeof TYPES_BUNDLEID; } // 获取最近上传的版本号 export async function getUploadVersion(options: MiniUploadVersion): Promise { const { appId, clientType = 'alipay' } = options; let { lastVersion } = await request({ method: 'GET', host: 'ide', path: '/cli/miniapp/appUploadDetail.json', needSign: true, data: { appId, clientType, clientId: TYPES_BUNDLEID[clientType], }, }); if (!lastVersion) { lastVersion = '0.0.0'; } return lastVersion; } export function autoAddVersion(version: string): string { return version.replace(/\.(\d+)$/, function ($0, $1) { const nextVersion = parseInt($1, 10) + 1; return `.${nextVersion}`; }); }