Skip to content
广告位招租

优质广告位诚邀合作

本广告位曝光量正火速攀升,用户触达规模呈爆发式增长!现向品牌开放合作,趁曝光增长红利期,抓紧机会拿下,让您的品牌借势破圈!

--总浏览量(次)
--总计访客(人)

基础方法

暴露一些字典包中使用到的基础方法。

formatDate

时间格式化方法,以下文档为字典包自带日期格式方法,如字典包配置中有配置formatDatev1.1.0 则如下文档无效。

js
const DEFAULT_FORMATS = {
  date: "yyyy-MM-dd",
  month: "yyyy-MM",
  datetime: "yyyy-MM-dd hh:mm:ss",
  time: "hh:mm:ss",
  year: "yyyy"
}

/**
 * 时间格式化方法
 * date: 时间 支持 Date、timestamp时间戳、4位年份数字、6位年月数字、
 * 8位年月日数字、10位年月日时数字、12位年月日十分数字、14位年月日时分秒数字
 * 支持本身符合日期格式的字符串 如:1995-01-05、1995-01-05 20:00:00
 * fmt: 格式 支持快捷格式化 date、month、datetime、time、year、timestamp 
 * 也支持自定义 如:yyyy-MM-dd hh:mm:ss
 */
formatDate(date, fmt)

getDictConfig

获取字典包配置的方法

js
getDictConfig()

getDictConfigByKey

通过键名获取字典包相应配置的方法

js
/**
 * key: 字典包配置项键名
 **/
getDictConfigByKey(key)

getDictData

获取项目已缓存或者本地配置的字典数据,未缓存的获取不到,也不会去触发接口获取。

js
getDictData()

TIP

本地配置的字典数据必然会在缓存中

getDictDataByKey

通过字典类型获取项目已缓存或者本地配置的字典数据,未缓存的获取不到,也不会去触发接口获取。

js
/**
 * key: 字典类型
 */
getDictDataByKey(key)

getValidator v1.1.0

获取字典包经过配置中的validator合并后的总的校验方法。

js
getValidator()

getValidatorByKey v1.1.0

通过key获取字典包经过配置中的validator合并后的具体的某个校验方法。

js
getValidatorByKey()

listToTree

一维数组转化为树形结构数据的方法

js
// 默认配置
const defaultOptions = {
  idField: "id", //唯一标识字段名
  parentIdField: "parentId", //父节点唯一标识字段名
  childrenField: "children", //子节点标识字段名
  firstId: "0", // 根节点值
  valueField: "id", // 树形值对应的字段名
  valueArrField: "valueArr", //给对象新增的value数组字段名
  labelField: "label", //label字段名
  labelArrField: "labelArr", //给对象新增的中文数组字段名
  idArrField: "idArr", //给对象新增的id数组字段名
  levelField: "level", //给对象新增的层级字段名
  level: 0, // 给根目录配置的层级
  leafField: "leaf" //叶子节点标识字段名
}

/**
 * list: 一维数组 必须包含类似id、parentId字段用于判断层级关系的数据
 * options: 配置项 默认配置如上述 defaultOptions
 **/
listToTree(list, config)

getTreeItemByCode

通过树形层级id字段和一维数组获取该id对应的树形层级对象数组

js
const defaultOptions = {
  idField: "id", //唯一标识字段名
  parentIdField: "parentId" //父节点唯一标识字段名
}

/**
 * id: 目标数据id,如果字段不为id 可通过options配置项指定字段名
 * arr: 一维数组 必须包含类似id、parentId字段用于判断层级关系的数据
 * options: 配置项 默认配置如上述 defaultOptions
 **/
getTreeItemByCode(id, arr, options)

getTreeItemByLabel

通过树形层级label字段和一维数组获取该label对应的树形层级对象数组

js
const defaultOptions = {
  idField: "id", //唯一标识字段名
  labelField: "label", //唯一标识字段名
  parentIdField: "parentId" //父节点唯一标识字段名
}

/**
 * label: 目标数据label,如果字段不为label 可通过options配置项指定字段名
 * arr: 一维数组 必须包含类似id、parentId字段用于判断层级关系的数据
 * options: 配置项 默认配置如上述 defaultOptions
 **/
getTreeItemByLabel(label, arr, options)

getTreePathByValue

通过树形层级value字段和树形数组获取该value对应的树形层级对象数组

js
const defaultOptions = {
  valueField: "value", //唯一标识字段名
  childrenField: "children" //子节点标识字段名
}

/**
 * value: 目标数据value,如果字段不为value 可通过options配置项指定字段名
 * treeArr: 树形数组
 * options: 配置项 默认配置如上述 defaultOptions
 **/
getTreePathByValue(value, treeArr, options)

toKebabCase v1.1.0

将小驼峰、大驼峰等规则的数据转化成 中横线隔开的数据

js
/**
 * str: 需要转化的字符串 小驼峰、大驼峰
 */
toKebabCase(str)

toCamelCase v1.1.0

将中横线隔开的数据、大驼峰数据转化成 小驼峰格式的数据

js
/**
 * str: 需要转化的字符串 大驼峰、中横线隔开的数据
 */
toCamelCase(str)

generateUUID v1.1.0

生成uuid的方法。

js
generateUUID()

checkConditions v1.1.0

检测条件是否满足

js
/**
 * 校验数据是否满足所有条件
 * @param {Array} conditions 条件配置,格式:[[字段名, 运算符, 目标值], ...]
 * @param {Object} data 待校验的数据对象,如 { age: 17, money: 300 }
 * @returns {Boolean} 所有条件满足返回true,否则false
 */
checkConditions(conditions, data)

运算符 支持常用运算符及特殊运算符

常用运算符

<>=====!=!==>=<=

特殊运算符

运算符作用描述示例条件配置适用场景
in字段值是否在目标数组中['role', 'in', ['admin', 'user']]检查角色是否在允许列表中
not in字段值是否不在目标数组中['status', 'not in', ['deleted']]排除某些状态值
includes字符串/数组是否包含目标值['name', 'includes', '张']检查姓名是否包含“张”字
not includes字符串/数组是否不包含目标值['tags', 'not includes', 'invalid']检查标签中是否没有“invalid”
between字段值是否在 [min, max] 闭区间内['score', 'between', [60, 100]]检查分数是否在60-100之间
regex字段值是否匹配正则表达式['phone', 'regex', /^1[3-9]\d{9}$/]验证手机号格式

微信公众号【爆米花小布】

0%

置顶

置顶