|
@@ -24,8 +24,6 @@ index.json # 包索引(平台只认这个
|
|
|
packages\<host>\<id>\<id>-<version>.zip # 扩展包
|
|
packages\<host>\<id>\<id>-<version>.zip # 扩展包
|
|
|
```
|
|
```
|
|
|
|
|
|
|
|
-每个 zip 的根目录必须包含 `manifest.json`,包内 `manifest.id` 与索引里的 `id` 一致。
|
|
|
|
|
-
|
|
|
|
|
`host` 是扩展挂载位置:
|
|
`host` 是扩展挂载位置:
|
|
|
|
|
|
|
|
| host | 说明 |
|
|
| host | 说明 |
|
|
@@ -65,35 +63,62 @@ packages\<host>\<id>\<id>-<version>.zip # 扩展包
|
|
|
manifest.json
|
|
manifest.json
|
|
|
Ext.XXX.dll
|
|
Ext.XXX.dll
|
|
|
Localization\zh-CN.json
|
|
Localization\zh-CN.json
|
|
|
-...(其他随包文件)
|
|
|
|
|
```
|
|
```
|
|
|
|
|
|
|
|
### 3. 放到仓库
|
|
### 3. 放到仓库
|
|
|
|
|
|
|
|
路径规则:`packages\<host>\<id>\<id>-<version>.zip`
|
|
路径规则:`packages\<host>\<id>\<id>-<version>.zip`
|
|
|
|
|
|
|
|
-例如:`packages\platform\Ext.AiAssistant\Ext.AiAssistant-1.0.0.zip`
|
|
|
|
|
|
|
+例如:`packages/platform/Ext.AiAssistant/Ext.AiAssistant-1.0.0.zip`
|
|
|
|
|
|
|
|
### 4. 更新 index.json
|
|
### 4. 更新 index.json
|
|
|
|
|
|
|
|
-在 `index.json` 的 `packages` 数组里加一条:
|
|
|
|
|
|
|
+在 `index.json` 的 `packages` 数组里加一条,字段顺序如下(与平台 `GalleryPackage` 类对齐):
|
|
|
|
|
|
|
|
```json
|
|
```json
|
|
|
{
|
|
{
|
|
|
"id": "Ext.YourExt",
|
|
"id": "Ext.YourExt",
|
|
|
"name": "扩展显示名",
|
|
"name": "扩展显示名",
|
|
|
"version": "1.0.0",
|
|
"version": "1.0.0",
|
|
|
- "publisher": "你的名字",
|
|
|
|
|
|
|
+ "publisher": "TeamAAS",
|
|
|
|
|
+ "kind": "extension",
|
|
|
|
|
+ "host": "platform",
|
|
|
"description": "一句话说明扩展做什么",
|
|
"description": "一句话说明扩展做什么",
|
|
|
|
|
+ "notes": "• 功能点一\n• 功能点二",
|
|
|
"downloadUrl": "packages/platform/Ext.YourExt/Ext.YourExt-1.0.0.zip",
|
|
"downloadUrl": "packages/platform/Ext.YourExt/Ext.YourExt-1.0.0.zip",
|
|
|
"sha256": "zip 文件的 sha256",
|
|
"sha256": "zip 文件的 sha256",
|
|
|
"size": 123456,
|
|
"size": 123456,
|
|
|
- "notes": "• 功能点一\n• 功能点二",
|
|
|
|
|
- "references": ["TeamPLT.SDK", "TeamPLT.Contracts"]
|
|
|
|
|
|
|
+ "references": [ "TeamPLT.SDK", "TeamPLT.Contracts" ],
|
|
|
|
|
+ "targetFramework": "net48",
|
|
|
|
|
+ "requiresHost": "TeamPLT>=1.0.0",
|
|
|
|
|
+ "arch": [ "x64" ],
|
|
|
|
|
+ "dependencies": [],
|
|
|
|
|
+ "versions": [
|
|
|
|
|
+ {
|
|
|
|
|
+ "version": "1.0.0",
|
|
|
|
|
+ "downloadUrl": "packages/platform/Ext.YourExt/Ext.YourExt-1.0.0.zip",
|
|
|
|
|
+ "sha256": "zip 文件的 sha256",
|
|
|
|
|
+ "size": 123456,
|
|
|
|
|
+ "releasedAt": "2026-09-24",
|
|
|
|
|
+ "status": "stable",
|
|
|
|
|
+ "notes": "首个版本"
|
|
|
|
|
+ }
|
|
|
|
|
+ ]
|
|
|
}
|
|
}
|
|
|
```
|
|
```
|
|
|
|
|
|
|
|
-`sha256` 和 `size` 必须和 zip 文件实际值一致,否则平台校验会拒绝安装。
|
|
|
|
|
|
|
+字段说明:
|
|
|
|
|
+
|
|
|
|
|
+| 字段 | 说明 |
|
|
|
|
|
+|------|------|
|
|
|
|
|
+| `kind` | `extension` 或 `contract` |
|
|
|
|
|
+| `host` | 挂载位置(platform/vision/cameras/communication/base) |
|
|
|
|
|
+| `downloadUrl` / `sha256` / `size` | 最新版的下载信息,平台下载后强校验 |
|
|
|
|
|
+| `requiresHost` | 字符串格式 `平台ID>=版本`,如 `TeamPLT>=1.0.0` |
|
|
|
|
|
+| `versions` | 所有历史版本,每条含独立的 downloadUrl/sha256/size/status |
|
|
|
|
|
+| `status` | `stable` / `beta` / `deprecated` |
|
|
|
|
|
+
|
|
|
|
|
+发新版本时:更新顶层 `version`/`downloadUrl`/`sha256`/`size` 到最新版,同时在 `versions` 数组里追加一条。
|
|
|
|
|
|
|
|
### 5. 提交推送
|
|
### 5. 提交推送
|
|
|
|
|
|