工具方法 .js
获取url问号后面,name的值
/**
* *?id=123&a=b
* @return object
*/
export function urlParse(){
let url = window.location.search;
let obj = {};
let reg =/[?&][^?&]+=[^&]+/g;
let Arr = url.match(reg);
if(Arr){
Arr.forEach((item)=>{
let temArr = item.substring(1).split('=');
let key = decodeURIComponent(temArr[0]);
let value = decodeURIComponent(temArr[1]);
obj[key] = value;
});
}
return obj;
};
存储商家id 以及读取 id
/**
* 存储商家id
*/
// 保存此 id
export function saveToLocal(id,key,value){
let seller = window.localStorage.sellerArr;
// 判断是否有本地存储
// 无 则创建 sellerArr 对象 创建 id的 对象
// 有 检查是否存在此id的属性 没有此属性则 创建此 id 的对象
if(!seller){
seller = {};
seller[id] = {};
}else{
seller = JSON.parse(seller);
// 查找是否存在 id 不存在继续添加属性
if(!seller[id]){
// 创建对象
seller[id] = {};
}
};
seller[id][key] =value;
window.localStorage.sellerArr = JSON.stringify(seller);
};
// 读取此 id
export function loadFromLocal(id,key,def){
let seller = window.localStorage.sellerArr;
// 判断是否有本地存储
if(!seller){
return def;
};
// 判断当前 id 是否存在
seller = JSON.parse(seller)[id];
if(!seller){
return def;
}
// 读取 bool
let ret = seller[key];
return ret || def ;
};
日期转化
export function formateDater(date,fmt){
//找到y+ 替换y+
if(/(y+)/.test(fmt)){
//console.log(RegExp.$1);
fmt = fmt.replace(RegExp.$1,date.getFullYear()+'');
};
let o ={
'M+' : date.getMonth()+1,
'd+' : date.getDate(),
'h+' : date.getHours(),
'm+' : date.getMinutes(),
's+' : date.getSeconds()
}
console.log(o);
for(let k in o){
if(new RegExp(`(${k})`).test(fmt)){
let str = o[k] + '' ;
fmt = fmt.replace(RegExp.$1,str);
}
};
return fmt;
}
判断是否有class
export function hasClass(el, className) {
let reg = new RegExp('(^|\\s)' + className + '(\\s|$)');
return reg.test(el.className);
}
添加class
export function addClass(el, className) {
if (hasClass(el, className)) {
return;
}
let newClass = el.className.split(' ');
newClass.push(className);
el.className = newClass.join(' ');
}
设置 or 获取 自定义data- 属性的值
export function getData(el, name, val) {
const prefix = 'data-'
if (val) {
return el.setAttribute(prefix + name, val)
}
return el.getAttribute(prefix + name)
}
![](https://img2023.cnblogs.com/blog/683064/202304/683064-20230406110942434-118416792.png)