api.php 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. <?php
  2. declare(strict_types=1);
  3. use SixShop\Message\Controller\Api\{
  4. AnnouncementController,
  5. NotificationController,
  6. PrivateMessageController,
  7. MessageSettingController,
  8. MessageController,
  9. };
  10. use think\facade\Route;
  11. // API路由
  12. // 路由前缀: /api/message
  13. // 公告相关路由
  14. Route::group('announcement', function () {
  15. // 获取公告列表
  16. Route::get('list', [AnnouncementController::class, 'getList']);
  17. // 获取公告详情
  18. Route::get('detail', [AnnouncementController::class, 'getDetail']);
  19. })->middleware(['auth']);
  20. // 通知相关路由
  21. Route::group('notification', function () {
  22. // 获取通知列表
  23. Route::get('list', [NotificationController::class, 'getList']);
  24. // 获取通知详情
  25. Route::get('detail', [NotificationController::class, 'getDetail']);
  26. // 标记通知为已读
  27. Route::post('mark_read', [NotificationController::class, 'markAsRead']);
  28. // 批量标记通知为已读
  29. Route::post('batch_mark_read', [NotificationController::class, 'batchMarkAsRead']);
  30. // 标记所有通知为已读
  31. Route::post('mark_all_read', [NotificationController::class, 'markAllAsRead']);
  32. // 删除通知
  33. Route::post('delete', [NotificationController::class, 'delete']);
  34. // 批量删除通知
  35. Route::post('batch_delete', [NotificationController::class, 'batchDelete']);
  36. // 获取未读通知数量
  37. Route::get('unread_count', [NotificationController::class, 'getUnreadCount']);
  38. })->middleware(['auth']);
  39. // 私信相关路由
  40. Route::group('private_message', function () {
  41. // 获取对话列表
  42. Route::get('conversation_list', [PrivateMessageController::class, 'getConversationList']);
  43. // 获取与指定用户的对话消息
  44. Route::get('conversation_messages', [PrivateMessageController::class, 'getConversationMessages']);
  45. // 发送私信
  46. Route::post('send', [PrivateMessageController::class, 'send']);
  47. // 标记私信为已读
  48. Route::post('mark_read', [PrivateMessageController::class, 'markAsRead']);
  49. // 标记与指定用户的所有私信为已读
  50. Route::post('mark_all_read', [PrivateMessageController::class, 'markAllAsRead']);
  51. // 删除私信
  52. Route::post('delete', [PrivateMessageController::class, 'delete']);
  53. // 删除与指定用户的所有对话
  54. Route::post('delete_conversation', [PrivateMessageController::class, 'deleteConversation']);
  55. // 获取未读私信数量
  56. Route::get('unread_count', [PrivateMessageController::class, 'getUnreadCount']);
  57. })->middleware(['auth']);
  58. // 消息设置相关路由
  59. Route::group('setting', function () {
  60. // 获取用户消息设置
  61. Route::get('user', [MessageSettingController::class, 'getUserSetting']);
  62. // 更新用户消息设置
  63. Route::post('update', [MessageSettingController::class, 'updateSetting']);
  64. })->middleware(['auth']);
  65. // 获取消息列表
  66. Route::resource('', MessageController::class)
  67. ->only(['index', 'read'])
  68. ->middleware(['auth']);