当前位置: 首页 > news >正文

微信小程序登陆鉴权最佳实现

文章目录

  • 一、使用步骤
    • 1.创建鉴权组件auth
    • 2.app.json中注册全局组件
    • 3.页面使用组件
    • 4. 读取本地存储的 `token` 数据,用于判断是否曾登录过
    • 5. 检测登录状态,要求未登录时不显示页面中的内容且跳转到登录页面


一、使用步骤

1.创建鉴权组件auth

在这里插入图片描述

2.app.json中注册全局组件

在这里插入图片描述

3.页面使用组件

在这里插入图片描述

4. 读取本地存储的 token 数据,用于判断是否曾登录过

// app.js
App({
  onLaunch() {
    // 读取本地存储的 token 数据
    this.getToken()
  },
  getToken() {
    // 将 token 数据记到应用实例中
    this.token = wx.getStorageSync('token')
  }
})

5. 检测登录状态,要求未登录时不显示页面中的内容且跳转到登录页面

<!-- /components/auth/index.wxml -->
<slot wx:if="{{isLogin}}"></slot>
// /components/authorization/index.js
Component({
  data: {
    isLogin: false,
  },
  lifetimes: {
    attached() {
      // 获取登录状态
      const isLogin = !!getApp().token
      // 变更登录状态
      this.setData({ isLogin })
      // 未登录的情况下跳转到登录页面
      if (!isLogin) {
        wx.redirectTo({
          url: '/pages/login/index',
        })
      }
    },
  },
})

相关文章:

  • 【哇! C++】缺省参数、函数重载与引用
  • 【C++】策略模式
  • 迭代、递归、回溯和动态规划
  • span标签 鼠标移入提示框 el-tooltip element-ui
  • twisted实现MMORPG 游戏数据库操作封装设计与实现
  • python学opencv|读取图像(六十八)使用cv2.Canny()函数实现图像边缘检测
  • Linux内核 - 非仿生机器人之感知主控系统(协议栈)
  • 3D打印学习
  • 【DDD系列-2】风暴出的领域模型
  • 解决 MyBatis Plus 在 PostgreSQL 中 BigDecimal 精度丢失的问题
  • Android remount failed: Permission denied 失败解决方法
  • 基于单片机的智能安全插座(论文+源码)
  • DeepSeek计算机视觉(Computer Vision)基础与实践
  • Electron 客户端心跳定时任务调度库调研文档 - Node.js 任务调度库技术调研文档
  • js考核第三题
  • 嵌入式经常用到串口,如何判断串口数据接收完成?
  • IIC总线,也称为I²C或Inter-Integrated Circuit协议
  • bootplus管理系统 file/download 任意文件下载漏洞
  • Python与R机器学习(1)支持向量机
  • AI技术未来趋势
  • 媒体:演员黄杨钿甜耳环事件仍有三大疑问待解
  • 财政部:今年将和住建部选拔第二批20个城市,高质量推进城市更新行动
  • 王毅同丹麦外交大臣会谈,表示在格陵兰问题充分尊重丹麦主权和领土完整
  • 外媒:哈马斯一名高级指挥官尸体被发现,系辛瓦尔弟弟
  • 临港新片区将新设5亿元启航基金:专门投向在临港发展的种子期、初创型企业
  • 恒生银行回应裁员传闻:受影响的员工数目占银行核心业务员工总数约1%