摘要:開發(fā)項(xiàng)目的時(shí)候自動(dòng)更新工鞥呢,需要獲取的版本,可以用來的獲取版本號,可以用命令行,或者在配置文件進(jìn)行配置。但是有一點(diǎn)需要注意的是執(zhí)行此語句,必須等待元素加載完畢。簡單一點(diǎn)就是,若是在傳統(tǒng)的中用到,需要配合著使用,或者中相關(guān)文章
開發(fā)項(xiàng)目的時(shí)候自動(dòng)更新工鞥呢,需要獲取app的版本,cordova-plugin-app-version可以用來的獲取版本號,可以用命令行:cordova plugin add cordova-plugin-app-version,或者在配置文件config.xml、package.json進(jìn)行配置。
getServerVersion: function (curVersion) { var deferred = $q.defer(), promise; if (curVersion) { promise = $http.get(CONFIG.url.version, {params: {version: curVersion}}); } else { promise = $http.get(CONFIG.url.version); } promise.then(function (response) { deferred.resolve(response.data.data.versions); }).catch(function (error) { deferred.reject(error); }); return deferred.promise; }, getLocalVersion: function () { var deferred = $q.defer(); cordova.getAppVersion.getVersionNumber().then(function (localVersion) { deferred.resolve(localVersion); }).catch(function (error) { deferred.reject(error); }); return deferred.promise; }, checkUpdate: function () { var self = this, localVersion; this.getLocalVersion().then(function (response) { localVersion = response; return self.getServerVersion(response); }).then(function (serverVersions) { var latestVersion = _.isArray(serverVersions) ? _.first(serverVersions) : serverVersions, laterThanServer = commonService.laterThan(localVersion, latestVersion.number), isForceUpdate = _.some(_.initial(serverVersions), function (item) { return item.flag === 1; }); commonService.setItem("latestVersion", latestVersion); return laterThanServer && isForceUpdate; }).then(function (isForce) { isForce && commonService.confirm(i18n.need_update_label, i18n.force_update_tip).then(function (res) { if (res) { checkUpdateEnv(isForce); } else { ionic.Platform.exitApp(); } }); }).catch(function (reason) { console.log("version compare filed : " + JSON.stringify(reason)); }); }
但是有一點(diǎn)需要注意的是執(zhí)行此語句,必須等待DOM元素加載完畢。簡單一點(diǎn)就是,若是在傳統(tǒng)的javaScript中用到,需要配合著window.onload使用,或者 ionic.Platform.ready中
ionic.Platform.ready(function () { if (window.cordova && window.cordova.plugins && window.cordova.plugins.Keyboard) { window.cordova.plugins.Keyboard.hideKeyboardAccessoryBar(false); window.cordova.plugins.Keyboard.disableScroll(true); apiService.checkUpdate(); } try { $cordovaStatusbar.style(0); checkNetworkState(); checkSystemVersion(); $ionicPlatform.is("Android") && $ionicPlatform.registerBackButtonAction(registerBackButton, 101); } catch (e) { console.warn("some thing error when app launched: " + e.message); } autoLogin(); });
相關(guān)文章:
http://www.ionic.ren/2015/11/...
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/51083.html
摘要:開發(fā)項(xiàng)目的時(shí)候自動(dòng)更新工鞥呢,需要獲取的版本,可以用來的獲取版本號,可以用命令行,或者在配置文件進(jìn)行配置。但是有一點(diǎn)需要注意的是執(zhí)行此語句,必須等待元素加載完畢。簡單一點(diǎn)就是,若是在傳統(tǒng)的中用到,需要配合著使用,或者中相關(guān)文章 開發(fā)項(xiàng)目的時(shí)候自動(dòng)更新工鞥呢,需要獲取app的版本,cordova-plugin-app-version可以用來的獲取版本號,可以用命令行:cordova pl...
摘要:開發(fā)項(xiàng)目的時(shí)候自動(dòng)更新工鞥呢,需要獲取的版本,可以用來的獲取版本號,可以用命令行,或者在配置文件進(jìn)行配置。但是有一點(diǎn)需要注意的是執(zhí)行此語句,必須等待元素加載完畢。簡單一點(diǎn)就是,若是在傳統(tǒng)的中用到,需要配合著使用,或者中相關(guān)文章 開發(fā)項(xiàng)目的時(shí)候自動(dòng)更新工鞥呢,需要獲取app的版本,cordova-plugin-app-version可以用來的獲取版本號,可以用命令行:cordova pl...
摘要:目前插件已超過幾千種,由來自世界各地的開發(fā)者共同編寫驗(yàn)證和完善。而對于開發(fā)者而言,直接使用這些插件將快速穩(wěn)定架構(gòu)系統(tǒng),節(jié)約項(xiàng)目成本。也就是說,插件也是代碼,通過文件引入的方式植入即可?,F(xiàn)在我們就完成了一個(gè)下拉菜單的插件。 插件(Plugin)也成為 jQuery 擴(kuò)展(Extension),是一種遵循一定規(guī)范的應(yīng)用程序接口編寫出來的程序。目前 jQuery 插件已超過幾千種,由來自世界...
前言 從 9 月份開始,vuepress 源碼進(jìn)行了重新設(shè)計(jì)和拆分。先是開了個(gè) next 分支,后來又合并到 master 分支,為即將發(fā)布的 1.x 版本做準(zhǔn)備。 最主要的變化是:大部分的全局功能都被拆分成了插件的形式,以可插拔的方式來支撐 vuepress 的運(yùn)作,這一點(diǎn)很像 webpack。 具體架構(gòu)如下: showImg(https://user-gold-cdn.xitu.io/2019...
閱讀 2757·2021-10-26 09:50
閱讀 2402·2021-10-11 11:08
閱讀 2139·2019-08-30 15:53
閱讀 1915·2019-08-30 15:44
閱讀 2391·2019-08-28 18:12
閱讀 2532·2019-08-26 13:59
閱讀 2862·2019-08-26 12:19
閱讀 2762·2019-08-26 12:09