1.在app.tsx初始调用该方法
handleUpdate() {
if (process.env.TARO_ENV === 'h5') {
return;
}
const updateManager = Taro.getUpdateManager();
updateManager.onCheckForUpdate(function(res) {
// 请求完新版本信息的回调
console.log(res.hasUpdate);
});
updateManager.onUpdateReady(function() {
Taro.showModal({
title: '更新提示',
content: '新版本已经准备好,是否重启应用?',
success: function(res) {
if (res.confirm) {
// 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
updateManager.applyUpdate();
}
}
});
track(TRACKEVENTS.VERSION_UPGRADE, {
page: '/',
trigger: TRACKTRIGGER.APP_DID_MOUNT
});
});
updateManager.onUpdateFailed(function() {
// 新的版本下载失败
errorReport(ERROREVENTS.VERSION_UPGRADE_FAILED, '新版本下载失败');
});
}
export enum TRACKTRIGGER {
DID_MOUNT = 'componentDidMount',
DID_SHOW = 'componentDidShow',
DID_HIDE = 'componentDidHide',
REACH_BOTTOM = 'onReachBottom',
PULL_DOWN_REFRESH = 'onPullDownRefresh',
SHARE = 'ShareAppMessage',
CLICK = 'click',
PAGE_LOAD = 'page.onLoad',
PAGE_SHOW = 'page.onShow',
APP_DID_MOUNT = 'app.onLaunch',
APP_SHOW = 'app.onShow'
}
export enum ERROREVENTS {
JS_STACK_ERROR = '错误栈',
JS_STACK_PROMISE_ERROR = 'Promise错误栈',
TARO_ERROR = 'Taro错误边界',
PAGE_NOT_FOUND = '页面未找到',
HTTP_ERROR = '接口错误',
OFFLINE = '无可用网络',
VERSION_UPGRADE_FAILED = '版本下载失败'
}