反转译浏览器地址参数,传过来的url都是经过浏览器转译之后的,所以目的是想拿到转译之前的url,拿到token
转译之前的url:
http://101.66.135.62:8088/#/home?token=FDXAueTmcdlGLc6X+ui+b=jCLINhNLS4hBDb+zESxxBPA8edkb7GbnFNyHEu1pw68VrgZ5=1c6i0Dv0vSEa2aZMLIzwZzKAE4XVNXNI3dAKXXvRMZw=iH3V0aSuXcIm3
因为传过来的url都是经过浏览器转译之后的,所以目的是想拿到转译之前的url,拿到token;有如下两个方法,建议使用方法二,处理的更全面
// 方法一:处理url编码
? ? getQueryString(token) {
? ? ? while (token.indexOf('%20') >= 0) token = token.replace(/%20/, '+') // 空格
? ? ? while (
? ? ? ? token.indexOf('%3D') >= 0 // '='
? ? ? )
? ? ? ? token = token.replace(/%3D/, '=')
? ? ? while (
? ? ? ? token.indexOf('%2F') >= 0 // '/'
? ? ? )
? ? ? ? token = token.replace(/%2F/, '/')
? ? ? return token
? ? },
? ? // 方法一:
? ? getTokenToUrl() {
? ? ? var url = window.location.href
? ? ? console.log('url==', url)
? ? ? var querys = url.substring(url.indexOf('?') + 1).split('&')
? ? ? var result = []
? ? ? for (var i = 0; i < querys.length; i++) {
? ? ? ? var temp = querys[i].split('=')
? ? ? ? if (temp.length < 2) {
? ? ? ? ? result[temp[0]] = ''
? ? ? ? } else {
? ? ? ? ? result[temp[0]] = temp[1]
? ? ? ? }
? ? ? }
? ? ? this.currentToken = this.getQueryString(result.token)
? ? ? console.log('token==', this.currentToken)
? ? },
? ? // 方法二:
? ? sessionIdFunc(key) {
? ? ? const urlSessionId = new URLSearchParams(window.location.hash.slice(window.location.hash.indexOf('?')))
? ? ? const paramSessionId = urlSessionId.get(key)
? ? ? return paramSessionId
? ? },
? ? // 获取用户名
? ? async getAccount() {
? ? ? // 方法二:
? ? ? let newToken = decodeURIComponent(this.sessionIdFunc('token')).replaceAll(' ', '+')
? ? ? let params = {
? ? ? ? token: newToken // 通过url截取获得 ?方法二
? ? ? ? // token: this.currentToken // 通过url截取获得 方法一
? ? ? }
? ? ? await this.$Api
? ? ? ? .getAccount(params)
? ? ? ? .then(res => {
? ? ? ? ? console.log('this.username==', res)
? ? ? ? ? this.username = res.data.data.account
? ? ? ? })
? ? ? ? .catch(error => {
? ? ? ? ? this.$Toast(error.data.message)
? ? ? ? })
? ? },
? ? // 获取token
? ? async getTokenAuth() {
? ? ? let params = {
? ? ? ? username: this.username
? ? ? ? // username: 'al-wangwf'
? ? ? }
? ? ? await this.$Api.getAuth(params).then(res => {
? ? ? ? setToken(res.data.data)
? ? ? })
? ? },
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!