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

相关推荐
zhulangfly3 小时前
Wux weapp 组件库的 bug—— wux-picker选择器组件无法正确初始化到选定的value
小程序·wux weapp
兔C4 小时前
微信小程序的轮播图学习报告
学习·微信小程序·小程序
用户48062260414156 小时前
使用uniapp开发微信小程序-框架搭建
微信小程序·uni-app
嘟嘟实验室6 小时前
微信小程序xr-frame透明视频实现
微信小程序·ffmpeg·音视频·xr
Cc_Debugger6 小时前
小程序将对象通过url传递到下个页面
小程序
低代码布道师6 小时前
从用户视角出发:用例图分析家政预约小程序
低代码·小程序
说私域6 小时前
社交媒体形象打造中的“号设化”与开源AI智能名片商城小程序的应用
人工智能·小程序·媒体
TttHhhYy8 小时前
uniapp+vue开发app,蓝牙连接,蓝牙接收文件保存到手机特定文件夹,从手机特定目录(可自定义),读取文件内容,这篇首先说如何读取,手机目录如何寻找
开发语言·前端·javascript·vue.js·uni-app
Funky_oaNiu8 小时前
uniapp实现按钮防重复点击(防抖)完整解决方案
uni-app
原克技术8 小时前
uniapp验证码
uni-app