第二节:Vben Admin 登录逻辑梳理和对接后端准备

系列文章目录

上一节:第一节:Vben Admin介绍和初次运行


文章目录

  • 系列文章目录
  • 前言
  • 项目路径的概述
  • 一、登录逻辑梳理
    • loginApi接口
    • 查看Mock
  • 二、后端程序对接准备
    • 关闭Mock
  • 总结


前言

第一节,我们已经配置了前端环境,运行起来了我们的Vben Admin的项目。
本节内容,我们先熟悉下项目的目录和文件,然后开始准备对接后端程序


项目路径的概述

路由在 src/router
页面在 sr/views

一、登录逻辑梳理

首先我们前端运行的url是http://127.0.0.1:5173/#/login
通过路由/login,可以定位登录文件是views/sys/login/Login.vue
通过/login的路由
调用的链路:

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

我们先分析loginApi

loginApi接口

loginApi就是前端向后端请求的接口
src/api/sys/user.ts
在这里插入图片描述
这个接口,需要的参数是LoginParams, 期望的返回是LoginResultModel 具体结构,可以在api/sys/model/userModel.ts 文件查询
在这里插入图片描述
分析到这里,我们已经基本了解了,登录接口的要求,后端只要满足loginAPI的传参和返回,应该就没有问题。

查看Mock

现在我们看下,在没有后端支持的情况下,Vben Admin是如何通过Mock模拟登录的。
在项目启动后,我们点击登录按钮,我们的前端控制台输出是这样婶儿的。
在这里插入图片描述
登录调用了 mock/sys/user.ts 文件里面的/basic-api/login
在这里插入图片描述
这里逻辑,是如果登录通过用户和密码查询到用户信息,就返回用户信息,如果未查询到就返回报错。同时成功是返回 resultSuccess 失败是返回 resultError 格式。
在文件mock/_utils.ts中可以看到

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

二、后端程序对接准备

关闭Mock

.env.development文件里修改
这里 VITE_USE_MOCK 改成 false
VITE_GLOB_API_URL 改成 api
在这里插入图片描述

项目再次启动,再次登录,这次登录已经报错了
在这里插入图片描述
404,说明我们请求的http://127.0.0.1:5173/api/login url不存在,下一步,我们就要对接后端的/api/login 接口。

总结

本节前端登录逻辑梳理完成了,后端只要在/api/login 接口编写返回逻辑,前后段就可以打通了,具体详情我们下一节介绍

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

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

相关文章

zabbix监控业务数据

前言 监控系统除了监控os和数据库性能相关的指标外&#xff0c;业务数据也是重点监控的对象。 一线驻场的运维同学应该深有体会&#xff0c;每天需要向甲方或者公司反馈现场的数据情况&#xff0c;正常情况下一天巡检两次&#xff0c;早上上班后和下午下班前各一次。监控项目…

复旦大学EMBA联合澎湃科技:共议科技迭代 创新破局

1月18日&#xff0c;由复旦大学管理学院、澎湃新闻、厦门市科学技术局联合主办&#xff0c;复旦大学EMBA项目、澎湃科技承办的“君子知道”复旦大学EMBA前沿论坛在厦门成功举办。此次论坛主题为“科技迭代 创新破局”&#xff0c;上海、厦门两地的政策研究专家、科学家、科创企…

RDMA内核态函数ib_post_recv()源码分析

接上文&#xff0c;上文分析了内核rdma向发送队列添加发送请求的函数ib_post_send&#xff0c;本文分析一下向接收队列添加接收请求的函数ib_post_recv。其实函数调用流程与上文类似&#xff0c;不再重复说明&#xff0c;可参考链接。 函数调用过程 最终会调用到这个函数 下面…

力扣随笔删除有序数组中的重复项(简单26)

思路&#xff1a;根据类似于滑动窗口的思想&#xff0c;定义一个指针&#xff1b;使指针左边的区域全部为不重复元素&#xff08;包括指针所指的数字&#xff09; 以示例2为例&#xff0c;left&#xff1a;红色加粗 遍历指针i&#xff1a;黑色加粗 窗口范围&#xff0c;左边界到…

剪辑视频调色怎么让画质变得清晰 视频剪辑调色技巧有哪些方面 剪辑视频免费的软件有哪些 会声会影调色在哪里 会声会影模板素材

视频调色的作用有很多&#xff0c;除了进行风格化剪辑以外&#xff0c;还可以让作品的画质变得清晰。通过调色来增强画面的清晰度&#xff0c;在观感上也会显得十分自然。视频调色的技巧有很多&#xff0c;并且原理大都十分简单。有关剪辑视频调色怎么让画质变得清晰&#xff0…

linux系统---httpd

目录 Internet的起源 一、http协议——超文本传输协议 1.http相关概念 二、HTTP请求访问的完整过程 1、 建立连接 2、 接收请求 3、 处理请求 常用请求Method: GET、POST、HEAD、PUT、DELETE、TRACE、OPTIONS 3.1 常见的HTTP方法 3.2 GET和POST比较 4、访问资源 …

推荐一个 Obsidian 的 ChatGPT 插件

源码地址&#xff1a;https://github.com/nhaouari/obsidian-textgenerator-plugin Text Generator 是目前我使用过的最好的 Obsidian 中的 ChatGPT 功能插件。它旨在智能生成内容&#xff0c;以便轻松记笔记。它不仅可以在 Obsidian 中直接使用 ChatGPT&#xff0c;还提供了优…

Linux键盘输入实验-创建按键的设备节点

一. 简介 Linux内核针对 GPIO驱动开发,提供了 pinctrl子系统与gpio子系统,方便了 GPIO驱动程序的开发。 本文开始学习如何利用 Linux内核的 pinctrl子系统,与 gpio子系统提供的 API函数,开发按键驱动。 这里主要学习在设备树文件中创建按键的设备节点。 二. Linux按键…

介绍 Gradio 与 Hugging Face

&#x1f349; CSDN 叶庭云&#xff1a;https://yetingyun.blog.csdn.net/ 我们可以使用 Gradio 库为我们的模型构建演示。Gradio 允许您完全使用 Python 为任何机器学习模型构建、自定义和共享基于 Web 的演示。使机器学习模型变得可交互和易于使用。 为什么首先要为您的机器…

JavaAPI常用类03

目录 java.lang.Math Math类 代码 运行 Random类 代码 运行 Date类/Calendar类/ SimpleDateFormat类 Date类 代码 运行 Calendar类 代码 运行 SimpleDateFormat类 代码一 运行 常用的转换符 代码二 运行 java.math BigInteger 代码 运行 BigDecimal …

sonar-java 手写一个规则-单元测试分析

前言 最近做项目&#xff0c;定制sonar规则&#xff0c;提高Java代码质量&#xff0c;在编写的sonar规则&#xff0c;做验证时&#xff0c;使用单元测试有一些简单的心得感悟&#xff0c;分享出来。 自定义规则模式 sonar的自定义规则很简单&#xff0c;一般而言有2种模式可…

Spring默认线程池SimpleAsyncTaskExecutor

Spring默认线程池SimpleAsyncTaskExecutor 简介 SimpleAsyncTaskExecutor&#xff0c;不是真的线程池&#xff0c;这个类不重用线程&#xff0c;每次调用都会创建一个新的线程&#xff0c;没有最大线程数设置。并发大的时候会产生严重的性能问题。在Java中创建线程并不便宜&a…