赞
踩
补充:Cookies.get()获取,Cookies.set()存储
页面初始的时候判断一下Cookies里有没有存储过token,如果没有存储过的话则token为undefined,然后我们给this.token赋值为“”需要去登录
- created() {
- if (Cookies.get('token') == undefined) {
- this.token = ""
- } else {
- this.token = Cookies.get('token')
- }
- }
点击点赞按钮的时候判断this.token是否为“”
-
- fabulous() {
- if (this.token == "") {
- this.$message({
- showClose: true,
- message: '即将登录'
- });
- //这里写个定时器延迟2秒再去登录,不需要清除定时器
- //在data里定义一下timer: null,
- this.timer = setTimeout(() => {
- //这里我们在地址中携带一个参数source登录成功之后用来判断网络来源,
- //如果是从网页登录的话需要再跳转回来
- var source = "wed"
- window.location.href = 'http://xxx.xxx.x.xxx:8001/#/login?source=' + source
- }, 2000);
- } else {
- //请求点赞接口
- post('/api/admin/xxxxxx/like', { xwArticleId: this.xwArticleId },
- { token: this.token }//把token添加在请求头里
- )
- }
- },

登录接口请求成功之后
- //把token存到Cookies中
- Cookies.set('token', res.data.token)
- //判断来源,如果是从网页端跳转过来的登录成功之后携带token立马跳转回去
- //获取地址
- let sourceurl = window.location.href
- //截取=号后面的值
- let sourcetxt = sourceurl.split("=")
- //进行解码
- sourcetxt = decodeURI(sourcetxt[1])
- //如果参数为wed跳回网页
- if (sourcetxt === 'wed') {
- window.location.href = 'http://xxx.xxx.x.xxxx:8080/#/myIndex';
- return
- }
- //否则跳转到管理端主页
- this.$router.replace({ name: 'home' })
-

补充:从网页A项目跳转到管理端B项目的,且在网页A项目中已经登录过获取到token了,直接跳转到管理端B项目的主页,不需要重新登录
网页A项目登录方法
- signin() {
- //如果token为“”的话直接跳转到登录页面
- if (Cookies.get('token') == "") {
- window.open("http://xxx.xxx.x.xxx:8001/#/login")
- } else {
- //否则携带Cookies里的token跳转到管理端主页
- let token = Cookies.get('token')
- window.open("http://xxx.xxx.x.xxx:8001/#/login", token)
- }
-
- }
管理端B项目:初始化的时候
- created() {
- //window.name获取window.open()跳转传递过来的参数token
- if (window.name !== "") {
- //当window.name !== "",把我们传递过来的token存在Cookies里
- Cookies.set('token', window.name)
- //跳转到主页
- this.$router.replace({ name: 'home' })
- }
- },
补充:从管理端B项目携带token跳转到网页A项目
管理端B项目:
- //获取Cookies里的token
- let token = Cookies.get('token')
- //跳到网页端的时候带一个source用来判断网络来源
- window.open('http://xxx.xxx.x.xxx:8080/xxx.html#/myHome?source=' + 'management', token)
网页A项目:初始化的时候
- created() {
- //判断来源,如果是从管理端跳转过来的存一个token
- let sourceurl = window.location.href
- let sourcetxt = sourceurl.split("=")
- sourcetxt = decodeURI(sourcetxt[1])
- if (sourcetxt === 'management') {
- Cookies.set('token', window.name)
- }
- },
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。