封裝跳轉登陸頁面
阿新 • • 發佈:2021-01-30
技術標籤:javascriptuni-appvue
第一步:url.js
export default {
//不需要登陸的頁面
excludePath:[...]
}
第二步:router.js
/**
* @description 解析路由,並拼接到登入連結中 e.g:/pages/login/login?redirect=要去的路徑&要去路徑引數
* @param url 當前需跳轉的路由
* @returns {string} 帶引數的登入路由地址
*/
function getLoginPath(url) {
let loginPath = '/pages/login/login' ;
let splitUrl = url.split('?');
loginPath += `?redirect=${splitUrl[0]}`;
if (splitUrl.length > 1) {
loginPath += `&${splitUrl[1]}`;
}
return loginPath;
}
/**
* @description 篩選路由,是否跳轉登陸頁面
* @param route 當前需跳轉的路由
*/
import { excludePath } from 'router.js'
function navigation(route) {
let url = route.url;
let splitUrl = url.split('?');
判斷登陸的狀態...
if (excludePath.indexOf(url) === -1 && (!登陸的狀態) ) {
uni.navigationTo({
url: getLoginPath(url);
})
}
}