| | |
| | | } |
| | | |
| | | async function getCurrentVersion(logPrefix) { |
| | | let currentVersion = config?.appInfo?.version || "1.0.0"; |
| | | let currentVersion = (config && config.appInfo && config.appInfo.version) || "1.0.0"; |
| | | console.log(`${logPrefix} 开始获取当前版本,默认值:`, currentVersion); |
| | | // #ifdef MP-WEIXIN |
| | | try { |
| | | const accountInfo = uni.getAccountInfoSync(); |
| | | if (accountInfo?.miniProgram?.version) { |
| | | if (accountInfo && accountInfo.miniProgram && accountInfo.miniProgram.version) { |
| | | currentVersion = accountInfo.miniProgram.version; |
| | | console.log(`${logPrefix} 当前环境=MP-WEIXIN,版本=`, currentVersion); |
| | | return currentVersion; |
| | |
| | | // APP-PLUS 下,plus.runtime.version 不是业务版本号(经常是运行时/SDK版本), |
| | | // 这里改用 getProperty 取系统层面的 app version。 |
| | | // @ts-ignore |
| | | if (plus?.runtime?.getProperty) { |
| | | if (plus && plus.runtime && plus.runtime.getProperty) { |
| | | // @ts-ignore |
| | | const appid = plus.runtime.appid; |
| | | const appInfo = await new Promise((resolve) => { |
| | | // @ts-ignore |
| | | plus.runtime.getProperty(appid, (info) => resolve(info || {})); |
| | | }); |
| | | const v = appInfo?.version || appInfo?.versionName || appInfo?.appVersion || ""; |
| | | const v = (appInfo && appInfo.version) || (appInfo && appInfo.versionName) || (appInfo && appInfo.appVersion) || ""; |
| | | if (v) { |
| | | currentVersion = String(v); |
| | | console.log(`${logPrefix} 当前环境=APP-PLUS,版本=`, currentVersion); |
| | |
| | | }, |
| | | (err) => { |
| | | console.log(`${logPrefix} 安装失败:`, err); |
| | | uni.showToast({ title: err?.message || "安装更新包失败", icon: "none" }); |
| | | uni.showToast({ title: (err && err.message) || "安装更新包失败", icon: "none" }); |
| | | } |
| | | ); |
| | | // #endif |
| | |
| | | if (!u) return ""; |
| | | // 已经是绝对地址,直接返回 |
| | | if (/^https?:\/\//i.test(u)) return u; |
| | | const base = String(config?.fileUrl || config?.baseUrl || "").replace(/\/+$/, ""); |
| | | const base = String((config && config.fileUrl) || (config && config.baseUrl) || "").replace(/\/+$/, ""); |
| | | const path = u.startsWith("/") ? u : `/${u}`; |
| | | return `${base}${path}`; |
| | | } |