From f193fea9d21d98f35755baa0e64fc72bc5dceece Mon Sep 17 00:00:00 2001 From: Hepatica Date: Mon, 15 Jan 2024 20:29:32 +0100 Subject: [PATCH] Add chat logic class for web sockets --- .../assets/js/authentication/AuthService.js | 9 ---- luckydiamond/src/assets/js/chat/ChatLogic.js | 50 +++++++++++++++++++ luckydiamond/src/components/ChatComponent.vue | 3 ++ luckydiamond/src/main.js | 8 ++- luckydiamond/src/properties/Сonfig.js | 5 +- 5 files changed, 64 insertions(+), 11 deletions(-) create mode 100644 luckydiamond/src/assets/js/chat/ChatLogic.js diff --git a/luckydiamond/src/assets/js/authentication/AuthService.js b/luckydiamond/src/assets/js/authentication/AuthService.js index ba2ca16..1a6d021 100644 --- a/luckydiamond/src/assets/js/authentication/AuthService.js +++ b/luckydiamond/src/assets/js/authentication/AuthService.js @@ -1,15 +1,6 @@ import { Post } from '../rest/RestMethods.js'; import { BackendApiUrl } from '@/properties/Сonfig.js'; -// export function -// LogIn(authCode) { -// return Post(BackendApiUrl + "/LogIn", { code: authCode }).then((data) => { -// console.log(data); -// return data; -// }).catch(error => { -// console.log(error) -// }); -// } export async function LogIn(authCode) { try { const response = await Post(BackendApiUrl + "/Authorize/LogIn", { code: authCode }); diff --git a/luckydiamond/src/assets/js/chat/ChatLogic.js b/luckydiamond/src/assets/js/chat/ChatLogic.js new file mode 100644 index 0000000..b5c47e0 --- /dev/null +++ b/luckydiamond/src/assets/js/chat/ChatLogic.js @@ -0,0 +1,50 @@ +import { BackendWebSocketUrl } from '@/properties/Сonfig.js'; +import { + GetCookie +} from "@/assets/js/storage/CookieStorage.js"; +import WritechatComponent from "@/components/WritechatComponent.vue"; + + +let webSocket; + +export function ConnectToChat() { + try { + webSocket = new WebSocket(BackendWebSocketUrl); + + webSocket.onopen = function () { + console.log('Connection established'); + // webSocket.send('Hello, Server!'); + }; + + webSocket.onmessage = function (event) { + + WritechatComponent.ClaimDatamsg(event.data); + console.log('Message from Server:', event.data); + }; + + webSocket.onclose = function () { + console.log('Connection closed'); + }; + + webSocket.onerror = function (event) { + console.error('WebSocket Error:', event); + }; + } catch (error) { + console.error('Error in ConnectToChat:', error); + } +} + +export function SendMessageToChat(message) { + try { + const data = { + SpUserName: GetCookie("SpUserName"), + SearchToken: GetCookie("SearchToken"), + Message: message + }; + + webSocket.send(JSON.stringify(data)); + + } catch (error) { + console.error('Error in ConnectToChat:', error); + } +} \ No newline at end of file diff --git a/luckydiamond/src/components/ChatComponent.vue b/luckydiamond/src/components/ChatComponent.vue index 803f717..4e879e9 100644 --- a/luckydiamond/src/components/ChatComponent.vue +++ b/luckydiamond/src/components/ChatComponent.vue @@ -34,6 +34,7 @@