diff --git a/app/Http/Controllers/Api/DialogController.php b/app/Http/Controllers/Api/DialogController.php index 8c6322017..3e8c3edef 100755 --- a/app/Http/Controllers/Api/DialogController.php +++ b/app/Http/Controllers/Api/DialogController.php @@ -742,7 +742,7 @@ class DialogController extends AbstractController * @apiName msg__forward * * @apiParam {Number} msg_id 消息ID - * @apiParam {String} emoji 回复或取消的emoji表情 + * @apiParam {String} symbol 回复或取消的emoji表情 * * @apiSuccess {Number} ret 返回状态码(1正确、0错误) * @apiSuccess {String} msg 返回信息(错误描述) @@ -753,9 +753,9 @@ class DialogController extends AbstractController $user = User::auth(); // $msg_id = intval(Request::input("msg_id")); - $emoji = Request::input("emoji"); + $symbol = Request::input("symbol"); // - if (!preg_match("/^[\u{d800}-\u{dbff}]|[\u{dc00}-\u{dfff}]$/", $emoji)) { + if (!preg_match("/^[\u{d800}-\u{dbff}]|[\u{dc00}-\u{dfff}]$/", $symbol)) { return Base::retError("参数错误"); } // @@ -765,7 +765,7 @@ class DialogController extends AbstractController } WebSocketDialog::checkDialog($msg->dialog_id); // - return $msg->emojiMsg($emoji, $user->userid); + return $msg->emojiMsg($symbol, $user->userid); } /** diff --git a/app/Models/WebSocketDialogMsg.php b/app/Models/WebSocketDialogMsg.php index d9b5236db..a4a690d4b 100644 --- a/app/Models/WebSocketDialogMsg.php +++ b/app/Models/WebSocketDialogMsg.php @@ -197,16 +197,16 @@ class WebSocketDialogMsg extends AbstractModel /** * emoji回复 - * @param $emoji + * @param $symbol * @param int $sender 发送的会员ID * @return mixed */ - public function emojiMsg($emoji, $sender) + public function emojiMsg($symbol, $sender) { $exist = false; $array = $this->emoji; foreach ($array as $index => &$item) { - if ($item['symbol'] === $emoji) { + if ($item['symbol'] === $symbol) { if (in_array($sender, $item['userids'])) { // 已存在 去除 $item['userids'] = array_values(array_diff($item['userids'], [$sender])); @@ -224,7 +224,7 @@ class WebSocketDialogMsg extends AbstractModel } if (!$exist) { array_unshift($array, [ - 'symbol' => $emoji, + 'symbol' => $symbol, 'userids' => [$sender] ]); } diff --git a/resources/assets/js/pages/manage/components/DialogItem.vue b/resources/assets/js/pages/manage/components/DialogItem.vue index d546c4c60..14e799a10 100644 --- a/resources/assets/js/pages/manage/components/DialogItem.vue +++ b/resources/assets/js/pages/manage/components/DialogItem.vue @@ -87,8 +87,8 @@ export default { this.dispatch("on-view-file", e) }, - onEmoji(e) { - this.dispatch("on-emoji", e) + onEmoji(data) { + this.dispatch("on-emoji", data) }, dispatch(event, arg) { diff --git a/resources/assets/js/pages/manage/components/DialogView.vue b/resources/assets/js/pages/manage/components/DialogView.vue index cb84e0639..c5faa5bc7 100644 --- a/resources/assets/js/pages/manage/components/DialogView.vue +++ b/resources/assets/js/pages/manage/components/DialogView.vue @@ -386,8 +386,11 @@ export default { this.$emit("on-view-file", e) }, - onEmoji(emoji) { - this.$emit("on-emoji", emoji) + onEmoji(symbol) { + this.$emit("on-emoji", { + msg_id: this.msgData.id, + symbol + }) }, } } diff --git a/resources/assets/js/pages/manage/components/DialogWrapper.vue b/resources/assets/js/pages/manage/components/DialogWrapper.vue index e7878c849..701e0716c 100644 --- a/resources/assets/js/pages/manage/components/DialogWrapper.vue +++ b/resources/assets/js/pages/manage/components/DialogWrapper.vue @@ -1262,24 +1262,26 @@ export default { }); }, - onEmoji(emoji) { - const msg_id = this.operateItem.id; + onEmoji(data) { + if (!$A.isJson(data)) { + data = { + msg_id: this.operateItem.id, + symbol: data, + } + } this.$store.dispatch("setLoad", { - key: `msg-${msg_id}`, + key: `msg-${data.msg_id}`, delay: 600 }) this.$store.dispatch("call", { url: 'dialog/msg/emoji', - data: { - msg_id, - emoji, - }, + data, }).then(({data}) => { this.$store.dispatch("saveDialogMsg", data); }).catch(({msg}) => { $A.messageError(msg); }).finally(_ => { - this.$store.dispatch("cancelLoad", `msg-${msg_id}`) + this.$store.dispatch("cancelLoad", `msg-${data.msg_id}`) }); } } diff --git a/resources/assets/js/pages/manage/file.vue b/resources/assets/js/pages/manage/file.vue index 9a1bf98f6..77cd2659a 100644 --- a/resources/assets/js/pages/manage/file.vue +++ b/resources/assets/js/pages/manage/file.vue @@ -79,7 +79,7 @@ :class="{ shear: shearIds.includes(item.id), highlight: selectIds.includes(item.id), - operation: contextMenuVisible && item.id === contextMenuItem.id, + operate: contextMenuVisible && item.id === contextMenuItem.id, }" :data-id="item.id" v-longpress="handleLongpress" diff --git a/resources/assets/js/pages/manage/messenger.vue b/resources/assets/js/pages/manage/messenger.vue index 4039bda83..bb408a555 100644 --- a/resources/assets/js/pages/manage/messenger.vue +++ b/resources/assets/js/pages/manage/messenger.vue @@ -44,7 +44,7 @@ :class="{ top: dialog.top_at, active: dialog.id == dialogId, - operate: dialog.id == operateItem.id && operateVisible, + operate: operateVisible && dialog.id == operateItem.id, completed: $A.dialogCompleted(dialog) }" :data-id="dialog.id" @@ -72,7 +72,10 @@