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);
}

Vue封装hbuilder热更新相关推荐

  1. hbuilder热更新

    前端代码: // 获取当前应用的版本号 ​ var wgtVer=null; function plusReady(){// ......// 获取本地应用资源版本号plus.runtime.getP ...

  2. vue init webpack缺少标识符_Vue脚手架热更新技术探秘

    前言 热替换(Hot Module Replacement)或热重载(Hot Reload)是指在不停机状态下,实时更新,在前端利于来说,在各大框架中及库中都有体现,比如NG从5开始就提供了热更新,R ...

  3. vue修改部分文件热更新失效

    文章目录 一.问题描述 二.排查过程 三.问题解决 一.问题描述 笔者最近遇到了vue修改文件热更新的失效的问题[并不是改所有的文件都失效,是改部分文件失效] 每次更新完那个文件的代码之后页面并不会有 ...

  4. webpack和vue热更新

    目录 webpack一些概念介绍 webpack热更新流程 1. 启动阶段 ①->②->A->B 2. 更新阶段 ①->②->③->④ vue的组件热更新模块 总结 ...

  5. cocos2dx lua 热更新

    文章新地址 原理   每次登陆游戏利用cocos的assetManager从服务器拉去当前最新的两个文件. 一个是version.mainifest,一个project.mainifest. 这两个文 ...

  6. Cocos2dx-- 资源热更新

    前言:游戏上线后,我们常常还会需要更新,如新增玩法,活动等,这种动态的更新资源我们称为游戏的热更新.热更新一般只适用于脚本语言,因为脚本不需要编译,是一种解释性语言,而如C++语言是很难热更新的,其代 ...

  7. hmr webpack 不编译_webpack - hmr热更新

    文章首发于个人blog,欢迎关注~ webpack hmr webpack-dev-server 在使用 webpack-dev-server 的过程中,如果指定了 hot 配置的话(使用 inlin ...

  8. vue created 调用方法_深入解析 Vue 的热更新原理,偷学尤大的秘籍?

    大家都用过 Vue-CLI 创建 vue 应用,在开发的时候我们修改了 vue 文件,保存了文件,浏览器上就自动更新出我们写的组件内容,非常的顺滑流畅,大大提高了开发效率.想知道这背后是怎么实现的吗, ...

  9. vue 热更新无反应_不吹不黑谈谈 vue 的 SFC 和 template

    大家好,好久不贱,我是 132,今天给大家带来一篇关于 SFC 的文章 为什么我曾经不看好 SFC 和 template 过去,我一直不看好 SFC 和 template,甚至因为这个观点,还被很多 ...

最新文章

  1. IT小小鸟VS.小小小鸟:展翅,我们一起翱翔!
  2. 【函数】02、函数进阶
  3. JavaSE(十八)——IO流之字符流
  4. WinForm读取指定的config文件的内容
  5. Node项目部署正常启动后不能访问的问题
  6. UIView设置背景渐变色
  7. React的静态类型检查
  8. 程序员“离职小技巧”
  9. c语言车牌号5位数,为何有的车牌是五位数字,有的加英文字母?终于知道原因了!...
  10. 训练指南 UVALive - 5713(最小生成树 + 次小生成树)
  11. 信创办公--基于WPS的Word最佳实践系列(使用智能图形丰富表达内容)
  12. Scrapy Tutorial
  13. Matplotlib绘制三维数据点与线
  14. 打印机的ip地址怎么改?
  15. 高中计算机学ppt吗,1.1高中信息技术基础开学第一课.ppt
  16. html代码演讲,index.html
  17. 毕业论文答辩管理系统/毕业论文管理系统的设计与实现
  18. [内附完整源码和文档] 基于Java的宾馆住宿管理系统
  19. 深入理解XSS攻击与防御
  20. 回溯算法解数独问题(java版)

热门文章

  1. linux创建新进程就分配空间,linux几种创建进程的方法
  2. html5调用系统声音1s响一次_20款奔驰GLC260提车改柏林之声音响,音乐诉请,为爱发声!...
  3. PS里建立工作路径对话框中的“容差”是干什么的?
  4. eBPF技术应用云原生网络实践系列之基于socket的service | 龙蜥技术
  5. 技术实践第三期|HashTag在Redis集群环境下的使用
  6. 持续定义Saas模式云数据仓库+实时搜索
  7. 蚂蚁金服自研分布式关系数据库OceanBase上线阿里云
  8. 记一次Cassandra Java堆外内存排查经历
  9. 配置管理 ACM 在高可用服务 AHAS 流控降级组件中的应用场景
  10. 京信通信:数据智能为生产调试“增效瘦身”