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

485 lines
20 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();
});
});
/**
* 路由
*/
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::get('login', 'login.Login/login');
//第三方绑定
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('send/mobile/:type', 'login.Login/sendMobileCode');
//手机号登录
Route::post('login/mobile', 'login.Login/mobile');
//校验扫码信息
Route::get('checkscan', 'sys.scan/checkScan');
/***************************************************** 会员相关设置**************************************************/
//获取注册与登录设置
Route::get('login/config', 'login.Config/getLoginConfig');
// 协议
Route::get('agreement/:key', 'agreement.Agreement/info');
// 获取公众号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');
})->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('personnelLogin', 'login.Login/personnelLogin');
//获取字典
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');
//公共端-获取全部课程列表
Route::get('common/getCourseAll', 'apiController.Common/getCourseAll');
//公共端-获取全部班级列表
Route::get('common/getClassAll', 'apiController.Common/getClassAll');
})->middleware(ApiChannel::class)
->middleware(ApiPersonnelCheckToken::class)
->middleware(ApiLog::class);
//需要token验证的
Route::group(function () {
//员工端-上传图片
Route::post('uploadImage', 'upload.Upload/image');
//员工端详情
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/getCoachList', 'apiController.Personnel/getCoachList');
//员工端-添加新员工信息
Route::post('personnel/add', 'apiController.Personnel/add');
//员工端统计(销售)-获取销售首页数据统计
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('resourceSharing/index', 'apiController.ResourceSharing/index');
//资源共享-详情(客户详情)
Route::get('resourceSharing/info', 'apiController.ResourceSharing/info');
//资源共享-分配员工
Route::post('resourceSharing/assign', 'apiController.ResourceSharing/assign');
//沟通记录-添加
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::post('updateStudentCoursePersonnel', 'apiController.Course/updateStudentCoursePersonnel');
//添加作业
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('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');
//报销
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::get('contract/myContracts', 'apiController.Contract/myContracts');
Route::get('contract/detail', 'apiController.Contract/detail');
Route::post('contract/sign', 'apiController.Contract/sign');
Route::get('contract/signStatus', 'apiController.Contract/signStatus');
Route::get('contract/download', 'apiController.Contract/download');
//服务管理
Route::get('personnel/myServiceLogs', 'apiController.Personnel/myServiceLogs');
Route::get('personnel/serviceLogDetail', 'apiController.Personnel/serviceLogDetail');
Route::post('personnel/updateServiceRemark', 'apiController.Personnel/updateServiceRemark');
Route::get('getQrcode', 'pay.Pay/getQrcode');
})->middleware(ApiChannel::class)
->middleware(ApiPersonnelCheckToken::class, true)
->middleware(ApiLog::class);
//↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑-----员工端相关-----↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
//↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓-----学生用户端相关-----↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
//无需token验证的
Route::group(function () {
//学生登录
Route::post('customerResourcesAuth/login', 'apiController.CustomerResourcesAuth/login');
})->middleware(ApiChannel::class)
->middleware(ApiCheckToken::class)
->middleware(ApiLog::class);
//需要token验证的
Route::group(function () {
//学生端-上传图片
Route::post('memberUploadImage', 'upload.Upload/image');
//学生端-上传图片
Route::post('memberUploadVideo', 'upload.Upload/video');
//学生详情
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::get('xy/personCourseSchedule', 'apiController.PersonCourseSchedule/index');
//学生端-学生课程安排-详情
Route::get('xy/personCourseSchedule/info', 'apiController.PersonCourseSchedule/info');
//学生端-学生课程安排-修改请假状态
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('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');
})->middleware(ApiChannel::class)
->middleware(ApiPersonnelCheckToken::class, true)
->middleware(ApiLog::class);
//↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑-----学生用户端相关-----↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
//加载插件路由
(new DictLoader("Route"))->load(['app_type' => 'api']);