cms/entcms/json/cms_leads_list.json
yumoqing 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

93 lines
2.8 KiB
JSON

{
"tblname": "cms_leads",
"alias": "cms_leads_list",
"title": "商机线索",
"params": {
"sortby": [
"created_at desc"
],
"logined_userorgid": "org_id",
"data_filter": {
"AND": [
{
"field": "name",
"op": "LIKE",
"var": "name"
},
{
"field": "company",
"op": "LIKE",
"var": "company"
},
{
"field": "status",
"op": "=",
"var": "status"
},
{
"field": "source",
"op": "=",
"var": "source"
}
]
},
"browserfields": {
"exclouded": [
"raw_text"
],
"alters": {
"status": {
"uitype": "code",
"data": [
{
"value": "new",
"text": "新线索"
},
{
"value": "contacted",
"text": "已联系"
},
{
"value": "qualified",
"text": "已确认"
},
{
"value": "converted",
"text": "已转化"
},
{
"value": "closed",
"text": "已关闭"
}
]
},
"source": {
"uitype": "code",
"data": [
{
"value": "website",
"text": "官网"
},
{
"value": "phone",
"text": "电话"
},
{
"value": "referral",
"text": "转介绍"
},
{
"value": "ai_extract",
"text": "AI抽取"
}
]
}
}
},
"editable": {
"new_data_url": "{{entire_url('api/cms_leads_create.dspy')}}",
"update_data_url": "{{entire_url('api/cms_leads_update.dspy')}}",
"delete_data_url": "{{entire_url('api/cms_leads_delete.dspy')}}"
}
}
}