49 lines
1.1 KiB
Markdown
49 lines
1.1 KiB
Markdown
|
|
# 外部应用目录
|
|||
|
|
|
|||
|
|
此目录用于存放外部应用(非内置Vue应用)。
|
|||
|
|
|
|||
|
|
## 目录结构
|
|||
|
|
|
|||
|
|
外部应用应该按以下结构组织:
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
public/apps/
|
|||
|
|
├── app-name/
|
|||
|
|
│ ├── index.html # 应用主页面
|
|||
|
|
│ ├── manifest.json # 应用清单文件
|
|||
|
|
│ └── ... # 其他应用文件
|
|||
|
|
└── another-app/
|
|||
|
|
├── index.html
|
|||
|
|
├── manifest.json
|
|||
|
|
└── ...
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 应用清单格式
|
|||
|
|
|
|||
|
|
每个外部应用都应该包含一个 `manifest.json` 文件:
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"id": "app-id",
|
|||
|
|
"name": "应用名称",
|
|||
|
|
"version": "1.0.0",
|
|||
|
|
"description": "应用描述",
|
|||
|
|
"author": "作者",
|
|||
|
|
"icon": "图标URL或表情符号",
|
|||
|
|
"permissions": ["storage", "notification"],
|
|||
|
|
"window": {
|
|||
|
|
"width": 800,
|
|||
|
|
"height": 600,
|
|||
|
|
"resizable": true
|
|||
|
|
},
|
|||
|
|
"category": "应用分类",
|
|||
|
|
"keywords": ["关键词1", "关键词2"]
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 安全说明
|
|||
|
|
|
|||
|
|
外部应用将在iframe沙箱环境中运行,具有以下限制:
|
|||
|
|
- 无法直接访问父页面
|
|||
|
|
- 通过postMessage与系统通信
|
|||
|
|
- 受到严格的权限控制
|