From eef4e5b72d639d84668cd567165c0fa02e805fd1 Mon Sep 17 00:00:00 2001 From: duxingchen Date: Tue, 15 Sep 2026 15:51:38 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20OTA=20=E7=83=AD=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E6=8A=BD=E7=A6=BB=E4=B8=BA=E5=85=AC=E5=85=B1=E6=A8=A1=E5=9D=97?= =?UTF-8?q?=20utils/ota.js?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 原先 checkUpdate / parseVersionCode / downloadAndInstall / downloadWgt / installWgt / otaFailed 整个长在 App.vue 的 methods 里,个人中心「设置 → 检查更新」想手动触发一次根本做不到。抽到 utils/ota.js 后两处共用同一份 实现,改版本比对规则或下载策略只需改一处。 - 节流状态从 this._lastUpdateCheck 改为模块级单例 - 新增 checkAppUpdate({ manual }),manual 模式跳过节流、显示「检查中」、 并在「已是最新 / 检查失败」时给出明确反馈 —— 用户主动点的按钮必须有回音, 自动检查才静默收场 - App.vue 的 onLaunch/onShow 改为调用同一函数,自动模式行为不变 同时 App.vue 的全局样式新增 .success-badge-wrapper / .success-badge (上传成功绿勾角标,供各页面图片列表复用): - 直角三角形用 border-top(实色) + border-left(透明),直角落在右上; 写成 border-top + border-right 会得到左上角的三角,方向是反的 - 白勾用两条边框旋转 -45° 画成,不用 "✓" 字符 —— 该字形在安卓与 iOS 上 的字形和基线差异很大,对不齐 - 容器 overflow:hidden 只包图片本身,不能包住单元格:各页面的删除按钮 .img-del 定位在 -12rpx 处(单元格之外),包进去会被一并裁掉 --- track-uniapp/src/App.vue | 167 +++++--------- track-uniapp/src/utils/ota.js | 400 ++++++++++++++++++++++++++++++++++ 2 files changed, 456 insertions(+), 111 deletions(-) create mode 100644 track-uniapp/src/utils/ota.js diff --git a/track-uniapp/src/App.vue b/track-uniapp/src/App.vue index 511c9f7..49a6385 100644 --- a/track-uniapp/src/App.vue +++ b/track-uniapp/src/App.vue @@ -1,5 +1,6 @@