微信小程序 跳转页面经常会遇到判断是否登录情况。基于此需求,做了一个路由跳转拦截的jump组件

这篇具有很好参考价值的文章主要介绍了微信小程序 跳转页面经常会遇到判断是否登录情况。基于此需求,做了一个路由跳转拦截的jump组件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

小程序跳转页面的时候经常会遇到判断是否登录,未登录跳转登录页的需求。基于此需求,做了一个路由操作拦截跳转的jump组件

自定义组件

组件代码非常简单
在根目录创建components目录
在components目录新建jump目录
在jump目录新建四个文件
index.js
index.json
index.wxml
index.wxss

index.js内容

//引入不需要登录的path路径
//routerConfig.js的内容如下
/*
const noLoginPath = [
    '/pages/index/index',
    '/pages/article/list',
    '/pages/article/list'
]
module.exports = {
    noLoginPath: noLoginPath
}
*/
import {
    noLoginPath
} from '../../router/routerConfig.js';
Component({
    properties: {
        url: {
            type: String,
            value: ''
        },
        type: {
            type: String,
            value: 'navigateTo'
        },
        delta: {
            type: Number,
            value: 1
        }
    },

    /**
     * 组件的初始数据
     */
    data: {},
    methods: {
        route: function () {
            this.jump()
        },
        jump: function () {
            let token = wx.getStorageSync('token')
            let url = this.data.url
            let type = this.data.type
            //url是否跳转的tabbar页面,可以自行书写判断代码,如果是type = 'switchTab';否则就自行传递type的值为switchTab;
            //type类型有navigateTo(默认)、redirectTo、switchTab、reLaunch、navigateBack
            //delta参数只有后退才用得着,后台层数。
            var n_url_index = url.lastIndexOf("\?");
            var n_url = url.substring(0, n_url_index);
            //登录权限验证
            if (!noLoginPath.includes(n_url) && !token) {
                //跳转登陆页
                wx.navigateTo({
                    url: '/pages/user/login'
                })
                return
            }
            if (type == 'navigateTo') {
                wx.navigateTo({
                    url: url
                })
            } else if (type == 'redirectTo') {
                wx.redirectTo({
                    url: url
                })
            } else if (type == 'switchTab') {
                wx.switchTab({
                    url: url
                })
            } else if (type == 'reLaunch') {
                wx.reLaunch({
                    url: url
                })
            } else if (type == 'navigateBack') {
                wx.navigateBack({
                    delta: this.data.delta
                })
            }
        }
    }
})

index.json文件内容

{
    "component": true,
    "usingComponents": {
    }
}

index.html文件内容

<view catchtap="route" url="{{url}}" type="{{type}}" delta="{{delta}}"><slot /></view>

index.wxss文件内容

这个样式文件内容空就行文章来源地址https://www.toymoban.com/news/detail-492503.html

使用方法

<jump class="item" url="/pages/product/show">我要跳转了!</jump>
<jump class="item" url="/pages/index/index" type="switchTab">我要去tabbar页面</jump>

到了这里,关于微信小程序 跳转页面经常会遇到判断是否登录情况。基于此需求,做了一个路由跳转拦截的jump组件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信小程序:跳转页面

    实际调用需要根据自己业务实际情况决定,虽然各种方式一定程度上能减少内存损耗,但是业务上面流转优化才是最终要满足的,一定要从业务流转去优化去考虑,不要为了性能增加了流转复杂度 1、wx.navigateTo 保留当前页面,跳转到应用内的某个页面。可以通过调用  wx.na

    2024年02月03日
    浏览(43)
  • 微信小程序页面跳转方式+跳转小程序

    官方文档:https://developers.weixin.qq.com/miniprogram/dev/api/route/wx.switchTab.html 跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面 跳转到其他页面(非tabBar页) 返回上一页面或返回多级页面 首先需要在当前小程序app.json中定义:需要跳转的小程序的app-id app.josn文件: 第一种方法:wx.

    2024年02月12日
    浏览(36)
  • 微信小程序如何判断是否已经订阅某条消息

    判断订阅消息是否已经订阅 res.subscriptionsSetting.itemSettings 返回的是所有订阅消息的对象集合,\\\'accept\\\' 表示用户同意订阅这条消息,\\\'reject\\\' 表示用户拒绝订阅这条消息,\\\'ban\\\' 表示已被后台封禁。

    2024年02月11日
    浏览(48)
  • 微信小程序(四)页面跳转

    注释很详细,直接上代码 上一篇 新增内容 1.相对路径页面跳转 2. 绝对路径页面跳转 index.wxml 效果演示: 跳转之后 下一篇

    2024年01月19日
    浏览(35)
  • 微信小程序之页面跳转

    1、wx.navigateTo( ): 功能:保留当前页面,跳转到应用内的某个页面。 特点:跳转后原页面保留在后台,可以通过 wx.navigateBack() 返回到原页面,新页面显示在原页面之上,有返回按钮。 2、wx.redirectTo( ): 功能:关闭当前页面,跳转到应用内的另一个页面。 特点:跳转后原页面

    2024年04月23日
    浏览(46)
  • 微信小程序页面跳转方法

    微信小程序页面跳转的各种方法总结,备查。 保留当前页面,跳转到应用内的某个页面。可以通过调用 wx.navigateBack 返回到原页面。跳转后左上角出现返回小箭头,点击后可返回原本页面。示例代码: 使用场景 适用于需要跳转到新页面并保留原页面状态的情况,比如从列表

    2024年02月04日
    浏览(32)
  • 微信小程序如何跳转页面

    微信小程序跳转页面可以通过 wx.navigateTo 函数来实现。具体步骤如下: 首先,在app.json文件中配置需要跳转的目标页面,例如: 在原始页面的js文件中,调用 wx.navigateTo 函数,跳转到目标页面,例如: 其中, url 参数指定要跳转的目标页面路径。 如果要在目标页面接收传递参

    2024年02月09日
    浏览(43)
  • 微信小程序事件和页面跳转

    一、页面跳转 1.非TabBar页面 一个小程序拥有多个页面,我们通过wx.navigateTo进入一个新的页面 我们通过下边点击事件实现页面跳转进行代码实现及参考 wx.navigateBack()回退到上一个页面 wx.redirectTo(url)删除当前页面跳转到指定页面 2.TabBar页面: wx.switchTab只能打开TabBar 3.其他

    2023年04月09日
    浏览(33)
  • 微信小程序点击跳转页面

         第一步:index.wxml 第二步:index.js 以下是点击跳转的详情页面: xiang.wxml: xiang.wxss:

    2024年02月14日
    浏览(32)
  • 微信小程序 跳转客服页面

    小程序 用户反馈 没有页面设计 可以直接跳转小程序指定客服页面

    2024年02月06日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包