yumoqing 55e4ce30b8 feat: 审计日志界面 + DataGrid 分页查询
- index.ui: DataGrid 审计日志列表界面
- audit_service: list_audit_logs 改分页返回 {rows,total}
- audit.dspy: list 返回 DataGrid 格式
- load_path: 注册 /app_audit 界面权限
2026-08-14 13:23:40 +08:00

35 lines
1.4 KiB
XML

{
"widgettype": "VBox",
"options": {"width": "100%", "height": "100%", "padding": "24px", "gap": "16px"},
"subwidgets": [
{
"widgettype": "Title2",
"options": {"text": "审计日志"}
},
{
"widgettype": "Text",
"options": {"text": "记录关键操作,仅 owner.audit 角色可查看", "cfontsize": 1.1, "color": "#888"}
},
{
"widgettype": "DataGrid",
"options": {
"width": "100%",
"height": "100%",
"dataurl": "{{entire_url('/app_audit/api/audit.dspy')}}",
"method": "POST",
"params": {"action": "list"},
"row_height": 40,
"fields": [
{"name": "created_at", "label": "时间", "datatype": "str", "width": 180},
{"name": "username", "label": "用户", "datatype": "str", "width": 120},
{"name": "action", "label": "动作", "datatype": "str", "width": 140},
{"name": "target", "label": "对象", "datatype": "str", "width": 180},
{"name": "result", "label": "结果", "datatype": "str", "width": 80},
{"name": "client_ip", "label": "IP", "datatype": "str", "width": 130},
{"name": "detail", "label": "详情", "datatype": "str", "width": 320}
]
}
}
]
}