vue 跳转地址栏参数加密

vue路由加密传参

此处用到的是UrlEncode编码加密,首先创建一个UrlEncode.js,代码如下

const UrlEncode = {
  // 加密
  encode(str) {
    return btoa(
      encodeURIComponent(str).replace(
        /%([0-9A-F]{2})/g,
        function toSolidBytes(match, p1) {
          return String.fromCharCode("0x" + p1)
        }
      )
    )
  },
  // 解密
  decode(str) {
    return decodeURIComponent(
      atob(str)
        .split("")
        .map(function (c) {
          return "%" + ("00" + c.charCodeAt(0).toString(16)).slice(-2)
        })
        .join("")
    )
  }
}
export default UrlEncode

在main.js中引入,方便调用

import UrlEncode from './utils/UrlEncode'
Vue.prototype.$UrlEncode = UrlEncode

我这边用到的是通过路由的path进行传参,打开新窗口

const new1 = this.$router.resolve({
          path: '/remoteLogin',
          query: {
            key: this.$UrlEncode.encode(JSON.stringify({
              id: item.id,
              location: item.location,
              username: item.username,
              password: item.password,
              name: item.name,
              guacUrl: guacUrl
            }))
          }
        })
        window.open(new1.href, '_blank')

接收页面

this.urlData = JSON.parse(this.$UrlEncode.decode(this.$route.query.key))
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值