架构变更: - 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角色并分配全部权限
57 lines
1.4 KiB
Python
57 lines
1.4 KiB
Python
"""
|
|
CMS全局函数 — 注册到ServerEnv供.dspy和.ui调用
|
|
"""
|
|
from ahserver.serverenv import ServerEnv
|
|
|
|
def get_module_dbname(mname):
|
|
"""所有模块共享sage数据库"""
|
|
return 'sage'
|
|
|
|
def UiWindow(title, icon, content, cheight=10, cwidth=15):
|
|
return {
|
|
"widgettype": "PopupWindow",
|
|
"options": {
|
|
"author": "cms",
|
|
"cwidth": cwidth,
|
|
"cheight": cheight,
|
|
"title": title,
|
|
"content": content,
|
|
"icon": icon or entire_url('/bricks/imgs/app.png'),
|
|
"movable": True,
|
|
"auto_open": True
|
|
}
|
|
}
|
|
|
|
def UiError(title="出错", message="出错啦", timeout=5):
|
|
return {
|
|
"widgettype": "Error",
|
|
"options": {
|
|
"author": "cms",
|
|
"timeout": timeout,
|
|
"cwidth": 15,
|
|
"cheight": 10,
|
|
"title": title,
|
|
"message": message
|
|
}
|
|
}
|
|
|
|
def UiMessage(title="消息", message="后台消息", timeout=5):
|
|
return {
|
|
"widgettype": "Message",
|
|
"options": {
|
|
"author": "cms",
|
|
"timeout": timeout,
|
|
"cwidth": 15,
|
|
"cheight": 10,
|
|
"title": title,
|
|
"message": message
|
|
}
|
|
}
|
|
|
|
def set_globalvariable():
|
|
g = ServerEnv()
|
|
g.get_module_dbname = get_module_dbname
|
|
g.UiError = UiError
|
|
g.UiMessage = UiMessage
|
|
g.UiWindow = UiWindow
|