From 0de5899cc570a66e42690f29a4bf069b9eeba55e Mon Sep 17 00:00:00 2001 From: yubinCloud Date: Thu, 29 Apr 2021 13:15:41 +0800 Subject: [PATCH] =?UTF-8?q?10-9=20=E9=80=9A=E8=BF=87=20ws=20=E5=AE=8C?= =?UTF-8?q?=E6=88=90=E7=82=B9=E8=B5=9E=E9=80=9A=E7=9F=A5=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=EF=BC=8C=E5=BD=93=E7=94=A8=E6=88=B7=E7=82=B9=E8=B5=9E=E6=97=B6?= =?UTF-8?q?=EF=BC=8C=E5=90=8E=E7=AB=AF=E9=80=9A=E8=BF=87=20ws=20=E5=90=91?= =?UTF-8?q?=E6=89=80=E6=9C=89=E5=AE=A2=E6=88=B7=E7=AB=AF=E6=8E=A8=E9=80=81?= =?UTF-8?q?=E4=B8=80=E6=9D=A1=E7=82=B9=E8=B5=9E=E9=80=9A=E7=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../yubincloud/fairywiki/service/DocService.java | 10 ++++++++-- web/src/components/the-footer.vue | 6 ++++++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/main/java/io/github/yubincloud/fairywiki/service/DocService.java b/src/main/java/io/github/yubincloud/fairywiki/service/DocService.java index 351c7fc..7e23cb1 100644 --- a/src/main/java/io/github/yubincloud/fairywiki/service/DocService.java +++ b/src/main/java/io/github/yubincloud/fairywiki/service/DocService.java @@ -18,10 +18,11 @@ import io.github.yubincloud.fairywiki.utils.CopyUtil; import io.github.yubincloud.fairywiki.utils.RedisUtil; import io.github.yubincloud.fairywiki.utils.RequestContext; import io.github.yubincloud.fairywiki.utils.SnowFlake; -import org.apache.commons.lang3.ObjectUtils; +import io.github.yubincloud.fairywiki.websocket.WebSocketServer; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; +import org.springframework.util.ObjectUtils; import javax.annotation.Resource; import java.util.List; @@ -46,6 +47,9 @@ public class DocService { @Resource private RedisUtil redisUtil; + @Resource + private WebSocketServer webSocketServer; + /** * 获取全部 Doc */ @@ -143,7 +147,9 @@ public class DocService { } else { throw new BusinessException(BusinessExceptionCode.VOTE_REPEAT); } - docMapperCustom.increaseVoteCount(docId); + // 向 ws 推送消息 + Doc docInDb = docMapper.selectByPrimaryKey(docId); + webSocketServer.sendInfo("【" + docInDb.getName() + "】被点赞!"); } /** diff --git a/web/src/components/the-footer.vue b/web/src/components/the-footer.vue index 41bd5f1..b84fc03 100644 --- a/web/src/components/the-footer.vue +++ b/web/src/components/the-footer.vue @@ -9,6 +9,8 @@ import {computed, defineComponent, onMounted} from "vue"; import store from "@/store"; import { Tool } from "@/util/tool"; +import { notification } from 'ant-design-vue'; + export default defineComponent({ name: 'the-footer', @@ -22,6 +24,10 @@ export default defineComponent({ }; const onMessage = (event: any) => { console.log('WebSocket收到消息:', event.data); + notification['info']({ + message: '收到消息', + description: event.data, + }); }; const onError = () => { console.log('WebSocket连接错误,状态码:', websocket.readyState) -- GitLab