|
模式三打包 有版本更新提示
模式一 和 模式二 打包 直接按教程来都不提示版本更新
请问这是什么造成的呢,
还有我直接用demo也这样1:主程序
define(function(require){
var $ = require("jquery");
var justep = require("$UI/system/lib/justep");
require("$UI/system/lib/cordova/cordova");
require(['./appVersionChecker']);
var Model = function(){
this.callParent();
};
return Model;
});
2:appVersion_in_server.js
define(function(require){
var versionInfo = {
androidApp:{
version:"8.0.0",
changeLog:"1.这是为了演示WeX5 app版本更新能力 \n 2.别更新哦 点忽略就可以了\n 3.更新8.0了",
downloadUrl:"about:blank"
},
iosApp:{
version:"8.0.0",
changeLog:"1.这是为了演示WeX5 app版本更新能力 \n 2.别更新哦 点忽略就可以了",
downloadUrl:"about:blank"
}
};
return versionInfo;
});
3:appVersionChecker.js
define(function(require){
var $ = require('jquery');
var versionInfo;
var Browser = require('$UI/system/lib/base/browser');
var MsgDialog = require("$UI/system/components/justep/messageDialog/messageDialog");
require("cordova!cordova-plugin-app-version");
require("cordova!cordova-plugin-inappbrowser");
var parentNode = $('body').find('.window').get(0);
var VersionChecker = function(){
this.env = "browser";
if(Browser.isX5App){
if(Browser.isAndroid){
this.env = "androidApp";
}
if(Browser.isIOS){
this.env = "iosApp";
}
}
//this.env = "androidApp";
this.versionMsg = new MsgDialog({
parentNode:parentNode
});
var $domNode = this.versionMsg.$domNode;
$domNode.find('.Yes').text('更新');
$domNode.find('.No').text('忽略');
this.versionMsg.on('onYes', function(event) {
//下载
this.download();
}, this);
this.versionMsg.on('onNo', function(event) {
//忽略
this.ignore();
}, this);
var self = this;
document.addEventListener("deviceready", function() {
setTimeout(function(){
self.check();
},1000);
});
};
VersionChecker.prototype.check = function(){
var self = this;
cordova.getAppVersion.getVersionNumber(function (currentVersion) {
require(['./appVersion_in_server'],function(version_info){
if(version_info){
versionInfo = version_info;
alert(versionInfo[self.env].version);
if(versionInfo[self.env] && currentVersion < versionInfo[self.env].version && window.localStorage &&
localStorage.getItem('versionIgnore') !== versionInfo[self.env].version){
self.versionMsg.show({
type : "YesNoCancel",
title : "版本更新",
message : versionInfo[self.env].changeLog
});
}
}
},function(){
console.log('检查版本失败!');
});
});
};
VersionChecker.prototype.download = function(){
window.open(versionInfo[this.env].downloadUrl,'_system');
};
VersionChecker.prototype.ignore = function(){
if(window.localStorage){
localStorage.setItem('versionIgnore',versionInfo[this.env].version);
}
};
return new VersionChecker();
});
测试只有模式三 可以提示版本更新,模式一二的时候测试 不进判断里
|
|