hookehuyr

feat(Dashboard): 添加小程序版本更新检查功能

在 Dashboard 页面添加微信小程序版本更新检查逻辑,使用 Taro 的 getUpdateManager API 实现自动检测、下载和提示用户更新
......@@ -194,8 +194,8 @@
<script setup>
import { ref, computed, onMounted } from 'vue';
import Taro, { useDidShow } from '@tarojs/taro';
import { Setting, Photograph, Right, Close, Category } from '@nutui/icons-vue-taro';
import Taro, { useDidShow, useReady } from '@tarojs/taro';
import { Setting, Photograph, Close, Category } from '@nutui/icons-vue-taro';
import BottomNav from '../../components/BottomNav.vue';
import TotalPointsDisplay from '@/components/TotalPointsDisplay.vue';
import PointsCollector from '@/components/PointsCollector.vue'
......@@ -395,6 +395,47 @@ useDidShow(() => {
// 总积分数量也要从接口获取传进去
finalTotalPoints.value = 10086;
})
useReady(async () => {
// 版本更新检查
if (!Taro.canIUse("getUpdateManager")) {
Taro.showModal({
title: "提示",
content: "当前微信版本过低,无法使用该功能,请升级到最新微信版本后重试",
showCancel: false,
});
return;
}
// https://developers.weixin.qq.com/miniprogram/dev/api/base/update/UpdateManager.html
const updateManager = Taro.getUpdateManager();
updateManager.onCheckForUpdate((res) => {
// 请求完新版本信息的回调
if (res.hasUpdate) {
updateManager.onUpdateReady(function () {
Taro.showModal({
title: "更新提示",
content: "新版本已经准备好,是否重启应用?",
success: function (res) {
if (res.confirm) {
// 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
updateManager.applyUpdate();
}
},
});
});
updateManager.onUpdateFailed(function () {
// 新版本下载失败
Taro.showModal({
title: "更新提示",
content: "新版本已上线,请删除当前小程序,重新搜索打开",
});
});
}
});
})
</script>
<style lang="less">
......