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

QQ登录

只需一步,快速开始

查看: 6162|回复: 9

[结贴] 版本检测,自动更新问题。

[复制链接]

25

主题

57

帖子

233

积分

中级会员

Rank: 3Rank: 3

积分
233
QQ
发表于 2017-5-19 10:32:07 | 显示全部楼层 |阅读模式
本帖最后由 zhoubincibn 于 2017-5-19 12:37 编辑

版主好, 我测试用apploader没问题,但是打包安装apk后,发现不提示下载更新。  补充用的事3.6版本
然后调试发现,alert(‘4’)没有执行;  打包时已经手工选了 版本更新插件。
提问如下:
1.require(['./appVersion_in_server'],    这个文件是取得apk客户端还是服务端?如果是服务端,这个引用方式大致怎么写?
是这样吗? 1.require(['http://www.***.com/***/appMetadata_in_server.json']

VersionChecker.prototype.check = function(){
                var self = this;
                alert("2");
                if(cordova.getAppVersion){
                        cordova.getAppVersion.getVersionNumber(function (currentVersion) {
                                alert("3");
                                require(['./appVersion_in_server'],function(version_info){     // 这个文件是取得客户端还是服务端?
                                        if(version_info){
                                                alert("4");
                                                versionInfo = version_info;
                                                alert("取手机版本"+currentVersion);
                                                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('检查版本失败!');
                                });
                        });
                }else{
                        console.log('请登录wex5.com下载最新版本体验系统!');
                }
        };

25

主题

57

帖子

233

积分

中级会员

Rank: 3Rank: 3

积分
233
QQ
 楼主| 发表于 2017-5-19 11:16:12 | 显示全部楼层
回复

使用道具 举报

发表于 2017-5-19 11:58:39 | 显示全部楼层
你是什么版本呢??3.5以上的版本系统自带版本更新的机制的
http://docs.wex5.com/app-resources-and-version-update/

http://docs.wex5.com/wex5-app-question-list-2073
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

25

主题

57

帖子

233

积分

中级会员

Rank: 3Rank: 3

积分
233
QQ
 楼主| 发表于 2017-5-19 12:40:35 | 显示全部楼层
本帖最后由 zhoubincibn 于 2017-5-19 12:52 编辑
liangyongfei 发表于 2017-5-19 11:58
你是什么版本呢??3.5以上的版本系统自带版本更新的机制的
http://docs.wex5.com/app-resources-and-ve ...

用的是3.6版本,也是参照文档设置了 版本号和下载url;  但程序执行到这行就跳出了。所以想问问,这行究竟是连接的本地,还是server上的json文件如果是连接服务端 appMetadata_in_server.json 文件,那么这个写法需要修改吗?  我试了几次,修改服务器上的这个文件,增加版本号,都没有反应。
但是输入下载地址也都能正常访问到。




目前测试是这样的,如果版本是1.0.1,那么启动后会到web服务器上, v-1.0.1-zh_CN- 文件夹下去读取,appVersion_in_server.js 的版本号。
并且需要清除客户端的缓存,就能读取出 web服务器上的正确版本号。缓存是自动清除吗?

但不论怎么测试, 都读不到文档中所说的, 服务器上的appMetadata_in_server.json 文件  。求解答


require(['./appVersion_in_server']  此外这行代码有其它写法吗,还是固定的。
回复 支持 反对

使用道具 举报

发表于 2017-5-19 14:09:31 | 显示全部楼层
zhoubincibn 发表于 2017-5-19 12:40
用的是3.6版本,也是参照文档设置了 版本号和下载url;  但程序执行到这行就跳出了。所以想问问,这行究竟 ...

3.6 不需要在自己的项目中 重写 appVersion_in_server.js  的
系统自带的!
/UI2/system/components/justep/versionChecker/versionChecker.js


另外:
v-1.0.1-zh_CN- 是指的 资源版本号吧! 并不是app版本号!
请问你是资源更新还是app更新呢?


请不要搞混了!如果使用3.6 版本,就不要自己接管appVersion_in_server.js 代码了!
如果接管它,就不要用3.6的机制去
两种更新 代码是不一样的!不要搞混了!


如果你想测试资源更新!建议使用模式2打包!同步更新资源!效果会比较明显
http://docs.wex5.com/wex5-app-question-list-2041
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

25

主题

57

帖子

233

积分

中级会员

Rank: 3Rank: 3

积分
233
QQ
 楼主| 发表于 2017-5-19 15:06:43 | 显示全部楼层
liangyongfei 发表于 2017-5-19 14:09
3.6 不需要在自己的项目中 重写 appVersion_in_server.js  的
系统自带的!
/UI2/system/components/just ...

你好,目前资源更新没问题,我是app更新,参照文档,感觉app启动后,没有访问服务器上的appMetadata_in_server.json 文件 。
在我的项目中,参照 网易客户端,拷贝了appVersion_in_server.js和 appVersionChecker.js 也进行了引用。  apploader中测试,也都ok。 编译后就不行。
回复 支持 反对

使用道具 举报

发表于 2017-5-19 15:49:23 | 显示全部楼层
zhoubincibn 发表于 2017-5-19 15:06
你好,目前资源更新没问题,我是app更新,参照文档,感觉app启动后,没有访问服务器上的appMetadata_in_s ...

3.6不需要引用appVersion_in_server.js和 appVersionChecker.js  的!
那种是3.4以前旧版本的实现方式!

app更新只需要注意的是:http://docs.wex5.com/wex5-app-question-list-2073/

另外使用模式2打包进行测试!
因为是同步更新资源的!所以会比较准确!
只要app版本号 是增加的然后重新部署!那么重启app就会提示版本更新的!

要不你自己调用代码检查试试
http://docs.wex5.com/wex5-app-question-list-2021/
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

25

主题

57

帖子

233

积分

中级会员

Rank: 3Rank: 3

积分
233
QQ
 楼主| 发表于 2017-5-19 17:34:29 | 显示全部楼层
本帖最后由 zhoubincibn 于 2017-5-19 17:43 编辑
liangyongfei 发表于 2017-5-19 15:49
3.6不需要引用appVersion_in_server.js和 appVersionChecker.js  的!
那种是3.4以前旧版本的实现方式!
...

晕,问题解决了。 iis 对.w 增加解析。。  不用回答了,下面内容留给其它人借鉴了。谢谢。

{ "appInfo":{ "androidApp":{ "changeLog":"20170519and", "downloadURL":"http://www.shtv.net.cn/app/app.apk", "version":"1.1.7" }, "iosApp":{ "changeLog":"20170519", "downloadURL":"http://www.shtv.net.cn/app/app.ipa", "version":"1.1.7" } }, "resourceInfo":{ "downloadURL":"http://www.shtv.net.cn/app/www.zip", "indexURL":"/shtv/index.w", "mode":"2", "version":"v-1.1.7-zh_CN-" } }

我用的是iis 目前直接访问http://www.shtv.net.cn/app/appMetadata_in_server.json 可以正常解析;增加了对json后缀的处理,  但是启动app后,确报404找不到页面。
请问我是否需要再iis上对.w 格式进行处理?
目前iis中对 扩展名为:shtml/shtm  已设置,也启用了扩展,但是看文档没提到 .w后缀

此外,参照json文件中, "indexURL":"/shtv/index.w"    我这个文件的全路径目前是:
http://www.shtv.net.cn/app/v-1.1.7-zh_CN-/shtv/index.w      如果iis不对.w 处理,也报404,但文件是存在的。



回复 支持 反对

使用道具 举报

发表于 2017-5-19 17:44:14 | 显示全部楼层
zhoubincibn 发表于 2017-5-19 17:34
{ "appInfo":{ "androidApp":{ "changeLog":"20170519and", "downloadURL":"http://www.shtv.net.cn/app/ ...

404就是路径不存咋! 你看一下你的www下的资源!目录结构确定是
app/v-1.1.7-zh_CN-/shtv/index.w    吗??一个字母都不能差的!

关于后缀的映射问题应该参考:
http://docs.wex5.com/wex5-server-question-list-2003/

不过和404没有任何关系!
404就是路径不正确,不存在
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

25

主题

57

帖子

233

积分

中级会员

Rank: 3Rank: 3

积分
233
QQ
 楼主| 发表于 2017-5-19 17:58:39 | 显示全部楼层
liangyongfei 发表于 2017-5-19 17:44
404就是路径不存咋! 你看一下你的www下的资源!目录结构确定是
app/v-1.1.7-zh_CN-/shtv/index.w    吗 ...

谢谢,问题解决了,主要是 服务器上映射问题;
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-10 08:10 , Processed in 0.099647 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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