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.非常完美,完结撒花

相关推荐
2501_9159184128 分钟前
苹果App Store上架审核卡住原因分析与解决方案指南
android·ios·小程序·https·uni-app·iphone·webview
用户700980735735 小时前
从零开发一个微信记账小程序,零依赖、附完整源码
微信小程序
焦糖玛奇朵婷8 小时前
盲盒小程序开发|解锁开箱新体验[特殊字符]
大数据·开发语言·程序人生·小程序·软件需求
左师佑图9 小时前
微信小程序组件事件冒泡问题排查与解决方案
微信小程序·小程序
HWL56799 小时前
uni-app的生命周期
前端·vue.js·uni-app
一颗小青松9 小时前
uniapp设置安卓 ios 自定义启动页
uni-app
仙古.梦回~9 小时前
uniapp中使用plus对象实现经典蓝牙
uni-app
树下水月10 小时前
微信小程序接口,必须使用https的443端口吗?
微信小程序·小程序·https
毕设源码-邱学长10 小时前
【开题答辩全过程】以 灵山水牛奶配送小程序的设计与实现为例,包含答辩的问题和答案
小程序
2501_9159184110 小时前
基于Mach-O文件的动态库与静态库归属方案及API扫描实践
android·ios·小程序·https·uni-app·iphone·webview