路由

vue 路由拦截、axios请求拦截

淺唱寂寞╮ 提交于 2020-01-17 02:37:04
路由拦截 项目中,有些页面需要登录后才能进入,例如,在某页面A,用户在操作前需要先进入登录页(此时需要将上一页的地址( /survey/start )作为query存入login页面的地址中,如: http://localhost:8071/#/login?redirect=%2Fsurvey%2Freport ),登录成功后再进入页面A。 首先,在router.js中创建路由时,给需要登录的路由中的 meta 添加字段:requireLogin,如下: const router = new Router({ routes: [ { path: '/login', name: 'Login', component: Login, meta: { title: '登录页' } }, { path: '/register', name: 'Register', component: Register, meta: { title: '注册页' } }, { path: '/', redirect: '/survey/start', name: 'Full', component: Full, children: [ { path: '/survey/start', name: 'Home', component: Home, meta: { title: '首页',

vue路由跳转取消上个页面的请求

巧了我就是萌 提交于 2020-01-17 02:34:43
  我们经常会遇到当前页面未加载完毕时跳转路由或者返回操作, 但是通过network会发现, 若网络环境较差的情况下, 会一直pending, 切换路由后在network中添加新的请求但是正在pending的请求依然存在. 当我们在项目中做了一个上拉加载分页的时候会一直加载中, 用户等待不耐烦后可能会主动触发返回操作, 但是此刻即使用户触发返回操作, 加载分页的请求还是存在, 页面还是会一直提示加载中, 直到该请求加载成功或超时才肯罢休。最终给用户造成一些不必要的结果,同时也对web性能造成一定的影响。   那么如何解决这个问题呢,方法就是监听路由,在路由切换前将上个页面的请求取消。   第一步:   axios请求头设置   import axios from 'axios' import { store } from './store' // 引入vuex axios.interceptors.request.use( config => { config.cancelToken = new axios.CancelToken(function (cancel) { store.commit('pushToken', {cancelToken: cancel}) }) return config } )   第二步:   利用vuex,新建一个store.js,将取消方法

ICMP协议

你。 提交于 2020-01-17 02:20:09
前言 Internet控制报文协议ICMP(Internet Control Message Protocol)是网络层的一个重要协议。ICMP协议用来在网络设备间传递 各种差错 和 控制信息 ,它对于收集各种网络信息、诊断和排除各种网络故障具有至关重要的作用。使用基于ICMP的应用时,需要对ICMP的工作原理非常熟悉。 icmp重定向 如下图所示,主机A访问服务器A,结果主机A设置的网关确是路由器B(服务器A所对应的路由器A可能是作为备选网关,所以没有先走路由器A),路由器B就会发给主机A一个icmp重定向的数据包,主机收到数据包就会根据重定向找到正确的路由。所以icmp重定向常用于纠正 网络访问错误 ICMP数据包格式 整个报文就42字节,需要强调的也就是不同的type+code的具有不同含义,如下图: 这里需要区别的就是 网络不可达:路由器没有这个网段的路由,将数据包丢弃,并回复一个网络不可达的数据包 主机不可达:有可达路由,主机却不可访问 协议不可达:网络可达,主机可达,结果不支持这个协议号,故回应协议不可达 端口不可达:网络可达,主机可达,结果主机端口(如HTTP80端口)不可访问,就会回应协议不可达icmp数据包 ping -a 选择特定源地址 -c 指定发的包个数 -t 设置ttl值 Tracert 这也是icmp一个常见的应用,需要了解的就是tracert的工作原理

RabbitMQ的交换机类型(三)

 ̄綄美尐妖づ 提交于 2020-01-16 15:47:35
RabbitMQ的交换机类型共有四种,是根据其路由过程的不同而划分成的 分别是Direct Exchange(直连交换机), Fanout Exchange(扇型交换机), Topic Exchange(主题交换机)与 Headers Exchange(头交换机) 以下是四种交换机的路由图及详解、 Direct Exchange(直连交换机):将一个名为Q的消息队列与某个名为D的直连交换机通过值为R的路由键绑定在一起,当一个Msg和路由键R发送到直连交换机D上时,直连交换机D会把Msg根据路由键R分发到Q队列。这种模式类似于一对一 Fanout Exchange(扇型交换机):当一个Msg发送到扇形交换机F上时,则扇形交换机F会将消息分别发送给所有绑定到F上的消息队列。扇形交换机将消息路由给绑定到自身的所有消息队列,也就是说路由键在扇形交换机里没有作用,故消息队列绑定扇形交换机时,路由键可为空。这个模式类似于广播。 Topic Exchange(主题交换机):主题交换机是一种发布/订阅的模式,结合了直连交换机与扇形交换机的特点,消息队列与主题交换机的绑定也是通过路由键的。当一个Msg和路由键规则发送到一个主题交换机T时,T会根据路由键规则来筛选出符合规则的绑定到自身消息队列的路由键(可能是1个,也可能是N个,也可能是0个),根据符合的路由键,将消息发送到其对应的消息队列里

React学习-路由传值失败

丶灬走出姿态 提交于 2020-01-16 13:22:39
记一次路由传值失败, 这样子写可以实现跳转,但是传值为空 而这样写路由,却既可以跳转也可以传值。。 值被传过来了 暂时不知道为什么。。 来源: CSDN 作者: 皇帝的金斧头 链接: https://blog.csdn.net/qq_38061688/article/details/103999720

多路由器环境下路由器的入口IP地址及DHCP设置探讨

女生的网名这么多〃 提交于 2020-01-16 11:07:53
多路由器环境下路由器的入口IP地址及DHCP设置探讨 多路由器环境下路由器的入口IP地址及DHCP设置探讨 这里把路由器的LAN口管理IP地址称为路由器的入口地址,把直接接入互联网的路由器称为主路由器,其他路由器称为从路由器。在多路由器环境下路由器的设置个人认为应当遵循以下原则: 1、如果主路由器入口地址为192.168.1.1,那么从路由器最后设置为192.168.x.1,2≤x≤254. 2、如果主路由器LAN口→有线→从路由器的WAN口,那么从路由器可以开启DHCP功能,从路由器下挂电脑从从路由器获取IP地址。主路由器→无线→从路由器WDS Bridge模式或者WISP模式与此情况类似。(推荐) 3、如果主路由器LAN口→有线→从路由器的LAN口,那么从路由器必须关闭DHCP功能,这时候从路由器相当于交换机,从路由器下挂电脑都接到从路由器的LAN口,下挂电脑从主路由器获取IP地址。主路由器→无线→从路由器WDS Repeater模式、Client+AP模式与此情况类似。 不推荐从路由器与主路由器处于同一网段这种模式,例如主路由器入口地址192.168.1.1,DHCP地址池192.168.1.100-150,从路由器设置为192.168.1.2,开启DHCP,DHCP地址池192.168.1.200-250,可能会有冲突出现,有以下情况: 1、如果主路由器LAN口→有线

配置多路由器的网络

人走茶凉 提交于 2020-01-16 06:42:27
问题描述 家里有一台自带wifi的猫(路由器1),多出来一个路由器(路由器2),希望把路由器接到wifi猫上。 解决办法 1.wifi连接自带wifi的猫(路由器1),找到网关地址为192.168.1.1 路由器1和路由器2背后的网关地址都是一样的,是192.168.1.1(因为这是一个路由器的默认网关,如果只有一个路由器,网关就是192.168.1.1,如果有多个路由器相连,必定有多个网段和相应的网关),但是每一个路由器都管理着一个网段,每个网段都拥有一个网关,所以必须找到路由器2的网段和相应的网关。 2.找到路由器2的网关为192.168.111.1 解决办法跟上面的查找路由1的网关相同: 1.无线路由器插上电,先不要接猫,电脑网线连接无线路由器任一LAN口, 2.打开控制面板查看网络,以太网的连接信息,得到本机在局域网的ip(192.168.111.1) 3.得到密码(223117)进入修改配置。密码之类的如果忘了因为后面要连 4.再用网线把猫的LAN口去连接路由器的WAN口 5.wifi连接路由器,此时身处192.168.111.x 这个网段 来源: CSDN 作者: 吃数据的猴子 链接: https://blog.csdn.net/m0_43450897/article/details/103985760

vue路由和window路由问题

元气小坏坏 提交于 2020-01-16 05:22:28
1、vue路由原理:vue路由有两中模式,一种是hash,一种是history,通过mode进行设置,hash会链接上会带#号,history是正常链接   hash: 利用url中的hash值进行页面的切换,实际不会请求后台接口,只改变hash值,通过hashchange监听hash值的变化,进行事件程序处理,包含向window.history内添加纪录,以便实现返回等操作。   history: 利用html5提供的api,pushState和replaceState,这两个api可以改变url地址,但是不会发送请求。还有popstate,实现原理和hash相似,但是当用户主动刷新页面时还是会重新发送请求,所以这个需要后端人员把路由重定向到根页面。  详情参考: https://www.cnblogs.com/tiedaweishao/p/9144531.html  所以在实际vue应用中,本地的路由并不是线上真实的链接地址,$route/$router都是本地vue配置的路由对象,操作的不是线上链接。要操作链接还是需要使用window.location对象内部的属性。 来源: https://www.cnblogs.com/muzs/p/10735924.html

vue 监听路由变化

北慕城南 提交于 2020-01-16 04:29:32
一、 // 监听,当路由发生变化的时候执行 watch:{ $route(to,from){ console.log(to.path); } }, // // 或监听,当路由发生变化的时候执行 watch: { $route: { handler: function(val, oldVal){ console.log(val); }, // 深度观察监听 deep: true } }, //或监听,当路由发生变化的时候执行 watch: { '$route':'getPath' }, methods: { getPath(){ console.log(this.$route.path); } } 二、 //key是用来阻止“复用”的。 <router-view :key="key"></router-view> computed: { key() { return this.$route.name !== undefined? this.$route.name +new Date(): this.$route +new Date() } } //注:使用computed属性和Date()可以保证每一次的key都是不同的,这样就可以如愿刷新数据了。 三、通过 vue-router 的钩子函数 beforeRouteEnter beforeRouteUpdate

Java 版SpringCloud分布式微服务b2b2c电子商务- Zuul基于Consul配置及详

不打扰是莪最后的温柔 提交于 2020-01-16 03:16:11
一.构建工程   1.引入依赖   <!--SpringBoot2.0以上版本需引入该依赖--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-zuul</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-consul-discovery</artifactId> </dependency> 2.创建主类 @SpringBootApplication @EnableDiscoveryClient @EnableZuulProxy @RestController public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } } 3.配置application.properties zuul.routes.api-a.path=/api-a/** zuul.routes.api-a