yqcloud-script
Installation
SKILL.md
YQCloud JS 脚本编写
先判断脚本所在位置,再按对应契约写代码。
先识别脚本契约
- 字段脚本、OR 字段脚本、过滤脚本、值集联动脚本、序号脚本:必须
return。 - 普通字段返回标量值;引用字段返回对象;列表过滤通常返回逗号拼接字符串。
- 业务规则、动作脚本:优先使用
$SetValue(key, value)回写当前单据;仅在当前引擎明确要求时再return。 - 列表预筛选先确认是不是 SQL/MyBatis 数据源逻辑。复杂查询写在后端 SQL,JS 只负责把页面值透传出去。
只用当前环境能跑的 API
- 通用函数:
$GetValue、$SetValue、$GetCurrentTime、$GetCurrentPerson、$GetCurrentPersonId。 - 后端限定函数:
$Print、$Invoke、$GetBusinessObject、$SearchBusinessObject、$RestExchange、$InvokeInterface。 - 案例里出现了
$GetCurrentAttribute,但它不在你提供的 API 清单里。只有在当前项目已有同类脚本明确使用它时再复用;默认优先$GetValue。
固定编写顺序
- 先取当前值:
$GetValue、$GetCurrentPersonId、$GetCurrentTime。 - 再查关联对象:
$GetBusinessObject、$SearchBusinessObject。 - 最后输出结果:字段脚本
return,业务规则脚本$SetValue。 - 访问数组首项、子字段、引用字段前先判空,避免直接写
result[0].id。
保持平台兼容
- 运行时兼容性未知时,优先使用
var、function、for。 - 不默认使用箭头函数、可选链、解构、
let/const等较新的语法。 - 调试日志只在后端环境使用
$Print。 - 取当前时间优先
$GetCurrentTime();只有明确需要前端本地时间时才用new Date()。
按归纳出的规则生成脚本
- 同单据字段回写:用
$SetValue。 - 派生字段计算:直接
return。 - 关联对象取显示值:用
field_id:name形式取子字段。 - 当前用户自动带出:先查
IAM_USER,再按字段类型返回标量或对象。 - 值集/列表过滤:
$SearchBusinessObject结果转成 ID 字符串,不要直接对数组取['id']。 - 标题、序号、联动过滤:先取当前页面值,再查已有单据数量或关联对象字段。
- 复杂筛选场景:先确认是否应写后台 SQL,而不是把全部逻辑塞进 JS。
输出要求
- 直接给出可粘贴的完整脚本。
- 在脚本前说明脚本类型和返回契约。
- 使用了未在 API 清单中明确说明的能力时,先说明它来自现有项目脚本约定。
- 需要 API 细节、模板和常见坑时,读取 references/guide.md。
Related skills
More from binjie09/zknow-skills
gemini-image
使用 Gemini 图像生成 API 生成或修改图片。支持自定义 API Key 和 Base URL。
17think-carefully
不管回答什么问题,都要仔细思考。在回答任何问题或执行任何任务之前,先深入分析和推理。
15global-agent-rules
全局 Agent 规则,包含语言、回复风格、调试优先级、工程质量基线、代码度量硬性限制、安全基线、测试验证标准和 Skills 路由表。适用于所有编程任务。
15yqcloud-function-calling
YQCloud 自定义 Function Calling 格式说明。定义了一套 JSON 格式用于声明 AI 可调用的函数,运行时由 yqcloud-ai-node 执行 HTTP 请求并返回结果。涵盖 ITSM 工单场景和知识库查询场景。
12yqcloud-deploy
燕千云部署管理工具。用于查询 ChartMuseum 中的 Helm Chart 版本、管理 GitOps 仓库部署配置、修改环境变量和 chartVersion。当用户需要:(1) 查询某个服务的可用 chart 版本,(2) 部署或更新服务到不同环境(test/preprod/stag),(3) 修改部署配置或环境变量,(4) 查看当前部署状态时使用此技能。
11opencode-setup
OpenCode 安装和配置指南。用于安装 OpenCode 并配置使用自定义 Anthropic API 渠道(ZKnow)。当用户需要安装或配置 OpenCode 连接到自定义 API 端点时使用此技能。
3