press-plus
Version:
42 lines (32 loc) • 1 kB
text/typescript
export function checkIsInGuruVue3() {
return process.env.VUE_APP_FREE_MP == '0';
}
export function hookRouterInGuru(getNamespace: Function) {
console.log('[system] VUE_APP_FREE_MP', process.env.VUE_APP_FREE_MP);
if (!checkIsInGuruVue3()) return;
const originNavigateTo = uni.navigateTo;
const originNavigateBack = uni.navigateBack;
const originReplaceTo = uni.redirectTo;
uni.navigateTo = (...args: Array<any>) => {
innerHook(args, originNavigateTo);
};
uni.navigateBack = (...args: Array<any>) => {
innerHook(args, originNavigateBack);
};
uni.redirectTo = (...args: Array<any>) => {
innerHook(args, originReplaceTo);
};
function innerHook(args: Array<any>, originFunc: Function) {
const path = args?.[0]?.url || '';
const namespace = getNamespace(path);
if (namespace) {
const url = `/${namespace}${path}`;
console.log('url', url);
originFunc({
url,
});
return true;
}
originFunc(...args);
}
}