架构变更: - 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角色并分配全部权限
43 lines
1.1 KiB
Python
43 lines
1.1 KiB
Python
"""
|
|
开元云科技CMS — 独立Web应用主入口
|
|
启动: py3/bin/python app/cms.py -p 9090 -w $(pwd)
|
|
"""
|
|
import os, sys
|
|
|
|
# Ensure app/ is in path for local imports
|
|
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
|
|
|
|
from appPublic.log import MyLogger, info
|
|
from appPublic.folderUtils import ProgramPath
|
|
from appPublic.jsonConfig import getConfig
|
|
from appPublic.registerfunction import RegisterFunction
|
|
from bricks_for_python.init import load_pybricks
|
|
from ahserver.webapp import webapp
|
|
from ahserver.serverenv import ServerEnv
|
|
from sqlor.dbpools import DBPools
|
|
|
|
# CMS业务模块
|
|
from entcms.init import load_entcms
|
|
from dingdingflow.init import load_dingdingflow
|
|
|
|
# RBAC认证(复用sage的rbac模块)
|
|
from rbac.init import load_rbac
|
|
from appbase.init import load_appbase
|
|
|
|
# 全局函数
|
|
from global_func import set_globalvariable
|
|
|
|
__version__ = '1.0.0'
|
|
|
|
def init():
|
|
rf = RegisterFunction()
|
|
set_globalvariable()
|
|
load_pybricks()
|
|
load_appbase()
|
|
load_rbac()
|
|
load_entcms()
|
|
load_dingdingflow()
|
|
|
|
if __name__ == '__main__':
|
|
webapp(init)
|