34 lines
1.4 KiB
Markdown
34 lines
1.4 KiB
Markdown
# scene 模块
|
||
|
||
场景管理,含场景导入。
|
||
|
||
## 功能
|
||
- 场景表 `scene` 的 CRUD(list/get/create/update/delete)
|
||
- 场景导入:`api/scene_import.dspy`(文件上传 → 解析 JSON/JSON Lines/CSV → 批量落库 → 写导入记录)
|
||
- 枚举字段 appcodes 字典(scene_type / scene_status / import_status,cond parentid=)
|
||
- 世界下拉(依赖 world 模块)
|
||
|
||
## 数据表
|
||
- `scene`(models/scene.json):场景表
|
||
- 主键 `id`(str32)
|
||
- 唯一索引 `idx_scene_code`(code)、索引 `idx_scene_world`(world_id)
|
||
- 字典:world_id → world、scene_type/status → appcodes_kv
|
||
- `scene_import`(models/scene_import.json):场景导入记录表(只读)
|
||
- 主键 `id`(str32)、索引 `idx_scene_import_world`(world_id)
|
||
- 字典:world_id → world、status → appcodes_kv(parentid='import_status')
|
||
|
||
## 目录结构
|
||
- `scene/`:Python 包(init.py + __init__.py)
|
||
- `models/`:表定义 scene.json、scene_import.json
|
||
- `json/`:CRUD 定义 scene.json、scene_import.json(只读)
|
||
- `wwwroot/`:index.ui + import_page.ui + api/*.dspy
|
||
- `init/data.json`:字典种子数据(scene_type / scene_status / import_status)
|
||
- `scripts/load_path.py`:RBAC 路径注册
|
||
|
||
## 集成方式
|
||
宿主应用在入口 `init()` 中调用 `load_scene()` 挂载模块函数。
|
||
库名统一通过 `ServerEnv().get_module_dbname("scene")` 获取,禁止硬编码。
|
||
|
||
## 开发顺序
|
||
2(依赖 world)。
|