UniApp 权限管理配置文档
📋 概述
本文档详细列出了UniApp教育培训管理系统中所有页面的权限配置建议,用于实现精细化的菜单权限管理。系统支持员工端(市场、教练、销售)和会员端(学员、家长)两种登录方式。
🔐 权限等级说明
| 权限等级 |
说明 |
适用场景 |
| 公开访问 |
无需登录即可访问 |
登录页、隐私协议等 |
| 登录验证 |
需要有效Token |
大部分功能页面 |
| 角色验证 |
需要特定角色权限 |
业务功能页面 |
| 管理员权限 |
需要管理员级别权限 |
人员管理、系统配置 |
| 开发权限 |
仅开发环境可访问 |
测试页面、Demo页面 |
👥 用户角色定义
员工端角色
- 市场人员 (role_type=1): 负责客户线索管理、市场推广
- 教练 (role_type=2): 负责课程教学、学员管理
- 销售人员 (role_type=3): 负责客户转化、订单管理
会员端角色
- 学员 (user_type=member): 查看课程、作业、个人信息
- 家长 (user_type=parent): 管理孩子信息、课程、服务等
📊 页面权限配置表
🚪 登录认证模块
| 页面路径 |
页面名称 |
权限等级 |
市场 |
教练 |
销售 |
学员 |
家长 |
建议纳入权限管理 |
/pages/student/login/login |
登录页面 |
公开访问 |
✅ |
✅ |
✅ |
✅ |
✅ |
❌ |
/pages/student/login/forgot |
找回密码 |
公开访问 |
✅ |
✅ |
✅ |
✅ |
✅ |
❌ |
📚 学员模块
| 页面路径 |
页面名称 |
权限等级 |
市场 |
教练 |
销售 |
学员 |
家长 |
建议纳入权限管理 |
/pages/student/index/index |
学员首页 |
登录验证 |
❌ |
✅ |
❌ |
✅ |
✅ |
✅ |
/pages/student/index/job_list |
作业列表 |
登录验证 |
❌ |
✅ |
❌ |
✅ |
✅ |
✅ |
/pages/student/index/work_details |
作业详情 |
登录验证 |
❌ |
✅ |
❌ |
✅ |
✅ |
✅ |
/pages/student/index/physical_examination |
体测数据 |
登录验证 |
❌ |
✅ |
❌ |
✅ |
✅ |
✅ |
/pages/student/timetable/index |
课表主页 |
登录验证 |
❌ |
✅ |
❌ |
✅ |
✅ |
✅ |
/pages/student/timetable/info |
课表详情 |
登录验证 |
❌ |
✅ |
❌ |
✅ |
✅ |
✅ |
/pages/student/timetable/list |
场馆列表 |
登录验证 |
❌ |
❌ |
❌ |
✅ |
✅ |
✅ |
/pages/student/my/my |
个人中心 |
登录验证 |
❌ |
❌ |
❌ |
✅ |
✅ |
❌ |
/pages/student/my/my_coach |
我的教练 |
登录验证 |
❌ |
❌ |
❌ |
✅ |
✅ |
✅ |
/pages/student/my/my_members |
我的成员 |
登录验证 |
❌ |
❌ |
❌ |
✅ |
✅ |
✅ |
/pages/student/my/lesson_consumption |
课时消耗 |
登录验证 |
❌ |
✅ |
❌ |
✅ |
✅ |
✅ |
/pages/student/my/personal_data |
个人资料 |
登录验证 |
❌ |
❌ |
❌ |
✅ |
✅ |
❌ |
/pages/student/my/set_up |
设置 |
登录验证 |
❌ |
❌ |
❌ |
✅ |
✅ |
❌ |
/pages/student/my/update_pass |
修改密码 |
登录验证 |
❌ |
❌ |
❌ |
✅ |
✅ |
❌ |
👨🏫 教练模块
| 页面路径 |
页面名称 |
权限等级 |
市场 |
教练 |
销售 |
学员 |
家长 |
建议纳入权限管理 |
/pages/coach/home/index |
教练首页 |
角色验证 |
❌ |
✅ |
❌ |
❌ |
❌ |
✅ |
/pages/coach/job/add |
发布作业 |
角色验证 |
❌ |
✅ |
❌ |
❌ |
❌ |
✅ |
/pages/coach/job/list |
全部作业 |
角色验证 |
❌ |
✅ |
❌ |
❌ |
❌ |
✅ |
/pages/coach/course/list |
课表管理 |
角色验证 |
❌ |
✅ |
❌ |
❌ |
❌ |
✅ |
/pages/coach/course/info |
课时详情 |
角色验证 |
❌ |
✅ |
❌ |
❌ |
❌ |
✅ |
/pages/coach/course/info_list |
课时详情列表 |
角色验证 |
❌ |
✅ |
❌ |
❌ |
❌ |
✅ |
/pages/coach/class/list |
班级管理 |
角色验证 |
❌ |
✅ |
❌ |
❌ |
❌ |
✅ |
/pages/coach/class/info |
班级详情 |
角色验证 |
❌ |
✅ |
❌ |
❌ |
❌ |
✅ |
/pages/coach/student/student_list |
我的学员 |
角色验证 |
❌ |
✅ |
❌ |
❌ |
❌ |
✅ |
/pages/coach/student/student_detail |
学员详情 |
角色验证 |
❌ |
✅ |
❌ |
❌ |
❌ |
✅ |
/pages/coach/student/info |
学员信息 |
角色验证 |
❌ |
✅ |
❌ |
❌ |
❌ |
✅ |
/pages/coach/student/work_details |
作业任务 |
角色验证 |
❌ |
✅ |
❌ |
❌ |
❌ |
✅ |
/pages/coach/student/physical_examination |
体测数据 |
角色验证 |
❌ |
✅ |
❌ |
❌ |
❌ |
✅ |
/pages/coach/schedule/schedule_table |
课程安排 |
角色验证 |
❌ |
✅ |
❌ |
❌ |
❌ |
✅ |
/pages/coach/schedule/add_schedule |
添加课程安排 |
角色验证 |
❌ |
✅ |
❌ |
❌ |
❌ |
✅ |
/pages/coach/schedule/adjust_course |
调整课程安排 |
角色验证 |
❌ |
✅ |
❌ |
❌ |
❌ |
✅ |
/pages/coach/schedule/sign_in |
课程点名 |
角色验证 |
❌ |
✅ |
❌ |
❌ |
❌ |
✅ |
/pages/coach/schedule/schedule_detail |
课程详情 |
角色验证 |
❌ |
✅ |
❌ |
❌ |
❌ |
✅ |
/pages/coach/my/index |
个人中心 |
角色验证 |
❌ |
✅ |
❌ |
❌ |
❌ |
❌ |
/pages/coach/my/info |
个人资料 |
角色验证 |
❌ |
✅ |
❌ |
❌ |
❌ |
❌ |
/pages/coach/my/set_up |
设置 |
角色验证 |
❌ |
✅ |
❌ |
❌ |
❌ |
❌ |
/pages/coach/my/update_pass |
修改密码 |
角色验证 |
❌ |
✅ |
❌ |
❌ |
❌ |
❌ |
/pages/coach/my/arrival_statistics |
到课统计 |
角色验证 |
❌ |
✅ |
❌ |
❌ |
❌ |
✅ |
/pages/coach/my/due_soon |
即将到期 |
角色验证 |
❌ |
✅ |
❌ |
❌ |
❌ |
✅ |
/pages/coach/my/schooling_statistics |
授课统计 |
角色验证 |
❌ |
✅ |
❌ |
❌ |
❌ |
✅ |
/pages/coach/my/teaching_management |
教研管理列表 |
角色验证 |
❌ |
✅ |
❌ |
❌ |
❌ |
✅ |
/pages/coach/my/teaching_management_info |
文章详情 |
角色验证 |
❌ |
✅ |
❌ |
❌ |
❌ |
✅ |
/pages/coach/my/gotake_exam |
考试 |
角色验证 |
❌ |
✅ |
❌ |
❌ |
❌ |
✅ |
/pages/coach/my/exam_results |
考试结果 |
角色验证 |
❌ |
✅ |
❌ |
❌ |
❌ |
✅ |
/pages/coach/my/my_attendance |
我的考勤 |
角色验证 |
❌ |
✅ |
❌ |
❌ |
❌ |
✅ |
/pages/coach/my/service_list |
服务列表 |
角色验证 |
❌ |
✅ |
❌ |
❌ |
❌ |
✅ |
/pages/coach/my/service_detail |
服务详情 |
角色验证 |
❌ |
✅ |
❌ |
❌ |
❌ |
✅ |
💼 市场模块
| 页面路径 |
页面名称 |
权限等级 |
市场 |
教练 |
销售 |
学员 |
家长 |
建议纳入权限管理 |
/pages/market/home/index |
市场首页 |
角色验证 |
✅ |
❌ |
❌ |
❌ |
❌ |
✅ |
/pages/market/index/index |
销售首页 |
角色验证 |
❌ |
❌ |
✅ |
❌ |
❌ |
✅ |
/pages/market/clue/index |
线索管理 |
角色验证 |
✅ |
❌ |
✅ |
❌ |
❌ |
✅ |
/pages/market/clue/clue_info |
客户详情 |
角色验证 |
✅ |
❌ |
✅ |
❌ |
❌ |
✅ |
/pages/market/clue/order_list |
订单列表 |
角色验证 |
✅ |
❌ |
✅ |
❌ |
❌ |
✅ |
/pages/market/clue/add_clues |
添加客户 |
角色验证 |
✅ |
❌ |
✅ |
❌ |
❌ |
✅ |
/pages/market/clue/edit_clues |
编辑客户 |
角色验证 |
✅ |
❌ |
✅ |
❌ |
❌ |
✅ |
/pages/market/clue/edit_clues_log |
修改记录 |
角色验证 |
✅ |
❌ |
✅ |
❌ |
❌ |
✅ |
/pages/market/clue/new_task |
新增任务 |
角色验证 |
✅ |
❌ |
✅ |
❌ |
❌ |
✅ |
/pages/market/clue/writing_followUp |
添加跟进 |
角色验证 |
✅ |
❌ |
✅ |
❌ |
❌ |
✅ |
/pages/market/clue/class_arrangement |
课程安排 |
角色验证 |
✅ |
❌ |
✅ |
❌ |
❌ |
✅ |
/pages/market/clue/class_arrangement_detail |
课程安排详情 |
角色验证 |
✅ |
❌ |
✅ |
❌ |
❌ |
✅ |
/pages/market/clue/clue_table |
数据统计 |
角色验证 |
❌ |
❌ |
✅ |
❌ |
❌ |
✅ |
/pages/market/course/course_detail |
课程详情 |
角色验证 |
✅ |
❌ |
✅ |
❌ |
❌ |
✅ |
/pages/market/data/index |
数据中心 |
角色验证 |
✅ |
❌ |
❌ |
❌ |
❌ |
✅ |
/pages/market/data/statistics |
市场数据统计 |
角色验证 |
✅ |
❌ |
❌ |
❌ |
❌ |
✅ |
/pages/market/reimbursement/list |
报销列表 |
角色验证 |
✅ |
❌ |
✅ |
❌ |
❌ |
✅ |
/pages/market/reimbursement/add |
新增报销 |
角色验证 |
✅ |
❌ |
✅ |
❌ |
❌ |
✅ |
/pages/market/reimbursement/detail |
报销详情 |
角色验证 |
✅ |
❌ |
✅ |
❌ |
❌ |
✅ |
/pages/market/my/index |
个人中心 |
角色验证 |
✅ |
❌ |
✅ |
❌ |
❌ |
❌ |
/pages/market/my/info |
个人资料 |
角色验证 |
✅ |
❌ |
✅ |
❌ |
❌ |
❌ |
/pages/market/my/set_up |
设置 |
角色验证 |
✅ |
❌ |
✅ |
❌ |
❌ |
❌ |
/pages/market/my/update_pass |
修改密码 |
角色验证 |
✅ |
❌ |
✅ |
❌ |
❌ |
❌ |
/pages/market/my/signed_client_list |
已签客户 |
角色验证 |
✅ |
❌ |
✅ |
❌ |
❌ |
✅ |
/pages/market/my/my_data |
我的数据 |
角色验证 |
✅ |
❌ |
✅ |
❌ |
❌ |
✅ |
/pages/market/my/dept_data |
部门数据 |
角色验证 |
✅ |
❌ |
✅ |
❌ |
❌ |
✅ |
/pages/market/my/campus_data |
校区数据 |
角色验证 |
✅ |
❌ |
✅ |
❌ |
❌ |
✅ |
/pages/market/my/firm_info |
企业信息 |
角色验证 |
✅ |
❌ |
✅ |
❌ |
❌ |
✅ |
👥 家长模块
| 页面路径 |
页面名称 |
权限等级 |
市场 |
教练 |
销售 |
学员 |
家长 |
建议纳入权限管理 |
/pages/parent/user-info/index |
用户信息 |
角色验证 |
❌ |
❌ |
❌ |
❌ |
✅ |
✅ |
/pages/parent/user-info/child-detail |
孩子详情 |
角色验证 |
❌ |
❌ |
❌ |
❌ |
✅ |
✅ |
/pages/parent/courses/index |
课程管理 |
角色验证 |
❌ |
❌ |
❌ |
❌ |
✅ |
✅ |
/pages/parent/courses/course-detail |
课程详情 |
角色验证 |
❌ |
❌ |
❌ |
❌ |
✅ |
✅ |
/pages/parent/materials/index |
教学资料 |
角色验证 |
❌ |
❌ |
❌ |
❌ |
✅ |
✅ |
/pages/parent/materials/material-detail |
资料详情 |
角色验证 |
❌ |
❌ |
❌ |
❌ |
✅ |
✅ |
/pages/parent/services/index |
服务管理 |
角色验证 |
❌ |
❌ |
❌ |
❌ |
✅ |
✅ |
/pages/parent/services/service-detail |
服务详情 |
角色验证 |
❌ |
❌ |
❌ |
❌ |
✅ |
✅ |
/pages/parent/orders/index |
订单管理 |
角色验证 |
❌ |
❌ |
❌ |
❌ |
✅ |
✅ |
/pages/parent/orders/order-detail |
订单详情 |
角色验证 |
❌ |
❌ |
❌ |
❌ |
✅ |
✅ |
/pages/parent/messages/index |
消息管理 |
角色验证 |
❌ |
❌ |
❌ |
❌ |
✅ |
✅ |
/pages/parent/messages/message-detail |
消息详情 |
角色验证 |
❌ |
❌ |
❌ |
❌ |
✅ |
✅ |
/pages/parent/contracts/index |
合同管理 |
角色验证 |
❌ |
❌ |
❌ |
❌ |
✅ |
✅ |
/pages/parent/contracts/contract-detail |
合同详情 |
角色验证 |
❌ |
❌ |
❌ |
❌ |
✅ |
✅ |
🛠️ 公共模块
| 页面路径 |
页面名称 |
权限等级 |
市场 |
教练 |
销售 |
学员 |
家长 |
建议纳入权限管理 |
/pages/common/privacy_agreement |
隐私协议 |
公开访问 |
✅ |
✅ |
✅ |
✅ |
✅ |
❌ |
/pages/common/article_info |
文章详情 |
登录验证 |
✅ |
✅ |
✅ |
✅ |
✅ |
❌ |
/pages/common/feedback |
意见反馈 |
登录验证 |
✅ |
✅ |
✅ |
✅ |
✅ |
❌ |
/pages/common/my_message |
我的消息 |
登录验证 |
✅ |
✅ |
✅ |
✅ |
✅ |
❌ |
/pages/common/im_chat_info |
聊天详情 |
登录验证 |
✅ |
✅ |
✅ |
✅ |
✅ |
❌ |
/pages/common/sys_msg_list |
系统消息 |
登录验证 |
✅ |
✅ |
✅ |
✅ |
✅ |
❌ |
/pages/common/contract_list |
订单列表 |
登录验证 |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
/pages/common/my_attendance |
我的考勤 |
登录验证 |
✅ |
✅ |
✅ |
❌ |
❌ |
✅ |
/pages/common/personnel/add_personnel |
新员工信息填写 |
管理员权限 |
❌ |
❌ |
❌ |
❌ |
❌ |
✅ |
/pages/common/contract/my_contract |
我的合同 |
登录验证 |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
/pages/common/contract/contract_detail |
合同详情 |
登录验证 |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
/pages/common/contract/contract_sign |
合同签订 |
登录验证 |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
📋 教务模块
| 页面路径 |
页面名称 |
权限等级 |
市场 |
教练 |
销售 |
学员 |
家长 |
建议纳入权限管理 |
/pages/academic/home/index |
教务首页 |
管理员权限 |
❌ |
❌ |
❌ |
❌ |
❌ |
✅ |
🧪 测试模块
| 页面路径 |
页面名称 |
权限等级 |
市场 |
教练 |
销售 |
学员 |
家长 |
建议纳入权限管理 |
/pages/demo/mock-demo |
Mock数据演示 |
开发权限 |
❌ |
❌ |
❌ |
❌ |
❌ |
❌ |
/pages/demo/dict_optimization |
字典优化 |
开发权限 |
❌ |
❌ |
❌ |
❌ |
❌ |
❌ |
🎯 权限管理建议
🔥 高优先级页面(建议优先纳入权限管理)
核心业务功能
- 线索管理模块: 客户信息、跟进记录、订单管理
- 课程教学模块: 课表管理、作业管理、学员管理
- 数据统计模块: 各类业务数据和报表
- 财务模块: 报销管理、合同管理
敏感数据页面
- 个人信息查看: 学员详情、教练信息、客户资料
- 体测数据: 学员体能测试结果
- 考勤统计: 教练和学员的考勤记录
- 教研管理: 教学资料和考试内容
🔶 中优先级页面(建议选择性纳入)
查看类功能
- 课表查看: 学员课程表、教练课程安排
- 消息通知: 系统消息、聊天功能
- 服务管理: 各类服务项目
🔷 低优先级页面(可不纳入权限管理)
通用功能
- 个人设置: 个人资料、密码修改、系统设置
- 公共信息: 隐私协议、文章详情、意见反馈
⚙️ 技术实现建议
1. 路由守卫实现
// router/permission.js
const routePermissions = {
'/pages/market/clue/index': ['market', 'sales'],
'/pages/coach/home/index': ['coach'],
'/pages/student/index/index': ['member', 'parent'],
// ...更多路由权限配置
}
function checkPermission(route, userRole) {
const requiredRoles = routePermissions[route]
return !requiredRoles || requiredRoles.includes(userRole)
}
2. 菜单动态生成
// menu/menuConfig.js
const menuConfig = {
market: [
{ path: '/pages/market/home/index', name: '首页', icon: 'home' },
{ path: '/pages/market/clue/index', name: '线索管理', icon: 'clue' },
// ...市场人员菜单
],
coach: [
{ path: '/pages/coach/home/index', name: '首页', icon: 'home' },
{ path: '/pages/coach/course/list', name: '课表管理', icon: 'course' },
// ...教练菜单
],
// ...其他角色菜单
}
3. API权限验证
// middleware/AuthMiddleware.php
public function handle($request, $next, $role = null) {
$user = $this->getUser($request);
if ($role && !$this->hasRole($user, $role)) {
return $this->unauthorizedResponse();
}
return $next($request);
}
📝 配置建议总结
✅ 强烈建议纳入权限管理的页面(58个)
- 线索管理: 11个页面(客户信息、跟进、订单等)
- 教练功能: 22个页面(课程、学员、作业等)
- 家长功能: 14个页面(孩子管理、服务等)
- 数据统计: 8个页面(各类业务报表)
- 其他业务: 3个页面(教务、人员、考勤等)
🔶 可选择纳入权限管理的页面(15个)
- 学员查看: 7个页面(课表、作业、体测等)
- 公共业务: 8个页面(合同、消息、服务等)
❌ 建议不纳入权限管理的页面(25个)
- 登录认证: 2个页面
- 个人设置: 12个页面
- 公共信息: 6个页面
- 开发测试: 2个页面
- 基础功能: 3个页面
总计98个页面中,建议将58个核心业务页面纳入权限管理系统,确保数据安全和角色隔离的同时,保持系统的易用性和维护性。