非Vuex实现的登录状态判断封装

简介: 在项目中肯定会有用户登录状态的判断,所以我们需要封装判断登录状态,用来满足整个项目的应用,当然刚不使用封装的话,会造成耦合度高,代码冗余等结果,在项目中可能常常用到vuex状态管理来进行登录状态的存,那如果项目用不到状态管理,那就可以使用简单的封装来进行登录状态判断。

在项目中肯定会有用户登录状态的判断,所以我们需要封装判断登录状态,用来满足整个项目的应用,当然刚不使用封装的话,会造成耦合度高,代码冗余等结果,在项目中可能常常用到vuex状态管理来进行登录状态的存,那如果项目用不到状态管理,那就可以使用简单的封装来进行登录状态判断。

登录状态封装

我们如果想要普通封装登录状态的话需要两个函数即获取存储的token的getToken和使用token判断是否登录的isLogin,我们需要在src目录下新建一个文件夹,又或者在我们封装请求的文件目录下新建一个auth.js即可。

getToken

获取token的话只需要通过使用localStorage取得token并返回给函数值

export function getToken() {
  return localStorage.getItem("token");
}
复制代码

isLogin

判断登录的话仅仅需要通过调用getToken获得token的值来返回布尔值从而判断用户是否登录

export function isLogin() {
  if (getToken()) {
    return true;
  }
  return false;
}
复制代码

除此之外,项目中还会有别的地方要使用到getToken,比如说在请求头中需要转入token的值等

使用方法

我们在要使用的页面中直接按需引入即可,比如说这里我们只引进isLogin

import { isLogin } from "@/request/auth";
复制代码

在引入之后,有人就问了,我们判断用if else吗,nonono,低了,隐藏分低了,来看我下面的操作

mounted() {
    // 登录判断,项目成功运行后启动
    isLogin()
      ? console.log("isLogin")
      : (console.log("Need to login"),
        this.$message.error('未登录'),
        this.$router.push("/login")
      );
  },
复制代码

注意到这里,我们的登录状态判断的触发位置需要注意一下,一般是在mounted的时候,即一般是在初始化页面完成后的钩子中进行登录状态的判断,这里一般也是页面获取信息的请求函数的位置。

除此之外,我这里的写法是?:,来进行函数触发判断的,正常来讲可能很多人会使用if,对了,这里的提示组件是element,大家可以根据自己组件库的提示来进行不一样的改动。

setToken

既然封装了getToken,那肯定要再封装个setToken,也是为了便捷一些

export function setToken(token) {
  return localStorage.setItem("token", token);
}
复制代码

最后

这里是大二前端小学生的一些些项目小总结,希望可以给你带来帮助,如果对你有帮助的话,点个小赞赞再走吧🥳


相关文章
|
8月前
|
C语言 开发者
C语言「sizeof的谎言」:90%人天天用,却全用错了
C语言中sizeof常被误认为函数,实为编译期运算符。本文揭示三大反常识真相:它不执行副作用、括号非必需(仅类型需)、数组传参即退化。助你避开99%的高频陷阱。(238字)
|
8月前
|
人工智能 数据可视化 物联网
智链未来:B2B企业如何通过“两大核心+四轮驱动”重塑GEO增长引擎
对于决策链路长、专业门槛高的B2B企业而言,如何在Geo中占据核心推荐位,已成为品牌数字化资产增值的关键。
322 17
|
人工智能 数据可视化 测试技术
如何从海量数据中精准提取关键信息,并让Agent更智能地理解用户意图?让模型推理成为Agent开发者的‘超级助手’?
本文产品专家三桥君探讨了AI Agent开发中的核心推理场景与实用技巧,帮助开发者提升模型智能水平。涵盖关键场景:模糊信息处理、海量数据提炼、复杂文档解析、多阶段任务规划、跨模态视觉推理、代码审查及智能评估。同时提出实用技巧:简洁指令设计、避免分步诱导、结构化信息分隔、显式约束声明及动态迭代优化。
694 0
|
11月前
|
人工智能 自然语言处理 搜索推荐
2025中国AI数字人企业厂商权威推荐与技术、场景、口碑综合对比
数字人企业正以AI与图形技术融合之势崛起,像衍科技、阿里、百度等领军者在零售、金融、政务多场景落地。依托大模型与3D渲染,数字人实现智能交互,广泛应用于教育、服务、内容创作等领域,推动产业降本增效。2025年市场规模将超600亿,技术革新与伦理规范需协同并进,构建有温度的数字未来。
|
机器学习/深度学习 人工智能 自然语言处理
用AI守护迷途少年:戒毒所青少年心理疏导系统的技术实践
在戒毒所中,青少年心理更脆弱却难言苦痛。我们打造AI心理疏导系统,以多模态情绪识别、个性化疏导引擎与隐私优先架构,用技术补位心理支持,主动发现风险,精准干预,守护迷途少年重拾希望。(239字)
523 7
|
12月前
|
数据采集 JSON 中间件
Scrapy框架在小米应用市场爬虫项目中的实战应用
Scrapy框架在小米应用市场爬虫项目中的实战应用
|
机器学习/深度学习 人工智能 运维
AI辅助的运维风险预测:智能运维新时代
AI辅助的运维风险预测:智能运维新时代
737 19
AI辅助的运维风险预测:智能运维新时代
|
Web App开发 XML 前端开发
Web前端开发概述(二)
随着Web的不断迭代更新,前端开发技术的不断发展,前端开发由此发生了很大的变化,网站不再是承载单一的文字和图片的信息提供者,软件化的交互形式为用户提供了更好的用户体验,前端的发展也更注重用户的交互作用,用户称为了网站内容的浏览者和提供者,网站需要更简便,更快捷的前端技术来实现。
Web前端开发概述(二)
|
开发框架 关系型数据库 MySQL
体检中心信息管理系统的设计与实现(论文+源码)_kaic
对于当代社会的人来说,生病是每一个人都避不开的话题。随着生活负担和工作压 力的加重,越来越多的人健康状态逐渐下滑。 随着人们对自己的健康问题越来越重视, 每年都会有许多人进行定期体检关注自己的健康状态。而我国是一个人口大国,人口基 数较大,虽然全国各地都开设有许多体检中心。但随着体检人数的增多,体检中心的患 者数量会急剧增加,并且患者的体检需要时间,给体检中心的日常运营带来了较大负担。 因此,体检中心每天都十分忙碌,当患者生病需要健康检查时,到体检中心还需要排队 挂号, 十分浪费时间。 为了减少患者的等待时间,方便患者在体检中心预约挂号,本次选题为体检中心信 息管理系统设计与实现,将通过设计一
|
机器学习/深度学习 存储 JSON
基于Labelstudio的UIE半监督智能标注方案(本地版),赶快用起来
基于Labelstudio的UIE半监督智能标注方案(本地版),赶快用起来