热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

处理其他系统过来的token.

用ifrma标签还是不太合适.太受限制了.可以在main.js里面拦截.if(window.location.pathnamearchives-categoryENTRY){let

用ifrma标签还是不太合适.太受限制了.可以在main.js里面拦截.

if (window.location.pathname == "/archives-category/ENTRY") {
let token
= getQuery("token")
if (token) {
getUser(token)
}
}
function getQuery(name) {
let reg
= new RegExp("(^|&)" + name + "=([^&]*)(&|$)")
let r
= window.location.search.substr(1).match(reg)
if (r != null) {
return unescape(r[2])
}
return null
}
function getUser(returntoken) {
var jwt = require("jsonwebtoken")
console.log(jwt.decode(returntoken))
let datatoken
= jwt.decode(returntoken)
let obj
= {
token: returntoken,
username: datatoken.user_name,
name: datatoken.user_nickname,
userId: datatoken.user_id,
qyId: datatoken.tenant_uid,
qydm: datatoken.tenant_id,
}
console.log(obj)
localStorage.setItem(
"USER_INFO_KEY", JSON.stringify(obj))
localStorage.setItem(
"CURRENT_MENU_ID", "")
}

这是一种实现方式.但是写在main.js里面也不太合适.公司情况会分好几个系统跳转过来.不同系统对token的处理不一样.

所以建议还是在路由守卫里面不拦截当前页面.在当前页面处理逻辑.处理完再跳回当前首页.当前页面不可见.只用做处理token.逻辑

npm install jsonwebtoken下载包.这个包可以解析token .不建议用base64了.这个base64解析起来对中文还乱码了

 

在路由里面放开跳转的路由

router.beforeEach((to, from, next) => {
let title
= getMetaFromRouter(to, "title")
if (title) {
document.title
= title
}
else {
document.title
= "档案系统"
}
if (to.path === "/login") return next()
if (to.path == "/zt-auto-login" && to.query.token) return next()
if (!localStorage.getItem("USER_INFO_KEY")) {
return next("/login")
}
next()
})

 

记得新增一个路由

 


原文链接:https://www.cnblogs.com/yadi001/p/15478821.html



推荐阅读
  • vue使用
    关键词: ... [详细]
  • 本文介绍了闭包的定义和运转机制,重点解释了闭包如何能够接触外部函数的作用域中的变量。通过词法作用域的查找规则,闭包可以访问外部函数的作用域。同时还提到了闭包的作用和影响。 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • Ihavethefollowingonhtml我在html上有以下内容<html><head><scriptsrc..3003_Tes ... [详细]
  • 本文介绍了使用cacti监控mssql 2005运行资源情况的操作步骤,包括安装必要的工具和驱动,测试mssql的连接,配置监控脚本等。通过php连接mssql来获取SQL 2005性能计算器的值,实现对mssql的监控。详细的操作步骤和代码请参考附件。 ... [详细]
  • 本文介绍了在wepy中运用小顺序页面受权的计划,包含了用户点击作废后的从新受权计划。 ... [详细]
  • 如何自行分析定位SAP BSP错误
    The“BSPtag”Imentionedintheblogtitlemeansforexamplethetagchtmlb:configCelleratorbelowwhichi ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • 本文介绍了在Linux下安装Perl的步骤,并提供了一个简单的Perl程序示例。同时,还展示了运行该程序的结果。 ... [详细]
  • Python正则表达式学习记录及常用方法
    本文记录了学习Python正则表达式的过程,介绍了re模块的常用方法re.search,并解释了rawstring的作用。正则表达式是一种方便检查字符串匹配模式的工具,通过本文的学习可以掌握Python中使用正则表达式的基本方法。 ... [详细]
  • 本文介绍了三种方法来实现在Win7系统中显示桌面的快捷方式,包括使用任务栏快速启动栏、运行命令和自己创建快捷方式的方法。具体操作步骤详细说明,并提供了保存图标的路径,方便以后使用。 ... [详细]
  • 本文介绍了在使用vue和webpack进行异步组件按需加载时可能出现的报错问题,并提供了解决方法。同时还解答了关于局部注册组件和v-if指令的相关问题。 ... [详细]
  • 模板引擎StringTemplate的使用方法和特点
    本文介绍了模板引擎StringTemplate的使用方法和特点,包括强制Model和View的分离、Lazy-Evaluation、Recursive enable等。同时,还介绍了StringTemplate语法中的属性和普通字符的使用方法,并提供了向模板填充属性的示例代码。 ... [详细]
  • 本文记录了在vue cli 3.x中移除console的一些采坑经验,通过使用uglifyjs-webpack-plugin插件,在vue.config.js中进行相关配置,包括设置minimizer、UglifyJsPlugin和compress等参数,最终成功移除了console。同时,还包括了一些可能出现的报错情况和解决方法。 ... [详细]
author-avatar
帅气小子勇哥
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有