You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
1.1 KiB
39 lines
1.1 KiB
import { appPlatform, isH5 } from '../helpers/util';
|
|
|
|
// #ifdef H5
|
|
import H5 from '../patch/h5-patch';
|
|
|
|
const H5PATCH = new H5(isH5());
|
|
// #endif
|
|
|
|
export const registerHook = function (list, fn) {
|
|
list.push(fn);
|
|
return () => {
|
|
const i = list.indexOf(fn);
|
|
if (i > -1) list.splice(i, 1);
|
|
};
|
|
};
|
|
/**
|
|
* 注册全局Router生命钩子
|
|
*/
|
|
export const registerRouterHooks = function () {
|
|
registerHook(this.lifeCycle.routerbeforeHooks, function () {
|
|
return new Promise(async (resolve) => {
|
|
this.CONFIG.routerBeforeEach(); // 触发暴露给开发者的生命钩子
|
|
if (appPlatform(true) === 'H5') {
|
|
H5PATCH.on('toogle', 'startLodding');
|
|
}
|
|
return resolve(true);
|
|
});
|
|
});
|
|
registerHook(this.lifeCycle.routerAfterHooks, function (res = {}) {
|
|
if (res.H5Intercept !== true) {
|
|
this.CONFIG.routerAfterEach(); // 触发暴露给开发者的生命钩子
|
|
}
|
|
if (appPlatform(true) === 'H5') {
|
|
H5PATCH.on('toogle', 'stopLodding');
|
|
}
|
|
return true;
|
|
});
|
|
};
|