智慧教务系统
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

17 KiB

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个)

  1. 线索管理: 11个页面(客户信息、跟进、订单等)
  2. 教练功能: 22个页面(课程、学员、作业等)
  3. 家长功能: 14个页面(孩子管理、服务等)
  4. 数据统计: 8个页面(各类业务报表)
  5. 其他业务: 3个页面(教务、人员、考勤等)

🔶 可选择纳入权限管理的页面(15个)

  1. 学员查看: 7个页面(课表、作业、体测等)
  2. 公共业务: 8个页面(合同、消息、服务等)

建议不纳入权限管理的页面(25个)

  1. 登录认证: 2个页面
  2. 个人设置: 12个页面
  3. 公共信息: 6个页面
  4. 开发测试: 2个页面
  5. 基础功能: 3个页面

总计98个页面中,建议将58个核心业务页面纳入权限管理系统,确保数据安全和角色隔离的同时,保持系统的易用性和维护性。