uniapp微信小程序巧用跳转封装鉴权路由

1.这是封装的跳转方法:

javascript 复制代码
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函数进行使用

javascript 复制代码
import Router from "./router/routerLogin";
Vue.prototype.$Router = Router;

3.组件中使用

javascript 复制代码
this.$Router(
        "navigateTo",
        "/page_my/。。。。。",
        ""
      );

4.非常完美,完结撒花

相关推荐
@技术无疆4 分钟前
Python 机器学习:预测国庆黄金周的消费趋势
开发语言·人工智能·python·深度学习·神经网络·机器学习·小程序
LJ小番茄1 小时前
论React Native 和 UniApp 的区别
react native·react.js·uni-app
工业互联网专业3 小时前
毕业设计选题:基于springboot+vue+uniapp的在线办公小程序
vue.js·spring boot·小程序·uni-app·毕业设计·源码·课程设计
计算机学姐4 小时前
基于微信小程序的美食推荐系统
java·vue.js·spring boot·微信小程序·小程序·mybatis·美食
lyz2468594 小时前
uniapp小程序原始tabbar添加红点以及信息的方法
小程序·uni-app
YMZN918 小时前
基于SSM+小程序的电影院订票选座管理系统(电影2)(源码+sql脚本+视频导入教程+文档)
小程序
前端小凯15 小时前
小程序振动
小程序
夏天想15 小时前
微信小程序使用scroll-view 加上enable-flex之后高度变得特别长
微信小程序·小程序
程序员阿龙15 小时前
基于微信小程序的智能汽车充电站系设计与实现(源码+定制+文档)
微信小程序·毕业设计·用户体验设计·智能充电站·电动汽车充电·充电管理系统·智能交通解决方案