温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2022-02-21 09:25:20 来源:亿速云 阅读:105 作者:iii 栏目:开发技术

本篇内容介绍了“非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);
    }

    “非Vuex怎么实现的登录状态判断封装”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

    向AI问一下细节

    免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

    AI