作者 lyh

gx

@@ -12,10 +12,41 @@ namespace App\Http\Controllers\Bside\Gpt; @@ -12,10 +12,41 @@ namespace App\Http\Controllers\Bside\Gpt;
12 use App\Enums\Common\Code; 12 use App\Enums\Common\Code;
13 use App\Http\Controllers\Bside\BaseController; 13 use App\Http\Controllers\Bside\BaseController;
14 use App\Http\Logic\Bside\Gpt\ChatLogic; 14 use App\Http\Logic\Bside\Gpt\ChatLogic;
  15 +use App\Models\Gpt\Chat;
  16 +use App\Models\Gpt\ChatItem;
15 17
16 class ChatController extends BaseController 18 class ChatController extends BaseController
17 { 19 {
18 /** 20 /**
  21 + * @remark :获取消息列表
  22 + * @name :list
  23 + * @author :lyh
  24 + * @method :post
  25 + * @time :2025/4/2 15:51
  26 + */
  27 + public function list(Chat $chat){
  28 + $list = $chat->lists(['user_id'=>$this->user['id'],'status'=>1],$this->page,$this->row);
  29 + $this->response('success',Code::SUCCESS,$list);
  30 + }
  31 +
  32 + /**
  33 + * @remark :获取所有子消息
  34 + * @name :itemList
  35 + * @author :lyh
  36 + * @method :post
  37 + * @time :2025/4/2 15:55
  38 + */
  39 + public function itemList(ChatItem $chatItem){
  40 + $this->request->validate([
  41 + 'chat_id'=>['required'],
  42 + ],[
  43 + 'chat_id.required' => 'chat_id不能为空',
  44 + ]);
  45 + $list = $chatItem->list(['user_id'=>$this->user['id'],'chat_id'=>$this->map['chat_id'],'status'=>1]);
  46 + $this->response('success',Code::SUCCESS,$list);
  47 + }
  48 +
  49 + /**
19 * @remark :发送消息 50 * @remark :发送消息
20 * @name :sendMessage 51 * @name :sendMessage
21 * @author :lyh 52 * @author :lyh
@@ -31,4 +62,21 @@ class ChatController extends BaseController @@ -31,4 +62,21 @@ class ChatController extends BaseController
31 $data = $logic->sendMessage(); 62 $data = $logic->sendMessage();
32 $this->response('success',Code::SUCCESS,$data); 63 $this->response('success',Code::SUCCESS,$data);
33 } 64 }
  65 +
  66 + /**
  67 + * @remark :删除消息
  68 + * @name :del
  69 + * @author :lyh
  70 + * @method :post
  71 + * @time :2025/4/2 15:54
  72 + */
  73 + public function del(Chat $chat){
  74 + $this->request->validate([
  75 + 'id'=>['required'],
  76 + ],[
  77 + 'id.required' => 'id不能为空',
  78 + ]);
  79 + $data = $chat->edit(['status'=>0],['id'=>$this->param['id']]);
  80 + $this->response('success',Code::SUCCESS,$data);
  81 + }
34 } 82 }
@@ -51,7 +51,7 @@ class ChatLogic extends BaseLogic @@ -51,7 +51,7 @@ class ChatLogic extends BaseLogic
51 ]; 51 ];
52 $result = $gptService->get_ai_chat($data); 52 $result = $gptService->get_ai_chat($data);
53 $this->saveChatItem($chatInfo['id'],$result['text'] ?? '服务器繁忙,请重试',1); 53 $this->saveChatItem($chatInfo['id'],$result['text'] ?? '服务器繁忙,请重试',1);
54 - return $this->success($result); 54 + return $this->success(['text'=>$result['text']]);
55 } 55 }
56 } 56 }
57 $id = $this->saveChat($this->param['message']); 57 $id = $this->saveChat($this->param['message']);
@@ -64,7 +64,7 @@ class ChatLogic extends BaseLogic @@ -64,7 +64,7 @@ class ChatLogic extends BaseLogic
64 ]; 64 ];
65 $result = $gptService->get_ai_chat($data); 65 $result = $gptService->get_ai_chat($data);
66 $this->saveChatItem($id,$result['text'] ?? '服务器繁忙,请重试',1); 66 $this->saveChatItem($id,$result['text'] ?? '服务器繁忙,请重试',1);
67 - return $this->success($result); 67 + return $this->success(['text'=>$result['text']]);
68 } 68 }
69 69
70 /** 70 /**
@@ -714,6 +714,9 @@ Route::middleware(['bloginauth'])->group(function () { @@ -714,6 +714,9 @@ Route::middleware(['bloginauth'])->group(function () {
714 }); 714 });
715 //大模型会话 715 //大模型会话
716 Route::prefix('gpt')->group(function () { 716 Route::prefix('gpt')->group(function () {
  717 + Route::any('/', [\App\Http\Controllers\Bside\Gpt\ChatController::class, 'list'])->name('gpt_list');
  718 + Route::any('/itemList', [\App\Http\Controllers\Bside\Gpt\ChatController::class, 'itemList'])->name('gpt_itemList');
  719 + Route::any('/del', [\App\Http\Controllers\Bside\Gpt\ChatController::class, 'del'])->name('gpt_del');
717 Route::any('/sendMessage', [\App\Http\Controllers\Bside\Gpt\ChatController::class, 'sendMessage'])->name('gpt_sendMessage'); 720 Route::any('/sendMessage', [\App\Http\Controllers\Bside\Gpt\ChatController::class, 'sendMessage'])->name('gpt_sendMessage');
718 }); 721 });
719 }); 722 });