第四节:Vben Admin登录对接后端getUserInfo接口

系列文章目录

第一节:Vben Admin介绍和初次运行
第二节:Vben Admin 登录逻辑梳理和对接后端准备
第三节:Vben Admin登录对接后端login接口
第四节:Vben Admin登录对接后端getUserInfo接口


文章目录

  • 系列文章目录
  • 前言
  • 一、回顾Vben Admin的登录
  • 二、getUserInfo
    • 1.定义
    • 2.查看之前Mock数据是如何模拟的
  • 三、Flask后端实现getUserInfo
  • 四、测试登录
  • 总结


前言

上一节,我们完成了/api/auth/login接口的创建,通过login接口,我们完成了登录和Token的生成。但是登陆还是报404返回,发现是Vben Admin又请求了一个/api/getUserInfo接口,本节我们就来分析完成这个接口


一、回顾Vben Admin的登录

我们完成了/api/auth/login接口后,紧接着请求了/api/getUserInfo,我们再次参考下第二节内容的分析 传送门: 第二节:Vben Admin 登录逻辑梳理和对接后端准备
在这里插入图片描述
Login接口请求后,将返回的token进行了保持,然后携带了token请求了getUserInfoAction即getUserInfo

Login.vue => LoginForm.vue => 登录按钮(handleLogin)=> userStore.login =>
loginApi => token => getUserInfo

那下一步,我们就看看Vben Admin是如何定义getUserInfo接口的

二、getUserInfo

1.定义

在这里插入图片描述
getUserInfo是一个Get请求,要求的返回结果是GetUserInfoModel,点击引用,跳转到定义:
在这里插入图片描述

2.查看之前Mock数据是如何模拟的

  {url: '/basic-api/getUserInfo',method: 'get',response: (request: requestParams) => {const token = getRequestToken(request);if (!token) return resultError('Invalid token');const checkUser = createFakeUserList().find((item) => item.token === token);if (!checkUser) {return resultError('The corresponding user information was not obtained!');}return resultSuccess(checkUser);},},

在createFakeUserList数组,里面查找到对应的用户,返回用户

export function resultSuccess<T = Recordable>(result: T, { message = 'ok' } = {}) {return {code: ResultEnum.SUCCESS,result,message,type: 'success',};
}

通过上面的分析,我们后端getUserInfo已经清晰了,开始编写后端

三、Flask后端实现getUserInfo

# 获取用户信息
@bp.route('/user/info',methods=['GET','POST'])
def getUserInfo():token = request.headers['Authorization']print(token)print(session.get('uuid'))if Token.certify_token(session.get('uuid'), token):user = User.query.filter_by(name=session.get('username')).first()success_result = {'message': '','result': {'roles': [{'roleName': 'admin', 'value': 'super'}],              'userId': user.uuid,'username': user.name,'realName': user.name,'avatar':'','desc':''},'code': 0,'type': 'success',}        return success_resultelse:error_result = {'message': 'token鉴权失败','result': {},'code': 401,'type': 'error',}return error_result

前端这里,要增加/auth 因为我的Flask注册的蓝图是/api/auth,我们的views也定义router是/user/info。
在这里插入图片描述

四、测试登录

好了,完成了getUserInfo接口,我们再次重启Vben Admin,再次尝试登录吧
在这里插入图片描述
完美!我们登录到工作台了!


总结

本节,我们完成了getUserInfo接口,完成了登录操作,成功的进入到工作台页面。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言内存管理-栈内存

栈内存 什么东西存储在栈内存中&#xff1f; 环境变量命令行参数局部变量&#xff08;包括形参&#xff09;栈内存有什么特点&#xff1f; 空间有限&#xff0c;尤其在嵌入式环境下。因此不可以用来存储尺寸太大的变量。每当一个函数被调用&#xff0c;栈就会向下增长一段&…

Codeforce Monsters Attack!(B题 前缀和)

题目描述&#xff1a; 思路&#xff1a; 本人第一次的想法是先杀血量低的第二次想法是先搞坐标近的第三次想法看到数据量这么大&#xff0c; 我先加个和看看貌似我先打谁都行&#xff0c;由此综合一下&#xff0c; 我们可以把每一个不同的坐标当作一轮从最小的坐标开始&#x…

适合新手博主站长使用的免费响应式WordPress博客主题JianYue

这款JianYue主题之所以命名为 JianYue&#xff0c;意思就是简单而不简约的。是根据Blogs主题优化而成&#xff0c;剔除了一些不必要的功能及排版&#xff0c;仅保留一种博客布局&#xff0c;让新手站长能够快速手上WordPress。可以说这款主题比较适合新手博主站长使用&#xff…

Programming Abstractions in C阅读笔记:p293-p302

《Programming Abstractions in C》学习第73天&#xff0c;p293-p302总结&#xff0c;总计10页。 一、技术总结 1.时间复杂度 (1)quadratic time(二次时间) p293, Algorithms like selection sort that exhibit O(N^2) performance are said to run in quadratic time。 2…

新鲜出炉 | 2024年六西格玛学习路线

一、入门篇&#xff1a;了解六西格玛的基本概念与核心原理 六西格玛的起源与发展&#xff1a;了解六西格玛的历史背景和发展过程&#xff0c;有助于我们更好地认识这一管理方法的优势和特点。 六西格玛的核心概念&#xff1a;学习六西格玛中的DMAIC&#xff08;定义、测量、分…

基于YOLOv5+PySide6的火灾火情火焰检测系统设计深度学习

wx供重浩&#xff1a;创享日记 对话框发送&#xff1a;225火灾 获取完整源码源文件已标注的数据集&#xff08;1553张&#xff09;配置跑起来说明 可有偿49yuan一对一远程操作&#xff0c;在你电脑跑起来 效果展示&#xff1a; ​数据集在下载的文件夹&#xff1a;yolov5-5.0\…

在独立Unity工程中集成Vortex Studio

本文首发于&#xff1a;Unity3D入门教程09.01&#xff1a;在独立Unity工程中集成Vortex Studio 目的 在Unity中使用Vortex Studio引擎模拟Unity场景中的任何资源。 工程 打开桌面Unity Hub快捷方式 点击Open选择需要打开的工程&#xff0c;这里选择官方提供的默认工程C:\CM…

AIGC实战——扩散模型(Diffusion Model)

AIGC实战——扩散模型 0. 前言1. 去噪扩散概率模型1.1 Flowers 数据集1.2 正向扩散过程1.3 重参数化技巧1.4 扩散规划1.5 逆向扩散过程 2. U-Net 去噪模型2.1 U-Net 架构2.2 正弦嵌入2.3 ResidualBlock2.4 DownBlocks 和 UpBlocks 3. 训练扩散模型4. 去噪扩散概率模型的采样5. …

linux卸载mysql8重装5

目录 背景操作卸载重装配置启动 背景 在linux&#xff08;阿里云ECS&#xff09;安装部署Hive时初始化Hive元数据库&#xff0c;遇到报错前一天两三小时没解决&#xff0c;问题定位为mysql&#xff0c;次日打算重装 操作 卸载 停止 MySQL 服务 systemctl stop mysql yum卸载…

【办公类-22-08】周计划系列(4)“育儿知识(家园小报)“ (2024年调整版本)

作品展示 背景需求&#xff1a; 制作“育儿知识&#xff08;家园小报&#xff09;”&#xff0c;查询发现去年就没有做 因为“家园小报”基本没有段落文字&#xff0c;都是“文本框文字、艺术字“&#xff0c;很难用python提取文字。 由于只有6篇&#xff0c;因此去年采用的就…

03-Linux权限

root用户 root用户&#xff08;超级管理员&#xff09; 无论是Windows、MacOS、Linux均采用多用的管理模式进行权限管理 在Linux系统中&#xff0c;拥有最大权限的账户名为&#xff1a;root&#xff08;超级管理员&#xff09;刚开始学习的时候&#xff0c;大多时间都是用的…

借CPU主频,谈谈什么是性能

03 通过你的CPU主频&#xff0c;我们来谈谈“性能”究竟是什么&#xff1f; “性能”这个词&#xff0c;不管是在日常生活还是写程序的时候&#xff0c;都经常被提到。比方说&#xff0c;买新电脑的时候&#xff0c;我们会说“原来的电脑性能跟不上了”&#xff1b;写程序的时候…