清单文件 (manifest.json)
manifest.json 是脚本扩展的核心配置文件,定义了脚本的基本信息、任务、界面扩展和配置项。
文件结构概览
一个完整的 manifest.json 包含以下部分:
json
{
// 基础信息(必需)
"id": "com.example.myscript",
"name": "脚本名称",
"version": "1.0.0",
"author": "作者",
// 事件监听(可选)
"events": {...},
// 任务定义(可选)
"scripts": [...],
// 界面扩展(可选)
"views": {...},
// 配置面板(可选)
"settings": [...]
}1. 基础信息
每个脚本包都必须包含基础信息字段:
json
{
"id": "com.example.myscript",
"name": "我的脚本",
"version": "1.0.0",
"author": "Your Name",
"description": "脚本功能描述",
"icon": "icon.png"
}字段说明
| 字段 | 类型 | 必需 | 说明 |
|---|---|---|---|
id | string | ✅ | 脚本唯一标识符,建议使用反向域名格式(如 com.company.product) |
name | string | ✅ | 脚本显示名称 |
version | string | ✅ | 版本号,建议使用语义化版本(如 1.0.0) |
author | string | ✅ | 作者名称 |
description | string | 可选 | 脚本功能描述 |
icon | string | 可选 | 图标路径,支持相对路径或 HTTP URL |
2. 事件监听 (events)
定义应用生命周期事件的监听和处理。
基本示例
json
{
"events": {
"app/run": {
"action": "$.nodejs.run",
"args": ["server.js", "arg1", "arg2"]
}
}
}支持的事件类型
| 事件 | 说明 | 触发时机 |
|---|---|---|
app/run | 应用启动事件 | iClick 应用启动完成后 |
字段说明
| 字段 | 类型 | 必需 | 说明 |
|---|---|---|---|
| 事件名称 | object | ✅ | 事件处理对象(如 app/run) |
action | string | ✅ | 操作指令类型 |
args | array | ✅ | 命令参数数组 |
使用场景
- app/run:启动后台服务、初始化数据、加载配置等
3. 任务定义 (scripts)
定义右键菜单中的可执行任务。
基本示例
json
{
"scripts": [
{
"id": "open_tool",
"name": "打开工具",
"command": {
"action": "$.shell.open",
"args": ["Tool.exe", "$.deviceId"]
}
},
{
"id": "sync_data",
"name": "同步数据",
"command": {
"action": "$.http.post",
"args": [
"https://api.example.com/sync",
{ "deviceId": "$.deviceId" }
]
}
}
]
}字段说明
| 字段 | 类型 | 必需 | 说明 |
|---|---|---|---|
id | string | ✅ | 任务唯一标识符 |
name | string | ✅ | 任务显示名称,显示在右键菜单中 |
command | object | ✅ | 命令对象 |
command.action | string | ✅ | 操作指令类型 |
command.args | array | ✅ | 命令参数数组 |
4. 界面扩展 (views)
在控制台界面添加自定义按钮。
基本示例
json
{
"views": {
"header/slots": [
{
"name": "数据看板",
"icon": "dashboard.png",
"command": {
"action": "$.webview.open",
"args": [
"https://dashboard.example.com/",
{ "width": 1200, "height": 800 }
]
}
}
]
}
}支持的插槽位置
| 插槽位置 | 说明 |
|---|---|
header/slots | 控制台头部按钮区域 |
字段说明
| 字段 | 类型 | 必需 | 说明 |
|---|---|---|---|
name | string | ✅ | 按钮显示名称 |
icon | string | ✅ | 按钮图标路径 |
command | object | ✅ | 命令对象 |
5. 配置面板 (settings)
为脚本添加可视化配置表单。配置保存后会在脚本目录自动生成 settings.json 文件。
支持的配置类型
| 类型 | 说明 |
|---|---|
text | 单行文本框 |
number | 数字输入框 |
checkbox | 复选框 |
select | 下拉选择框 |
textarea | 多行文本框 |
file | 文件选择器 |
path | 文件夹选择器 |
date | 日期选择器 |
time | 时间选择器 |
datetime | 日期时间选择器 |
📖 详细文档
查看 配置面板 了解完整的配置类型说明、字段定义、读取方法和最佳实践。