首页 > 编程知识 正文

url带参数访问vue指定页面,vue怎么拦截请求的url

时间:2023-05-04 14:45:12 阅读:158853 作者:584

以下是加密和解密url的方法

//*

* url参数加密

*传入的json格式字符串

* @param {*Object} query

*/

const EncryUrl=query={

if (! utils.isobject(query ) }

返回' ';

}

try {

query=JSON.stringify(query );

query=window.encodeuri component (query;

returnwindow.btoa(query; //编码

}catch(err ) {

console.log (' % curl-encry-error:' JSON.stringify ),' color:red;' );

}

返回' ';

}

//*

*解密URL参数

*接收加密的json字符串

* @param {*string} val

*/

const DecryptUrl=val={

if (! utils.isstring(val ) }

返回假;

}

try {

letdecrystr=window.atob(val; //解码

return window.decodeuricomponent;

}catch(err ) {

console.log (' % curl-decry-error:' JSON.stringify ),' color:red;' );

}

返回假;

}

以上,加密方法EncryUrl,首先判断输入的数据是否是Object的,将json变换成字符串,使用encodeURIComponent进行URI编码(encodeURIComponent )方法中文在使用后的window.btoa上报告时,解密DecryptUrl,同样相反执行解密。 关于为什么后来没有使用JSON.parse,请看后面的;

//*

*从地址栏获取指定的参数值

* @param {*string} param

*/

const GetQueryParam=(param )={

let h=window.location.href;

letreg=newregexp('[? () )、' param '=([,-w][]?' 、' I ';

if(reg.test(h ) ) }

letv=reg.exec(h ) [1];

return v;

}

返回' ';

(;

//*

*返回地址栏加密Object

* @param {*string} param

*/

const GetQueryParamOfObjEntry=()={

letkeystr=getqueryparam('key );

if (! keyStr ) {

返回' ';

}

try {

letobjstr=decryptURL(keystr );

letobj=JSON.parse(objstr );

返回对象;

}catch(err ) {

console.log (' % curl-JSON-parse-error:' JSON.stringify ),' color:red;' );

}

返回' ';

}

以上两种方法,GetQueryParam封装了获取指定链接参数的代码块,GetQueryParamOfObjEntry获取位于名为key的指定参数后面的解码数据,其中JSON 因为我们约定了链接后方参数是以key为key的一个参数,所以当然可以用其他参数代替。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。