作者热门文章
- 使用 Spring Initializr 创建 Spring Boot 应用程序
- 在Spring Boot中配置Cassandra
- 在 Spring Boot 上配置 Tomcat 连接池
- 将Camel消息路由到嵌入WildFly的Artemis上
在实践运用中,经常需要在路由跳转时判断是否需要登录权限,页面跳转时,添加加在if判断。
插件市场也有一些这种插件,配置也稍微复制,大部分朝向vue-router。
注:本次路由封装,只是单纯的判断是否需要登录权限,其余的暂无考虑。
项目地址:https://gitee.com/jielov/uni-app-tabbar
先在跟目录下的 utils文件夹下创建 routeBlocker.js
routeBlocker.js代码内容
//xuex 数据
import store from '@/store/index.js'export default functionopenPage(args) {
//判断跳转方式是否正确
if (!['navigateTo', 'switchTab', 'reLaunch', 'redirectTo'].includes(args.type)) {
console.log("type必须是以下的值[navigateTo,switchTab,reLaunch,redirectTo]");
return;
}
//路由参数
let url = args.url, //页面路径
type = args.type, //跳转方式
ifLogin = args.login || false; //是否需要判断登录
//是否需要判断登录
if(ifLogin) {
//根据vuex 判断是否登录
if (!store.state.hasLodin) {
uni.showToast({
title: '请先登录',
duration: 2000});
setTimeout(() =>{
//登录页面-路径
url = '/pages/login/login'
//跳转方法
//type = 'redirectTo'
//执行跳转
startRoute(type, url)
}, 500)
return;
}
}
//执行跳转
startRoute(type, url)
}
//开始跳转
functionstartRoute(type, url) {
return new Promise((resolve, reject) =>{
uni[type]({
url: url,
success(res) {},
fail(err) {}
})
})
}
View Code
//导入 路由封装
import routr from './utils/routeBlocker.js'
//vue2导入
Vue.prototype.$routr = routr
//vue3 导入
//app.config.globalProperties.$routr = routr;
路由传参的话,还是以拼接传过去 ,接收方法不变
vue2 方法
this.$routr({
url: '/pages/my/my', //页面路径 添加参数 '/pages/my/my?id=1&name=uniapp'
type: 'navigateTo', //跳转方式 navigateTo,switchTab,reLaunch,redirectTo
login: true // 是否需要判断登录
})
vue3方法
<template>
<view class="content" @click="click">路由跳转
</view>
</template>
<script>import {
getCurrentInstance
} from 'vue';
export default{
setup() {
//获取上下文实例
const {
proxy
} =getCurrentInstance();
//开始跳转
functionclick(e) {
proxy.$routr({
url: '/pages/my/my', //页面路径 添加参数 '/pages/my/my?id=1&name=uniapp'
type: 'navigateTo', //跳转方式 navigateTo,switchTab,reLaunch,redirectTo
login: true //是否需要判断登录
})
}
return{
click
}
}
}
</script>
<style>
</style>
View Code
本文来自博客园,作者:虚乄,转载请注明原文链接:https://www.cnblogs.com/lovejielive/p/15938794.html
我正在设计一个可在hbase上运行的应用程序,并且希望以交互方式浏览集群的内容。我在hbase shell中,我想对所有以chars“abc”开头的键进行扫描。这样的键可能包括“abc4”,“abc9
我是一名优秀的程序员,十分优秀!