Vue2-黑马(十二)

news2024/11/24 15:49:13

目录:

(1)vue2-登录-store-user.js

(2)实战-登录-store-user.js

(3)登录-实战--permission.js-获取角色


(1)vue2-登录-store-user.js

我们进入store中的actions查看它的实现:

 

 

 真正发送axios请求的方法:

上面导入了这个:

 

 response进行了解构,这里为什么只有一层.data呢?原来都是response.data.data,需要看axios的响应拦截器:

request中的拦截器中返回的是响应体response.data 

 

 actions中:间接调用mutations中的方法,mutations中这边在把这个值tocken存到state里面,这样就把vuex把令牌管理起来了

  

 其实是不合理的,虽然在多个页面共享,可能需要使用,但是这个值并不需要响应式的需求 ,在页码显示出来 ,数据发生了变化,在页面即时显示。

setTocken(data.tocken):把tocken存到另外一个地方:存到了Cookie中了

 getToken()从Cookie中获取令牌,在哪用到呢,我们向后端服务器发送请求的时候,后端服务器发的请求,需要做一个身份的检查,是不是一个合法的请求请求中具有一个合法的tocken,我就认为可以执行,那么请求中没有tocken,就认为不是一个合法的请求。

请求拦截器获取tocken调用上面的那个获取tocken的方法:那么以后发送的请求,都会携带一个令牌tocken

 (2)实战-登录-store-user.js

我们这里把tocken存到了两个地方一个是vuex里,一个是tocken里,我们最好存储到一个地方,利于维护,注释掉存入tocken中的地方 

注释其他地方: 

 修改获取令牌的方式,换成从cookie中获取

 

注释这个从vuex中获取的方式: 

在查找:

 修改拦截器中tocken的获取方式

 

 修改之后,tocken不存到vuex中了,值会通过getTocken()和setTocken()来从cookie中获取和设置tocken

actions还可以这样修改:actions默认返回的都是promise,login返回的是一个Promise,那么可以修改一下:

 

 

 (3)登录-实战--permission.js-获取角色

登录之后默认调转到根路径:/

 await this.login()代表登录的逻辑:...在store的actions里写访问后端的代码发送请求给后端,返回数据存入tocken

this.$router.push() :跳转到根路径的逻辑   beforeEach()每次路由跳转路径之前要经过beforeEach方法   这个方法会判断你这个用户有没有角色信息,没有的话再从,actions中继续发送请求获取用户的详细信息,这个时候存入vuex中

 beforeEach方法放到了permission.js里面:

 没有令牌的情况:

 有令牌的情况:

 从vuex中获取角色信息:判断是否含有:  判断是否含有角色,没有的话调用actions获取用户角色 store.dispatch:直接调用actions里的方法   

store下面的 user.js:

 获取服务器的用户信息存入states里面

 

 

使用jwt解析一下tocken,可以看到tocken的详细信息 

 

 这里tocken只包含用户名,其实也可以把其他信息如角色,头像等信息放大tocken里面,只是tocken会大一些,看自己选择。

修改一下代码:actions获取用户信息:因为actions默认返回的就是Promise,我们自己不在返回promise了,代码看起来非常繁琐

 

 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/422057.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MySQL - 基于SSL安全连接的主从复制

目录 🍁主从复制的原理 🍁部署master 🍁部署slave 🍁测试SSL主从复制 🦐博客主页:大虾好吃吗的博客 🦐MySQL专栏:MySQL专栏地址 生产环境中一台mysql主机存在单点故障,所…

c/c++:二维数组,数组的行数和列数求法sizeof,数组初始化不同形式,5个学生,3门功课,求学生总成绩和功课总成绩

c/c:二维数组,数组的行数和列数求法sizeof,数组初始化不同形式,5个学生,3门功课,求学生总成绩和功课总成绩 2022找工作是学历、能力和运气的超强结合体,遇到寒冬,大厂不招人&#x…

【从零开始学Skynet】实战篇《球球大作战》(十一):测试登录流程

终于可以测试work协议了。只要走得通,就代表完成了整套底层框架。 1、主服务修改 我们重新修改主服务,让它智能一些,根据配置文件自动开启服务,无须手动设置。如下代码所示: local skynet require "skynet"…

Linux应用编程(信号基础)

一、基本概念 信号是事件发生时对进程的通知机制,也可以把它称为软件中断。信号与硬件中断的相似之处在于能够打断程序当前执行的正常流程,其实是在软件层次上对中断机制的一种模拟。大多数情况下,是无法预测信号达到的准确时间,…

录屏剪辑软件哪个好 录屏后怎么剪辑视频

​ 现在很多人都会通过录屏的方式来传播分享内容,但是很多录屏软件的操作不太方便,给录制带来困难。再加上很多视频在录制后需要剪辑,加大了视频制作的工作量,所以找到一款好用的录屏剪辑软件很重要。今天就来分享一下录屏剪辑软件…

从0-1优化C++类对象创建资源消耗 (附源码)

C++常用功能源码系列 文章目录 C++常用功能源码系列前言一、C++几种常用的函数是什么?二、优化过程1.源代码2.源代码总结前言 本文是C/C++常用功能代码封装专栏的导航贴。部分来源于实战项目中的部分功能提炼,希望能够达到你在自己的项目中拿来就用的效果,这样更好的服务于…

Spring MVC 配置(10)

目录 简介: 传统方式: 纯注解方式 1. Tomcat加载Servlet 2. 参数分析 3. 调用onStartup方法 注解方法替换配置的 xml 文件 简介: Spring MVC是Spring的一个子模块,也是我分析的Spring源码的最后一个模块。下面看一下Spring …

2023年安全岗面试题及经验分享

如果你正在面试安全岗,那么恭喜你及时看到了这篇文章~ 写在前面 本篇为大家整理了上百道网络安全面试题,主要方向有 网络基础、渗透测试、安全工具 等,其中还包括 HVV面试、CISP备考 等,希望在求职期可以帮到大家​!…

WAF绕过信息收集

WAF绕过-信息收集之反爬虫延时代理池技术 思维导图 WAF拦截会出现在安全测试的各个层面,掌握各个层面的分析和绕过技术最为关键。 webpathbrute工具 一个Web目录扫描暴力探测工具 WebPathBrute-Web路径暴力探测工具下载:https://github.com/7kbstorm…

QN88封装国产FPGA

QN88GW1N-9管脚名GW2A-18管脚名AL3S10EG4S201VCCVCCIO_L1_1VCC_12VSSVSSIO_L2_1IO_L1_13IOL2AVCCO7IO_L3_1,MOSI,D1IO_L2_14IOL5A/JTAGSEL_N/LPLL_T_inIOL7A/LPLL1_T_inIO_L4_1IO_L1N_15IOL11A/TMSIOR25B/TMSIO_L5_1,SPICSNIO_L1P_16IOL11B/TCKIOR26A/TCKINITNGND7IOL12B/TDIIO…

爬虫日常练习-selenium登录12306

文章目录前言页面分析代码设计前言 hello,好兄弟们。经过前面几篇文章后,想必小伙伴们对于简单的网页文本爬取,图片爬取类的内容已经熟练掌握了。今天我们开始练习一个新的内容:selenium。有关这一块的基础知识网上太多了&#x…

Java面试题总结 | Java面试题总结4-多线程模块(持续更新)

多线程 线程互斥和线程同步 线程互斥:当多个线程需要访问同一资源时,要求在一个时间段内只能允许一个线程来操作共享资源,操作完毕后别的线程才能读取该资源,这叫线程的互斥。我们需要使用synchronized来给共享区域加锁&#xf…

腾讯云服务器CVM标准型S5和S4的区别

腾讯云服务器CVM标准型S5和S4有什么区别?标准型S5云服务器次新一代的云服务器,CPU采用2.5GHz主频的Intel Xeon Cascade Lake 或者 Intel Xeon Cooper Lake 处理器,睿频3.1GHz,目前标准型S5云服务器活动比较多,标准型S4…

Android 10.0 系统systemui下拉通知栏的通知布局相关源码分析

1.前言 在android10.0的系统rom开发中,在进行systemui中的下拉通知栏的布局自定义的时候,对于原生systemui的 系统的下拉通知栏的通知布局的了解也是非常重要的,接下来就来分析下相关的下拉通知栏的通知布局的相关 源码流程,了解这些才方便对通知栏的布局做修改 2.系统…

一种二级水闸安全监测布置及设备安装维护方案案例

1.1安全监测布置 1.1.1 拦河闸及泵站监测 拦河闸和水轮泵站主要安全监测项目包括: (1) 表面变形监测 在拦河闸上游侧闸顶布置1条引张线监测闸顶水平位移,每一联中孔闸墩上及左岸水轮泵站边墩处各布置1个测点,共计9个测点,左右…

【IIS搭建网站】如何使用本地电脑做服务器搭建web站点并公网访问

目录 前言 Windows网页设置 Windows IIS功能设置 IIS网页访问测试 Cpolar内网穿透 下载安装Cpolar Cpolar云端设置 3.3 Cpolar本地设置 公网访问测试 结语 前言 在网上各种教程和介绍中,搭建网页都会借助各种软件的帮助,比如网页运行的Apache…

Tomcat长轮询原理与源码解析

零丶长轮询的引入# 最近在看工作使用到的diamond配置中心原理,发现大多数配置中心在推和拉模型上做的选择出奇的一致选择了基于长轮询的拉模型 基于拉模型的客户端轮询的方案 客户端通过轮询方式发现服务端的配置变更事件。轮询的频率决定了动态配置获取的实时性。…

win10家庭版 WSL Centos7

win10家庭版 WSL Centos7虚拟机WSLCentos7虚拟机 以前在win系统上跑liunx系统一般是先安装个虚拟机软件,再在虚拟机上运行对于linux的镜像。 直到后来win推出了WSL。 WSL Windows Subsystem for Linux(简称WSL)是一个在Windows 10\11上能够…

力扣sql中等篇练习(二)

力扣sql中等篇练习(二) 1 第N高的薪水 1.1 题目内容 1.1.1 基本题目信息 1.1.2 示例输入输出 1.2 示例sql语句 -- 注意:limit函数是不能使用变量-1这种作为条件的,如N-1是不被允许的 CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INT BEGINdeclare m INT;SET mN-1;…

大厂敲门砖!!!让你轻松扫除通往大厂的障碍,一步到岸!!2023年究极最全(Java面试手册)!!!

又到了一年一度的大厂招牌环节,多少程序员在为了金三银四在前几个月疯狂卷面试题,却还是惨遭淘汰,今天给大家整理了一份最最最核心的java面试题,希望能对大家在进击大厂的道路上添一份力! 总纲: 由于文章篇…