tenant/wwwroot/index.ui
yumoqing d8eea22b89 feat: tenant 多租户域名管理模块
- tenant_domain 表: domain → resellerid 映射, UNIQUE(domain)
- init.py: get_domain_by_host() 根据域名查找分销商
- index.ui: Tabular CRUD 管理界面
- load_path.py: RBAC 权限注册
2026-06-30 15:35:08 +08:00

118 lines
4.4 KiB
XML

{
"widgettype": "VBox",
"options": {
"width": "100%",
"height": "100%",
"padding": "16px",
"gap": "12px"
},
"subwidgets": [
{
"widgettype": "Text",
"options": {
"text": "租户域名管理",
"fontSize": "22px",
"fontWeight": "700",
"color": "#F1F5F9"
}
},
{
"widgettype": "Text",
"options": {
"text": "管理各分销商的独立域名,客户通过域名注册后自动归属到对应分销商",
"fontSize": "13px",
"color": "#94A3B8"
}
},
{
"widgettype": "Tabular",
"id": "domain_table",
"options": {
"width": "100%",
"height": "100%",
"css": "card",
"title": "域名列表",
"data_url": "{{entire_url('/tenant/tenant_domain')}}",
"data_method": "GET",
"page_rows": 20,
"toolbar": {
"tools": [
{"name": "add", "label": "新增域名"},
{"name": "edit", "label": "编辑", "selected_row": true},
{"name": "delete", "label": "删除", "selected_row": true}
]
},
"row_options": {
"browserfields": {
"exclouded": ["id"],
"alters": {
"status": {
"uitype": "code",
"data": [
{"value": "active", "text": "启用"},
{"value": "inactive", "text": "停用"}
]
},
"resellerid": {
"uitype": "code",
"valueField": "resellerid",
"textField": "resellerid_text"
}
},
"cwidths": {
"domain": 20,
"resellerid": 15,
"status": 6,
"created_at": 12
}
},
"fields": [
{"name": "domain", "type": "str", "length": 200, "cwidth": 20, "uitype": "str", "label": "域名"},
{"name": "resellerid", "type": "str", "length": 32, "cwidth": 15, "uitype": "code", "label": "分销商"},
{"name": "status", "type": "str", "length": 10, "cwidth": 6, "uitype": "code", "label": "状态"},
{"name": "created_at", "type": "timestamp", "cwidth": 12, "uitype": "timestamp", "label": "创建时间"}
]
}
},
"binds": [
{
"wid": "self",
"event": "add",
"actiontype": "urlwidget",
"target": "PopupWindow",
"popup_options": {
"title": "新增域名",
"dismiss_events": ["cancel", "submited"]
},
"options": {
"url": "{{entire_url('/tenant/tenant_domain')}}"
}
},
{
"wid": "self",
"event": "edit",
"actiontype": "urlwidget",
"target": "PopupWindow",
"popup_options": {
"title": "编辑域名",
"dismiss_events": ["cancel", "submited"]
},
"options": {
"url": "{{entire_url('/tenant/tenant_domain')}}"
}
},
{
"wid": "self",
"event": "delete",
"actiontype": "method",
"target": "self",
"method": "delete_rows",
"options": {
"url": "{{entire_url('/tenant/tenant_domain')}}"
}
}
]
}
]
}