1.0.4 • Published 2 years ago
chao_coms v1.0.4
需要设置
window._CONFIG['domianURL'] //接口请求地址
window._CONFIG['imgShowUrl'] //图片展示拼接地址
window._CONFIG['upFileUrl'] //文件上传地址
需要安装 axios tinymce 5.3.2 @tinymce/tinymce-vue 3.2.8
pubFn方法
//1. 已全局注册 使用 this.$pubFn.xxx
idCardInfo(获取身份证性别/年龄/生日)
debounce(防抖)
absoUrl(绝对路径拼接)
absoUrlArr(绝对路径拼接)
arrObjRepeat(数组对象去重)
deepClone(深度克隆数组或对象)
getByKeys(深层判断对象是否存在)
creatDrag(表格鼠标拖动滚动条)
changeTableRowBg(点击兄弟元素 变背景)
flatTree(扁平化数据 为树形结构)
addTreeAttrs(自定义处理树形数据,需要单独定义)
getItemByKey(得到树形数据中指定的对象)
filterObj(过滤空对象)
randomArr(或得随机数组元素)
randomNumber(获得指定区间随机数)
randomString(获取随机字符串)
/**
* 取当前时间的间隔时间
* @param {Int} number 时长
* @param {String} type 返回类型
* @param {String} cutStr 返回拼接格式(2021-01-20)
*
* number <0 为前几天(周,月,年) number > 0 为后几天(周,月,年)
* type为 day: number为天 (1代表 1天)
* type为 week: number为周(1代表 7天)
* type为 month: number为月(1代表 一个月)
* type为 year: number为年 (1代表 一年)
*/
getDateDiff(number = 0, type = 'day',cutStr="-")
//详情参数说明
/*
函数防抖 无返回值
fn(必须):执行函数
wait:等待时长(默认:300毫秒)
immediate:是否立即执行(默认:false)
*/
this.$pubFn.debounce(fn,wait,immediate);
//例:
window.addEventListener('resize',
this.$pubFn.debounce(()=>{
},500,false)
)
/*
文件绝对 单个 路径拼接 接受字符串, 返回字符串
依赖 window._CONFIG['imgShowUrl'];
url:需要拼接为绝对路径的 地址
*/
let url = "/a.png";
this.$pubFn.absoUrl(url);
/*
文件绝对路径拼接 接受数组,或者 字符串,返回数组
依赖 window._CONFIG['imgShowUrl'];
*/
let strOrArr = ["/a.png","/b.jpg"];
this.$pubFn.absoUrlArr(strOrArr);
/*
数组对象去重 返回去重后的数组对象
ArrObj: 数据源
key: 按什么条件去重(默认:'id')
*/
let ArrObj = [{id:1,name:'1'},{id:1,name:'2'}]
let key = "id";
this.$pubFn.arrObjRepeat(ArrObj,key);
//例:
/*
扁平化数据格式化为tree格式 返回拼接后树形结构
arrayList(必须): 扁平化数据源
pidStr: 根据字什么字段实现树形结构(默认: "parentId")
idStr: 当前项的那个字段去匹配父级 (默认:'id')
childrenStr: 子集的字段名称: (默认: 'children')
*/
let arrayList = [
{id:"1",name:'1',parentId:'0'},
{id:"2",name:'2',parentId:'1'}
];
this.$pubFn.flatTree(arrayList,pidStr,idStr,childrenStr)
/*
自定义处理树形数据 (需要单独使用) 返回处理完成的数据
list: 需要处理的树形结构
*/
addTreeAttrs(list){
if(!(list instanceof Array)) return [];
for (let item of list) {
if(item.children){
//vue-select-tree 树形自动展开所有
item.isDefaultExpanded = true;
}
if (item.children instanceof Array) {
this.addTreeAttrs(item.children);
}
}
}
/*
得到树形数组中指定的对象 返回匹配到的对象
list(必须):数据源,
key(必须):需要匹配的唯一值,
id:按哪个属性匹配(默认:'id')
*/
let list = [
{id:"1",name:'1',parentId:'0'},
{id:"2",name:'2',parentId:'1'}
];
let key = "2",id="id"
this.$pubFn.getItemByKey(list,key,id)
/*
过滤空对象 返回过滤后不为空的对象
obj: 对象源
*/
this.$pubFn.filterObj(obj)
/*
鼠标按住 拖动滚动条 无返回值
idOrClass: 拖动元素的id或者类名
*/
this.$pubFn.creatDrag(idOrClass);
/*
点击改变 元素 背景色,去除 其他兄弟元素背景 无返回值
idOrClass: 元素id,或者类名
activeClass: 点击选中的样式类名
*/
this.$pubFn.changeTableRowBg(idOrClass,activeClass)
// js常用方法 返回得到的数据
/*
获取随机字符串 返回获取的指定长度的随机字符串
length: 随机字符串的长度 (默认:6)
uuid: 是否为uuid格式 默认(false),
chats:指定随机字符串的内容 (默认: "0123456789qwertyuioplkjhgfdsazxcvbnm")
*/
this.$pubFn.randomString(length,uuid,chats)
/*
判断对象深层属性是否存在,存在返回对象值, 不存在返回 ''; (常用于不存在对象时报错问题)
obj: 对象源
keys: 格式:'a.b.c'
defVal: 不存在默认返回值 (默认: '')
*/
let obj = {a:{b:{c:"ccc"}}};
let key = "a.b.c";
this.$pubFn.getByKeys(obj,key,defVal)
this.$pubFn.randomArr(arr) //获取数组中随机位置的数
this.$pubFn.deepClone(arrOrObj) //克隆对象或者数组
this.$pubFn.randomNumber(min,max) //获取指定区间随机的数字
utils方法
//js公用函数 util
//1. 需要引入 xxx 为需要用到的方法名
import {xxx} from '@/coms/plugin/pubFn/pubUtil.js'
//2.需要的组件使用
/*
手机号或身份证加密 返回加密后的值(String)
value(必须): 需要加密的值,
*/
telOrCardEncryption(value)
/*
计算两个时间相差 ,返回对象 {d,h,m,s} 天,时,分,秒
data(必须): 开始时间
now: 结束时间(默认:当前)
*/
timeDifference(data, now)
/**
取当前时间(前 后)的间隔时间, 返回时间格式的字符串
number 相隔时间(默认:0)
type 时间类型(默认: 'day')
cutStr 拼接格式(默认:'-')
number > 0 为前几天(周,月,年) number < 0 为后几天(周,月,年)
type为 day: number为天 (1代表 1天)
type为 week: number为周(1代表 7天)
type为 month: number为月(1代表 一个月)
type为 year: number为年 (1代表 一年)
*/
getDateDiff(number,type,cutStr)