yumoqing 5cfb0e867b feat: 开元云科技官网CMS系统初始版本
entcms模块:
- 4个数据表(cms_content/cms_categories/cms_leads/cms_site_config)
- 22个.dspy API(含公开API和data_filter)
- 4个公开页面(首页/新闻/案例)+管理后台
- 完整营销站点CSS/JS(暗色主题/渐变/动画/响应式)
- 云宝SVG线稿占位符
- RBAC权限配置

dingdingflow模块:
- 2个数据表(dd_approvals/dd_approval_configs)
- 10个.dspy API(含钉钉回调endpoint)
- 钉钉API客户端(环境变量配置,开发模式mock)
- 管理UI

文档: 架构设计/53条测试用例/开发日志
2026-05-27 15:44:26 +08:00

78 lines
3.3 KiB
XML

{
"widgettype": "VBox",
"options": {"width": "100%", "height": "100%", "padding": "20px"},
"subwidgets": [
{
"widgettype": "Text",
"options": {"label": "钉钉审批管理", "fontSize": "24px", "fontWeight": "bold", "marginBottom": "20px"}
},
{
"widgettype": "ResponsableBox",
"options": {"gap": "16px", "minWidth": "280px"},
"subwidgets": [
{
"widgettype": "VBox",
"options": {
"backgroundColor": "#FFFFFF",
"padding": "20px",
"borderRadius": "8px",
"cursor": "pointer",
"boxShadow": "0 2px 8px rgba(0,0,0,0.1)"
},
"binds": [{
"wid": "self",
"event": "click",
"actiontype": "urlwidget",
"target": "app.dingdingflow_content",
"options": {"url": "{{entire_url('dd_approvals/index.ui')}}"},
"mode": "replace"
}],
"subwidgets": [
{
"widgettype": "Text",
"options": {"label": "📋 审批记录", "fontSize": "18px", "fontWeight": "bold", "marginBottom": "8px"}
},
{
"widgettype": "Text",
"options": {"label": "查看和管理所有审批申请记录,包括待审批、已通过、已拒绝的审批", "fontSize": "13px", "color": "#666"}
}
]
},
{
"widgettype": "VBox",
"options": {
"backgroundColor": "#FFFFFF",
"padding": "20px",
"borderRadius": "8px",
"cursor": "pointer",
"boxShadow": "0 2px 8px rgba(0,0,0,0.1)"
},
"binds": [{
"wid": "self",
"event": "click",
"actiontype": "urlwidget",
"target": "app.dingdingflow_content",
"options": {"url": "{{entire_url('dd_approval_configs/index.ui')}}"},
"mode": "replace"
}],
"subwidgets": [
{
"widgettype": "Text",
"options": {"label": "⚙️ 审批流程配置", "fontSize": "18px", "fontWeight": "bold", "marginBottom": "8px"}
},
{
"widgettype": "Text",
"options": {"label": "配置不同业务类型的钉钉审批模板,设置审批流程参数", "fontSize": "13px", "color": "#666"}
}
]
}
]
},
{
"widgettype": "VBox",
"id": "app.dingdingflow_content",
"options": {"width": "100%", "flex": "1", "marginTop": "20px"}
}
]
}