uniapp 页面登录控制

1,只需在项目的pages.json内配置登录页路径、需要登录才能访问的页面等信息,uni-app框架的路由跳转,会自动在需要登录且客户端登录状态过期或未登录时跳转到登录页面。

删除保存到内存的token  也会判断为token不存在 这个功能可以用于测试,有这个功能可以管理所有的页面了。

"uniIdRouter": {//token不正确或token过期 时生效
        "loginPage": "pages/index/index", // 登录页面路径
        "needLogin": [
            "pages/detail/.*" // 需要登录才可访问的页面列表,可以使用正则语法
        ],
        "resToLogin": true // 自动解析云对象及clientDB的错误码,如果是客户端token不正确或token过期则自动跳转配置的登录页面,配置为false则关闭此行为,默认true
    }

2.自动跳转到登录页面时会携带uniIdRedirectUrl参数,其值为encodeURIComponent(${跳转前的页面(包含路径和参数的完整页面地址)}),如果希望用户登录后跳转回之前的页面,可以使用此参数实现。

onLoad(options) {
            this.uniIdRedirectUrl = decodeURIComponent(options.uniIdRedirectUrl)
        },
        methods: {
            async login() {
                // ...执行登录操作,在成功回调里跳转页面
                if (this.uniIdRedirectUrl) {
                    uni.redirectTo({
                        url: this.uniIdRedirectUrl
                    })
                }

}

3,uniIdRedirectUrl地址复杂要解析两次才能跳转成功 就是在登录页面闪2次,第一次跳转失败,回来再跳转。

4,swtab 跳转不可以 因为他不能携带参数

5,推荐使用,在每一个onshow 页面进行判断 登录。在全局app.js 中加入判断 ,这个app js  只判断一次,在打开app的时候

    let token = getToken()
            if (!token) {//清空内存 的时候生效
                console.log('1111')
                //不存在则跳转至登录页
                uni.reLaunch({
                    url: "/pages/weixin/weixin"
                })
            }

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值