admin.php 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410
  1. <?php
  2. /*
  3. * This file is part of the Jiannei/lumen-api-starter.
  4. *
  5. * (c) Jiannei <longjian.huang@foxmail.com>
  6. *
  7. * This source file is subject to the MIT license that is bundled
  8. * with this source code in the file LICENSE.
  9. */
  10. use Illuminate\Support\Facades\Route;
  11. /*
  12. |--------------------------------------------------------------------------
  13. | Application Routes
  14. |--------------------------------------------------------------------------
  15. |
  16. | Here is where you can register all of the routes for an application.
  17. | It is a breeze. Simply tell Lumen the URIs it should respond to
  18. | and give it the Closure to call when that URI is requested.
  19. |
  20. */
  21. /**
  22. * 基础业务模块
  23. */
  24. Route::group(['namespace' => 'Base'], function () {
  25. //登录
  26. Route::post('/auth/login', 'AuthController@login');
  27. //微信小程序登录
  28. // Route::post('/auth/mini-program-login', 'AuthController@miniProgramLogin');
  29. // Route::post('/auth/mini-program-mobile-login', 'AuthController@miniProgramMobileLogin');
  30. // Route::post('/auth/test-mobile-login', 'AuthController@testMobile');
  31. // Route::post('/auth/send-validation-code', 'AuthController@sendValidationCode');
  32. // Route::post('/auth/retrieve-password', 'AuthController@retrievePassword');
  33. // Route::post('/auth/find-email', 'AuthController@findEmail');
  34. //配置文件
  35. Route::post('base/settings/configs', 'SettingController@configs');
  36. Route::post('base/dicts/configs', 'DictController@configs');
  37. Route::get('base/dicts/config', 'DictController@config');
  38. //上传文件
  39. Route::post('/common/upload', 'ResourceController@upload');
  40. //枚举
  41. Route::get('/common/enums', 'CommonController@enums');
  42. Route::get('/common/clear', 'CommonController@clear');
  43. Route::group([
  44. 'middleware' => ['auth:admins', 'auth.role:admin'],
  45. 'prefix' => 'base'
  46. ], function () {
  47. Route::get('/auth/me', 'AuthController@me');
  48. Route::put('/auth/me', 'AuthController@update');
  49. Route::get('/auth/logout', 'AuthController@logout');
  50. Route::post('/auth/reset-password', 'AuthController@resetPassword');
  51. // Route::post('/auth/refresh-token', 'AuthController@refreshToken');
  52. Route::post('/auth/validate-password', 'AuthController@validatePassword');
  53. // Route::post('/auth/bind-wechat', 'AuthController@bindWechat');
  54. // Route::get('/auth/unbind-wechat', 'AuthController@unbindWechat');
  55. Route::post('/auth/mini-bind-mobile', 'AuthController@miniBindMobile');
  56. Route::post('/auth/update-password', 'AuthController@updatePassword');
  57. Route::post('/auth/update-info', 'AuthController@updateInfo');
  58. Route::post('/auth/mobile/send-validate-code', 'AuthController@sendValidateCode');
  59. Route::post('/auth/mobile', 'AuthController@updateMobile');
  60. //部门管理
  61. Route::get('departments', 'DepartmentController@index');
  62. Route::get('department', 'DepartmentController@show');
  63. Route::post('department', 'DepartmentController@store');
  64. Route::put('department', 'DepartmentController@update');
  65. Route::delete('department', 'DepartmentController@destroy');
  66. Route::post('department/delete', 'DepartmentController@batchDelete');
  67. Route::get('department/tree', 'DepartmentController@tree');
  68. Route::get('department/select-options', 'DepartmentController@selectOptions');
  69. //管理员
  70. Route::get('/admins', 'AdminController@index');
  71. Route::get('admin', 'AdminController@show');
  72. Route::post('admin', 'AdminController@store');
  73. Route::put('admin', 'AdminController@update');
  74. Route::delete('admin', 'AdminController@destroy');
  75. Route::post('admin/authorization', 'AdminController@authorization');
  76. Route::get('admin/select-options', 'AdminController@selectOptions');
  77. Route::post('admin/change-password', 'AdminController@changePassword');
  78. Route::post('admin/import', 'AdminController@import');
  79. Route::post('/admin/batch-update-status', 'AdminController@batchUpdateStatus');
  80. //角色
  81. Route::get('/roles', 'RoleController@index');
  82. Route::post('/role', 'RoleController@store');
  83. Route::get('/role', 'RoleController@show');
  84. Route::put('/role', 'RoleController@update');
  85. Route::delete('/role', 'RoleController@destroy');
  86. Route::post('/role/save-menus', 'RoleController@saveMenusPermissions');
  87. Route::post('/role/save-data-permissions', 'RoleController@saveDataPermissions');
  88. Route::post('/role/save-apis-permissions', 'RoleController@saveApisPermissions');
  89. Route::get('/role/permissions', 'RoleController@getRolePermissions');
  90. Route::get('/role/select-options', 'RoleController@selectOptions');
  91. //菜单管理
  92. Route::get('/menus', 'MenuController@index');
  93. Route::post('/menu', 'MenuController@store');
  94. Route::get('/menu', 'MenuController@show');
  95. Route::put('/menu', 'MenuController@update');
  96. Route::delete('/menu', 'MenuController@destroy');
  97. Route::get('/menu/icons', 'MenuController@icons');
  98. Route::get('/menu/my-menus', 'MenuController@myMenus');
  99. //日志记录
  100. Route::get('/logs', 'LogController@index');
  101. Route::get('/log', 'LogController@show');
  102. Route::post('/log/app-upload-log', 'LogController@appUploadLog');
  103. //轮播图管理
  104. Route::get('/banners', 'BannerController@index');
  105. Route::get('/banner/list', 'BannerController@lists');
  106. Route::post('/banner', 'BannerController@store');
  107. Route::get('/banner', 'BannerController@show');
  108. Route::put('/banner', 'BannerController@update');
  109. Route::delete('/banner', 'BannerController@destroy');
  110. //字典管理
  111. Route::get('/dicts', 'DictController@index');
  112. Route::post('/dict', 'DictController@store');
  113. Route::get('/dict', 'DictController@show');
  114. Route::put('/dict', 'DictController@update');
  115. Route::delete('/dict', 'DictController@destroy');
  116. Route::get('/dict-details', 'DictDetailController@index');
  117. Route::post('/dict-detail', 'DictDetailController@store');
  118. Route::get('/dict-detail', 'DictController@show');
  119. Route::put('/dict-detail', 'DictDetailController@update');
  120. Route::delete('/dict-detail', 'DictDetailController@destroy');
  121. //分类管理
  122. Route::get('categories', 'CategorySettingController@index');
  123. Route::post('category', 'CategorySettingController@storeCategory');
  124. Route::post('category-option', 'CategorySettingController@store');
  125. Route::get('category/{id}', 'CategorySettingController@show');
  126. Route::put('category/{id}', 'CategorySettingController@update');
  127. Route::delete('category/{id}', 'CategorySettingController@destroy');
  128. Route::post('category-delete', 'CategorySettingController@delete');
  129. Route::get('category-select-options', 'CategorySettingController@selectOptions');
  130. //配置管理
  131. Route::get('/settings', 'SettingController@index');
  132. Route::post('/setting', 'SettingController@store');
  133. Route::get('/setting', 'SettingController@show');
  134. Route::put('/setting', 'SettingController@update');
  135. Route::delete('/setting', 'SettingController@destroy');
  136. Route::post('/setting/save', 'SettingController@save');
  137. //公司管理
  138. Route::get('/companies', 'CompanyController@index');
  139. Route::post('/company', 'CompanyController@store');
  140. Route::get('/company', 'CompanyController@show');
  141. Route::put('/company', 'CompanyController@update');
  142. Route::delete('/company', 'CompanyController@destroy');
  143. Route::get('/company/select-options', 'CompanyController@selectOptions');
  144. //API权限列表
  145. Route::get('/permissions', 'PermissionController@index');
  146. //资源管理
  147. Route::post('/resource/upload', 'ResourceController@upload');
  148. Route::post('/resource/download', 'ResourceController@download');
  149. Route::post('/resource/base64-to-img', 'ResourceController@base64ToImg');
  150. //任务管理
  151. Route::get('/tasks', 'TaskController@index');
  152. });
  153. });
  154. //高校公用模块
  155. Route::group([
  156. 'middleware' => ['auth:admins', 'auth.role:admin'],
  157. 'prefix' => 'school',
  158. 'namespace' => 'School'
  159. ], function () {
  160. // //学期管理
  161. // Route::get('term', 'TermsController@index');
  162. // Route::post('term', 'TermsController@store');
  163. // Route::get('term/info/{id}', 'TermsController@show');
  164. // Route::get('term/pause', 'TermsController@pause');
  165. // Route::put('term/{id}', 'TermsController@update');
  166. // Route::delete('term/{id}', 'TermsController@destroy');
  167. // Route::post('term-delete', 'TermsController@delete');
  168. // Route::get('term-select-options', 'TermsController@selectOptions');
  169. //
  170. // //时间段管理
  171. // Route::get('time', 'TimesController@index');
  172. // Route::post('time', 'TimesController@store');
  173. // Route::get('time/info/{id}', 'TimesController@show');
  174. // Route::get('time/pause', 'TimesController@pause');
  175. // Route::put('time/{id}', 'TimesController@update');
  176. // Route::delete('time/{id}', 'TimesController@destroy');
  177. // Route::post('time-delete', 'TimesController@delete');
  178. // Route::get('time-select-options', 'TimesController@selectOptions');
  179. //
  180. // //班级管理
  181. Route::get('grades', 'GradesController@index');
  182. Route::post('grade', 'GradesController@store');
  183. Route::get('grade', 'GradesController@show');
  184. Route::put('grade', 'GradesController@update');
  185. Route::delete('grade', 'GradesController@destroy');
  186. Route::post('grade/batch-delete', 'GradesController@batchDelete');
  187. Route::get('grade/select-options', 'GradesController@selectOptions');
  188. //
  189. // //老师管理
  190. Route::get('teachers', 'TeachersController@index');
  191. Route::post('teacher', 'TeachersController@store');
  192. Route::get('teacher', 'TeachersController@show');
  193. Route::put('teacher', 'TeachersController@update');
  194. Route::delete('teacher', 'TeachersController@destroy');
  195. Route::post('teacher/delete', 'TeachersController@batchDelete');
  196. Route::post('teacher/import', 'TeachersController@importTeachers');
  197. Route::post('teacher/export', 'TeachersController@exportTeachers');
  198. Route::get('teacher/select-options', 'TeachersController@selectOptions');
  199. Route::post('teacher/update-status', 'TeachersController@updateStatus');
  200. Route::post('teacher/change-password', 'TeachersController@changePassword');
  201. //
  202. // //学生管理
  203. Route::get('students', 'StudentsController@index');
  204. Route::post('student', 'StudentsController@store');
  205. Route::get('student', 'StudentsController@show');
  206. Route::put('student', 'StudentsController@update');
  207. Route::delete('student', 'StudentsController@destroy');
  208. Route::post('student/delete', 'StudentsController@batchDelete');
  209. Route::post('student/import', 'StudentsController@importStudents');
  210. Route::post('student/export', 'StudentsController@exportStudents');
  211. Route::get('student/select-options', 'StudentsController@selectOptions');
  212. Route::post('student/update-status', 'StudentsController@updateStatus');
  213. Route::post('student/change-password', 'StudentsController@changePassword');
  214. });
  215. /**
  216. * 试卷
  217. */
  218. //Route::group([
  219. // 'middleware' => ['auth:admins', 'auth.role:admin'],
  220. // 'prefix' => 'exam',
  221. // 'namespace' => 'Exam'
  222. //], function () {
  223. // Route::get('home', 'HomeController@index');
  224. //
  225. //
  226. // //任务管理
  227. // Route::get('/paper', 'PapersController@index');
  228. // Route::post('/paper', 'PapersController@store');
  229. // Route::get('/paper/info/{id}', 'PapersController@show');
  230. // Route::put('/paper/info/{id}', 'PapersController@update');
  231. // Route::delete('/paper/info/{id}', 'PapersController@destroy');
  232. // Route::post('/paper/delete', 'PapersController@delete');
  233. // Route::get('/paper/select-options', 'PapersController@selectOptions');
  234. // Route::get('/paper/pause', 'PapersController@pause');
  235. //
  236. // //试题
  237. // Route::get('/topic', 'TopicsController@index');
  238. // Route::post('/topic', 'TopicsController@store');
  239. // Route::get('/topic/info/{id}', 'TopicsController@show');
  240. // Route::put('/topic/info/{id}', 'TopicsController@update');
  241. // Route::delete('/topic/info/{id}', 'TopicsController@destroy');
  242. // Route::post('/topic/delete', 'TopicsController@delete');
  243. // Route::get('/topic/select-options', 'TopicsController@selectOptions');
  244. // Route::get('/topic/pause', 'TopicsController@pause');
  245. //
  246. // //考试
  247. // Route::get('/paper-result', 'PaperResultsController@index');
  248. // Route::post('/paper-result/allot', 'PaperResultsController@allot');
  249. // Route::post('/paper-result/answer', 'PaperResultsController@answer');
  250. // Route::post('/paper-result', 'PaperResultsController@store');
  251. // Route::get('/paper-result/info/{id}', 'PaperResultsController@show');
  252. // Route::put('/paper-result/info/{id}', 'PaperResultsController@update');
  253. // Route::delete('/paper-result/info/{id}', 'PaperResultsController@destroy');
  254. // Route::post('/paper-result/delete', 'PaperResultsController@delete');
  255. // Route::get('/paper-result/select-options', 'PaperResultsController@selectOptions');
  256. // Route::get('/paper-result/pause', 'PaperResultsController@pause');
  257. //
  258. //});
  259. /**
  260. * 通知公告
  261. */
  262. Route::group([
  263. 'middleware' => ['auth:admins', 'auth.role:admin'],
  264. 'prefix' => 'info',
  265. 'namespace' => 'Info'
  266. ], function () {
  267. //新闻管理
  268. Route::get('/news', 'NewsController@index');
  269. Route::post('/new', 'NewsController@store');
  270. Route::get('/new', 'NewsController@show');
  271. Route::put('/new', 'NewsController@update');
  272. Route::delete('/new', 'NewsController@destroy');
  273. //通知公告
  274. Route::get('/notices', 'NoticeController@index');
  275. Route::post('/notice', 'NoticeController@store');
  276. Route::get('/notice', 'NoticeController@show');
  277. Route::put('/notice', 'NoticeController@update');
  278. Route::delete('/notice', 'NoticeController@destroy');
  279. //资讯类型
  280. Route::get('/info_types', 'InformationTypeController@index');
  281. Route::post('/info_type', 'InformationTypeController@store');
  282. Route::get('/info_type', 'InformationTypeController@show');
  283. Route::put('/info_type', 'InformationTypeController@update');
  284. Route::delete('/info_type', 'InformationTypeController@destroy');
  285. //资讯内容
  286. Route::get('/infos', 'InformationController@index');
  287. Route::get('/info', 'InformationController@show');
  288. Route::post('/info', 'InformationController@store');
  289. Route::put('/info', 'InformationController@update');
  290. Route::delete('/info', 'InformationController@destroy');
  291. });
  292. //课程
  293. Route::group([
  294. 'prefix' => 'course',
  295. 'namespace' => 'Course',
  296. 'middleware' => ['auth:admins', 'auth.role:admin']
  297. ], function () {
  298. // 首页
  299. Route::get('/home', 'HomeController@index');
  300. //分类
  301. Route::get('categories', 'CategoryController@index');
  302. Route::post('category', 'CategoryController@store');
  303. Route::get('category', 'CategoryController@show');
  304. Route::put('category', 'CategoryController@update');
  305. Route::delete('category', 'CategoryController@destroy');
  306. Route::post('category/batch-delete', 'CategoryController@batchDelete');
  307. Route::get('category/tree', 'CategoryController@tree');
  308. Route::get('category/select-options', 'CategoryController@selectOptions');
  309. //课程
  310. Route::get('courses', 'CourseController@index');
  311. Route::post('course', 'CourseController@store');
  312. Route::get('course', 'CourseController@show');
  313. Route::put('course', 'CourseController@update');
  314. Route::delete('course', 'CourseController@destroy');
  315. Route::post('course/batch-delete', 'CourseController@batchDelete');
  316. Route::get('course/select-options', 'CourseController@selectOptions');
  317. //章节
  318. Route::get('chapters', 'ChapterController@index');
  319. Route::post('chapter', 'ChapterController@store');
  320. Route::put('chapter', 'ChapterController@update');
  321. Route::delete('chapter', 'ChapterController@destroy');
  322. //视频
  323. Route::get('/videos', 'VideoController@index');
  324. Route::post('/video', 'VideoController@store');
  325. Route::get('/video', 'VideoController@show');
  326. Route::put('video', 'VideoController@update');
  327. Route::delete('video', 'VideoController@destroy');
  328. //附件
  329. Route::get('/attachs', 'AttachController@index');
  330. Route::post('/attach', 'AttachController@store');
  331. Route::put('attach', 'AttachController@update');
  332. Route::delete('attach', 'AttachController@destroy');
  333. //评论
  334. Route::get('/comments', 'CommentController@index');
  335. // Route::post('/comment', 'CommentController@store');
  336. Route::get('/comment', 'CommentController@show');
  337. // Route::put('comment', 'CommentController@update');
  338. Route::delete('comment', 'CommentController@destroy');
  339. //订阅管理
  340. Route::get('/subscribes', 'SubscribeController@index');
  341. Route::get('/subscribe', 'SubscribeController@show');
  342. Route::delete('subscribe', 'SubscribeController@destroy');
  343. Route::get('/nodes', 'NodeController@index');
  344. Route::get('/node', 'NodeController@show');
  345. Route::delete('/node', 'NodeController@destroy');
  346. });
  347. //附件下载
  348. //Route::get('/view/attach-download/{id}', 'Course\AttachController@download');
  349. Route::get('/', function () {
  350. if (config('app.debug')) {
  351. return \Illuminate\Support\Facades\Response::success([
  352. 'name' => config('app.name'),
  353. 'version' => app()->version(),
  354. 'ip' => getClientIp()
  355. ]);
  356. }
  357. return 'hello word!';
  358. });
  359. //开发环境接口
  360. Route::group(['prefix' => 'develop'], function () {
  361. //响应状态
  362. // Route::get('/http-status', 'DevelopController@httpStatus');
  363. Route::get('/t', 'ExampleController@test');
  364. Route::get('/init', 'ExampleController@init');
  365. });