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