WechatOwnerService/lib/java110/utils/UrlUtil.js
2022-06-17 00:37:42 +08:00

46 lines
1.3 KiB
JavaScript

import {isNull} from './StringUtil.js'
export function encodeUrl(_url){
if(isNull(_url)){
return _url;
}
_url = _url.replace("?","**");
_url = _url.replaceAll("&","@@");
_url = _url.replace("#","!!");
return _url;
}
export function decodeUrl(_url){
if(isNull(_url)){
return _url;
}
if(_url.indexOf("?")>-1){
_url = _url.replaceAll("**", "&"); //已经有?了
}else{
_url = _url.replace("**", "?"); //已经有?了
}
_url = _url.replace("!!", "#");
_url = _url.replace("$$", "#");
_url = _url.replaceAll("@@", "&");
_url = _url.replaceAll("**", "&"); //已经有?了
return _url;
}
export function getPageUrl(){
let pages = getCurrentPages()
let len = pages.length
let curParam = pages[len - 1].options //获取当前页面参数
let param = []
for (let key in curParam) { //获取key=value键值对格式数组
param.push(key + '=' + curParam[key])
}
let _url = '' //除去第一个参数拼接后面参数
param.forEach((item, i) => {
if (i != 0) { //拼接&符号,由于第一组前拼接的是?所有第一组需要单独处理
_url += '&' + item
}
})
let url = '/' + pages[len - 1].route + '?' + param[0] + _url //最终格式**/pages/index/index/?id=11&name='boyyang'&sex='man'**
return url;
}