feat(admin, admin-ui): 实现RuoYi风格后台菜单管理,优化媒体资源处理
新增服务端菜单校验与归一化逻辑,完善菜单相关Schema;前端实现条件渲染的菜单编辑器,支持搜索式图标选择器与父级树过滤。新增媒体URL统一处理工具修复管理端本地静态资源路径映射问题,更新全部相关文档、技术决策记录与测试用例。本次变更不影响WonderQ-MiniAPP端。
This commit is contained in:
1 parent
6245159e7c
commit
4c245f0d1f
28 files changed
+625
-36
No files matched your search
@@ -1,8 +1,12 @@
|
||||
import json
|
||||
from datetime import datetime
|
||||
|
||||
import pytest
|
||||
from pydantic import ValidationError
|
||||
|
||||
from app.models import AdminDepartment, AdminMenu, AdminRole
|
||||
from app.routers.system import _dept_dict, _menu_dict, _role_dict
|
||||
from app.schemas import AdminMenuCreate
|
||||
|
||||
|
||||
def test_role_audit_snapshot_serializes_datetime_fields():
|
||||
@@ -42,3 +46,21 @@ def test_menu_and_department_audit_snapshots_serialize_datetime_fields():
|
||||
|
||||
json.dumps(_menu_dict(menu))
|
||||
json.dumps(_dept_dict(dept))
|
||||
|
||||
|
||||
def test_menu_create_validates_fields_by_menu_type():
|
||||
with pytest.raises(ValidationError):
|
||||
AdminMenuCreate(name=" ", type="page", path="/users", componentKey="SystemUsers")
|
||||
|
||||
with pytest.raises(ValidationError):
|
||||
AdminMenuCreate(name="按钮", type="button")
|
||||
|
||||
with pytest.raises(ValidationError):
|
||||
AdminMenuCreate(name="页面", type="page", path="/users")
|
||||
|
||||
button = AdminMenuCreate(name="编辑用户", type="button", permissionCode="system:user:update")
|
||||
assert button.path is None
|
||||
assert button.componentKey is None
|
||||
|
||||
page = AdminMenuCreate(name="用户管理", type="page", path="/users", componentKey="SystemUsers")
|
||||
assert page.path == "/users"
|
||||
Reference in new issue
Block a user