在路由切换时页面需要使用地址栏传参,但地址栏会暴露参数的值,然后想到了encodeURI加密参数
比如参数是一个对象obj
obj:{
id: 1,
name: 'Tom'
}
那么需要将参数转换为JSON字符串,在使用encodeURI
加密,需要注意的是通过路由跳转的时候会自动解密一次,所以需要加两次密
let param = {
id: 1,
name: 'Tom'
}
param = encodeURI(JSON.stringify(param))
param = encodeURI(param) // 第二次加密
this.$router.push({path: `/record-index-city/${param}`,})
解密方式是使用decodeURI
let param = this.$route.params.param
param = JSON.parse(decodeURI(param))
加密后效果: