You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

66 lines
1.8 KiB

import { config } from '@/config'
/**
* 动态设置浏览器标题
* @param title
*/
export const setDocumentTitle = (title) => {
document.title = title || config.title;
};
/**
* 处理await成功失败信息
* 参考:https://juejin.cn/post/6844903767129718791
* @param {*} promise
*/
export function awaitWrap(promise) {
return promise
.then((data) => [null, data])
.catch((err) => [err, null]);
}
/*
* 第一种方法:
* @param paramName
* 用来获取url中的某个参数
*/
export const getQueryParamByKey = (paramName) => {
let url = document.location.toString();
// 如果url中有特殊字符则需要进行一下解码
url = decodeURI(url);
const arrObj = url.split('?');
if (arrObj.length > 1) {
const arrPara = arrObj[1].split('&');
let arr;
for (let i = 0; i < arrPara.length; i++) {
arr = arrPara[i].split('=');
if (arr != null && arr[0] == paramName) {
return decodeURIComponent(arr[1]);
}
}
return '';
} else {
return '';
}
};
/*
* 用来获取url中的所有参数
* let url = 'http://192.168.1.122:9020/?appId=wxf4b72971eacba4d6&loginScene=1#/'
*/
export const getQueryParams = (url = document.location.toString()) => {
// 如果url中有特殊字符则需要进行一下解码
url = decodeURI(url);
const arr1 = url.split('?');
const obj = {};
if (arr1.length > 1) {
const index = arr1[1].indexOf('#');
arr1[1] = index == -1 ? arr1[1] : arr1[1].slice(0, index);
const arr2 = arr1[1].split('&');
for (let i = 0; i < arr2.length; i++) {
const curArr = arr2[i].split('=');
obj[curArr[0]] = decodeURIComponent(curArr[1]);
}
}
return obj;
};