Vue封装hbuilder热更新

main.js
import AutoUpdateApp from './common/AutoUpdateApp/AutoUpdateApp' //我存放AutoUpdateApp.js的目录
Vue.use(AutoUpdateApp)
AutoUpdateApp.js
export default {install(Vue,options){Vue.prototype.AutoUpdateApp = function () {return {// 获取本地应用资源版本号getVersion: function (CallBack) {var wgtVer = null;//异步操作plus.runtime.getProperty(plus.runtime.appid,(info) => {wgtVer = info.version;CallBack(wgtVer);});},//下载wgt文件downWgt: function (wgtUrl) {var self = this;plus.nativeUI.showWaiting("下载更新文件...");plus.downloader.createDownload( wgtUrl, {filename:"_doc/update/"}, function(d,status){if ( status == 200 ) { console.log("下载更新文件成功:" + d.filename);self.installWgt(d.filename); // 安装wgt包} else {plus.nativeUI.alert("下载失败!");}plus.nativeUI.closeWaiting();}).start();},// 更新应用资源installWgt: function (path) {plus.nativeUI.showWaiting("安装更新文件...");plus.runtime.install(path,{},function(){plus.nativeUI.closeWaiting();plus.nativeUI.alert("应用资源更新完成!",function(){plus.runtime.restart();});},function(e){plus.nativeUI.closeWaiting();plus.nativeUI.alert("安装更新文件失败[" + e.code + "]:" + e.message);if(e.code == 10){plus.nativeUI.alert('请清除临时目录');}});}}};}}
vuex的store.js文件的actions
autoupdateapp: function (context) {let AutoUpdateApp = new window.Vue.AutoUpdateApp();let wgtVer = plus.runtime.version;axios.post('/point-api-autoupdateapp',{appid:plus.runtime.appid,appname:'queue'}).then(function(response){    let newVer = response;//检查更新if(wgtVer && newVer && (wgtVer.substring(0,3) < newVer.versionName.substring(0,3))){if(window.confirm('检测到更新,是否更新?')){AutoUpdateApp.downWgt(newVer.apk);  }} }, function(response){mui.toast('网络错误');});}
在需要的组件的 mounted或created调用
// 初始化创建对象mui.plusReady(() => {this.$store.dispatch('autoupdateapp');});

php的models代码

public static function AutoUpdateApp($params) 
{extract($params);$versionName = '';if($appname == 'queue'){$versionName = '1.2.0';}elseif($appname == 'waiter'){$versionName = '1.2.0';}elseif($appname == 'pos'){$versionName = '1.2.0';}$data = ['versionName' => $versionName,'apk' => $SERVER['REQUEST_SCHEME'].'://'.$_SERVER['HTTP_HOST'].'/app/'.$appid.'.wgt',//存放更新资源的目录];return self::formatBody('data' => $data);
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/517050.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VS Code Rainbow Fart 小姐姐语音提示插件

文章目录1. 安装插件2. 启用Rainbow Fart3. 效果图1. 安装插件 Rainbow Fart2. 启用Rainbow Fart ctrl shirt p输入Rainbow Fart回车&#xff08;Enter&#xff09; 打开open 3. 效果图

日志服务(SLS)集成 Spark 流计算实战

前言 日志服务作为一站式的日志的采集与分析平台&#xff0c;提供了各种用户场景的日志采集能力&#xff0c;通过日志服务提供的各种与与SDK&#xff0c;采集客户端&#xff08;Logtail&#xff09;&#xff0c;Producer&#xff0c;用户可以非常容易的把各种数据源中的数据采…

再见了,Python!!

结合我最近这些年的Python学习、开发经验&#xff0c;发现90%的人在学Python时都会遇到下面这些问题&#xff1a;1.想学Python&#xff0c;但没什么经验根本不知道从何学起&#xff0c;而且应用方向太多了根本不知道该选择什么方向...2.基础入门看似简单&#xff0c;但是进阶实…

蓝牙打印和网口打印的实现

蓝牙打印的js export default {install(Vue,options){// 蓝牙搜索方法Vue.prototype.SearchBluetooth function () {/*plus变量定义*/var main, BluetoothAdapter, BAdapter, IntentFilter, BluetoothDevice, receiver;/*其他定义*/var isSearchDevices false, //是否处于搜…

VS Code 自动保存 码格式化

{"editor.formatOnSave": true, // #每次保存的时候自动格式化"editor.codeActionsOnSave": { // #每次保存的时候将代码按eslint格式进行修复"source.fixAll.eslint": true}, }

上去很美的 Serverless 在中国落地的怎么样了?

说起当前最火的技术&#xff0c;不得不提的一个概念就是 Serverless。2019 年几乎所有人都在说 Serverless&#xff0c;实际落地 Serverless 的有多少&#xff1f;Serverless 作为一种新型的互联网架构&#xff0c;直接或间接推动了云计算的发展&#xff0c;从 AWS Lambda 到阿…

Knative 驾驭篇:带你 '纵横驰骋' Knative 自动扩缩容实现

Knative 中提供了自动扩缩容灵活的实现机制&#xff0c;本文从 三横两纵 的维度带你深入了解 KPA 自动扩缩容的实现机制。让你轻松驾驭 Knative 自动扩缩容。 注&#xff1a;本文基于最新 Knative v0.11.0 版本代码解读 KPA 实现流程图 在 Knative 中&#xff0c;创建一个 Rev…

MongoDB 计划从“Data Sprawl”中逃脱

原文作者 | Adrian Bridgwater译者 |天道酬勤&#xff0c;责编 |晋兆雨头图 | CSDN 付费下载自视觉中国提供特定技术子集的软件供应商&#xff0c;喜欢用尽可能广泛的标签来提升自己&#xff0c;这是一种传达平台宽度和能力的方式。我们知道MongoDB以开源根数据库而闻名&#x…

FastMock

文章目录官网文档官网 官网&#xff1a;https://www.fastmock.site/#/ 文档 https://marvengong.gitee.io/fastmock/#/

关于在nw里使用require('printer')和nw.require('printer')报错的问题

公司项目为了兼容xp所以使用nw.js&#xff08;0.14.7-sdk&#xff09;&#xff0c;用到了printer模块&#xff08;第三方的c打印模块&#xff09;&#xff0c;在引入该模块的时候&#xff0c;使用了require导致一直报cannot find modul “.”&#xff0c;后来改用nw.require&am…

小蜜团队万字长文 | 讲透对话管理模型最新研究进展

对话管理模型背景 从人工智能研究的初期开始&#xff0c;人们就致力于开发高度智能化的人机对话系统。艾伦图灵&#xff08;Alan Turing&#xff09;在1950年提出图灵测试[1]&#xff0c;认为如果人类无法区分和他对话交谈的是机器还是人类&#xff0c;那么就可以说机器通过了…

mockjs

文章目录官网文档地址示例官网 &#xff1a;http://mockjs.com/ 文档地址 https://github.com/nuysoft/Mock/wiki/Getting-Started 示例 http://mockjs.com/examples.html

瓜子二手车在 Dubbo 版本升级、多机房方案方面的思考和实践

前言 随着瓜子业务的不断发展&#xff0c;系统规模在逐渐扩大&#xff0c;目前在瓜子的私有云上已经运行着数百个 Dubbo 应用&#xff0c;上千个 Dubbo 实例。瓜子各部门业务迅速发展&#xff0c;版本没有来得及统一&#xff0c;各个部门都有自己的用法。随着第二机房的建设&a…

炸裂!谷歌这波操作,预警了什么?

我们都知道谷歌爸爸收购了Cask Data一家公司。长期以来&#xff0c;谷歌致力于推动围绕 GoogleCloud 的企业业务&#xff0c;但在这方面一直被亚马逊和微软吊打&#xff0c;这次的收购正是为了弥补自身的短板。被收购的 Cask Data 是一家专门提供基于Hadoop的大型数据分析服务解…

美团点评基于 Flink 的实时数仓平台实践

一、美团点评实时计算演进 美团点评实时计算演进历程 在 2016 年&#xff0c;美团点评就已经基于 Storm 实时计算引擎实现了初步的平台化。2017 年初&#xff0c;我们引入了 Spark Streaming 用于特定场景的支持&#xff0c;主要是在数据同步场景方面的尝试。在 2017 年底&am…

element-ui简单使用

1.安装 npm i element-ui -S2.使用在main.js import ElementUI from element-ui; import element-ui/lib/theme-chalk/index.css; Vue.use(ElementUI);3.sublime text安装element-ui代码片段插件 打开sublime text的安装目录&#xff0c;找到存放插件的目录&#xff0c;例如…

koa-generator 快速生成 koa2 服务的脚手架工具

文章目录1. 全局安装脚手架工具2. 执行生成3. 安装依赖4. 启动服务5. 默认的访问地址通常我们可以借助于脚手架&#xff0c;快速创建一个Koa2项目&#xff0c;当然也可以自己从头搭建&#xff1b;脚手架会帮我们提前搭好基本的架子 1. 全局安装脚手架工具 cnpm install -g koa…

轻松搭建基于 SpringBoot + Vue 的 Web 商城应用

首先介绍下在本文出现的几个比较重要的概念&#xff1a; 函数计算&#xff08;Function Compute&#xff09;: 函数计算是一个事件驱动的服务&#xff0c;通过函数计算&#xff0c;用户无需管理服务器等运行情况&#xff0c;只需编写代码并上传。函数计算准备计算资源&#xff…

股市中的Santa Claus Rally (圣诞节行情)

圣诞节行情 Santa Claus Rally Santa Claus Rally 是指 12 月 25 日圣诞节前后股市的持续上涨这样一个现象。《股票交易员年鉴》的创始人 Yale Hirsch 于 1972 年创造了这个定义&#xff0c;他将当年最后五个交易日和次年前两个交易日的时间范围定义为反弹日期。 根据 CFRA Re…

没想到!!Unicode 字符还能这样玩?

来源 | 程序通事责编 |晋兆雨头图 | CSDN 付费下载自视觉中国上周的时候&#xff0c;朋友圈的直升飞机不知道为什么就火了&#xff0c;很多朋友开着各种花式飞机带着起飞。图片来自网络还没来得及了解咋回事来着&#xff0c;这个直升飞机就????到的微博热搜。图片来自网络后…