# world 世界管理模块 世界定义与管理模块(W-01 世界管理),平台入口域根模块。 ## 功能 - world 表 CRUD(创建自动编码 W+时间戳+随机4位) - 列表查询:sqlPaging 分页 + 复合索引(org_id+mode+created_at)过滤,返回 {list, total} - world.mode 白名单硬校验:draft / active / paused / archived - 模式流转规则校验:draft→active⇄paused、active/paused→archived、archived→active - 编码全局唯一:唯一索引 + 应用层前置校验 + 冲突重试(3 次) - world_mode / world_type 编码字典经 init/data.json 幂等落库(appcodes + appcodes_kv) ## 数据表 - `world`:世界定义表(models/world.json,四段式 summary/fields/indexes/codes) - 编码字典:`world_mode`(draft/active/paused/archived)、`world_type`(game/simulation/education/business/social) ## 接口 REST 统一前缀 `/api/*`,错误结构 `{code, message, field, detail}`,分页 `{list, total}`: - `POST/GET /world/api/create_world.dspy` 创建(自动编码、mode 校验) - `POST /world/api/world_update.dspy` 更新(mode 流转校验、code 唯一校验) - `POST /world/api/world_delete.dspy` 删除 - `GET /world/api/get_world.dspy` 单条查询 - `GET /world/api/list_worlds.dspy` 列表(分页 + 过滤) - `POST /world/api/set_world_mode.dspy` 模式切换 - `GET /world/api/get_search_status.dspy` / `get_search_world_type.dspy` 下拉数据源 ## 安装与集成 1. `pip install .`(pyproject.toml,依赖 sqlor / bricks_for_python) 2. 宿主应用 `from world.init import load_world`,init() 中 `load_world()` 挂载 3. 建表:build.sh 中 json2ddl 依据 models/world.json 生成 DDL;编码字典经 init/data.json 幂等落库 4. RBAC:运行 `scripts/load_path.py`(显式路径注册,禁通配符) 5. 前端:wwwroot/index.ui(入口)、menu.ui(菜单)、CRUD 由 json/world.json 经 xls2ui 生成 ## 目录结构 ``` world/ ├── world/ # Python 包(world.py 业务逻辑 / init.py 注册 / __init__.py 导出) ├── wwwroot/ # index.ui、menu.ui、api/*.dspy ├── models/world.json # 表定义(四段式) ├── json/world.json # CRUD 定义(tblname+params) ├── init/data.json # 编码字典种子数据 ├── scripts/load_path.py # RBAC 注册 ├── skill/SKILL.md # 模块技能文档 └── pyproject.toml # 打包 ```