- 公众端桌面端新增顶部导航菜单,修复横屏模式菜单消失问题 - 实现点赞/收藏 toggle API(含批量状态查询、我的收藏列表) - 作品详情页新增互动栏(点赞/收藏按钮,乐观更新+动效) - 广场卡片支持点赞交互 - 报名列表合并展示参赛作品,移除独立的「我的作品」页面 - 个人中心新增「我的收藏」入口 - menus.json 与数据库完整同步,更新初始化脚本租户分配逻辑 - Vite 开启局域网访问 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
373 lines
9.3 KiB
JSON
373 lines
9.3 KiB
JSON
[
|
|
{
|
|
"name": "工作台",
|
|
"path": "/workbench",
|
|
"icon": "DashboardOutlined",
|
|
"component": "workbench/Index",
|
|
"sort": 1
|
|
},
|
|
{
|
|
"name": "我的评审",
|
|
"path": "/activities",
|
|
"icon": "AuditOutlined",
|
|
"sort": 2,
|
|
"children": [
|
|
{
|
|
"name": "评审任务",
|
|
"path": "/activities/review",
|
|
"icon": "FileSearchOutlined",
|
|
"component": "activities/Review",
|
|
"sort": 1,
|
|
"permission": "review:score"
|
|
},
|
|
{
|
|
"name": "预设评语",
|
|
"path": "/activities/preset-comments",
|
|
"icon": "MessageOutlined",
|
|
"component": "activities/PresetComments",
|
|
"sort": 2,
|
|
"permission": "review:score"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "活动监管",
|
|
"path": "/contests",
|
|
"icon": "FundViewOutlined",
|
|
"sort": 3,
|
|
"children": [
|
|
{
|
|
"name": "全部活动",
|
|
"path": "/contests/list",
|
|
"icon": "UnorderedListOutlined",
|
|
"component": "contests/Index",
|
|
"sort": 1,
|
|
"permission": "contest:read"
|
|
},
|
|
{
|
|
"name": "报名数据",
|
|
"path": "/contests/registrations",
|
|
"icon": "UserAddOutlined",
|
|
"component": "contests/registrations/Index",
|
|
"sort": 2,
|
|
"permission": "contest:registration:read"
|
|
},
|
|
{
|
|
"name": "作品数据",
|
|
"path": "/contests/works",
|
|
"icon": "FileTextOutlined",
|
|
"component": "contests/works/Index",
|
|
"sort": 3,
|
|
"permission": "contest:work:read"
|
|
},
|
|
{
|
|
"name": "评审进度",
|
|
"path": "/contests/review-progress",
|
|
"icon": "DashboardOutlined",
|
|
"component": "contests/reviews/Progress",
|
|
"sort": 4,
|
|
"permission": "review:progress:read"
|
|
},
|
|
{
|
|
"name": "评委管理",
|
|
"path": "/contests/judges",
|
|
"icon": "SolutionOutlined",
|
|
"component": "contests/judges/Index",
|
|
"sort": 5,
|
|
"permission": "judge:read"
|
|
},
|
|
{
|
|
"name": "评审规则",
|
|
"path": "/contests/review-rules",
|
|
"icon": "CheckCircleOutlined",
|
|
"component": "contests/reviews/Index",
|
|
"sort": 6,
|
|
"permission": "review:rule:read"
|
|
},
|
|
{
|
|
"name": "活动成果",
|
|
"path": "/contests/results",
|
|
"icon": "TrophyOutlined",
|
|
"component": "contests/results/Index",
|
|
"sort": 7,
|
|
"permission": "result:read"
|
|
},
|
|
{
|
|
"name": "通知管理",
|
|
"path": "/contests/notices",
|
|
"icon": "BellOutlined",
|
|
"component": "contests/notices/Index",
|
|
"sort": 8,
|
|
"permission": "contest:notice:read"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "内容管理",
|
|
"path": "/content",
|
|
"icon": "PictureOutlined",
|
|
"sort": 4,
|
|
"children": [
|
|
{
|
|
"name": "作品审核",
|
|
"path": "/content/review",
|
|
"component": "content/WorkReview",
|
|
"sort": 1,
|
|
"permission": "content:review"
|
|
},
|
|
{
|
|
"name": "作品管理",
|
|
"path": "/content/management",
|
|
"component": "content/WorkManagement",
|
|
"sort": 2,
|
|
"permission": "content:manage"
|
|
},
|
|
{
|
|
"name": "标签管理",
|
|
"path": "/content/tags",
|
|
"component": "content/TagManagement",
|
|
"sort": 3,
|
|
"permission": "content:tags"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "学校管理",
|
|
"path": "/school",
|
|
"icon": "BankOutlined",
|
|
"sort": 5,
|
|
"children": [
|
|
{
|
|
"name": "学校信息",
|
|
"path": "/school/schools",
|
|
"icon": "BankOutlined",
|
|
"component": "school/schools/Index",
|
|
"sort": 1,
|
|
"permission": "school:read"
|
|
},
|
|
{
|
|
"name": "部门管理",
|
|
"path": "/school/departments",
|
|
"icon": "ApartmentOutlined",
|
|
"component": "school/departments/Index",
|
|
"sort": 2,
|
|
"permission": "department:read"
|
|
},
|
|
{
|
|
"name": "年级管理",
|
|
"path": "/school/grades",
|
|
"icon": "AppstoreOutlined",
|
|
"component": "school/grades/Index",
|
|
"sort": 3,
|
|
"permission": "grade:read"
|
|
},
|
|
{
|
|
"name": "班级管理",
|
|
"path": "/school/classes",
|
|
"icon": "TeamOutlined",
|
|
"component": "school/classes/Index",
|
|
"sort": 4,
|
|
"permission": "class:read"
|
|
},
|
|
{
|
|
"name": "教师管理",
|
|
"path": "/school/teachers",
|
|
"icon": "UserOutlined",
|
|
"component": "school/teachers/Index",
|
|
"sort": 5,
|
|
"permission": "teacher:read"
|
|
},
|
|
{
|
|
"name": "学生管理",
|
|
"path": "/school/students",
|
|
"icon": "UsergroupAddOutlined",
|
|
"component": "school/students/Index",
|
|
"sort": 6,
|
|
"permission": "student:read"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "活动管理",
|
|
"path": "/contests",
|
|
"icon": "TrophyOutlined",
|
|
"sort": 6,
|
|
"children": [
|
|
{
|
|
"name": "活动列表",
|
|
"path": "/contests/list",
|
|
"icon": "UnorderedListOutlined",
|
|
"component": "contests/Index",
|
|
"sort": 1,
|
|
"permission": "contest:read"
|
|
},
|
|
{
|
|
"name": "评委管理",
|
|
"path": "/contests/judges",
|
|
"icon": "UserSwitchOutlined",
|
|
"component": "contests/judges/Index",
|
|
"sort": 2,
|
|
"permission": "judge:read"
|
|
},
|
|
{
|
|
"name": "报名管理",
|
|
"path": "/contests/registrations",
|
|
"icon": "FormOutlined",
|
|
"component": "contests/registrations/Index",
|
|
"sort": 3,
|
|
"permission": "contest:registration:read"
|
|
},
|
|
{
|
|
"name": "作品管理",
|
|
"path": "/contests/works",
|
|
"icon": "FileTextOutlined",
|
|
"component": "contests/works/Index",
|
|
"sort": 4,
|
|
"permission": "contest:work:read"
|
|
},
|
|
{
|
|
"name": "评审进度",
|
|
"path": "/contests/review-progress",
|
|
"icon": "DashboardOutlined",
|
|
"component": "contests/reviews/Progress",
|
|
"sort": 5,
|
|
"permission": "review:progress:read"
|
|
},
|
|
{
|
|
"name": "评审规则",
|
|
"path": "/contests/review-rules",
|
|
"icon": "SettingOutlined",
|
|
"component": "contests/ReviewRules",
|
|
"sort": 6,
|
|
"permission": "review:rule:read"
|
|
},
|
|
{
|
|
"name": "成果发布",
|
|
"path": "/contests/results",
|
|
"icon": "TrophyOutlined",
|
|
"component": "contests/results/Index",
|
|
"sort": 7,
|
|
"permission": "result:read"
|
|
},
|
|
{
|
|
"name": "活动公告",
|
|
"path": "/contests/notices",
|
|
"icon": "NotificationOutlined",
|
|
"component": "contests/notices/Index",
|
|
"sort": 8,
|
|
"permission": "contest:notice:read"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "机构管理",
|
|
"path": "/organization",
|
|
"icon": "BankOutlined",
|
|
"sort": 7,
|
|
"children": [
|
|
{
|
|
"name": "机构管理",
|
|
"path": "/system/tenants",
|
|
"icon": "UnorderedListOutlined",
|
|
"component": "system/tenants/Index",
|
|
"sort": 1,
|
|
"permission": "tenant:read"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "用户中心",
|
|
"path": "/users-center",
|
|
"icon": "TeamOutlined",
|
|
"sort": 8,
|
|
"children": [
|
|
{
|
|
"name": "平台用户",
|
|
"path": "/system/users",
|
|
"icon": "UserSwitchOutlined",
|
|
"component": "system/users/Index",
|
|
"sort": 2,
|
|
"permission": "user:read"
|
|
},
|
|
{
|
|
"name": "角色管理",
|
|
"path": "/system/roles",
|
|
"icon": "SafetyOutlined",
|
|
"component": "system/roles/Index",
|
|
"sort": 3,
|
|
"permission": "role:read"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "系统设置",
|
|
"path": "/system",
|
|
"icon": "SettingOutlined",
|
|
"sort": 9,
|
|
"children": [
|
|
{
|
|
"name": "用户管理",
|
|
"path": "/system/users",
|
|
"icon": "UserOutlined",
|
|
"component": "system/users/Index",
|
|
"sort": 1,
|
|
"permission": "user:read"
|
|
},
|
|
{
|
|
"name": "角色管理",
|
|
"path": "/system/roles",
|
|
"icon": "TeamOutlined",
|
|
"component": "system/roles/Index",
|
|
"sort": 2,
|
|
"permission": "role:read"
|
|
},
|
|
{
|
|
"name": "菜单管理",
|
|
"path": "/system/menus",
|
|
"icon": "MenuOutlined",
|
|
"component": "system/menus/Index",
|
|
"sort": 3,
|
|
"permission": "menu:read"
|
|
},
|
|
{
|
|
"name": "数据字典",
|
|
"path": "/system/dict",
|
|
"icon": "BookOutlined",
|
|
"component": "system/dict/Index",
|
|
"sort": 4,
|
|
"permission": "dict:read"
|
|
},
|
|
{
|
|
"name": "系统配置",
|
|
"path": "/system/config",
|
|
"icon": "ToolOutlined",
|
|
"component": "system/config/Index",
|
|
"sort": 5,
|
|
"permission": "config:read"
|
|
},
|
|
{
|
|
"name": "日志记录",
|
|
"path": "/system/logs",
|
|
"icon": "FileTextOutlined",
|
|
"component": "system/logs/Index",
|
|
"sort": 6,
|
|
"permission": "log:read"
|
|
},
|
|
{
|
|
"name": "权限管理",
|
|
"path": "/system/permissions",
|
|
"icon": "SafetyOutlined",
|
|
"component": "system/permissions/Index",
|
|
"sort": 7
|
|
},
|
|
{
|
|
"name": "租户管理",
|
|
"path": "/system/tenants",
|
|
"icon": "BankOutlined",
|
|
"component": "system/tenants/Index",
|
|
"sort": 8
|
|
}
|
|
]
|
|
}
|
|
]
|