7脚手架与jwt

news2024/11/29 20:50:48

1.引言

企业开发中的前端工程一般不会让程序员自己从零搭建,所以咱们要学会使用别人封装好的架子,或者低代码开发平台,这里 咱们快速上手一个第三方的脚手架。

参考资料 花裤衩 (panjiachen) - Gitee.com

2.安装步骤

# 克隆项目
git clone https://github.com/PanJiaChen/vue-admin-template.git

# 进入项目目录
cd vue-admin-template

# 安装依赖
npm install

# 建议不要直接使用 cnpm 安装以来,会有各种诡异的 bug。可以通过如下操作解决 npm 下载速度慢的问题
npm install --registry=https://registry.npm.taobao.org

# 启动服务
npm run dev

3.登录流程分析

image-20230524094427099

vuex-> user.js

image-20230524094533372

api->user.js

image-20230524094600864

utils->request.js

image-20230524094721405

在没有后端接口时,走的是前端mock 数据 ,这个请求会到 mock 下面的 user.js

image-20230524094904579

token的数据结构

image-20230524100135302

mock 的返回结果 被 util 下的 响应拦截获取

image-20230524095013746

响应又传到 vuex 的 user.js的 login 方法的响应中

image-20230524095123417

紧接着 前端就调用 getInfo 获取用户信息

image-20230524095309276

api->user.js -> getInfo

image-20230524095358362

请求 utils 下 request.js , 他会对请求进行拦截 让请求 携带请求头

image-20230524111631013

请求到 mock 下的user.js 的 用户信息的数据

image-20230524095540178

返回的用户信息的数据结构

image-20230524095630761

image-20230524095737459

页面跳转到 dashboard

image-20230524100003407

切换为后端接口,修改 vue.config.js

image-20230524102727126

    proxy: {
      [process.env.VUE_APP_BASE_API]: {
        // target: 'http://localhost:8080',    // 配置 请求后台的地址
        target: 'http://localhost:81',    // 配置   nginx 请求后台的地址
        changeOrigin: true,       // 开启跨域
        pathRewrite: {
          //     /dev/api/vue-admin-template/user/login   ---- >    /user/login
          ['^' + process.env.VUE_APP_BASE_API + '/vue-admin-template']: ''
        }
      }
    }

    // before: require('./mock/mock-server.js')

这里 咱们切断了 前端请求自身mock 数据的路线,由proxy 代理到 后端 接口

后端 创建相应的接口 返回 前端需要的数据

@PostMapping("/login")
    @UnInterception
    public R login(@RequestBody User user){
        System.out.println("登录操作");

        User currentUser = userService.login(user);

        return R.ok().data("token","admin-token").code(20000);
    }

    @GetMapping("/info")
    public R info(String token){
        System.out.println(token);

        HashMap<Object, Object> map = new HashMap<>();
        map.put("roles","admin");
        map.put("introduction","I am a super administrator");
        map.put("avatar","https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif");
        map.put("name","Super Admin");
        return R.ok().data(map).code(20000);
    }

t(“avatar”,“https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif”);
map.put(“name”,“Super Admin”);
return R.ok().data(map).code(20000);
}






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

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

相关文章

【HashMap】为什么用自定义的类做HashMap的Key时需要重写hashcode方法和equals方法

【HashMap】为什么用自定义的类做HashMap的Key时需要重写hashcode方法和equals方法 【一】为什么有这个问题【二】Object类的中的hashcode方法和equals方法【三】重写hashcode【四】重写equals方法【五】hashmap中使用hashcode和equals方法 【一】为什么有这个问题 因为HashMa…

致我们那年青春热血的高考

#2023高考季# 本来试着去网上查一下当年的高考成绩&#xff0c;无奈查询密码实在想不起来&#xff0c;只能作罢。 2009年&#xff0c;我参加了高考。在这场考试中&#xff0c;我经历了各种复杂的情绪&#xff0c;紧张、焦虑、兴奋和期待&#xff0c;犹如坐过山车一样刺激。 我每…

实验篇(7.2) 05. 通过浏览器访问远端内网服务器 (FortiClient-SSL) ❀ 远程访问

【简介】直接将内网服务器映射成公网IP&#xff0c;可以方便的从任何地方访问服务器的指定端口&#xff0c;但是这种方式下&#xff0c;服务器是公开且暴露的。那有没有即方便、又比较安全的远程访问服务器的方法呢&#xff1f;我们来看看SSL VPN的Web模式。 SSL VPN介绍 从概念…

Linux 高级IO

目录 传统艺能&#x1f60e;概念&#x1f60d;高级IO&#x1f602;五种 IO 模型&#x1f44c;阻塞 IO&#x1f64c;非阻塞 IO&#x1f60d;信号驱动IO&#x1f60a;多路转接IO&#x1f602; 异步IO&#x1f618;同步通信 VS 异步通信&#x1f601;同步通信 VS 同步与互斥&#…

Java006——对第一个Java程序HelloWorld的简单认识

一、HelloWorld.java程序整体认识 public class HelloWorld { //创建一个名字叫HelloWorld的类&#xff08;Java中的类叫class&#xff09;public static void main(String[] args) {//主程序入口&#xff0c;类似C语言main函数System.out.println("He…

黑客第一步:从认识这些DOS命令开始

文章目录 一、DOS是个啥&#xff1f;二、如何启动DOS命令行&#xff1f;1. 同时按下键盘winR键&#xff0c;打开运行框2. 在运行框输入命令cmd&#xff0c;然后点击确定&#xff0c;即可进入DOS命令行 三、常用的DOS命令 一、DOS是个啥&#xff1f; DOS&#xff08;Disk Opera…

《精通特征工程》学习笔记(5):数据(特征)降维

1.数据降维 通过自动数据收集和特征生成技术&#xff0c;可以快速获取大量特征&#xff0c;但不是所有特征都是有用的。数据降维就是在保留重要信息的同时消除那些“无信息量的信息”。 “无信息量”有多种定义方法&#xff0c;PCA 关注的是线性相关性&#xff0c;假设我们将…

正态(高斯)分布什么时候等于杨辉三角(二项式)展开

&#xff08;ab&#xff09;^10的杨辉三角展开项系数是1&#xff0c;10&#xff0c;45&#xff0c;120&#xff0c;200&#xff0c;252&#xff0c;200&#xff0c;120&#xff0c;45&#xff0c;10&#xff0c;1 这些系数11项的和等于1004&#xff0c;每项除以1004&#xff0c…

数据结构与算法之美 | 递归(Recursion)

什么叫做递归&#xff1f; 递归&#xff1a;去的过程叫“递”&#xff0c;回来的过程叫“归” 递归的三个条件 条件一&#xff1a;一个问题的解可以分解为几个子问题的解 条件二&#xff1a;这个问题与分解之后的子问题&#xff0c;除了数据规模不同&#xff0c;求解思路完全…

CnOpenData全国养老机构数据

一、数据简介 养老机构指为老年人提供集中居住和照料服务的机构&#xff0c;县级以上地方人民政府民政部门负责本行政区域内养老机构的指导、监督和管理。其他有关部门依照职责分工对养老机构实施监督。 与其他服务不同的是&#xff0c;养老服务是一种全人、全员、全程服务,养老…

路径之谜 2016年国赛 深度优先搜索

目录 解题思路 AC代码&#xff1a; 题目描述 小明冒充 XX 星球的骑士&#xff0c;进入了一个奇怪的城堡。 城堡里边什么都没有&#xff0c;只有方形石头铺成的地面。 假设城堡地面是 nn 个方格。如下图所示。 按习俗&#xff0c;骑士要从西北角走到东南角。可以横向或纵向…

智能 CAN 总线/串口 RS-232485 协议转换器

能CAN/串口协议转换器LCNET Pro RS-232/485提供一路RS-485、一路RS-232和一路CAN通道&#xff0c;实现CAN与串口RS-485或RS-232之间的双向数据智能转换。每个通道独立隔离&#xff0c;每路通道采用金升阳电源模块和信号隔离芯片实现2500VDC电气隔离&#xff0c;电源输入防反设计…

NAT模式 LVS负载均衡群集部署

NAT模式 LVS负载均衡群集部署 一.部署共享存储&#xff08;NFS服务器&#xff1a;192.168.80.102&#xff09;1.关闭防火墙&#xff0c;查看是否有rpcbind和nfs-utils的包2.创建两个共享文件目录3.将共享路径及网段添加到/etc/exports中&#xff08;设置为只可读&#xff09;4.…

VulnHub项目:MONEYHEIST: CATCH US IF YOU CAN

靶机名称&#xff1a; MONEYHEIST: CATCH US IF YOU CAN 地址&#xff1a;MoneyHeist: Catch Us If You Can ~ VulnHub 这个系列是一部剧改编&#xff0c;还是挺好看的&#xff0c;大家有兴趣可以去看看&#xff01; 废话不多说&#xff0c;直接上图开始&#xff01; 渗透…

(单调栈) 496. 下一个更大元素 I——【Leetcode每日一题】

❓496. 下一个更大元素 I 难度&#xff1a;简单 nums1 中数字 x 的 下一个更大元素 是指 x 在 nums2 中对应位置 右侧 的 第一个 比 x 大的元素。 给你两个 没有重复元素 的数组 nums1 和 nums2 &#xff0c;下标从 0 开始计数&#xff0c;其中 nums1 是 nums2 的子集。 对…

直播美颜技术:视频美颜sdk的快速集成与开发实践

视频美颜sdk则是直播美颜技术的重要组成部分&#xff0c;它可以帮助开发者快速集成美颜功能&#xff0c;实现直播美颜。目前已经被广大平台、主播、平台用户所应用&#xff0c;在近几年甚至成了一个极其热门的讨论话题&#xff0c;毕竟它与人们的日常拍摄生活息息相关。 一、视…

重磅:百亿人工心脏赛道再添新玩家,行业未来趋势明显

市场火热&#xff0c;资本加持 昨日&#xff0c;深圳核心医疗科技股份有限公司自主研发的Corheart 6植入式左心室辅助系统获得国家药品监督管理局批准上市。这是一枚完全国产&#xff0c;拥有完备自主知识产权的人工心脏。该产品正式获批上市&#xff0c;加之之前获批的永仁心…

C++ 参数的三种传递方式和应用参加

C 参数的三种传递方式分别是值传递、指针传递和引用传递。 值传递 值传递的实质 将实参的值&#xff08;a、b&#xff09;复制到形参(m、n)相应的存储单元中&#xff0c;即形参和实参分别占用不同的存储单元。 值传递的特点 值传递的特点是单向传递&#xff0c;即主调函数…

「C/C++」C/C++ 回调函数

✨博客主页&#xff1a;何曾参静谧的博客 &#x1f4cc;文章专栏&#xff1a;「C/C」C/C程序设计 相关术语 回调函数&#xff1a;是一种常用的编程技术&#xff0c;它可以将一个函数作为参数传递给另一个函数&#xff0c;并在后者执行过程中调用前者。回调函数通常用来处理异步…

python怎么搭建免费代理IP池,免费代理IP适合爬虫工作吗

Python可以使用一些第三方库和工具来搭建免费代理IP池。简单来说&#xff0c;搭建代理IP池的步骤如下&#xff1a; 1. 获取代理IP&#xff1a;从一些免费或付费代理IP网站上爬取并验证IP地址和端口信息。 2. 验证代理IP&#xff1a;使用代理IP访问一些网站或服务&#xff0c;验…