起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

12
返回列表 发新帖
楼主: kkos

[处理中3] app强制更新

[复制链接]

10

主题

39

帖子

89

积分

初级会员

Rank: 2

积分
89
QQ
发表于 2016-12-1 16:36:44 | 显示全部楼层
liangyongfei 发表于 2016-12-1 16:20
请问你是修改的哪个文件??
如果是自己定义的:appVersionChecker.js   
那你再改点别的东西,或者直接 ...

是自己定义的,和index.w 同目录
代码如下,alert("1");alert("2"); 执行了
alert("3");alert("4");没有执行,
提示框直接显示了 更新 忽略 取消
和没改之前一样.check里面的代码没有生效,提示框不知道怎么出来的


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);
                alert("1");
//                this.versionMsg.on('onNo', function(event) {
//                        //忽略
//                        this.ignore();
//                }, this);
                var self = this;
                alert("2");
                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;
                                        if(versionInfo[self.env] && currentVersion < versionInfo[self.env].version && window.localStorage &&
                                                        localStorage.getItem('versionIgnore') !== versionInfo[self.env].version){
                                                alert("3");
                                                self.versionMsg.show({
                                                        type : "YesNo",
                                                        title : "版本更新",
                                                        message : versionInfo[self.env].changeLog
                                                });
                                                alert("4");
                                        }
                                }
                        },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();
});
回复 支持 反对

使用道具 举报

发表于 2016-12-1 17:15:14 | 显示全部楼层
zeroone 发表于 2016-12-1 16:36
是自己定义的,和index.w 同目录
代码如下,alert("1");alert("2"); 执行了
alert("3");alert("4");没有执 ...

试试 : addEventListener 里面的
self.check(); 是否执行了??
请问你的index.js中是否引用了这个js呢??

如果引用了,它应该是优先的才对http://docs.wex5.com/wex5-app-question-list-2038
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

10

主题

39

帖子

89

积分

初级会员

Rank: 2

积分
89
QQ
发表于 2016-12-2 09:48:03 | 显示全部楼层
liangyongfei 发表于 2016-12-1 17:15
试试 : addEventListener 里面的
self.check(); 是否执行了??
请问你的index.js中是否引 ...

index.js 引用了require(['./appVersionChecker']);
可是为什么先执行UI2/system/components/justep/versionChecker/versionChecker.js 这里面的代码
回复 支持 反对

使用道具 举报

发表于 2016-12-2 11:20:46 | 显示全部楼层
zeroone 发表于 2016-12-2 09:48
index.js 引用了require(['./appVersionChecker']);
可是为什么先执行UI2/system/components/justep/vers ...

那你看看 appVersionChecker.js 写的格式是否正常
本地测试打包综合演示,首页地址就是:/UI2/portal/sample/index.w
这个文件:/UI2/portal/sample/appVersionChecker.js
是完全生效的啊!并不存在你说的问题!

你可以参考下它的实现,比较下写法是否有差异?
也可以打包综合演示测试看看能否生效?
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-5-18 06:05 , Processed in 0.065035 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表