remove spaces

This commit is contained in:
2026-03-12 15:45:40 +08:00
parent cb6d3f7ee0
commit 51ccd265ba
12 changed files with 506 additions and 358 deletions

View File

@@ -178,8 +178,7 @@ kintone-customize-manager/
│ │ ├─ main.tsx # 渲染进程入口
│ │ ├─ App.tsx
│ │ ├─ components/ # React 组件
│ │ │ ├─ DomainManager/
│ │ │ ├─ SpaceTree/
│ │ │ ├─ AppList/
│ │ │ ├─ AppDetail/
│ │ │ ├─ FileUploader/
│ │ │ ├─ CodeViewer/
@@ -252,8 +251,7 @@ kintone-customize-manager/
- 显示 Domain 名称和域名
**FR-DOMAIN-005**: 切换 Domain
- 用户可从 Domain 列表快速切换当前工作的 Domain
- 切换后自动加载该 Domain 下的 Space 和 App 列表
- 切换后自动加载该 Domain 下的 App 列表
**FR-DOMAIN-006**: 密码加密存储
- 使用 keytar 将密码加密存储到系统密钥链
@@ -287,40 +285,43 @@ interface Domain {
### 3.2 资源浏览
#### 3.2.1 功能描述
浏览当前 Domain 下的所有 App查看应用的自定义资源配置。
浏览当前 Domain 下的所有 Space 和 App查看应用的自定义资源配置。
**FR-BROWSE-001**: 获取 App 列表
- 选择 Domain 后显示「加载应用」按钮
- 点击按钮后全量获取该 Domain 下的所有 App
- 获取过程中显示加载状态
- App 列表按 App ID 降序排列
- 显示 App 名称、App ID、所属 Space ID若有、创建时间
- App 数据持久化存储,下次打开应用时自动加载
- 支持重新加载(覆盖已有数据)
#### 3.2.2 功能需求
**FR-BROWSE-002**: 分页显示
- App 列表支持分页,默认每页 20 条
- 显示总数量和当前页码
- 支持切换页码
**FR-BROWSE-001**: 获取 Space 列表
- 调用 Kintone API 获取当前 Domain 下的所有 Space
- 显示 Space 名称和 ID
- 支持按 Space 名称排序
**FR-BROWSE-003**: 搜索过滤
- 支持按 App 名称搜索
- 搜索结果实时过滤
**FR-BROWSE-002**: 获取 App 列表
- 按 Space 分组显示 App 列表
- 或显示所有 App不分 Space
- 显示 App 名称、ID、创建时间
- 支持按 App 名称搜索和过滤
**FR-BROWSE-003**: 获取 App 详情
**FR-BROWSE-004**: 获取 App 详情
- 选择 App 后查看详细配置
- 显示以下信息:
- App 名称
- App ID
- 所属 Space
- 所属 Space ID如果 App 隶属于某个 Space
- 创建时间
- 最后更新时间
**FR-BROWSE-004**: 查看自定义资源配置
**FR-BROWSE-005**: 查看自定义资源配置
- 查看 PC 端的 JavaScript 文件配置
- 查看 PC 端的 CSS 文件配置
- 查看移动端的 JavaScript 文件配置
- 查看移动端的 CSS 文件配置
- 查看已安装的 Plugin 列表(只读,后续版本支持管理)
**FR-BROWSE-005**: 查看文件详情
**FR-BROWSE-006**: 查看文件详情
- 文件名
- 文件类型JS/CSS
- 部署位置PC/移动端)
@@ -331,11 +332,12 @@ interface Domain {
#### 3.2.3 Kintone API 端点
```
# 获取 Space 列表
GET /k/v1/space.json
# 获取 App 列表(按 Space
GET /k/v1/apps.json?space={spaceId}
# 获取 App 列表(支持分页)
GET /k/v1/apps.json?limit={limit}&offset={offset}
# 限制limit 最大 100offset 从 0 开始
# 注意API 不支持排序,需客户端排序
# 注意API 不返回 totalCount需通过返回数量判断是否还有更多
# 注意spaceId 已包含在响应中null 表示不属于任何 Space
# 获取 App 配置
GET /k/v1/app.json?app={appId}
@@ -344,6 +346,37 @@ GET /k/v1/app.json?app={appId}
GET /k/v1/file.json?fileKey={fileKey}
```
#### 3.2.4 数据结构
```typescript
// App 列表项
interface KintoneApp {
appId: string;
name: string;
code?: string;
spaceId?: string; // 如果 App 隶属于某个 Space显示此 ID
createdAt: string;
creator?: {
code: string;
name: string;
};
modifiedAt?: string;
modifier?: {
code: string;
name: string;
};
}
// App 列表状态(持久化)
interface AppListState {
apps: KintoneApp[];
loadedAt: string; // 加载时间
totalCount: number;
currentPage: number;
pageSize: number;
}
```
---
### 3.3 下载已部署代码
@@ -889,8 +922,7 @@ autoUpdater.on('update-downloaded', (info) => {
| 术语 | 说明 |
|------|------|
| Domain | Kintone 实例 company.kintone.com |
| Space | Kintone 空间应用的容器 |
| Space | Kintone 空间应用的容器API 不支持获取所有 Space |
| App | Kintone 应用 |
| FileKey | Kintone 文件的唯一标识 |
| IPC | Electron 进程间通信 |
@@ -901,8 +933,8 @@ autoUpdater.on('update-downloaded', (info) => {
| 版本 | 日期 | 变更内容 | 作者 |
|------|------|----------|------|
| 1.0.0 | 2026-03-11 | 初始版本 | - |
| 1.1.0 | 2026-03-11 | 更新技术栈LobeHub UICodeMirror 6safeStorage | - |
| 1.2.0 | 2026-03-12 | 移除 Space 功能改为 App 列表分页显示支持持久化存储 App 数据 | - |
---