Browse Source

修改微信更新控制器的判断逻辑

sa03 6 years ago
parent
commit
ad692b3ae3
3 changed files with 72 additions and 27 deletions
  1. 2 2
      assets/scene/login.fire
  2. 22 22
      assets/scripts/Init.js
  3. 48 3
      assets/scripts/LoginCtrl.js

+ 2 - 2
assets/scene/login.fire

@@ -593,7 +593,7 @@
     },
     "_contentSize": {
       "__type__": "cc.Size",
-      "width": 72,
+      "width": 40,
       "height": 38
     },
     "_rotationX": 0,
@@ -628,7 +628,7 @@
     "_N$file": null,
     "_isSystemFontUsed": true,
     "_spacingX": 0,
-    "_N$string": "100%",
+    "_N$string": "0%",
     "_N$horizontalAlign": 1,
     "_N$verticalAlign": 1,
     "_N$fontFamily": "Arial",

+ 22 - 22
assets/scripts/Init.js

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

+ 48 - 3
assets/scripts/LoginCtrl.js

@@ -20,12 +20,57 @@ cc.Class({
 
     onLoad() {
         if (CC_WECHATGAME) {
-            window.wx.postMessage({ //初始化的时候关闭子域刷新
+            wx.postMessage({ //初始化的时候关闭子域刷新
                 messageType: 8,
             });
-        }
 
-        this.loadAllGameRes();
+            // 先请求微信版本更新管理器
+            if (typeof wx.getUpdateManager === 'function') {
+                const updateManager = wx.getUpdateManager();
+                
+                updateManager.onCheckForUpdate((res) => {
+                    // 请求完新版本信息的回调
+                    if(res.hasUpdate) {
+                        wx.showLoading({
+                            title: '发现新版本内容,正在更新,请稍后...',
+                            success: function () {}
+                        })
+                    } else {
+                        // 无新版本内容,直接开始加载游戏资源
+                        this.loadAllGameRes();
+                    }
+                })
+
+                // 有新版本内容,则等待新版本下载完,再提示
+                updateManager.onUpdateReady(() => {
+                    wx.hideLoading();
+
+                    wx.showModal({
+                        title: '更新提示',
+                        content: '新版本已经准备好,是否重启应用?',
+                        success: function (ret) {
+                            if (ret.confirm) {
+                                // 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
+                                updateManager.applyUpdate()
+                            }
+                        }
+                    })
+                })
+
+                updateManager.onUpdateFailed(() => {
+                    // 新版本下载失败
+                    wx.hideLoading();
+                    
+                    this.loadAllGameRes();
+                })                          
+            } else {
+                // 不支持版本更新管理器的情况,直接开始加载游戏资源
+                this.loadAllGameRes();
+            }
+        } else {
+            // 非微信环境,直接开始加载游戏资源
+            this.loadAllGameRes();
+        }
     },
 
     loadAllGameRes() {