当前位置: 首页 > 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',
        })
      }
    },
  },
})
http://www.dtcms.com/a/16709.html

相关文章:

  • 【哇! 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技术未来趋势
  • 人工智能泡沫效应
  • mysql WITH的多种用法与示例
  • Day2:强化学习之TD learning
  • [特殊字符] 顺序容器全操作解析(含string完整版)
  • MySQL-SQL
  • ToDesk云电脑将终结显卡溢价,Web端浏览器、安卓、IOS免费试用
  • Ubuntu 24.04 安装 Redis
  • 什么是Docker多架构容器镜像
  • 云原生作业五
  • Python排序算法详解