Vue2-黑马(十三)

news/2024/4/27 2:31:58/文章来源:https://blog.csdn.net/dengfengling999/article/details/130254013

目录:

(1)实战-permissions.js-动态路由

(2)实战-第三方登录-流程分析

(3)实战-第三方登录-代码解读


(1)实战-permissions.js-动态路由

在做根据用户角色动态生成路由:

 动态生成路由和菜单我们前面已经讲过,但是我们这个框架跟前面将的不一样的,对应的代码:

我们以前用户的路由信息和菜单信息是存在用户的一张表里,,我们直接把它查出来,返回给前端,前端直接用了就可以啦,现在这个是,数据库只存储了用户对应什么角色,路由信息并不是存在数据库里,路由信息还是保存在前端 ,有前端管理

 

 上面是基本的路由:首页,文档,引导页,大家都能看到的

还有一些是跟权限有关的所有路由:

 meta:路由的一些额外信息:roles:指定角色

 

 

 上面是把所有的路由信息保存在客户端啦,服务器呢,只给你返回角色,然后再根据角色去筛选你这个显示的路由

使用admin用户会看到所有菜单:

admin可以看到所有的菜单: 

 张三用户是edit:对应的路由

 都能看到的路由:hidden属性:表明会不会在菜单中展示出来,比如登录、404、404呀这些鱼油不会子啊压面展示出来

根路径:主页:/  没有hiden属性,所以需要在主页展示出来   文档: /documentation 也没有hidden  会在显示

 

 

 (2)实战-第三方登录-流程分析

这里我们没有使用微信,因为微信认证通过,需要重定向后端服务器地址,这个地址是一个公网的地址。为了减轻麻烦,我们选用码云和Github,它俩不要求地址是公网的

通过地方方登录,可以减轻登录门槛         

点击码云:

点击授权,会从gitee登录后重定向后台的8080服务器上,跳转是使用了浏览器的重定向方式进行跳转,第三方服务器在重定向的时候,携带一个参数叫做code,后端复服务器收到code值,就会知道在gitee上完成登录,然后会调用gitee的api获取用户的信息,比如说用户名是什么,头像等等

 访问gitee需要先获取那端tocken,然后通过access_tocken才能正确访问获取信息

 (3)实战-第三方登录-代码解读

登录按钮:@click=“showDialog=true”把属性改为true

 登录框:sync:作用是把对话框改为false

 

 social-sign:引入新组件,引入,作为component组件进行注册

 组件页面:自定义组件SocialSignin

 首先需要建立8080根gitee的信任关系,返回一个client_server

点击设置 

 选择第三方应用

 创建第三方应用:

 

 

创建成功后生成:

client ID:在码云上的唯一标识

Client Sercet:配合code获取访问令牌

 前端的访问:

点击授权gitee就会授权通过,跳转到后台8080:使用HttpClient发送请求。

 

 

 

 

 把信息保存在自己的数据库中一份,并生成JWT令牌返回传给9527前端

 gitee返回用户信息后,后端8080,再生成一个新的tocken工前端使用,并传送给前端

新窗口发送老窗口的tocken的代码:

发送时会产生跨域问题,怎么解决?加一个参数地址

 

 

 前端页面的收到消息代码:

data:包含可tocken 

 

 前端获取到tocken之后进行存储,跳转到首页,window.location  :获取地址栏对象

 

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

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

相关文章

OpenCV 图像处理学习手册:6~7

原文:Learning Image Processing with OpenCV 协议:CC BY-NC-SA 4.0 译者:飞龙 本文来自【ApacheCN 计算机视觉 译文集】,采用译后编辑(MTPE)流程来尽可能提升效率。 当别人说你没有底线的时候,…

还在为招生发愁?一文get中外合办院校招生技巧

生源,是任何一所高校的生存之本和生命线。因此,正确的招生策略,对于院校来说显得格外重要。 近几年,越来越多的家长和学生开始关注中外合办大学,随之而来的中外合办大学的生源竞争也越来越激烈。那么,有哪…

手把手带你了解《线程池》

文章目录 线程池的概念池的目的线程池的优势为什么从池子里拿线程更高效?构造方法参数讲解线程拒绝策略模拟实现线程池一个线程池设置多少线程合适? 线程池的概念 线程池:提前把线程准备好,创建线程不是直接从系统申请&#xff0…

25K测试老鸟6年经验的面试心得,四种公司、四种问题…

这里总结了下自己今年的面试情况 先说一下自己的个人情况,普通二本计算机专业毕业,懂python,会写脚本,会selenium,会性能。趁着金三银四跳槽季,面试字节跳动测试岗技术面都已经过了,本来以为是…

如何把Spring Boot的Jar包做成exe?生成自己的程序,超详细教程奉上

近期做了一个前后端合并的spring boot项目,但是要求达成exe文件,提供给不懂电脑的小白安装使用,就去研究了半天,踩了很多坑,写这篇文章,是想看到这篇文章的人,按照我的步骤走,能少踩…

火山引擎边缘云,助力业务敏捷创新

[中国,上海,4 月 18 日]2023 春季火山引擎 FORCE 原动力大会正式举办。大会主论坛,火山引擎总裁谭待围绕云上增长三要素发表了重要演讲。在敏捷迭代专题中,谭待分享了火山引擎边缘云连接与计算无处不在的理念,并于现场…

【Jenkins 2.x 实践指南】1.4 软件工程生产力--章节小结

目录 一、生产力三要素 1. 生产力 2. IT 中的生产力 二、Devops 和 Jenkins 1. DevOps 模式定义(AWS官方定义) 2. DevOps 实践经验 2.1 持续集成 2.2 持续交付 2.3 微服务 2.4 基础设施即代码 2.5 监控和日志记录 2.6 沟通与合作 一、生产力三要素 1. 生产力 劳动…

大数据之Spark部署模式

文章目录 前言一、Spark的部署模式(一)Client模式1. Standalone集群下的Client模式2. Spark On Yarn集群下的Client模式 (二)Cluster模式1. Standalone集群下的Cluster模式2. Spark On Yarn集群下的Cluster模式 总结 前言 #博学谷…

【STC8A8K64D4开发板】——有源蜂鸣器鸣响控制

学习目的 掌握有源蜂鸣器驱动电路的设计:控制方式、限流电阻的计算和确定。了解有源蜂鸣器的特性以及和无源蜂鸣器的区别。 硬件电路设计 开发板上的蜂鸣器驱动电路如下图所示,使用的蜂鸣器是3V有源蜂鸣器,这里,我们有必要了解…

【JavaScript】6.DOM

文章目录 DOM1. 简介2. 获取元素2.1 根据 ID 获取2.2 根据标签名获取2.3 通过 HTML5 新增的方法获取2.4 特殊元素获取 3. 事件基础3.1 事件概述3.2 事件三要素3.3 执行事件步骤 DOM 1. 简介 文档对象模型(Document Object Model,简称 DOM)&…

小红书达人种草怎么收费?

随着小红书平台的快速发展,用户数量在不断的上升,市场上也涌现出了很多的小红书营销公司,小红书营销主要是以小红书代写代发、品牌植入广告等方式来做品牌种草品宣。 小红书达人种草怎么收费这个问题,相信很多商家朋友都非常关心…

Flutter开发日常练习-pageview滑动视图动画

养小猫咪的伙伴来我的店铺逛逛吧!抖音商城搜索#早睡早起的猫咪小铺子 学着写一下滑动页面 pageview实现左右滑动视图 class SlidingContainer extends StatefulWidget {const SlidingContainer({super.key});overrideState<SlidingContainer> createState() > _Slidi…

2023零基础快速跟上人工智能第一梯队

写在前面&#xff1a;有关人工智能学什么&#xff0c;怎么学&#xff0c;什么路线等一系列问题。我决定整理一套可行的规划路线&#xff0c;希望帮助准备入门的朋友们少走些弯路。 下面我会推荐一个比较快速可行的学习模板&#xff0c;并附上我认为比较好的学习资料。 新手不建…

设计模式:创建者模式 - 适配器模式

文章目录 1.概述2.结构3.类适配器模式4.对象适配器模式5.应用场景6.JDK源码解析 - Reader 与 InputStream 1.概述 如果去欧洲国家去旅游的话&#xff0c;他们的插座如下图最左边&#xff0c;是欧洲标准。而我们使用的插头如下图最右边的。因此我们的笔记本电脑&#xff0c;手机…

apache 配置与应用以及网页优化

Apache 配置与应用 --------构建虚拟 Web 主机-------- 虚拟Web主机指的是在同一台服务器中运行多个Web站点&#xff0c;其中每一个站点实际上并不独立占用整个服务器&#xff0c;因此被称为“虚拟”Web 主机。 通过虚拟 Web 主机服务可以充分利用服务器的硬件资源&#xff0c…

垃圾回收相关算法

标记阶段的算法 垃圾标记阶段&#xff1a;对象存货判断 在堆里存放着几乎所有的Java对象实例&#xff0c;在GC执行垃圾回收之前&#xff0c;首先需要区分出内存中哪些是存活对象&#xff0c;哪些是己经死亡的对象。只有被标记为己经死亡的对象&#xff0c;GC才会在执行垃圾回…

浏览器插件官方demo学习(五):键盘快捷键、数据缓存、网络请求监听

键盘快捷键 这个demo主要是介绍了&#xff0c;通过自定义键盘快捷键的方式来触发扩展。 必须要在manifest.json文件中添加commands属性组合键&#xff1a;使用组合键时必须包含 Ctrl 或 Alt 细节不介绍&#xff0c;可以自行查看官方文档。这里只看一下常用的东西。 定义组合…

【C++STL精讲】优先级队列(priority_queue)与双端队列(deque)

文章目录 &#x1f490;专栏导读&#x1f490;文章导读&#x1f337;优先级队列——priority_queue&#x1f338;什么是优先级队列&#xff1f;&#x1f338;优先级队列的基本使用&#x1f338;什么是仿函数&#xff1f;&#x1f338;优先级队列的模拟实现 &#x1f337;双端队…

vue element-ui web端 引入高德地图,并获取经纬度

发版前接到一个临时新需求 &#xff0c;需要在web端地址选择时用地图&#xff0c;并获取经纬度。 临阵发版之际加需求&#xff0c;真的是很头疼&#xff0c;于是赶紧找度娘&#xff0c;找api。 我引入的是高德地图&#xff0c;首先要去申请key &#xff0c; 和密钥&#xff0c;…

20230420使用逻辑分析仪测量摄像头的PAG7920的时钟信号

20230420使用逻辑分析仪测量摄像头的PAG7920的时钟信号 2023/4/20 19:14 在CV1826平台&#xff1a; 1、vsync信号&#xff1a;刷新率120HZ PAG7920LT: Ultra-Low Power Global Shutter Image Sensor Max. Frame Rate 180 FPS 20KSa/20KHZ 2、href行同步信号&#xff1a;KHZ级别…