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

QQ登录

只需一步,快速开始

查看: 4121|回复: 12

[处理中4] 为什么我app打包后自动更新无效呢?

[复制链接]

49

主题

150

帖子

306

积分

中级会员

Rank: 3Rank: 3

积分
306
QQ
发表于 2017-5-15 17:40:47 | 显示全部楼层 |阅读模式
这是appversioncheck.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;
                                        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();
});


这是appversion_in_server.js
define(function(require){
        var versionInfo = {
          androidApp:{
                  version:"2.0.0",
                  changeLog:"请填写版本更新内容",
                  downloadUrl:"http://183.230.183.151/oa/app.apk"
          },
          iosApp:{
                  version:"2.0.0",
                  changeLog:"请填写版本更新内容",
                  downloadUrl:"itms-services:///?action=download-manifest&url=https://x.justep.com/apps/taobao.plist"
          }
        };
        return versionInfo;
});



我app打包时版本号写的1.0.3,明显 比这个低呀,但是就是不提示更新,这是什么原因呢?

49

主题

150

帖子

306

积分

中级会员

Rank: 3Rank: 3

积分
306
QQ
 楼主| 发表于 2017-5-15 17:41:36 | 显示全部楼层
应用页面js
define(function(require) {
        var $ = require("jquery");
        require("$UI/oa/appVersionChecker");
        var justep = require("$UI/system/lib/justep");
        var ShellImpl = require('$UI/system/lib/portal/shellImpl');
       
        var Model = function() {
                this.callParent();
                var shellImpl = new ShellImpl(this, {
                        "contentsXid" : "pages",
                        "pageMappings" : {
                                "index_main" : {
                                        url : require.toUrl('./index_main.w')
                                },
                                "list" : {
                                        url : require.toUrl('./login.w')
                                }
                                ,
                                "newscontent" : {
                                        url : require.toUrl('./newscontent.w')
                                }               
                        }
                });
        };
       

        Model.prototype.modelLoad = function(event) {
                justep.Shell.showPage("list");
                justep.Shell.userType = justep.Bind.observable();
                justep.Shell.userName = justep.Bind.observable();
                var userLocal = (localStorage.getItem("userUUID") && JSON.parse(localStorage.getItem("userUUID"))) || null;
                if (userLocal) {
                        justep.Shell.userName.set(userLocal.name || "UNKNOWN");
                        justep.Shell.userType.set(userLocal.accountType || "UNKNOWN");
                } else {
                }
        };

        return Model;
});
回复 支持 反对

使用道具 举报

1

主题

6163

帖子

2095

积分

金牌会员

Rank: 6Rank: 6

积分
2095
QQ
发表于 2017-5-15 17:52:44 | 显示全部楼层
tang801011 发表于 2017-5-15 17:41
应用页面js
define(function(require) {
        var $ = require("jquery");

更新的你就直接参考外卖的就好了呀  你不是参考的那个吗  
http://docs.wex5.com/app-resources-and-version-update/
回复 支持 反对

使用道具 举报

49

主题

150

帖子

306

积分

中级会员

Rank: 3Rank: 3

积分
306
QQ
 楼主| 发表于 2017-5-16 08:57:33 | 显示全部楼层
第四步:发布最新的App;
模式一和模式二:将Native/[本地App名称]/www下最新的资源更新到Web App中;这句话是什么意思,web app位置在哪里呀。
回复 支持 反对

使用道具 举报

49

主题

150

帖子

306

积分

中级会员

Rank: 3Rank: 3

积分
306
QQ
 楼主| 发表于 2017-5-16 09:11:39 | 显示全部楼层
另外还有个问题,我现在是手工下载更新的,下载后点击安装,为什么必须要把原来的app停关闭才能够安装呢,不然就会报错,其他应用的apk都可以不用关原来的应用。
回复 支持 反对

使用道具 举报

49

主题

150

帖子

306

积分

中级会员

Rank: 3Rank: 3

积分
306
QQ
 楼主| 发表于 2017-5-16 10:09:06 | 显示全部楼层
另外,我如果编译了资源,需要将编译后的资源拷贝到tomcat的webapp目录下吗?我进这个目录看了,也没有发现有app的相关文件呀。
回复 支持 反对

使用道具 举报

49

主题

150

帖子

306

积分

中级会员

Rank: 3Rank: 3

积分
306
QQ
 楼主| 发表于 2017-5-16 10:40:27 | 显示全部楼层
我看了下你们提供的文档,说是将www目录下的文件放倒tomcat的webapp下面,是直接拷贝过去就可以了吗,是图片中的这些文件全部拷贝进去吗?
无标题.png
回复 支持 反对

使用道具 举报

1

主题

6163

帖子

2095

积分

金牌会员

Rank: 6Rank: 6

积分
2095
QQ
发表于 2017-5-16 10:43:06 | 显示全部楼层
tang801011 发表于 2017-5-16 10:40
我看了下你们提供的文档,说是将www目录下的文件放倒tomcat的webapp下面,是直接拷贝过去就可以了吗,是图 ...

你是干嘛  部署?
回复 支持 反对

使用道具 举报

49

主题

150

帖子

306

积分

中级会员

Rank: 3Rank: 3

积分
306
QQ
 楼主| 发表于 2017-5-16 10:50:25 | 显示全部楼层
我想实现自动更新,我现在是通过studio上面启动的tomcat跑起来的,如果我重新编译了资源,如果让app更新呢,是否必须将www下面的东西拷贝到webapps目录下吗?
回复 支持 反对

使用道具 举报

49

主题

150

帖子

306

积分

中级会员

Rank: 3Rank: 3

积分
306
QQ
 楼主| 发表于 2017-5-16 11:40:49 | 显示全部楼层
原来发布的app资源号1.0.0,现在发布的资源号是1.0.1,为什么会更新失败呢
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-25 04:35 , Processed in 0.078066 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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