Browse Source

feat: 小程序更新机制

Tim_Walker 2 years ago
parent
commit
49c8f200cc
2 changed files with 35 additions and 2 deletions
  1. 7 1
      src/App.vue
  2. 28 1
      src/utils/system.js

+ 7 - 1
src/App.vue

@@ -1,6 +1,12 @@
 <script>
+import { updateVersion } from './utils/system';
+
 export default {
-  onLaunch() {},
+  onLaunch() {
+    //#ifdef MP-WEIXIN
+    updateVersion();
+    //#endif
+  },
 };
 </script>
 

+ 28 - 1
src/utils/system.js

@@ -9,4 +9,31 @@ function getSystemInfoAsync() {
   });
 }
 
-export { getSystemInfoAsync };
+// 更新系统
+function updateVersion() {
+  const updateManager = wx.getUpdateManager();
+
+  updateManager.onCheckForUpdate(function (res) {
+    // 请求完新版本信息的回调
+    console.log(res.hasUpdate);
+  });
+
+  updateManager.onUpdateReady(function () {
+    wx.showModal({
+      title: '更新提示',
+      content: '新版本已经准备好,是否重启应用?',
+      success(res) {
+        if (res.confirm) {
+          // 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
+          updateManager.applyUpdate();
+        }
+      },
+    });
+  });
+
+  updateManager.onUpdateFailed(function () {
+    // 新版本下载失败
+  });
+}
+
+export { getSystemInfoAsync, updateVersion };