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
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;
|
|
};
|