首页 > 其他分享 >登录模块 除了css部分

登录模块 除了css部分

时间:2024-03-19 23:12:49浏览次数:20  
标签:const 登录 useUserStore token let 模块 router css

  • 登录
  1. 表单验证,正则判断
  2. 账号密码输入没问题点击登录或者输入手机号发验证码,验证码要做倒计时
    验证码倒计时
let phoneTimer = null;
//倒计时
const sendCode = () => {
  let timer = 10;
  captcha.value = `重新发送10秒`;
  clearInterval(phoneTimer);
  phoneTimer = setInterval(() => {
    timer--;
    if (timer <= 0) {
      clearInterval(phoneTimer);
      captcha.value = "重新发送";
      timer = 10;
    } else {
      captcha.value = `重新发送${timer}秒`;
    }
  }, 1000);
};
  1. 点击登录,调接口,提示成功或者失败,回到之前的页面登录和用户头像的切换
    回到之前的页面
//路由
const router = useRouter();
router.go(-1);
  1. 获取用户信息,把token封装到axios里,传给要用到token的组件中
    这段代码是从Pinia的userStore中获取用户的token,并将其添加到HTTP请求的headers中,以便于服务器进行身份验证。
import { useUserStore } from "@/store/user";

//在请求拦截器里面写
service.interceptors.request.use(
  (config) => {
    //获取token
    const userStore = useUserStore();
    let token = userStore.token;
    if (token) {
      config.headers["Authorization"] = token;
    }
    return config;
  },
  1. 退出,提示是否退出,刷新页面,清除token
    在pinia里面添加
import { defineStore } from "pinia";
export const useUserStore = defineStore({
  id: "user",
  //id,模块名称
  state: () => {
    return {
      token: "",
    };
  },
  actions:{
    //设置token
  	setToken( token ){
  		this.token = token;
  	},
    //清除token
    clearToken(){
      this.token = '';
    }
  },
  // 开启数据缓存
  persist: {
    enabled: true,
    //表示开启持久化保存
    strategies: [
      {
        key: "xiaoluxian_user",
        storage: localStorage,
        //paths: ['token']
      },
    ],
  },
});

刷新页面

let router = useRouter();
router.go(0);

清除token

import { useUserStore } from '@/store/user'
let useStore = useUserStore();
useStore.clearToken();

标签:const,登录,useUserStore,token,let,模块,router,css
From: https://www.cnblogs.com/zongkm/p/18084016

相关文章

  • Python 数据持久层ORM框架 TorToise模块(异步)
    文章目录TortoiseORM简介TortoiseORM特性TortoiseORM安装TortoiseORM数据库支持TortoiseORM创建模型aerich迁移工具简介aerich迁移工具安装aerich迁移工具使用TrotoiseORM查询数据TrotoiseORM修改数据TrotoiseORM删除数据TrotoiseORM新增数据......
  • JWT登录认证-项目BotBattle
    目录session授权认证原理密码存储与加密jwt(JSONWebToken)验证JWT的无状态认证机制实践与调试实现目标:在没有判断登录认证的情况下,访问任意界面,直接跳转到登录界面。添加SpringSecurity依赖来实现登录认证session授权认证原理实现config.SecurityConfig类SessionID相当......
  • 瑞_Redis_短信登录
    文章目录项目介绍1短信登录1.1项目准备1.1.1导入SQL1.1.2导入后端项目1.1.3导入前端项目1.2基于Session实现登录流程1.2.1功能流程介绍1.2.1.1发送短信验证码1.2.1.2短信验证码登录、注册1.2.1.3校验登录状态1.2.2实现发送短信验证码功能1.2.2.1页面流程1.......
  • 前端基础之CSS基本属性
    一、长度和宽度行内标签无法设置长宽,就算你写了,也不会生效<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>Title</title><style>p{background-color:red;height:......
  • CSS小练习
    使用CSS搭建网站文章首页blog.css/*通用样式*/body{/*去除自带的8px*/margin:0;background-color:#eeeeee;}a{/*去除a标签下的下划线*/text-decoration:none;}ul{/*list-style-type:去除ul标签对应的黑色圆点*/list-styl......
  • 前端基础之CSS浮动和定位方式
    一、浮动(1)概述浮动是所有网站页面布局必备的可以将块儿级标签浮动起来脱离正常的文档流。浮动是多个块儿级标签可以在一行显示(全部飘在了空中)浮动的元素,没有块儿级一说,本身有多大浮起来之后也就只能占多大。只要涉及到页面的布局,一般都是用浮动提前规划好主要属性值为:l......
  • 信息收集模块(四)masscan介绍和使用教程
    一、masscan介绍    masscan是号称最快的互联网的端口扫描工具,最快几分钟就可以扫描完毕    但是他和nmap比较内饰但是masscan更加灵活,它允许自定义任意的地址范和端口范围。 二、masscan工具的命令使用        IP地址范围,有三种有效格式,1、......
  • 深入了解鸿鹄工程项目管理系统源码:功能清单与项目模块的深度解析
    工程项目管理软件是现代项目管理中不可或缺的工具,它能够帮助项目团队更高效地组织和协调工作。本文将介绍一款功能强大的工程项目管理软件,该软件采用先进的Vue、Uniapp、Layui等技术框架,涵盖了项目策划决策、规划设计、施工建设到竣工交付、总结评估、运维运营等全过程。通过该......
  • 前端基础之CSS基础
    一、什么是cssCSS(CascadingStyleSheets的缩写),翻译为“层叠样式表”或者“级联样式表”,简称样式表。主要用来给HTML网页设置外观或者样式(HTML网页中的文字大小、颜色、字体、网页的背景颜色、背景图片等)。通俗来说就是给HTML标签添加样式的,让它变得更加好看二、注释语法......
  • 前端基础之CSS选择器
    一、什么是选择器选择器是指通过一定的语法规则选取到对应的HTML标记,然后给这个对应的HTML标记设置样式二、选择器的分类CSS中提供了多种不同类型的选择器,例如基本选择器、组合选择器、伪类选择器、伪元素选择器等等。1、基本选择器(1)概览在CSS中,选择器用于选取HTML文档中的......