谷粒学苑第二章前端框架-2.1登录功能

news2024/11/24 18:48:07

一、vue-admin-template的config模块

vue-admin-template支持多环境,config配置模块提供了dev和prod两种环境。而BASE_API存储的是URL前部分,再拼接上controller的URL,即是完整的URL。修改为自己的协议://ip:port

二、vue-admin-template的src/store模块

vue-admin-template的store模块是用来做全局统一管理的,如登录token,用户信息,或者是一些全局个人偏好设置等。所以登录默认调用的是src/store/modules/user.js模块。

调用三个方法:Login(登录功能),GetInfo(获取用户信息),LogOut(登出)

Login:入参userInfo,并接收后台返回的token

GetInfo:入参state,并接收后台返回的roles,name,avatar。

所以后台的接口设计为Login(data中包含taoken),GetInfo(data中包含roles,name,avatar)

三、vue-admin-template的src/api模块

src/store/modules/user.js引用的src/api/login.js中的方法。请求后台接口的方式(get,post,put,delete),以及后台的URL。与controller接口的URL保持一致。

 四、controller接口的设计

@RestController
@RequestMapping("/eduservice/user")
public class EduLoginController {
    @PostMapping("login")
    public Resault login(){
        return Resault.ok().data("token","admin");
    }
    @GetMapping("info")
    public Resault getInfo(){
        return Resault.ok().data("roles","admin")
                .data("name","admin")
                .data("avatar","https://image.baidu.com/");
    }
}

五、跨域问题

如果此时前后台启动服务,点击登录会报错"Access-Controll-Allow-Origin",此报错即为跨域问题。

跨域问题的产生:通过一个地址去访问另外一个地址,这个过程中如果有三个地方任何一个地方不一样即会产生跨域问题。

  • 访问协议  http   https
  • IP地址      192.168.1.1   172.11.11.11
  • 端口号     9528     8001

六、跨域解决方式

(1)在后端接口controller添加注解

@RestController
@CrossOrigin
public class EduLoginController {
}

(2)使用网关解决

七、总结

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

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

相关文章

.net6API使用SignalR+vue3聊天+WPF聊天

目录 一、.net6api接口 二、vue3前端 三、WPF客户端 此案例分为3部分。首先创建.net6api接口,然后使用前端vue3进行聊天,再使用wpf客户端进行聊天,并且互通聊天。 一、.net6api接口 1.首先建立一个能正常运行的api,然后增加Ch…

redis未授权访问漏洞的三种场景复现以及加固思路

1.redis简介 redis是一个 非常快速 的,开源的,支持网络,可以基于内存,也可以持久化的日志型, 非关系型 的键值对数据库。并提供了多种语言的api。有java,c/c,c#,php,JavaScript,per…

1.Linux编程-gcc编译器

gcc的工作流程 gcc编译器将c源文件到生成一个可执行程序,中间一共经历了四个步骤: 四个步骤并不是gcc独立完成的,而是在内部调用了其他工具,从而完成了整个工作流程, 其中编译最耗时, 因为要逐行检查语法. gcc的工作流程: 1 预处理: cpp预处理器, 去掉注释, 展开头文件, …

Java进程CPU高负载排查步骤

近期发现服务器Java进程负载,超过100%一、采用top命令定位进程登录服务器,执行top命令,查看CPU占用情况,找到进程的pid很容易发现,PID为29706的java进程的CPU飙升到700%多,且一直降不下来,很显然…

python—requests模块详解

一、前言 1、requests简介 requests是一个很实用的Python HTTP客户端库,爬虫和测试服务器响应数据时经常会用到,它是python语言的第三方的库,专门用于发送HTTP请求,使用起来比urllib更简洁也更强大。 2、requests库的安装 方法…

CUDA中的数学方法

CUDA中的数学方法 文章目录CUDA中的数学方法1. Standard FunctionsSingle-Precision Floating-Point FunctionsDouble-Precision Floating-Point Functions2. Intrinsic FunctionsSingle-Precision Floating-Point FunctionsDouble-Precision Floating-Point Functions参考手册…

ROPR:一款功能强大的极速多线程ROPGadget查找工具

关于ROPR ROPR是一款速度极快且功能强大的ROPGadget查找工具,该工具支持多线程运行,可以帮助广大研究人员快速寻找和定位目标ROPGadget。 ROP(Return Oriented Programming),即返回导向编程,而ROPGadget是…

算法训练营DAY52|1143.最长公共子序列、1035.不相交的线、53. 最大子序和

前两道题思路是一模一样的,但是需要认真理解,最后一道虽然思路不算难,但是需要注意的细节一点不少。 1143. 最长公共子序列 - 力扣(LeetCode)https://leetcode.cn/problems/longest-common-subsequence/最长公共子序列…

2-ChatGPT插件到Google浏览器、Firefox浏览器,并进行ChatGPT工作。

ChatGPT插件到Google浏览器、Firefox浏览器,并进行ChatGPT工作。1,首先,在装插件ChatGPT forGoogle插件时,我没安装成功,问题是我没有区分Google浏览器和双核浏览器的差别。2,如何使用ChatGPT在浏览器上进行…

基于北方苍鹰算法优化LSTM(NGO-LSTM)研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

2023软件测试面试全方位话术,你想要的全都有

目录 2023软件测试面试话术包含:自我介绍简历人资题话术面试题项目介绍 自我介绍 软件测试基础面试题 人资高频率问题 简历 总结 2023软件测试面试话术包含:自我介绍简历人资题话术面试题项目介绍 目录如下 自我介绍 软件测试基础面试题 需求的标准…

参数嗅探 - 为何产生

这个问题会在参数话的SQL语句(例如存储过程)与SQL Server里的计划缓存机制结合的时候会出现。这个文章分为2个部分,第1部分会介绍下参数嗅探(Parameter Sniffing)的概况,第2部分我们介绍下如何解决这个问题…

git整体工作流程

文章目录本地流程远程仓库流程git 代码量统计本地流程 工作区 暂存区 本地仓库 远程仓库流程 git 代码量统计 # 统计本地仓库的代码量 git log --all --since2022-01-01 --until2022-01-05 --format"%aN" --no-merges | sort | uniq -c | while read data; do na…

浅析 SeaweedFS 与 JuiceFS 架构异同

SeaweedFS 是一款高效的分布式文件存储系统,最早的设计原型参考了 Facebook 的 Haystack,具有快速读写小数据块的能力。本文将通过对比 SeaweedFS 与 JuiceFS 在设计与功能上的差异,以帮助读者进行更适合自己的选择。 SeaweedFS 系统结构 S…

【树】平衡二叉搜索树的介绍与构建

二叉平衡搜索树一、平衡二叉搜索树的概述1. 平衡二叉树的性质2. 平衡二叉树的最小节点数(公式及其原理)a. 树高度和深度的区别b. 原理二、平衡二叉树的创建和调整1. 节点2. 旋转四种姿态a. LL旋转b. RR旋转c. LR旋转d. RL旋转2. 节点的插入3. 节点的删除…

[转]深度学习 Transformer架构解析

原文链接:https://blog.csdn.net/mengxianglong123/article/details/1262614791.1 Transformer的诞生2018年10月,Google发出一篇论文《BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding》, BERT模型横空出世, 并横扫N…

分享5款后台收到的推荐最多的软件

最近后台收到好多小伙伴的私信,今天继续推荐五款小工具,都是免费使用的,大家可以去试试看。 1.视频压缩——Moo0 VideoMinimizer 一款完全免费的视频压缩软件,能够有效的将视频压缩到最小,同时还不改变视频画质很清晰…

基于SpringBoot的房屋租赁管理系统的设计与实现

基于SpringBoot的房屋租赁管理系统的设计与实现 1 绪论 1.1 课题来源 随着社会的不断发展以及大家生活水平的提高,越来越多的年轻人选择在大城市发展。在大城市发展就意味着要在外面有一处安身的地方。在租房的过程中,大家也面临着各种各样的问题&…

Java程序设计-基于Java高校社团管理系统

摘 要功能需求系统的功能实现摘 要 当前,大多数高校的社团信息管理都是采用纸质档案的方式来管理的,这样不仅不能长期的保存信息,而且在数据的查找上带来很大的不方便。在目前的网络技术和计算机技术的普及和信息管理的迅速发展,…

【MySQL】你知道的MySQL中的集合函数有哪些呢?

集合函数排名AVG()函数COUNT()函数SUM()函数MAX()函数 和 MIN()函数总结大家好,我是小冷。 上一篇写了 看看ChatGPT是如何回答面试官的问题的? 地址是&#x…