skills/vk-pubfn-client/SKILL.md
vk-unicloud框架客户端公共函数完整使用指南。Use when working with vk-unicloud-admin framework client-side utilities, especially when: (1) Using vk.pubfn tool functions for date/time formatting, data validation, string utilities, (2) Implementing localStorage/sessionStorage for data persistence, (3) Configuring app.config.js for global settings, (4) Working with vuex persistent state management, (5) Implementing file upload with vk.uploadFile, (6) Setting global request parameters, (7) Extending icon libraries, (8) Adapting dark theme or special UI effects. Covers vk framework client APIs, configuration patterns, and best practices.
npx skillsauth add caobingsheng/skills vk-pubfn-clientInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
本 skill 提供 vk-unicloud 框架客户端公共函数(vk.pubfn)的完整使用指南,包括工具函数、存储管理、配置系统、文件上传、状态管理等核心功能。
vk-unicloud 框架在 uni-app 基础上进行了深度封装,提供了丰富的客户端工具函数,帮助开发者快速构建应用。
// 获取vk实例
let vk = uni.vk;
// 日期时间格式化
let dateStr = vk.pubfn.timeUtil.getNowTime();
let timestamp = vk.pubfn.timeUtil.getTimestamp();
// 数据验证
let isPhone = vk.pubfn.testUtil.isPhone("13800138000");
let isEmail = vk.pubfn.testUtil.isEmail("[email protected]");
// 字符串处理
let str = vk.pubfn.strUtil.trim(" hello ");
// 持久化存储
vk.setStorageSync("key", "value");
let value = vk.getStorageSync("key");
vk.removeStorageSync("key");
vk.clearStorageSync();
// 临时会话存储(仅H5)
vk.setSessionStorageSync("key", "value");
let value = vk.getSessionStorageSync("key");
// 获取状态
let userInfo = vk.getVuex("$user.userInfo");
// 更新状态
vk.setVuex("$user.userInfo.avatar", avatar);
// 使用 getters
let data = vk.vuex.getters("$user/getUserInfo", params);
在 Vue 组件中正确初始化 vk 实例:
let that;
let vk = uni.vk;
export default {
data() {
return {};
},
onLoad(options) {
that = this;
vk = uni.vk;
that.init(options);
},
methods: {
init(options) {
// 初始化逻辑
}
}
};
app.config.js 是应用的核心配置文件,包含:
详见 app.config.js 配置说明
vk.uploadFile 支持多种云存储:
详见 文件上传完整指南
两种方式设置全局请求参数:
方式一: setCustomClientInfo (推荐, vk ≥ 2.19.4)
vk.setCustomClientInfo({
shop_id: "001"
});
方式二: updateRequestGlobalParam
vk.callFunctionUtil.updateRequestGlobalParam({
"shop-manage": {
regExp: "^xxx/kh/",
data: { shop_id: "001" }
}
});
详见 全局请求参数配置
vk.pubfn 提供丰富的工具函数:
详见 vk.pubfn 工具函数完整指南
根据需求选择存储方式:
详见 本地存储管理
Vuex 模块配置示例:
// store/modules/$user.js
let lifeData = uni.getStorageSync('lifeData') || {};
let $user = lifeData.$user || {};
export default {
namespaced: true,
state: {
userInfo: $user.userInfo || {},
permission: $user.permission || []
}
};
详见 Vuex 持久化配置
支持扩展自定义图标库和使用 admin 端图标:
详见 图标库扩展指南
patientNameMAX_COUNTthatvk使用框架内置的错误处理:
// 自定义全局错误码
globalErrorCode: {
"cloudfunction-unusual-timeout": "请求超时,但请求还在执行,请重新进入页面。",
"cloudfunction-timeout": "请求超时,请重试!",
"cloudfunction-system-error": "网络开小差了!"
}
详细文档请查看 references/ 目录:
development
Use when working with tdd workflows tdd refactor
testing
Generate failing tests for the TDD red phase to define expected behavior and edge cases.
development
Implement the minimal code needed to make failing tests pass in the TDD green phase.
tools
Use when working with tdd workflows tdd cycle