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下拉数据源
安装与集成
pip install .(pyproject.toml,依赖 sqlor / bricks_for_python)- 宿主应用
from world.init import load_world,init() 中load_world()挂载 - 建表:build.sh 中 json2ddl 依据 models/world.json 生成 DDL;编码字典经 init/data.json 幂等落库
- RBAC:运行
scripts/load_path.py(显式路径注册,禁通配符) - 前端: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 # 打包
Description