UNIAPP官方给出了一个wgt热更新功能,通过热更新我们可以进行小部分功能的更新热更新官方地址

通过官方给出的教程进行前端搭建

export const updateWgt = () => {return new Promise(async (reslove, reject) => {plus.runtime.getProperty(plus.runtime.appid, async (widgetInfo) => {let res = await fetch(config.wgt_url, widgetInfo);const {data,err,msg} = res;if (!err) {const {update,wgtUrl} = data;if (update && wgtUrl) {uni.showLoading({title: '正在更新,请稍后',mask: true});/* 下载软件 */const filePath = await downloadFile(wgtUrl);uni.hideLoading();plus.runtime.install(filePath, {force: false},() => {/* 重新启动APP资源 */plus.runtime.restart()},(e) => {console.log(e);/* 更新失败做的操作 */});}} else {/* 不用更新做的操作 */}});});}
// 下载文件
export const downloadFile = (url) => new Promise((resolve) => {let res = {err: true,msg: '下载失败!',data: ''};uni.downloadFile({url,header: {'Account-Token': getStorageSync('token')},success: ({statusCode,tempFilePath}) => {if (statusCode === 200) {res = {err: false,msg: '下载成功~',data: tempFilePath}}resolve(res);},fail: () => resolve(res)})
})

之前搭建没出现过  后来软件会出现这样一个

或者

这样的错误 这个是因为wgt文件名字在手机上重复了  为了避免这个错误,保证保存路径下的wgt名称唯一,可每次下载都创建一个名称唯一的文件夹来储存,避免重复。如用当前长整数类型的时间值作为文件名。

plus.downloader.createDownload(wgtUrl, {filename: '_doc/update/' + widgetInfo.name + '/' + new Date().getTime() + '/'},function(res, code) {}
).start();

通过这个来实现唯一性

完整的代码如下

export const updateWgt = () => {return new Promise(async (reslove, reject) => {plus.runtime.getProperty(plus.runtime.appid, async (widgetInfo) => {let res = await fetch(config.wgt_url, widgetInfo);const {data,err,msg} = res;if (!err) {const {update,wgtUrl} = data;if (update && wgtUrl) {uni.showLoading({title: '正在更新,请稍后',mask: true});/* 下载软件 */plus.downloader.createDownload(wgtUrl, {filename: '_doc/update/' + widgetInfo.name + '/' + new Date().getTime() + '/'},function(res, code) {uni.hideLoading();let filePath = res.filename;plus.runtime.install(filePath, {force: false},(res) => {/* 重新启动APP资源 */plus.runtime.restart()},(e) => {console.log(e);/* 更新失败做的操作 */});}).start();uni.hideLoading();}} else {/* 不用更新做的操作 */}});});}

就可以更新成功了

uniapp-wgt热更新WGT安装包中manifest.json文件不存在或者unexpected EOF相关推荐

  1. “WGT安装包中manifest.json文件不存在”与解决办法

    1.wgt不能文件重名 保证保存路径下的wgt名称唯一,可每次下载都创建一个名称唯一的文件夹来储存,避免重复.如用当前长整数类型的时间值作为文件名. plus.downloader.createDow ...

  2. app热更新失败:安装wgt文件失败[-1205]:WGT安装包中manifest.json文件的version版本不匹配

    1.将wgt文件后缀名改成.zip,将其解压 2.查看mainjson文件的版本号 3.此时就需要手机app运行的版本小于1.8.7,小于108才能更新 如版本名称设置:1.8.6,版本号设置为107 ...

  3. 安裝wgt文件失败[-1205]:WGT安装包中manifest.json文件的version版本不匹配

    要加上 force:true plus.runtime.install(path, {force:true},function() {plus.nativeUI.closeWaiting();// c ...

  4. uniapp中App升级和wgt热更新的逻辑处理

    uniapp中App升级和wgt热更新的逻辑处理 文章目录 uniapp中App升级和wgt热更新的逻辑处理 一.前言 二.代码示例 三.参考链接 一.前言 在使用uniapp开发中常常遇到APP升级 ...

  5. uniApp实现热更新

    热更新 热更新是开发中常见且常用的一种软件版本控制的方式,在uniapp进行使用热更新将软件实现更新操作 思路: 服务器中存储着最新版本号,前端进行查询 可以在首次进入应用时进行请求版本号进行一个匹对 ...

  6. linuxoracle静默安装应答文件修改_Windows7重要更新补丁安装包 2020.01.17

    2020年1月14日微软官方宣布正式停止支持Windows 7(以下简称Win7),除付费政企用户外,不再提供安全补丁或者更新服务.那么以后win7的更新要怎么办?难道只能"裸奔" ...

  7. 安装更新提示不适用计算机,系统更新离线安装包无法安装提示此更新不适用你的计算机怎么办?...

    系统更新离线安装包无法安装提示此更新不适用你的计算机怎么办?寻诸事变,静观历史,自由的代价都是沉重的.如下图所示!此问题最易在Ghost版本系统上看到!这里的自由,指的是Ghost版本的简易快捷!有网 ...

  8. Qt for Android / ios 将图片或文件打包进安装包中

    概述 用 Qt 做程序开发,图片或翻译文件的引用有两种方式,一种是直接引用,本地图片, 一种是编译到资源文件中,其实直接添加在资源文件中是最方便的,不需要考虑文件存放的问题,但是这样可能带来的问题是启 ...

  9. Windows Phone 8安装包中的文件和独立存储区中的文件访问

    安装包中的文件: Windows Phone 8访问安装包中的文件可以直接采用相对路径的形式,"apps/readme.txt".例如:FileStream stream = Fi ...

最新文章

  1. 用vs2017编写html,vs2017可以编写java
  2. Docker容器入门-基本命令的使用
  3. 陈立杰再获FOCS 2019最佳学生论文奖
  4. 李飞飞:物体识别之后,计算机视觉的进展、目标和前景何在?
  5. drcom linux怎么运行,drcom for linux
  6. 网站优化之如何更快速的提升权重?
  7. 疯狂kotlin讲义连载之Kotlin的基础类型--null安全
  8. optee中spinlock的实现原理详解
  9. TEG Cheers | 腾讯技术工程运维技术沙龙精彩回顾(内置现场视频)
  10. Comparable和Comparator的区别
  11. 快速序列化组件MessagePack介绍
  12. 是什么让它3年融资破4亿?神策背后的探索与巨变
  13. 全自动光电整纬机安装和功能分析
  14. C语言两个数比较大小和三个数比较大小,代码
  15. python编程练习:爬虫爬取全国大江大河实时水情
  16. printf 中的伪灵异事件
  17. 智能扫地机器人哪个品牌好?最受欢迎排行榜前十名
  18. android String文件中修改部分字体颜色
  19. 阿里云服务器企业用户最新配置表!
  20. 论文阅读笔记:A Scalable Exemplar-based Subspace ClusteringAlgorithm for Class-Imbalanced Data

热门文章

  1. 从八道面试题看JavaScript DOM事件机制
  2. Oracle EBS R12 GL总帐模块 查询日记帐明细SQL
  3. 7620 Reset按键GPIO
  4. 一个按钮控制灯的开关
  5. Regmap API 实验
  6. 怎么微信WeixinJSBridge.invoke支付成功居然不跳转?还把我页面给关了!这篇文章就告诉你What should I do!
  7. bilibili网页版html5,Bilibili HTML5播放器网页全屏模式优化 脚本版
  8. java帮助中心_Java | 保利威帮助中心 - Part 9
  9. 03-NodeMCU引脚和接线、点亮外部LED
  10. 阿里云部署metasploit framework