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

QQ登录

只需一步,快速开始

查看: 2174|回复: 9

[处理中3] 怎样判断离线资源有没有下载到本地

[复制链接]

30

主题

109

帖子

401

积分

中级会员

Rank: 3Rank: 3

积分
401
QQ
发表于 2017-12-7 09:13:22 | 显示全部楼层 |阅读模式
模式2打包的app,做的资源的手动更新,服务器上有资源更新的话,会下载服务器上的资源,资源版本号跟服务器上的资源版本号是一致的,下载离线资源之后,版本号跟服务器上的也是一致的,那怎样判断离线资源有没有下载到本地,怎样判断资源是否需要下载
发表于 2017-12-7 12:01:12 | 显示全部楼层
自己看下源码怎么写的!

http://docs.wex5.com/wex5-app-question-list-2038/
http://docs.wex5.com/wex5-app-question-list-2041

主要的逻辑是,每次请求服务器上这个配置文件appMetadata_in_server.json   和本地的资源版本号进行对吧!如果资源版本号一样的就是不去服务器下载!否则就重新下载服务器资源www.zip 并重新解压!

最简单的!你看下URL请求地址带的版本号 和服务器是否一样就行了!如果版本号是一样的就说明访问的就是最新的资源!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

30

主题

109

帖子

401

积分

中级会员

Rank: 3Rank: 3

积分
401
QQ
 楼主| 发表于 2017-12-7 14:23:28 | 显示全部楼层
liangyongfei 发表于 2017-12-7 12:01
自己看下源码怎么写的!

http://docs.wex5.com/wex5-app-question-list-2038/

模式2在打开的时候就会请求服务器的资源啊,如果不一样就直接下载服务器的资源,但是这个资源并没有缓存到本地啊,还能离线下载啊,我就想知道怎样判断什么时候需要手动下载离线资源
回复 支持 反对

使用道具 举报

发表于 2017-12-7 14:47:34 | 显示全部楼层
wyfs969776405 发表于 2017-12-7 14:23
模式2在打开的时候就会请求服务器的资源啊,如果不一样就直接下载服务器的资源,但是这个资源并没有缓存 ...

模式2就不支持离线应用啊!
如果想做离线应用!请使用模式1打包!

资源更新后,自动解压,自动就变成最新资源了! 没有提供方法判断是否已经下载完了!  其实就是比较本地的
资源版本好 和 服务器上的appMetadata_in_server.json  信息!
你可以自己写代码请求服务器的 appMetadata_in_server.json 然后自己去比较!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

30

主题

109

帖子

401

积分

中级会员

Rank: 3Rank: 3

积分
401
QQ
 楼主| 发表于 2017-12-11 16:13:03 | 显示全部楼层
liangyongfei 发表于 2017-12-7 14:47
模式2就不支持离线应用啊!
如果想做离线应用!请使用模式1打包!

如果服务器的资源有更新,模式2不是每次都下载服务器的资源的吗,但是要是离线资源下载的话,就不用再去下载服务器的资源了啊,只访问数据就好了,不是这样的吗
回复 支持 反对

使用道具 举报

发表于 2017-12-11 16:33:24 | 显示全部楼层
wyfs969776405 发表于 2017-12-11 16:13
如果服务器的资源有更新,模式2不是每次都下载服务器的资源的吗,但是要是离线资源下载的话,就不用再去 ...

模式2 是每次都请求服务器的版本号信息!比较资源是否改变!如果没改变的话!还是优先访问本地资源的! 本地资源不存在才请求服务器的!

和浏览器缓存的原理是一样的!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

30

主题

109

帖子

401

积分

中级会员

Rank: 3Rank: 3

积分
401
QQ
 楼主| 发表于 2017-12-11 16:40:47 | 显示全部楼层
liangyongfei 发表于 2017-12-11 16:33
模式2 是每次都请求服务器的版本号信息!比较资源是否改变!如果没改变的话!还是优先访问本地资源的!  ...

下载离线资源是为了访问速度更快!以后除了数据请求就不用下载服务器资源了!
完全访问本地资源的!
是这样的对吧,我这会儿就想实现需不需要下载离线资源,请问怎样判断啊
回复 支持 反对

使用道具 举报

发表于 2017-12-11 16:44:45 | 显示全部楼层
wyfs969776405 发表于 2017-12-11 16:40
下载离线资源是为了访问速度更快!以后除了数据请求就不用下载服务器资源了!
完全访问本地资源的!
是这 ...

那你别部署www.zip 就不会一次性下载了!  也可以修改资源更新的代码!
但是单个页面访问过了!默认也会缓存的!这个就是浏览器的缓存!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

30

主题

109

帖子

401

积分

中级会员

Rank: 3Rank: 3

积分
401
QQ
 楼主| 发表于 2017-12-11 16:47:04 | 显示全部楼层
liangyongfei 发表于 2017-12-11 16:44
那你别部署www.zip 就不会一次性下载了!  也可以修改资源更新的代码!
但是单个页面访问过了!默认也会 ...

请问怎样修改资源更新的代码,怎样获取到离线资源下载的目录呢,有示例吗
回复 支持 反对

使用道具 举报

发表于 2017-12-11 16:50:48 | 显示全部楼层
wyfs969776405 发表于 2017-12-11 16:47
请问怎样修改资源更新的代码,怎样获取到离线资源下载的目录呢,有示例吗 ...

平台默认实现
/UI2/system/components/justep/versionChecker/versionChecker.js

主要方法是 :
checkResourceVersion

你可以修改这个文件,然后重新合并资源!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-19 22:23 , Processed in 0.068473 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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