1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- //http://xixio.cn/2018/08/18/regeneratorruntime-is-not-defined-%E5%B0%8F%E7%A8%8B%E5%BA%8F%E4%B8%AD%E4%BD%BF%E7%94%A8async%E5%87%BD%E6%95%B0/
- // const regeneratorRuntime = require('../lib/runtime');
- class UpdateManager {
- checkForUpdate(updateManager) {
- return new Promise((resolve, reject) => {
- updateManager.onCheckForUpdate(function (res) {
- // 请求完新版本信息的回调
- resolve(res.hasUpdate);
- });
- });
- }
- fetchUpdate(updateManager) {
- return new Promise((resolve, reject) => {
- updateManager.onUpdateReady(function () {
- resolve(true);
- });
- updateManager.onUpdateFailed(function () {
- resolve(false);
- });
- });
- }
- async update() {
- let updateManager;
- if (wx.canIUse('getUpdateManager')) {
- updateManager = wx.getUpdateManager();
- const hasUpdate = await this.checkForUpdate(updateManager);
- if (hasUpdate) {
- const fetchOK = await this.fetchUpdate(updateManager);
- if (fetchOK) {
- wx.showModal({
- title: '已经有新版本了~',
- content: '更新小程序',
- showCancel: false,
- success(res) {
- if (res.confirm) {
- // 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
- updateManager.applyUpdate()
- }
- }
- });
- } else {
- // 新的版本下载失败或者不支持updateManager
- wx.showModal({
- title: '已经有新版本了~',
- showCancel: false,
- content: '新版本已经上线啦~,请您删除当前小程序,重新搜索打开~'
- });
- }
- }
- }
- }
- }
- export default new UpdateManager();
|