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

QQ登录

只需一步,快速开始

查看: 1458|回复: 3

[处理中3] app版本升级检测有bug吧

[复制链接]

22

主题

598

帖子

2109

积分

金牌会员

Rank: 6Rank: 6

积分
2109
QQ
发表于 2016-6-13 14:27:41 | 显示全部楼层 |阅读模式
最近准备正式发布app,发现部署新版之后,旧版不能提示有新版本

也看了文档中心的文档,之后折腾很多次,版本号写法之类的,也在群里咨询过,但是问题并没有解决

仔细看了一下 UI2/system/components/justep/versionChecker/versionChecker.js 发现个问题啊
  1. if (self.appInfo[self.env] && currentVersion < self.appInfo[self.env].version && window.localStorage && localStorage.getItem('versionIgnore') !== self.appInfo[self.env].version) {
  2.                                         self.versionMsg.show({
  3.                                                 type : "YesNoCancel",
  4.                                                 title : "版本更新",
  5.                                                 message : self.appInfo[self.env].changeLog
  6.                                         });
  7.                                 }
复制代码

currentVersion < self.appInfo[self.env].version  这个直接字符串比较吧?1.0.9与1.0.10比较会出问题吧?

【接活】APP 公众号 小程序 前后端带管理系统全套搞定
联系QQ:646105064 剑客共享  
欢迎用x5开发的朋友进群探讨!WeX5/BeX5民间一群:30057529  二群:211206160
发表于 2016-6-14 17:53:37 | 显示全部楼层
确实是这个问题!所以目前版本号只能是写单数,比如1.0.9   1.2.0  1.2.1 等升级
我先在内部系统提个需求!希望改进
你好楼主,这个特性目前版本不支持,已作为产品功能建议提交(内部编号:2016061400032),感谢楼主的支持与配合。
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

10

主题

897

帖子

1909

积分

版主

Rank: 7Rank: 7Rank: 7

积分
1909
QQ
发表于 2016-6-14 18:10:54 | 显示全部楼层
VersionChecker.prototype.checkAppVersion = function() {
                var self = this;
                if (cordova && cordova.getAppVersion) {
                        cordova.getAppVersion.getVersionNumber(function(currentVersion) {
                                if (self.appInfo[self.env] && self.versionCompare(currentVersion,self.appInfo[self.env].version) && window.localStorage && localStorage.getItem('versionIgnore') !== self.appInfo[self.env].version) {
                                        self.versionMsg.show({
                                                type : "YesNoCancel",
                                                title : "版本更新",
                                                message : self.appInfo[self.env].changeLog
                                        });
                                }
                        });
                }
        };
       
       
        VersionChecker.prototype.versionCompare = function(currentVersion,newVersion) {
                if(currentVersion && newVersion){
                        var currVerArr = currentVersion.split(".");
                    var newVerArr = newVersion.split(".");
                    var len = Math.max(currVerArr.length, newVerArr.length);
                    for (var i = 0; i < len; i++) {
                        var newVal = ~~newVerArr[i],
                            curVal = ~~currVerArr[i];
                        if (newVal < curVal) {
                            return false;
                        } else if (newVal > curVal) {
                            return true;
                        }
                    }
                }
            return false;
        };

试试这个代码 看看行不
qq上找我时候,不要问我在不,直接发问题,我看到后会去论坛回复你的帖子。
回复 支持 反对

使用道具 举报

22

主题

598

帖子

2109

积分

金牌会员

Rank: 6Rank: 6

积分
2109
QQ
 楼主| 发表于 2016-6-15 00:04:01 | 显示全部楼层
007slm 发表于 2016-6-14 18:10
VersionChecker.prototype.checkAppVersion = function() {
                var self = this;
                if (cordova && cordova. ...

ok

我的办法是直接过滤掉点号,转为整数再比较
【接活】APP 公众号 小程序 前后端带管理系统全套搞定
联系QQ:646105064 剑客共享  
欢迎用x5开发的朋友进群探讨!WeX5/BeX5民间一群:30057529  二群:211206160
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-24 07:05 , Processed in 0.106343 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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