From 0579a73c1c5393c9273a391b975f47e5b74dd800 Mon Sep 17 00:00:00 2001 From: kuaifan Date: Tue, 19 Dec 2023 15:14:03 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E4=BC=98=E5=8C=96=E5=BE=85=E5=8A=9E?= =?UTF-8?q?=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Http/Controllers/Api/DialogController.php | 10 +++++--- resources/assets/js/store/actions.js | 23 +++++++++++-------- 2 files changed, 21 insertions(+), 12 deletions(-) diff --git a/app/Http/Controllers/Api/DialogController.php b/app/Http/Controllers/Api/DialogController.php index 004c8bdd7..00d29bc67 100755 --- a/app/Http/Controllers/Api/DialogController.php +++ b/app/Http/Controllers/Api/DialogController.php @@ -249,7 +249,7 @@ class DialogController extends AbstractController * @apiGroup dialog * @apiName todo * - * @apiParam {Number} dialog_id 会话ID + * @apiParam {Number} [dialog_id] 会话ID * * @apiSuccess {Number} ret 返回状态码(1正确、0错误) * @apiSuccess {String} msg 返回信息(错误描述) @@ -261,9 +261,13 @@ class DialogController extends AbstractController // $dialog_id = intval(Request::input('dialog_id')); // - WebSocketDialog::checkDialog($dialog_id); + $builder = WebSocketDialogMsgTodo::whereUserid($user->userid)->whereDoneAt(null); + if ($dialog_id > 0) { + WebSocketDialog::checkDialog($dialog_id); + $builder->whereDialogId($dialog_id); + } // - $list = WebSocketDialogMsgTodo::whereDialogId($dialog_id)->whereUserid($user->userid)->whereDoneAt(null)->orderByDesc('id')->take(50)->get(); + $list = $builder->orderByDesc('id')->take(50)->get(); return Base::retSuccess("success", $list); } diff --git a/resources/assets/js/store/actions.js b/resources/assets/js/store/actions.js index c17f17ae8..1d5fe051a 100644 --- a/resources/assets/js/store/actions.js +++ b/resources/assets/js/store/actions.js @@ -551,6 +551,7 @@ export default { // dispatch("getProjects").catch(() => {}); dispatch("getDialogs").catch(() => {}); + dispatch("getDialogTodo", 0).catch(() => {}); dispatch("getReportUnread", 1000); dispatch("getApproveUnread", 1000); dispatch("getTaskForDashboard"); @@ -2479,17 +2480,21 @@ export default { }, }).then(({data}) => { if ($A.arrayLength(data) > 0) { - dispatch("saveDialog", { - id: dialog_id, - todo_num: $A.arrayLength(data) - }); - state.dialogTodos = state.dialogTodos.filter(item => item.dialog_id != dialog_id) + if (dialog_id > 0) { + dispatch("saveDialog", { + id: dialog_id, + todo_num: $A.arrayLength(data) + }); + state.dialogTodos = state.dialogTodos.filter(item => item.dialog_id != dialog_id) + } dispatch("saveDialogTodo", data) } else { - dispatch("saveDialog", { - id: dialog_id, - todo_num: 0 - }); + if (dialog_id > 0) { + dispatch("saveDialog", { + id: dialog_id, + todo_num: 0 + }); + } } }).catch(console.warn); },