4 Commits

Author SHA1 Message Date
f70e8e4d26 fix: 全面修复所有dspy文件和数据库访问模式
dspy文件修复(27个entcms + 10个dingdingflow):
- 删除所有import语句(dspy环境已预加载)
- 替换 sor = DBPools().sqlorContext() 为 async with db.sqlorContext() as sor:
- 替换 print(json.dumps()) 为 return
- 替换 uuid() 为 getID()
- 替换 datetime.datetime.now() 为 datetime.now()
- 修复 get_user() 缺少 await
- 删除shebang/docstrings等无关内容
- 修正缩进

Python模块修复:
- entcms/init.py: DBNAME从'entcms'改为'ocai_cms'
- app/global_func.py: get_module_dbname返回'ocai_cms'而非'sage'
- 所有函数使用 async with db.sqlorContext() as sor: 正确模式
2026-06-03 18:04:53 +08:00
d3d59d2068 bugfix 2026-06-03 15:48:54 +08:00
411ee81f39 fix: 添加应用根目录到sys.path,解决entcms模块导入问题 2026-05-27 18:46:07 +08:00
569c8e6715 refactor: CMS从Sage子模块重构为独立ahserver Web应用
架构变更:
- CMS作为独立进程运行(端口9090),不再嵌入Sage
- 使用ahserver框架,复用rbac模块做认证授权
- 所有模块共享sage数据库(配置在conf/config.json)

新增文件:
- app/cms.py: 独立Web应用主入口(webapp(init))
- app/global_func.py: 全局函数(get_module_dbname/UiWindow等)
- conf/config.json: 应用配置模板(数据库/路径/处理器/Redis)
- start.sh/stop.sh: 进程管理脚本
- pyproject.toml: 顶层Python包配置

路径重构(去掉/entcms前缀):
- 官网首页: /entcms/index.ui → /index.ui
- 管理后台: /entcms/admin.ui → /admin.ui
- API: /entcms/api/xxx.dspy → /api/xxx.dspy
- CRUD: /entcms/cms_content_list → /cms_content_list
- dingdingflow保持/dingdingflow前缀(映射子目录)

config.json路径映射:
- entcms/wwwroot → / (根路径)
- dingdingflow/wwwroot → /dingdingflow
- bricks/dist → /bricks

构建脚本(build.sh):
- 创建独立venv(py3/)
- 安装核心依赖(apppublic/sqlor/ahserver/bricks/rbac等)
- json2ddl生成CMS业务表DDL
- xls2ui生成CRUD UI
- 生成systemd服务文件

load_path.py更新:
- entcms: 所有路径去掉/entcms前缀
- dingdingflow: 保持/dingdingflow前缀
- 查找set_role_perm.py支持CMS和Sage两种环境

init_superuser.py更新:
- 支持CMS独立环境(自动检测py3/conf)
- 创建superuser角色并分配全部权限
2026-05-27 17:20:36 +08:00