api.php 2.8 KB

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