uniapp微信小程序巧用跳转封装鉴权路由
1.这是封装的跳转方法:
import store from "../stores/store";
function Router(type, url, params) {
const NoLoginPage = [
。。。。。
];
var queryString = Object.keys(params)
.map((key) => `${key}=${params[key]}`)
.join("&");
if (!NoLoginPage.includes(url)) {
if (!store.state.user_store.token) {
store.commit("user_store/setPath", url);
store.commit("user_store/setParams", params);
uni.navigateTo({
url: "/pages/login/login",
});
return;
}
}
switch (type) {
case "switchTab":
if (queryString) {
uni.switchTab({
url: `${url}?${queryString}`,
});
} else {
uni.switchTab({
url: url,
});
}
break;
case "navigateTo":
if (queryString) {
uni.navigateTo({
url: `${url}?${queryString}`,
});
} else {
uni.navigateTo({
url: url,
});
}
break;
case "redirectTo":
if (queryString) {
uni.redirectTo({
url: `${url}?${queryString}`,
});
} else {
uni.redirectTo({
url: url,
});
}
break;
case "switchTab":
if (queryString) {
uni.switchTab({
url: `${url}?${queryString}`,
});
} else {
uni.switchTab({
url: url,
});
}
break;
}
}
export default Router;
2.引入main.js函数进行使用
import Router from "./router/routerLogin";
Vue.prototype.$Router = Router;
3.组件中使用
this.$Router(
"navigateTo",
"/page_my/。。。。。",
""
);
4.非常完美,完结撒花
原文地址:https://blog.csdn.net/CHENC0518/article/details/142658682
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!