智慧教务系统
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.
 
 
 
 
 
 

645 lines
32 KiB

<?php
// +----------------------------------------------------------------------
// | Niucloud-admin 企业快速开发的多应用管理平台
// +----------------------------------------------------------------------
// | 官方网址:https://www.niucloud.com
// +----------------------------------------------------------------------
// | niucloud团队 版权所有 开源版本可自由商用
// +----------------------------------------------------------------------
// | Author: Niucloud Team
// +----------------------------------------------------------------------
use app\api\middleware\ApiChannel;
use app\api\middleware\ApiCheckToken;
use app\api\middleware\ApiPersonnelCheckToken;
use app\api\middleware\ApiLog;
use app\api\route\dispatch\BindDispatch;
use core\dict\DictLoader;
use think\facade\Route;
use app\service\core\niucloud\CoreNotifyService;
//公众号消息推送
Route::any('wechat/serve', 'wechat.Serve/serve')
->middleware(ApiChannel::class)
->middleware(ApiCheckToken::class)
->middleware(ApiLog::class);
// 微信小程序消息推送
Route::any('weapp/serve', 'weapp.Serve/serve')
->middleware(ApiChannel::class)
->middleware(ApiCheckToken::class)
->middleware(ApiLog::class);
Route::group(function () {
Route::post('niucloud/notify', function () {
return (new CoreNotifyService())->notify();
});
// 协议接口不需要token验证
Route::get('agreement/:key', 'agreement.Agreement/info');
// 发送验证码不需要token验证
Route::post('send/mobile/:type', 'login.Login/sendMobileCode');
Route::get('testfun1', 'sys.Index/testfun1');
//员工端-上传图片
Route::post('uploadImage', 'upload.Upload/image');
//员工端-添加新员工信息
Route::post('personnel/add', 'apiController.Personnel/add');
//微信公众号授权相关接口(不需要token验证)
Route::get('personnel/wechatAuthorize', 'personnel.WechatBind/wechatAuthorize');
Route::get('personnel/wechatCallback', 'personnel.WechatBind/wechatCallback');
});
/**
* 路由
*/
Route::group(function () {
// 测试方法
Route::get('testfun', 'sys.Index/testfun');
// 执行SQL
Route::post('executeSql', 'sys.Index/executeSql');
//获取授权地址
Route::get('wechat/codeurl', 'wechat.Wechat/getCodeUrl');
//获取授权信息
Route::get('wechat/user', 'wechat.Wechat/getWechatUser');
//公众号通过授权信息登录
Route::post('wechat/userlogin', 'wechat.Wechat/wechatLogin');
//检查微信公众号是否配置
Route::get('wechat/check', 'wechat.Wechat/checkWechatConfig');
//公众号通过code登录
Route::post('wechat/login', 'wechat.Wechat/login');
//公众号通过code注册
Route::post('wechat/register', 'wechat.Wechat/register');
//公众号通过code同步授权
Route::post('wechat/sync', 'wechat.Wechat/sync');
//公众号扫码登录
Route::post('wechat/scanlogin', 'wechat.Wechat/scanLogin');
//小程序通过code登录
Route::post('weapp/login', 'weapp.Weapp/login');
//小程序通过code注册
Route::post('weapp/register', 'weapp.Weapp/register');
// 获取小程序订阅消息模板id
Route::get('weapp/subscribemsg', 'weapp.Weapp/subscribeMessage');
// 查询小程序是否已开通发货信息管理服务
Route::get('weapp/getIsTradeManaged', 'weapp.Weapp/getIsTradeManaged');
// 通过外部交易号获取消息跳转路径
Route::get('weapp/getMsgJumpPath', 'weapp.Weapp/getMsgJumpPath');
//第三方绑定
Route::post('bind', BindDispatch::class);
//密码重置
Route::post('password/reset', 'login.Login/resetPassword');
//账号密码注册
Route::post('register', 'login.Register/account');
//手机号注册
Route::post('register/mobile', 'login.Register/mobile');
//账号密码注册
Route::get('captcha', 'login.Login/captcha');
//手机号登录
Route::post('login/mobile', 'login.Login/mobile');
//校验扫码信息
Route::get('checkscan', 'sys.scan/checkScan');
/***************************************************** 会员相关设置**************************************************/
//获取注册与登录设置
Route::get('login/config', 'login.Config/getLoginConfig');
// 获取公众号jssdk config
Route::get('wechat/jssdkconfig', 'wechat.Wechat/jssdkConfig');
/***************************************************** 版权相关设置**************************************************/
Route::get('copyright', 'sys.Config/getCopyright');
// 站点信息
Route::get('site', 'sys.Config/site');
//场景域名
Route::get('scene_domain', 'sys.Config/getSceneDomain');
// 获取地图设置
Route::get('map', 'sys.Config/getMap');
// 获取初始化数据信息
Route::get('init', 'sys.Config/init');
/***************************************************** 地区管理 ****************************************************/
//通过pid获取列表
Route::get('area/list_by_pid/:pid', 'sys.Area/listByPid');
//通过层级获取列表
Route::get('area/tree/:level', 'sys.Area/tree');
// 获取省市县数据根据地址id
Route::get('area/code/:code', 'sys.Area/areaByAreaCode');
// 通过经纬度查询地址
Route::get('area/address_by_latlng', 'sys.Area/getAddressByLatlng');
/***************************************************** 海报管理 ****************************************************/
//获取海报
Route::get('poster', 'poster.Poster/poster');
/***************************************************** 核销管理 ****************************************************/
//根据业务获取核销码
Route::get('verify', 'sys.Verify/getVerifyCode');
//校验当前会员是否是核销员
Route::get('check_verifier', 'sys.Verify/checkVerifier');
//核销记录
Route::get('verify_records', 'sys.Verify/records');
//核销详情
Route::get('verify_detail/:code', 'sys.Verify/detail');
//通过code码获取核销信息
Route::get('get_verify_by_code', 'sys.Verify/getInfoByCode');
//核销操作
Route::post('verify/:code', 'sys.Verify/verify');
/***************************************************** 会员管理 ****************************************************/
/***************************************************** 任务管理 ****************************************************/
// 获取成长值任务
Route::get('task/growth', 'sys.Task/growth');
// 获取积分任务
Route::get('task/point', 'sys.Task/point');
Route::get('test', 'login.Login/test');
Route::get('class_reminder', 'login.Login/class_reminder');
//员工端-订单管理-更新支付状态
Route::post('orderTable/updatePaymentStatus', 'apiController.OrderTable/updatePaymentStatus');
})->middleware(ApiChannel::class)
->middleware(ApiCheckToken::class)
->middleware(ApiLog::class);
Route::group(function () {
//公众号更新用户openid
Route::put('wechat/update_openid', 'wechat.Wechat/updateOpenid');
//小程序更新用户openid
Route::put('weapp/update_openid', 'weapp.Weapp/updateOpenid');
})->middleware(ApiChannel::class)
->middleware(ApiCheckToken::class, true)
->middleware(ApiLog::class);
//↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓-----员工端相关-----↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
//无需token验证的
Route::group(function () {
//统一登录接口
Route::post('login/unified', 'login.UnifiedLogin/login');
//获取字典
Route::get('common/getDictionary', 'apiController.Common/getDictionary');
//忘记密码-通过短信验证码进行密码重置(学生/员工通用)
Route::post('common/forgetPassword', 'apiController.Common/forgetPassword');
//获取配置项
Route::get('common/getConfig', 'apiController.Common/getConfig');
//获取微信小程序openid
Route::post('common/getMiniWxOpenId', 'apiController.Common/getMiniWxOpenId');
//Dashboard WebView 页面
Route::get('dashboard/webview', 'Dashboard/webview');
//公共端-获取全部课程列表
Route::get('common/getCourseAll', 'apiController.Common/getCourseAll');
//公共端-获取全部班级列表
Route::get('common/getClassAll', 'apiController.Common/getClassAll');
//公共端-获取支付类型字典(员工端)/
Route::get('common/getPaymentTypes', 'apiController.Common/getPaymentTypes');
//员工端-获取审批配置列表
Route::get('personnel/approval-configs', 'apiController.Personnel/getApprovalConfigs');
//获取职位类型列表
Route::get('personnel/role-types', 'apiController.Personnel/getRoleTypes');
})->middleware(ApiChannel::class)
->middleware(ApiLog::class);
//需要token验证的
Route::group(function () {
//员工端-上传文档
Route::post('uploadDocument', 'upload.Upload/document');
//员工端详情
Route::get('personnel/info', 'apiController.Personnel/info');
//员工端-修改
Route::post('personnel/edit', 'apiController.Personnel/edit');
//员工端-验证旧密码是否正确
Route::post('personnel/checkOldPwd', 'apiController.Personnel/checkOldPwd');
//员工端-修改密码操作(通过旧密码修改新密码)
Route::post('personnel/edidPassword', 'apiController.Personnel/edidPassword');
//员工端-获取全部人员列表
Route::get('personnel/getPersonnelAll', 'apiController.Personnel/getPersonnelAll');
//员工端-获取销售部门员工列表(根据校区筛选)
Route::get('personnel/getSalesPersonnelByCampus', 'apiController.Personnel/getSalesPersonnelByCampus');
//员工端-获取教练数据列表
Route::get('personnel/getCoachList', 'apiController.Personnel/getCoachList');
//员工端统计(销售)-获取销售首页数据统计
Route::get('statistics/marketHome', 'apiController.Statistics/marketHome');
//员工端统计(销售)-获取销售数据页统计
Route::get('statistics/marketData', 'apiController.Statistics/marketData');
//客户资源-添加
Route::post('customerResources/add', 'apiController.CustomerResources/add');
//客户资源-编辑
Route::post('customerResources/edit', 'apiController.CustomerResources/edit');
//客户资源-修改记录列表
Route::get('customerResources/getEditLogList', 'apiController.CustomerResources/getEditLogList');
//客户资源-获取全部客户资源列表
Route::get('customerResources/getAll', 'apiController.CustomerResources/getAll');
//客户资源-获取赠品记录列表
Route::get('customerResources/getGiftRecordList', 'apiController.CustomerResources/getGiftRecordList');
//客户资源-获取学生标签信息
Route::get('customerResources/getStudentLabel', 'apiController.CustomerResources/getStudentLabel');
//客户资源-获取所有学生标签列表
Route::get('customerResources/getAllStudentLabels', 'apiController.CustomerResources/getAllStudentLabels');
//客户资源-搜索学员(用于课程安排)
Route::get('customerResources/searchStudents', 'apiController.CustomerResources/searchStudents');
//客户资源-获取预设学员信息(不受状态限制)
Route::get('customerResources/getPresetStudentInfo', 'apiController.CustomerResources/getPresetStudentInfo');
//资源共享-列表
Route::get('resourceSharing/index', 'apiController.ResourceSharing/index');
//资源共享-详情(客户详情)
Route::get('resourceSharing/info', 'apiController.ResourceSharing/info');
//资源共享-分配员工
Route::post('resourceSharing/assign', 'apiController.ResourceSharing/assign');
//销售端-学员-新增
Route::post('student/add', 'apiController.StudentManager/add');
Route::post('student/edit', 'apiController.StudentManager/edit');
//销售端-学员-列表
Route::get('student/list', 'apiController.StudentManager/list');
//教练端-学员-我的学员列表
Route::get('coach/students/my', 'apiController.CoachStudent/getMyStudents');
//沟通记录-添加
Route::post('communicationRecords/add', 'apiController.CommunicationRecords/add');
Route::post('communicationRecords/edit', 'apiController.CommunicationRecords/edit');
//校区-获取员工下的全部校区
Route::get('campus/getPersonnelCampus', 'apiController.Campus/getPersonnelCampus');
Route::get('campus/get_campuses_list', 'apiController.Campus/get_campuses_list');
//员工考勤-列表(员工打卡/请假/签退)
Route::post('attendance/index', 'apiController.Attendance/index');
//员工考勤-编辑(员工打卡/请假/签退)
Route::post('attendance/edit', 'apiController.Attendance/edit');
//员工端-用户聊天-好友关系列表
Route::get('chat/getChatFriendsList', 'apiController.Chat/getChatFriendsList');
//员工端-用户聊天-创建好友关系
Route::post('chat/addChatFriends', 'apiController.Chat/addChatFriends');
//员工端-用户聊天-好友关系详情
Route::get('chat/getChatFriendsInfo', 'apiController.Chat/getChatFriendsInfo');
//员工端-用户聊天-获取聊天记录
Route::get('chat/getChatMessagesList', 'apiController.Chat/getChatMessagesList');
//员工端-用户聊天-发送聊天内容
Route::post('chat/sendChatMessages', 'apiController.Chat/sendChatMessages');
//员工端-用户聊天-修改未读消息数量
Route::post('chat/editUnreadCount', 'apiController.Chat/editUnreadCount');
//员工端-订单管理-列表
Route::get('orderTable', 'apiController.OrderTable/index');
//员工端-订单管理-详情
Route::get('orderTable/info', 'apiController.OrderTable/info');
//员工端-订单管理-创建
Route::post('orderTable/add', 'apiController.OrderTable/add');
//员工端-查询订单支付状态
Route::get('checkOrderPaymentStatus', 'apiController.OrderTable/checkOrderPaymentStatus');
//员工端-更新学员课程人员配置
Route::post('updateStudentCoursePersonnel', 'apiController.Course/updateStudentCoursePersonnel');
// 课程安排相关接口
//员工端-获取课程安排列表
Route::get('courseSchedule/list', 'apiController.CourseSchedule/getScheduleList');
//员工端-获取课程安排详情
Route::get('courseSchedule/info', 'apiController.CourseSchedule/getScheduleInfo');
//员工端-创建课程安排
Route::post('courseSchedule/create', 'apiController.CourseSchedule/createSchedule');
//员工端-批量创建课程安排
Route::post('courseSchedule/batchCreate', 'apiController.CourseSchedule/batchCreateSchedule');
//员工端-更新课程安排
Route::post('courseSchedule/update', 'apiController.CourseSchedule/updateSchedule');
//员工端-删除课程安排
Route::post('courseSchedule/delete', 'apiController.CourseSchedule/deleteSchedule');
//员工端-获取场地列表
Route::get('courseSchedule/venues', 'apiController.CourseSchedule/getVenueList');
//员工端-获取场地可用时间
Route::get('courseSchedule/venueAvailableTime', 'apiController.CourseSchedule/getVenueAvailableTime');
//员工端-检查教练时间冲突
Route::get('courseSchedule/checkCoachConflict', 'apiController.CourseSchedule/checkCoachConflict');
//员工端-学员加入课程安排
Route::post('courseSchedule/joinSchedule', 'apiController.CourseSchedule/joinSchedule');
//员工端-学员退出课程安排
Route::post('courseSchedule/leaveSchedule', 'apiController.CourseSchedule/leaveSchedule');
//员工端-升级等待位学员为正式学员
Route::post('course/upgradeStudentSchedule', 'apiController.CourseScheduleController/upgradeStudentSchedule');
//员工端-获取筛选选项
Route::get('courseSchedule/filterOptions', 'apiController.CourseSchedule/getFilterOptions');
//员工端-获取场地时间选项
Route::get('courseSchedule/venueTimeOptions', 'apiController.CourseSchedule/getVenueTimeOptions');
//员工端-课程批量签到
Route::post('courseSchedule/batchSignIn', 'apiController.CourseSchedule/batchSignIn');
//员工端-单个学员签到
Route::post('courseSchedule/updateStudentStatus', 'apiController.CourseSchedule/updateStudentStatus');
//员工端-删除学员所有未来课程安排
Route::post('courseSchedule/deleteStudentFutureSchedules', 'apiController.CourseSchedule/deleteStudentFutureSchedules');
// 课程安排统一选项接口(新增-支持校区过滤)
//获取所有排课选项(统一接口-支持校区过滤)
Route::get('schedule/options/all', 'apiController.ScheduleOptions/getAllOptions');
//获取课程列表(支持校区过滤)
Route::get('schedule/options/courses', 'apiController.ScheduleOptions/getCourseList');
//获取班级列表(支持校区过滤)
Route::get('schedule/options/classes', 'apiController.ScheduleOptions/getClassList');
//获取教练列表(支持校区过滤)
Route::get('schedule/options/coaches', 'apiController.ScheduleOptions/getCoachList');
//获取场地列表(支持校区过滤)
Route::get('schedule/options/venues', 'apiController.ScheduleOptions/getVenueList');
// 添加课程安排页面专用接口(保留兼容性)
//获取课程列表(用于添加课程安排)
Route::get('course/list', 'apiController.Course/getCourseList');
Route::post('course/upgradeStudent', 'apiController.Course/upgradeStudent');
//获取班级列表(用于添加课程安排)
Route::get('class/list', 'apiController.ClassApi/getClassList');
//获取教练列表(用于添加课程安排)
Route::get('coach/list', 'apiController.Personnel/getCoachListForSchedule');
//获取场地列表(用于添加课程安排)
Route::get('venue/list', 'apiController.CourseSchedule/getVenueList');
//获取场地可用时间段
Route::get('venue/timeSlots', 'apiController.CourseSchedule/getVenueAvailableTime');
//获取教练列表(用于课程人员配置)
Route::get('course/coachList', 'apiController.Course/getCoachList');
//获取教务人员列表(用于课程人员配置)
Route::get('course/educationList', 'apiController.Course/getEducationList');
//更新学员课程信息(主教练、助教、教务)
Route::post('course/updateInfo', 'apiController.Course/updateCourseInfo');
//检查学员班级关联情况
Route::get('course/checkClassRelation', 'apiController.Course/checkClassRelation');
//添加作业
Route::get('class/Statistics/info', 'apiController.classApi/getStatisticsInfo');
//添加作业
Route::get('class/jlPublishJob/add', 'apiController.classApi/addJlPublishJob');
//添加作业-获取课程列表
Route::get('class/jlGetStudentList/list', 'apiController.classApi/jlGetStudentList');
//添加作业-获取课程列表
Route::get('class/jlGetCoursesList/list', 'apiController.classApi/jlGetCoursesList');
//添加作业-获取班级列表
Route::get('class/jlGetClasses/list', 'apiController.classApi/jlGetClassesList');
//体测报告-列表
Route::get('class/physicalTest', 'apiController.classApi/PhysicalTestList');
//体测报告-详情
Route::get('class/physicalTest/info', 'apiController.classApi/PhysicalTestInfo');
//获取学员详情
Route::get('class/jlStudentsInfo', 'apiController.classApi/jlStudentsInfo');
//班级课程列表
Route::get('course/classCourseList', 'apiController.course/classCourseList');
//获取添加学员列表
Route::get('course/addStudentList', 'apiController.course/addStudentList');
Route::post('course/addStudent', 'apiController.course/addStudent');
Route::get('course/delStudentCourse', 'apiController.course/delStudentCourse');
//班级列表
Route::get('class/jlClassList', 'apiController.classApi/jlClassList');
//班级详情
Route::get('class/jlClassInfo', 'apiController.classApi/jlClassInfo');
//课程列表
Route::get('course/courseList', 'apiController.course/courseList');
//获取课程详情
Route::get('course/courseInfo', 'apiController.course/courseInfo');
//教研管理文章列表
Route::get('teachingResearch/list', 'apiController.teachingResearch/list');
//教研管理文章详情
Route::get('teachingResearch/info/:id', 'apiController.teachingResearch/info');
//获取能看的教研管理类型
Route::get('teachingResearch/lookType', 'apiController.teachingResearch/lookType');
//获取试卷
Route::get('teachingResearch/teachingTestPaper', 'apiController.teachingResearch/teachingTestPaper');
//提交试卷
Route::get('teachingResearch/submitTestPaper', 'apiController.teachingResearch/submitTestPaper');
Route::get('course/get_date', 'apiController.Course/get_date');
Route::get('course/courseAllList', 'apiController.course/courseAllList');
Route::post('course/addSchedule', 'apiController.course/addSchedule');
Route::get('course/scheduleList', 'apiController.course/schedule_list');
Route::post('course/schedule_del', 'apiController.course/schedule_del');
// 课程安排详情页面接口
Route::get('course/scheduleDetail', 'apiController.Course/scheduleDetail');
Route::get('course/searchStudents', 'apiController.Course/searchStudents');
Route::post('course/addStudentToSchedule', 'apiController.Course/addStudentToSchedule');
Route::post('course/removeStudentFromSchedule', 'apiController.Course/removeStudentFromSchedule');
Route::post('course/updateStudentStatus', 'apiController.Course/updateStudentStatus');
Route::get('per_list_call_up', 'member.Member/list_call_up');
Route::post('per_update_call_up', 'member.Member/update_call_up');
Route::get('statistics/getStaffStatistics', 'apiController.Statistics/getStaffStatistics');
//市场统计API接口
Route::post('market_stats/getPersonalStats', 'MarketStats/getPersonalStats');
Route::post('market_stats/getTeamStats', 'MarketStats/getTeamStats');
Route::post('market_stats/getChannelDistribution', 'MarketStats/getChannelDistribution');
Route::post('market_stats/getConversionFunnel', 'MarketStats/getConversionFunnel');
Route::post('market_stats/getMonthlyTrend', 'MarketStats/getMonthlyTrend');
//报销
Route::get('personnel/reimbursement_list', 'apiController.Personnel/reimbursement_list');
Route::post('personnel/reimbursement_add', 'apiController.Personnel/reimbursement_add');
Route::get('personnel/reimbursement_info', 'apiController.Personnel/reimbursement_info');
//报销审批流程
Route::post('personnel/reimbursement_add_with_approval', 'apiController.Personnel/reimbursementAddWithApproval');
Route::get('personnel/reimbursement/approval-configs', 'apiController.Personnel/getReimbursementApprovalConfigs');
//合同管理
Route::get('contract/myContracts', 'apiController.Contract/myContracts');
Route::get('contract/detail', 'apiController.Contract/detail');
Route::get('contract/signForm', 'apiController.Contract/getSignForm'); // 获取签署表单配置
Route::post('contract/sign', 'apiController.Contract/sign');
Route::get('contract/signStatus', 'apiController.Contract/signStatus');
Route::get('contract/download', 'apiController.Contract/download');
// 学生合同签署相关接口
Route::get('contract/getStudentContractSignForm', 'apiController.Contract/getStudentContractSignForm');
Route::post('contract/submitStudentContractSign', 'apiController.Contract/submitStudentContractSign');
// 新增:根据签署记录ID获取签署表单(支持按签署关系区分字段)
Route::get('contract/getStudentContractSignFormBySignId', 'apiController.Contract/getStudentContractSignFormBySignId');
// 前端期望的路由路径(映射到相同的控制器方法)
Route::get('student/contract/sign-form', 'apiController.Contract/getStudentContractSignForm');
// 员工端和学员端合同签署接口
Route::post('contract/signStaffContract', 'apiController.Contract/signStaffContract');
Route::post('contract/signStudentContract', 'apiController.Contract/signStudentContract');
//服务管理
Route::get('personnel/myServiceLogs', 'apiController.Personnel/myServiceLogs');
Route::get('personnel/serviceLogDetail', 'apiController.Personnel/serviceLogDetail');
Route::post('personnel/updateServiceRemark', 'apiController.Personnel/updateServiceRemark');
//微信绑定相关接口(需要人员token验证)
Route::post('personnel/getWechatOpenid', 'personnel.WechatBind/getWechatOpenid');
Route::post('personnel/bindWechatOpenid', 'personnel.WechatBind/bindWechatOpenid');
Route::get('personnel/getBindStatus', 'personnel.WechatBind/getBindStatus');
Route::get('getQrcode', 'pay.Pay/getQrcode');
})->middleware(ApiChannel::class)
->middleware(ApiPersonnelCheckToken::class, true)
->middleware(ApiLog::class);
//需要token验证的
Route::group(function () {
//学生端-上传图片
Route::post('memberUploadImage', 'upload.Upload/image');
//学生端-上传视频
Route::post('memberUploadVideo', 'upload.Upload/video');
//学生端-上传文档
Route::post('memberUploadDocument', 'upload.Upload/document');
//学生详情
Route::get('customerResourcesAuth/info', 'apiController.CustomerResourcesAuth/info');
//学生详情-修改
Route::post('customerResourcesAuth/edit', 'apiController.CustomerResourcesAuth/edit');
//学生用户反馈-添加
Route::post('userFeedback/add', 'apiController.UserFeedback/add');
//学生端-用户聊天-好友关系列表
Route::get('xy/chat/getChatFriendsList', 'apiController.Chat/getChatFriendsList');
//学生端-用户聊天-好友关系详情
Route::get('xy/chat/getChatFriendsInfo', 'apiController.Chat/getChatFriendsInfo');
//学生端-用户聊天-获取聊天记录
Route::get('xy/chat/getChatMessagesList', 'apiController.Chat/getChatMessagesList');
//学生端-用户聊天-发送聊天内容
Route::post('xy/chat/sendChatMessages', 'apiController.Chat/sendChatMessages');
//学生端-体测报告-列表
Route::get('xy/physicalTest', 'apiController.PhysicalTest/index');
//学生端-体测报告-详情
Route::get('xy/physicalTest/info', 'apiController.PhysicalTest/info');
//学生端-体测报告-添加
Route::post('xy/physicalTest/add', 'apiController.PhysicalTest/add');
//学生端-体测报告-编辑
Route::post('xy/physicalTest/edit', 'apiController.PhysicalTest/edit');
//学生端-体测报告-删除
Route::post('xy/physicalTest/delete', 'apiController.PhysicalTest/delete');
//学生端-体测报告-PDF上传
Route::post('xy/physicalTest/uploadPdf', 'apiController.PhysicalTest/uploadPdf');
//学生端-学生课程安排-列表
Route::get('xy/personCourseSchedule', 'apiController.PersonCourseSchedule/index');
//学生端-学生课程安排-详情
Route::get('xy/personCourseSchedule/info', 'apiController.PersonCourseSchedule/info');
//学生端-学习计划-列表
Route::get('xy/studyPlan', 'apiController.StudyPlan/index');
//学生端-学习计划-详情
Route::get('xy/studyPlan/info', 'apiController.StudyPlan/info');
//学生端-学习计划-添加
Route::post('xy/studyPlan/add', 'apiController.StudyPlan/add');
//学生端-学习计划-编辑
Route::post('xy/studyPlan/edit', 'apiController.StudyPlan/edit');
//学生端-学习计划-删除
Route::post('xy/studyPlan/delete', 'apiController.StudyPlan/delete');
//学生端-学习计划-更新进度
Route::post('xy/studyPlan/updateProgress', 'apiController.StudyPlan/updateProgress');
//学生端-学生课程安排-修改请假状态
Route::post('xy/personCourseSchedule/editStatus', 'apiController.PersonCourseSchedule/editStatus');
//学生端-学生课程安排-获取排课日历
Route::get('xy/personCourseSchedule/getCalendar', 'apiController.PersonCourseSchedule/getCalendar');
//学生端-学生课程安排-获取学生排课的全部场地列表
Route::get('xy/personCourseSchedule/getVenueListAll', 'apiController.PersonCourseSchedule/getVenueListAll');
//学生端-学生课程安排-我的教练列表
Route::get('xy/personCourseSchedule/getMyCoach', 'apiController.PersonCourseSchedule/getMyCoach');
//学生端-学生课程安排-学员课时消费记录
Route::get('xy/personCourseSchedule/getStudentCourseUsageList', 'apiController.PersonCourseSchedule/getStudentCourseUsageList');
//获取学生课程信息列表(包含教练配置)
Route::get('getStudentCourseInfo', 'apiController.PersonCourseSchedule/getStudentCourseInfo');
//获取人员列表(教练、教务、助教)
Route::get('getPersonnelList', 'apiController.PersonCourseSchedule/getPersonnelList');
//更新学生课程人员配置
Route::post('updateStudentCoursePersonnel', 'apiController.PersonCourseSchedule/updateStudentCoursePersonnel');
//学生端-学生作业-作业列表
Route::get('xy/assignment', 'apiController.Assignment/index');
//学生端-提交作业
Route::get('xy/assignment/submitObj', 'apiController.Assignment/submitObj');
//学生端-作业详情
Route::get('xy/assignment/info', 'apiController.Assignment/info');
//学生端-订单管理-列表(原接口,需要认证)
Route::get('xy/orderTable', 'apiController.OrderTable/index');
//学生端-订单管理-详情(原接口,需要认证)
Route::get('xy/orderTable/info', 'apiController.OrderTable/info');
//学生端-订单管理-创建(原接口,需要认证)
Route::post('xy/orderTable/add', 'apiController.OrderTable/add');
//学生端-课程详情
Route::get('xy/course/detail', 'apiController.StudentCourse/courseDetail');
//学生端-服务记录列表
Route::get('xy/service/list', 'apiController.StudentCourse/getServiceList');
//学生端-获取教练列表
Route::get('xy/course/coachList', 'apiController.StudentCourse/getCoachList');
//学生端-获取教务人员列表
Route::get('xy/course/educationList', 'apiController.StudentCourse/getEducationList');
//学生端-更新课程信息
Route::post('xy/course/updateInfo', 'apiController.StudentCourse/updateCourseInfo');
//学生端-检查班级关联
Route::get('xy/course/checkClassRelation', 'apiController.StudentCourse/checkClassRelation');
/***************************************************** 字典批量获取 ****************************************************/
// 批量获取字典数据
Route::get('dict/batch', 'common.Dict/getBatchDict');
// 根据业务场景获取字典数据
Route::get('dict/scene/:scene', 'common.Dict/getDictByScene');
// 获取单个字典数据
Route::get('dict/single/:key', 'common.Dict/getDict');
// 获取字典映射关系
Route::get('dict/mapping', 'common.Dict/getDictMapping');
// 清除字典缓存
Route::post('dict/clear_cache', 'common.Dict/clearDictCache');
// 学员签到
Route::post('student/attendance/checkin', 'student.AttendanceController/checkin');
// 学员请假
Route::post('student/attendance/leave', 'student.AttendanceController/leave');
// 学员取消
Route::post('student/attendance/cancel', 'student.AttendanceController/cancel');
// 员工端生成合同
Route::post('contract/confirmGenerateContract', 'apiController.Contract/confirmGenerateContract');
})->middleware(ApiChannel::class)
->middleware(ApiPersonnelCheckToken::class, true)
->middleware(ApiLog::class);
//学员端路由
include_once __DIR__ . '/student.php';
//加载插件路由
(new DictLoader("Route"))->load(['app_type' => 'api']);