【项目】Vue3+TS CMS 登录模块搭建
💭💭
✨:Vue3 + TS
💟:东非不开森的主页
💜: keep going💜💜
🌸: 如有错误或不足之处,希望可以指正,非常感谢😉
Vue3+TS
- 一、搭建登录页
- 二、账号密码框提示和校验
- 2.1.父组件点击login调用子组件
- 2.2.elmessage
- 2.3.数据放在store里
- 2.4. 保存token
一、搭建登录页
我们可以给主屏宽高用vhvw设置,这样就可以撑满整个屏幕

- 使用element-plus
- tabs进行切换
- 可以用插槽自定义内容
当然要多看看官方文档,看看每个属性的意思


- 然后我们可以把信息抽成一个组件

- 效果如下

二、账号密码框提示和校验
- 通过在form绑定规则还有账户,那么下一级通过prop绑定对应的属性,就可以进行对应验证

- rules:表单验证规则
- prop :model 的键名。 它可以是一个路径数组(例如 [‘a’, ‘b’, 0])。 在定义了 validate、resetFields 的方法时,该属性是必填的
- required: 是否为必填项,如不设置,则会根据校验规则确认
- trigger: 验证逻辑的触发方式
- status-icon: 是否在输入框中显示校验结果反馈图标



2.1.父组件点击login调用子组件
父组件
给子组件绑定ref
ref


- 调用子组件的登录操作

子组件


2.2.elmessage

三种引用方法
- 针对ElMessage和ElLoading等组件引入样式
- 1.全局引入样式(所有样式全部引入)
在main.ts里面
import 'element-plus/dist/index.css'
- 组件样式引入
import 'element-plus/theme-chalk/el-message.css'
- 使用vite-plugin-style-import
vite-plugin-style-import: github地址

npm install vite-plugin-style-import consola -D
- 在vite.config.ts中配置

import {createStyleImportPlugin,ElementPlusResolve
} from "vite-plugin-style-import"createStyleImportPlugin({resolves: [ElementPlusResolve()],libs: [// 如果没有你需要的resolve,可以在lib内直接写,也可以给我们提供PR{libraryName: "element-plus",esModule: true,resolveStyle: (name: string) => {return `element-plus/theme-chalk/${name}.css`}}]})


2.3.数据放在store里
- 请求数据保存在store里面
- 网络请求也要是在store里面


添加类型
可以在使用的地方进行导入

2.4. 保存token
实现登录时,token如何保存的?如何保证刷新后token依然存在?
我们可以用localStorage
localStorage和sessionStorage: mdn

因为我们可能用localStorage,也可能用sessionStorage,所以我们可以把它们封装成一个工具,使其更具备通用性
enum CacheType {Local,Session
}class Cache {storage: Storageconstructor(type: CacheType) {this.storage = type === CacheType.Local ? localStorage : sessionStorage}setCache(key: string, value: any) {if (value) {this.storage.setItem(key, JSON.stringify(value))}}getCache(key: string) {const value = this.storage.getItem(key)if (value) {return JSON.parse(value)}}removeCache(key: string) {this.storage.removeItem(key)}clear() {this.storage.clear()}
}const localCache = new Cache(CacheType.Local)
const sessionCache = new Cache(CacheType.Session)export { localCache, sessionCache }

相关文章:
【项目】Vue3+TS CMS 登录模块搭建
💭💭 ✨:Vue3 TS 💟:东非不开森的主页 💜: keep going💜💜 🌸: 如有错误或不足之处,希望可以指正,非常感谢😉 Vue3TS一、…...
Java 8 的那些常见写法
前言 现在Java已经发展到Java19版本了,由于Java后面一些版本,就开始商用收费了,所以目前绝大多数公司的JDK版本都是采用的之前稳定且免费的1.8版本,也就是Java8,这个版本已经能满足几乎所有业务的需求开发了ÿ…...
PyQt5数据库开发1 4.3 QSqlTableModel 之 相关槽函数的实现(多图长文详解)
目录 一、打开数据库表 1. 写打开数据库的槽函数 2. 运行后发现数据库可以打开了 3. ODBC配通了,数据库还是打不开 4. 写在tableView上显示数据库表的函数 5. 运行后发现表可以显示了 6. 代码分析 7. 添加列名称 8. 根据内容调整列宽 9. 备注:…...
QT 设计一个串口调试工具,用一个工程就能轻松解决,外加虚拟串口工具模拟调试,在日常工作中可类比模块间通信,非常详细建议收藏
QT 串口调试工具第一节 虚拟串口工具安装第二节 QT创建一个基于QWidget的项目第三节 UI界面设计第三节 项目头文件widget.h第四节 项目实现文件widget.cpp第五节 main函数第六节 编译结果重点第七节 使用QT打包程序,不安装QT的电脑可使用第一节 虚拟串口工具安装 -…...
OpenSumi 是信创开发云的首选
原文作者:行云创新技术总监 邓冰寒 引言 随着云原生应用的日益普及,开发上云也逐步被越来越多的厂商和开发者接受,在这个赛道国内外有不少玩家,国外的 GitHub Codespaces、CodeSandbox,GitPod、亚马逊 Cloud9…...
JdbcTemplate常用方法解析
文章目录1.JdbcTemplate简介2.JdbcTemplate主要方法:3.常用方法介绍update()方法增删改query()查询方法1.JdbcTemplate简介 JdbcTemplate是Spring JDBC的核心类,借助该类提供的方法可以很方便的实现数据的增删改查。 Spring对数据库的操作在jdbc上面做…...
生物素标记试剂1869922-24-6,Alkyne-PEG3-Biotin PC,炔烃PEG3生物素PC
1、试剂基团反应特点(Reagent group reaction characteristics):PC alkyne-PEG3-Biotin含一个炔烃和一个 PEG 链接的可光裂解生物素基团。含 3 个单元 PEG 的 ADC linker,生物素本身是个游离的小分子,在生物实验中常常…...
CS224W课程学习笔记(三):DeepWalk算法原理与说明
引言 什么是图嵌入? 图嵌入(Graph Embedding,也叫Network Embedding) 是一种将图数据(通常为高维稠密的矩阵)映射为低微稠密向量的过程,能够很好地解决图数据难以高效输入机器学习算法的问题。…...
rk3568 开发板Ubuntu系统说明
Ubuntu MinimalUbuntu Minimal系统基于Ubuntu 64bit系统构建,目前发布有Ubuntu18.04这个版本。与Ubuntu Desktop 相比具有以下特性:没有桌面环境,占用资源少,在简化网络管理之后,只需40M内存;针对嵌入式平台…...
Windows和Linux常用HASH算法使用命令
Windows和Linux常用hash算法使用命令 Windows,以文件xxx.zip为例 Windows 求文件 md5 certutil -hashfile xxx.zip md5Windows 求文件 sha1 certutil -hashfile xxx.zip sha1Windows 求文件 sha256 certutil -hashfile xxx.zip sha256Linux,以文件xxx.z…...
货仓选址 AcWing(JAVA)
在一条数轴上有 N家商店,它们的坐标分别为 A1∼AN。 现在需要在数轴上建立一家货仓,每天清晨,从货仓到每家商店都要运送商品。 为了提高效率,求把货仓建在何处,可以使得货仓到每家商店的距离之和最小。 输入格式&#…...
SPI+DMA传输性能比较
本文章仅仅简单记录32单片机的SPIDMA驱动显示屏的性能测试,这里不花费时间介绍SPI和DMA。 硬件材料:SPI显示屏一个,32单片机 软件材料: 1.LCD的SPI驱动显示程序(SPI / SPIDMA): (1&a…...
Centos7系统编译Hadoop3.3.4
1、背景 最近在学习hadoop,此篇文章简单记录一下通过源码来编译hadoop。为什么要重新编译hadoop源码,是因为为了匹配不同操作系统的本地库环境。 2、编译源码 2.1 下载并解压源码 [roothadoop01 ~]# mkdir /opt/hadoop [roothadoop01 ~]# cd /opt/had…...
pb并发控制
并发控制(一) 并发能力是指多用户在同一时间对相同数据同时访问的能力。一般的关系型数据库都具 有并发控制的能力,但是这种并发功能也会对数据的一致性带来危险。试想若有两个用 户都试图访问某个银行用户的记录并同时要求修改该用户的存款余额时,情况将会怎样 呢?我们可以…...
登录拦截器
文章目录前言一、interceptor1.interceptor 包下新建loginInterceptor.java2.config 包下新建 AdminWebConfig.java3.返回登录页面接收提示信息前言 本篇主要介绍spring框架里提供的 HandlerInterceptor 拦截器做登录拦截。 一、interceptor 1.interceptor 包下新建loginInte…...
STM32 - HAL库UART串口
1.串口初始化配置/******************************************************************************* Function: BSP_UART_Init Description: 串口初始化 Input: instance 串口号baudRate: 波特率 Output: 无 Return: 无 ************************************************…...
Vue3 的状态管理库(Pinia)
目录前言:一、什么是 Pinai二、安装与使用pinia三、什么是 store四、state1. 定义 state2. 组件中访问 state五、Getters1. 定义 Getters2. 在组件中使用 Getters六、Actions1. 定义Actions2. 组件中访问 Actions总结:前言: 在编写vue里的项目…...
信息系统项目管理师知识点汇总(2023最新)
信息系统项目管理师 信息系统项目管理师简介如何应对考试考试细节与学习 十大管理 十大管理四十七过程 信息化和信息系统 项目管理基础 项目整体管理 项目范围管理 项目进度管理 项目成本管理 项目质量管理 项目人力资源管理 项目沟通管理 项目干系人管理 项目风险…...
标题标题标题
图床(Typora uPic/PicGo 七牛云) 图床(Typora uPic/PicGo 七牛云) 笔者平时使用 Typora 编写 markdown 文档,文档中常常会放置图片,如果文档不需要分享的话,其实讲图片存放在本地就可以了…...
OKR学习总结二
总结 绩效管理不是进行事后管理,而是参与整个过程并进行实时把控。 我们将受益目标分为两个子目标: 新增收入和重复收入。第一部分目标由市场营销部承担,第二个目标则由产品部承担。 简而言之,文化是一系列价值观和信仰的体现&…...
深蓝词库转换:打破30+输入法壁垒的终极解决方案
深蓝词库转换:打破30输入法壁垒的终极解决方案 【免费下载链接】imewlconverter ”深蓝词库转换“ 一款开源免费的输入法词库转换程序 项目地址: https://gitcode.com/gh_mirrors/im/imewlconverter 深蓝词库转换(imewlconverter)是一…...
实战应用:在快马平台构建支持模型切换的智能代码重构助手
最近在做一个代码重构工具时,发现不同AI模型对同一段代码的重构建议差异很大。于是尝试在InsCode(快马)平台上搭建了一个支持模型切换的智能代码重构助手,效果出乎意料地好。分享一下具体实现思路和实战经验: 需求分析 日常开发中经常遇到代码…...
终极指南:如何快速提升QuaggaJS在低分辨率图像下的条形码识别能力
终极指南:如何快速提升QuaggaJS在低分辨率图像下的条形码识别能力 【免费下载链接】quaggaJS An advanced barcode-scanner written in JavaScript 项目地址: https://gitcode.com/gh_mirrors/qu/quaggaJS QuaggaJS是一款强大的JavaScript条形码扫描库&#…...
构建包容性界面:Vant Weapp无障碍设计全流程解析
构建包容性界面:Vant Weapp无障碍设计全流程解析 【免费下载链接】vant-weapp 轻量、可靠的小程序 UI 组件库 项目地址: https://gitcode.com/gh_mirrors/va/vant-weapp 一、设计理念:无障碍设计的核心价值 无障碍设计不是可选功能,而…...
从按键消抖到I2C总线:一个上拉电阻,在STM32 GPIO配置里到底有多少种玩法?
从按键消抖到I2C总线:一个上拉电阻,在STM32 GPIO配置里到底有多少种玩法? 第一次接触STM32开发板时,看到GPIO配置选项里的"上拉输入"、"开漏输出"这些专业术语,相信不少初学者和我当初一样感到困惑…...
Java高频面试题:能说说MyBatis的工作原理吗?
大家好,我是锋哥。今天分享关于【Java高频面试题:能说说MyBatis的工作原理吗?】面试题 。希望对大家有帮助;Java高频面试题:能说说MyBatis的工作原理吗?1. MyBatis 的整体架构MyBatis 是一个半自动化的 ORM…...
在 Windows 上实现 SSH 掉线重连与会话持久化
在 Windows 上实现 SSH 掉线重连与会话持久化:完整方案指南 SSH 是连接和管理远程 Linux 服务器的必备工具,但在 Windows 环境下,网络波动或电脑休眠常常导致 SSH 连接中断,正在运行的任务(如模型训练、编译等…...
下一代神经机器翻译质量评估框架:COMET的革命性架构与智能评估范式
下一代神经机器翻译质量评估框架:COMET的革命性架构与智能评估范式 【免费下载链接】COMET A Neural Framework for MT Evaluation 项目地址: https://gitcode.com/gh_mirrors/com/COMET COMET(A Neural Framework for MT Evaluation)…...
Natron Rotoscoping与跟踪技术:专业影视特效制作终极指南
Natron Rotoscoping与跟踪技术:专业影视特效制作终极指南 【免费下载链接】Natron Open-source video compositing software. Node-graph based. Similar in functionalities to Adobe After Effects and Nuke by The Foundry. 项目地址: https://gitcode.com/gh_…...
虚拟电厂之后,最先不够用的为什么是老一套功率预测和经营逻辑?
2026年开年,新能源圈最火的话题是什么?不是组件价格,不是储能成本,而是——虚拟电厂。1月初,江苏省发改委正式印发《关于促进我省虚拟电厂高质量发展的通知》,同步公布全省首批100个虚拟电厂建设项目清单。…...
