瀏覽代碼

增加检测版本更新功能

jwyu 3 年之前
父節點
當前提交
c69031c9c5
共有 2 個文件被更改,包括 51 次插入26 次删除
  1. 2 0
      App.vue
  2. 49 26
      utils/common.js

+ 2 - 0
App.vue

@@ -1,4 +1,5 @@
 <script>
+	import {hasUpdate} from '@/utils/common.js'
 	export default {
 		onLaunch: function(options) {
 			console.log('App Launch')
@@ -7,6 +8,7 @@
 		},
 		onShow: function(options) {
 			console.log('App Show')
+			hasUpdate()
 		},
 		onHide: function() {
 			console.log('App Hide')

+ 49 - 26
utils/common.js

@@ -2,43 +2,66 @@
 
 /**
  * 手机号校验
- * @param {手机号} tel 
+ * @param {手机号} tel
  * @param {区号} areaNum 默认86
  * @returns Boolean
  * 86 正常手机号校验
  * 非86 位数必须大于8位
  */
-export const telVerify=(tel,areaNum=86)=>{
-    let flag=false
-    if(areaNum==86&&(/^1[3456789]\d{9}$/.test(tel))){
-        flag=true
-    }
+export const telVerify = (tel, areaNum = 86) => {
+  let flag = false;
+  if (areaNum == 86 && /^1[3456789]\d{9}$/.test(tel)) {
+    flag = true;
+  }
 
-    if(areaNum!=86&&tel.length>8){
-        flag=true
-    }
-    
-    return flag
-}
+  if (areaNum != 86 && tel.length > 8) {
+    flag = true;
+  }
+
+  return flag;
+};
 
 /**
  * 邮箱校验
- * @param {邮箱} email 
+ * @param {邮箱} email
  * @returns Boolean
  */
-export const emailVerify=(email)=>{
-    let flag=false
+export const emailVerify = (email) => {
+  let flag = false;
 
-    let pattern = /^([A-Za-z0-9_\-\.])+@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
-    let domains= ["qq.com","163.com","vip.163.com","263.net","yeah.net","sohu.com","sina.cn","sina.com","eyou.com","gmail.com","hotmail.com","42du.cn"];
-    if(pattern.test(email)) {
-        var domain = email.substring(email.indexOf("@")+1);
-        for(var i = 0; i< domains.length; i++) {
-            if(domain == domains[i]) {
-                flag=true
-            }
-        }
+  let pattern = /^([A-Za-z0-9_\-\.])+@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
+  let domains = ["qq.com", "163.com", "vip.163.com", "263.net", "yeah.net", "sohu.com", "sina.cn", "sina.com", "eyou.com", "gmail.com", "hotmail.com", "42du.cn"];
+  if (pattern.test(email)) {
+    var domain = email.substring(email.indexOf("@") + 1);
+    for (var i = 0; i < domains.length; i++) {
+      if (domain == domains[i]) {
+        flag = true;
+      }
     }
+  }
 
-    return flag
-}
+  return flag;
+};
+
+/**
+ * 校验是否有小程序新版本
+ */
+export const hasUpdate = () => {
+  const updateManager = uni.getUpdateManager();
+  updateManager.onCheckForUpdate(function (res) {
+    // 请求完新版本信息的回调
+    console.log("是否有新版本", res.hasUpdate);
+  });
+  updateManager.onUpdateReady(function (res) {
+    uni.showModal({
+      title: "更新提示",
+      content: "新版本已经准备好,是否重启应用?",
+      success(res) {
+        if (res.confirm) {
+          // 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
+          updateManager.applyUpdate();
+        }
+      },
+    });
+  });
+};