From a1caee64f75b404ef5c85437b6684bfa602f7ed7 Mon Sep 17 00:00:00 2001 From: xuan <1359774872@qq.com> Date: Sat, 31 Oct 2026 20:45:22 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E7=99=BB=E5=BD=95=E9=A1=B5=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E6=89=8B=E5=8A=A8=E6=A3=80=E6=9F=A5=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/sys/login/index.vue | 60 ++++++++++++++++++++++++----------- 1 file changed, 41 insertions(+), 19 deletions(-) diff --git a/src/pages/sys/login/index.vue b/src/pages/sys/login/index.vue index 9663b8b..6f3440a 100644 --- a/src/pages/sys/login/index.vue +++ b/src/pages/sys/login/index.vue @@ -111,6 +111,7 @@ 版本: {{ appVersion }} ({{ envName }}) + {{ checkingUpgrade ? '检查中...' : '检查更新' }} @@ -137,6 +138,7 @@ export default { password: "" }, showApiUrlPicker: false, + checkingUpgrade: false, // 登录默认正式环境,本地已选过的地址仍会在 onShow 里恢复 selectedApiUrl: (config.devApiUrlOptions.find(item => item.label === '正式环境') || {}).value || config.productionApiUrl, customApiUrl: 'http://192.168.1.66:50002/hcscm/pda/v1', @@ -400,45 +402,55 @@ export default { qqLogin() { this.$u.toast('QQ 登录'); }, - // 自动检查版本更新 + // 自动检查版本更新(有新版本才弹窗,已是最新不提示) autoCheckUpgrade() { - console.log('autoCheckUpgrade 开始执行'); + this.runUpgradeCheck({ silentWhenLatest: true }); + }, + // 手动检查版本更新 + checkUpgrade() { + if (this.checkingUpgrade) return; + // #ifndef APP-PLUS + this.$u.toast('小程序端或H5端已是最新版,无需检查更新!'); + // #endif + // #ifdef APP-PLUS + this.runUpgradeCheck({ silentWhenLatest: false }); + // #endif + }, + runUpgradeCheck({ silentWhenLatest }) { const self = this; - - app_upgrade(async (versionCode) => { - console.log('app_upgrade 回调被执行, versionCode:', versionCode); + this.checkingUpgrade = true; + app_upgrade(async () => { try { - // 获取应用信息 const appInfo = await new Promise((resolve) => { plus.runtime.getProperty(plus.runtime.appid, (inf) => { resolve(inf); }); }); - console.log('appInfo:', appInfo); - const res = await self.$u.api.upgradeCheck({ app_name: config.upgradeName, current_version: appInfo.version }); - - console.log('自动检查版本更新结果:', res); - if (!res || !res.download_url) { - // 当前已是最新版本,不提示 - console.log('当前已是最新版本'); + if (!silentWhenLatest) { + self.$u.toast('当前版本已是最新版'); + } return { status: 0 }; } - return { changelog: res.message + ',最新版本:' + res.latest_version, - status: res.need_update ? 1 : 0, // 0 无新版本 | 1 有新版本 - path: res.download_url // 新apk地址 + status: res.need_update ? 1 : 0, + path: res.download_url }; } catch (error) { console.log('检查版本更新失败:', error); + if (!silentWhenLatest) { + self.$u.toast('检查更新失败,请稍后重试'); + } return { status: 0 }; + } finally { + self.checkingUpgrade = false; } - }, 1); // 使用 type=1 强制检查,跳过时间戳检查 + }, 1); }, handleBlurInputUrl(e) { @@ -587,18 +599,28 @@ export default { justify-content: center; align-items: center; flex-wrap: wrap; + padding: 0 24rpx 20rpx; } .version-text { - font-size: 24rpx; + font-size: 32rpx; color: #999999; } .env-text { - font-size: 24rpx; + font-size: 32rpx; color: #5473e8; margin-left: 10rpx; } + +.check-upgrade-btn { + font-size: 34rpx; + color: #5473e8; + margin-left: 24rpx; + padding: 16rpx 8rpx; + min-height: 64rpx; + line-height: 64rpx; +}