인터페이스는 현지화되어 있으며, Skill 소개와 설명 문서는 선택한 언어로 AI가 자동 번역합니다. 코드·명령어·경로·전문 용어는 원문을 유지하며 원작자 문서가 우선합니다.
Skills 둘러보기
디자인 및 창작 · SKILL.md

vk-pubfn

vk-pubfn

vk-unicloud框架的vk.pubfn工具函数完整使用指南。Use when working with vk-unicloud-admin framework utility functions, especially when: (1) Date/time formatting and manipulation, (2) Array/object data transformation, (3) Data validation and testing, (4) String/format utilities, (5) Frontend-only functions like page navigation and dialogs.

Independent GitHub snapshot · Automated classification · Original documentation governs

Skill 문서

GitHub

name: vk-pubfn description: "vk-unicloud框架的vk.pubfn工具函数完整使用指南。Use when working with vk-unicloud-admin framework utility functions, especially when: (1) Date/time formatting and manipulation, (2) Array/object data transformation, (3) Data validation and testing, (4) String/format utilities, (5) Frontend-only functions like page navigation and dialogs."

vk.pubfn 工具函数使用指南

Overview

vk.pubfn 是 vk-unicloud 框架提供的通用工具函数集,可在 JS 和 template 模板中使用(在 template 中可用简写法 $fn 代替 vk.pubfn)。

使用方式

// JS中使用
let vk = uni.vk;
let result = vk.pubfn.timeFormat(new Date());

// template中使用
<view>{{ vk.pubfn.hidden("15200000001", 3, 4) }}</view>
<view>{{ $fn.hidden("15200000001", 3, 4) }}</view>

函数分类

1. 前后端通用函数

分类函数说明
函数控制debounce防抖函数
函数控制throttle节流函数
数据转换arrayToTree数组转树形结构
数据转换treeToArray树形结构转数组
时间控制sleep进程休眠(毫秒)
时间格式化timeFormat日期时间格式化
时间解析getDateInfo解析日期对象属性
时间范围getCommonTime获取时间范围
时间偏移getOffsetTime获取偏移后的时间戳
时间偏移getHourOffsetStartAndEnd小时的起止时间
时间偏移getDayOffsetStartAndEnd天的起止时间
时间偏移getWeekOffsetStartAndEnd周的起止时间
时间偏移getMonthOffsetStartAndEnd月的起止时间
时间偏移getQuarterOffsetStartAndEnd季度的起止时间
时间偏移getYearOffsetStartAndEnd年的起止时间
数据验证test检测文本格式
对象操作objectAssign对象属性浅拷贝
对象操作copyObject复制对象(浅拷贝)
对象操作deepClone深度克隆对象
数组操作arr_concat数组合并去重
数据获取getData根据路径获取对象值
数据设置setData根据路径设置对象值
空值检测isNull参数是否为空
空值检测isNotNull参数是否不为空
空值检测isNullOne是否至少有一个为空
空值检测isNullAll是否全部为空
空值检测isNotNullAll是否全部都不为空
空值检测isNullOneByObject对象是否有空值属性
数组查找getListItem从数组获取指定对象
数组查找getListIndex从数组获取指定索引
数组查找getListItemIndex获取对象和索引
数组转换arrayToJson对象数组转JSON
数组提取arrayObjectGetArray提取指定字段
随机数random产生随机数
字符串hidden隐藏中间字段
数组判断checkArrayIntersection两数组是否有交集
业务计算calcFreights计算运费
对象提取getNewObject提取对象指定属性
对象删除deleteObjectKeys删除对象指定字段
时间工具timeUtil.isLeapYear判断闰年
时间工具timeUtil.isQingming判断清明节
单位换算calcSize单位进制换算
类型判断isArray判断是否数组
类型判断isObject判断是否对象
订单号createOrderNo产生订单号
命名转换snake2camelJson蛇形转驼峰(对象)
命名转换camel2snakeJson驼峰转蛇形(对象)
命名转换snake2camel蛇形转驼峰(字符串)
命名转换camel2snake驼峰转蛇形(字符串)
数字转换string2Number字符串转数字
数字格式化toDecimal保留小数
金额过滤priceFilter金额显示(分转元)
百分比percentageFilter百分比显示
折扣显示discountFilter折扣显示
时间差dateDiff显示1秒前/1天前
时间差dateDiff2显示剩余时间
数字转中文numStr大数字转中文
数组分割splitArray分割数组
对象排序objectKeySort对象属性排序
HTTP请求request请求HTTP接口

2. 前端专属函数

函数说明
getListData手机长列表分页加载
getComponentsDynamicData动态组件数据获取
getCurrentPage获取当前页面实例
fileToBase64文件转base64
base64ToFilebase64转文件
parseXlsxFile前端解析Excel

3. 弹窗函数

函数说明
alert警告弹窗
confirm确认弹窗
prompt输入弹窗
toast轻提示
showActionSheet操作菜单
showLoading显示加载
hideLoading隐藏加载

4. 页面跳转函数

函数说明
navigateTo跳转页面(带登录检测)
redirectTo关闭当前页跳转
reLaunch关闭所有页跳转
switchTab跳转tabBar页
navigateBack返回上一页
navigateToHome跳转到首页
navigateToLogin跳转到登录页
pubfn.checkLogin检测是否需要登录

5. 云函数专属函数

函数说明
batchRun并发执行异步函数
getUniCloudRequestId获取请求ID
randomAsync产生不重复随机数

常用场景示例

日期时间格式化

// 标准格式
vk.pubfn.timeFormat(new Date()); // 2024-01-01 10:10:10
// 自定义格式
vk.pubfn.timeFormat(new Date(), "yyyy年MM月dd日");
// 带毫秒
vk.pubfn.timeFormat(new Date(), "yyyy-MM-dd hh:mm:ss.S");
// 带季度
vk.pubfn.timeFormat(new Date(), "yyyy-MM-dd hh:mm:ss(第q季度)");

获取时间范围

let { todayStart, todayEnd, monthStart, monthEnd } = vk.pubfn.getCommonTime(new Date());

数组转树

let treeData = vk.pubfn.arrayToTree(arrayData, {
  id: "_id",
  parent_id: "parent_id",
  children: "children"
});

数据验证

// 验证手机号
vk.pubfn.test("15200000001", "mobile"); // true/false
// 验证邮箱
vk.pubfn.test("test@example.com", "email");
// 验证身份证
vk.pubfn.test("330154202109301214", "card");

字符串隐藏

// 手机号隐藏中间4位
vk.pubfn.hidden("15200000001", 3, 4); // 152****0001

对象深拷贝

let newObj = vk.pubfn.deepClone(originalObj);

弹窗提示

vk.toast("操作成功");
vk.alert("提示内容");
vk.confirm("确定删除吗?", (res) => {
  if (res.confirm) console.log("确认");
});

参考文档

详细使用说明请查看 references 目录:

저장한 Skills