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

QQ登录

只需一步,快速开始

查看: 1356|回复: 1

[处理中3] 手机app版本更新问题

[复制链接]

1

主题

2

帖子

4

积分

新手上路

Rank: 1

积分
4
QQ
发表于 2017-4-17 11:30:20 | 显示全部楼层 |阅读模式
模式三打包 有版本更新提示
模式一 和 模式二 打包 直接按教程来都不提示版本更新
请问这是什么造成的呢,
还有我直接用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();
});


测试只有模式三 可以提示版本更新,模式一二的时候测试  不进判断里



发表于 2017-4-17 13:50:05 | 显示全部楼层
你是3.6吗??
其实平台默认已经实现了版本更新的机制了!
你需要你自己写代码的!


只需要打包的时候版本号递增!!然后重新部署资源就可以了
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-7 16:04 , Processed in 0.057351 second(s), 24 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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