vue 路由传参加密解密

新建一个base64.js文件复制进去以下代码 

const Base64 = {
    //加密
     encode(str) {
         return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g,
             function toSolidBytes(match, p1) {
                 return String.fromCharCode('0x' + p1);
             }));
     },
   //解密
     decode(str) {
         // Going backwards: from bytestream, to percent-encoding, to original string.
         return decodeURIComponent(atob(str).split('').map(function (c) {
             return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
         }).join(''));
     }
 }
 export default Base64

在需要的地方引用或者挂载到全局

单页面

import Base64 from '@/tool/base64.js'

 在main.js里面引用,

import Base64 from './assets/js/base64.js'

Vue.prototype.$Base64 = Base64;

使用this.$Base64.方法名调用

<script setup>
import { onBeforeMount, onBeforeUnmount, onBeforeUpdate, onMounted, onUnmounted, onUpdated, ref } from 'vue';
import { useRoute } from "vue-router";
import Base64 from '@/tool/base64.js'
onBeforeMount(() => {
    const route = useRoute();
    // console.log(route.params, route.params.id); // 地址栏参数
    console.log("参数", Base64.decode(route.params.id));
    // 加密
         console.log(Base64.encode("10")); // MTA=
    // 解密
         console.log(Base64.decode(route.params.id)); // 10
})
</script>

 在跳转路由之前把参数加密拼接上去跳转(只加密参数)

加密之后的参数

 解密之后

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值