uniapp-wgt热更新WGT安装包中manifest.json文件不存在或者unexpected EOF
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相关推荐
- “WGT安装包中manifest.json文件不存在”与解决办法
1.wgt不能文件重名 保证保存路径下的wgt名称唯一,可每次下载都创建一个名称唯一的文件夹来储存,避免重复.如用当前长整数类型的时间值作为文件名. plus.downloader.createDow ...
- app热更新失败:安装wgt文件失败[-1205]:WGT安装包中manifest.json文件的version版本不匹配
1.将wgt文件后缀名改成.zip,将其解压 2.查看mainjson文件的版本号 3.此时就需要手机app运行的版本小于1.8.7,小于108才能更新 如版本名称设置:1.8.6,版本号设置为107 ...
- 安裝wgt文件失败[-1205]:WGT安装包中manifest.json文件的version版本不匹配
要加上 force:true plus.runtime.install(path, {force:true},function() {plus.nativeUI.closeWaiting();// c ...
- uniapp中App升级和wgt热更新的逻辑处理
uniapp中App升级和wgt热更新的逻辑处理 文章目录 uniapp中App升级和wgt热更新的逻辑处理 一.前言 二.代码示例 三.参考链接 一.前言 在使用uniapp开发中常常遇到APP升级 ...
- uniApp实现热更新
热更新 热更新是开发中常见且常用的一种软件版本控制的方式,在uniapp进行使用热更新将软件实现更新操作 思路: 服务器中存储着最新版本号,前端进行查询 可以在首次进入应用时进行请求版本号进行一个匹对 ...
- linuxoracle静默安装应答文件修改_Windows7重要更新补丁安装包 2020.01.17
2020年1月14日微软官方宣布正式停止支持Windows 7(以下简称Win7),除付费政企用户外,不再提供安全补丁或者更新服务.那么以后win7的更新要怎么办?难道只能"裸奔" ...
- 安装更新提示不适用计算机,系统更新离线安装包无法安装提示此更新不适用你的计算机怎么办?...
系统更新离线安装包无法安装提示此更新不适用你的计算机怎么办?寻诸事变,静观历史,自由的代价都是沉重的.如下图所示!此问题最易在Ghost版本系统上看到!这里的自由,指的是Ghost版本的简易快捷!有网 ...
- Qt for Android / ios 将图片或文件打包进安装包中
概述 用 Qt 做程序开发,图片或翻译文件的引用有两种方式,一种是直接引用,本地图片, 一种是编译到资源文件中,其实直接添加在资源文件中是最方便的,不需要考虑文件存放的问题,但是这样可能带来的问题是启 ...
- Windows Phone 8安装包中的文件和独立存储区中的文件访问
安装包中的文件: Windows Phone 8访问安装包中的文件可以直接采用相对路径的形式,"apps/readme.txt".例如:FileStream stream = Fi ...
最新文章
- 用vs2017编写html,vs2017可以编写java
- Docker容器入门-基本命令的使用
- 陈立杰再获FOCS 2019最佳学生论文奖
- 李飞飞:物体识别之后,计算机视觉的进展、目标和前景何在?
- drcom linux怎么运行,drcom for linux
- 网站优化之如何更快速的提升权重?
- 疯狂kotlin讲义连载之Kotlin的基础类型--null安全
- optee中spinlock的实现原理详解
- TEG Cheers | 腾讯技术工程运维技术沙龙精彩回顾(内置现场视频)
- Comparable和Comparator的区别
- 快速序列化组件MessagePack介绍
- 是什么让它3年融资破4亿?神策背后的探索与巨变
- 全自动光电整纬机安装和功能分析
- C语言两个数比较大小和三个数比较大小,代码
- python编程练习:爬虫爬取全国大江大河实时水情
- printf 中的伪灵异事件
- 智能扫地机器人哪个品牌好?最受欢迎排行榜前十名
- android String文件中修改部分字体颜色
- 阿里云服务器企业用户最新配置表!
- 论文阅读笔记:A Scalable Exemplar-based Subspace ClusteringAlgorithm for Class-Imbalanced Data
热门文章
- 从八道面试题看JavaScript DOM事件机制
- Oracle EBS R12 GL总帐模块 查询日记帐明细SQL
- 7620 Reset按键GPIO
- 一个按钮控制灯的开关
- Regmap API 实验
- 怎么微信WeixinJSBridge.invoke支付成功居然不跳转?还把我页面给关了!这篇文章就告诉你What should I do!
- bilibili网页版html5,Bilibili HTML5播放器网页全屏模式优化 脚本版
- java帮助中心_Java | 保利威帮助中心 - Part 9
- 03-NodeMCU引脚和接线、点亮外部LED
- 阿里云部署metasploit framework