From 89ab2ec7f8790c5cc184de98682af032c69c2afc Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期三, 11 九月 2024 15:13:27 +0800
Subject: [PATCH] 2024.9.11
---
src/views/inspection/WorkStream.vue | 91 ++++++++++++++++++++++++++++++++++++---------
1 files changed, 72 insertions(+), 19 deletions(-)
diff --git a/src/views/inspection/WorkStream.vue b/src/views/inspection/WorkStream.vue
index 769878e..6408be8 100644
--- a/src/views/inspection/WorkStream.vue
+++ b/src/views/inspection/WorkStream.vue
@@ -1,27 +1,36 @@
<template>
- <div class="border-r-small m-h-2 p-h-4">
+ <!-- <div class="border-r-small m-h-2 p-h-4"> -->
+ <BaseCard>
+ <!-- <div>
+ <input type="text" v-model="inputVal" />
+ <button @click="handleSend">send</button>
+ <button @click="handleLink">link</button>
+ </div> -->
+ <div>涓氬姟鐘舵�佷腑鎺�</div>
<el-scrollbar ref="scrollbarRef" :height="height">
<div ref="scrollContentRef">
<div v-for="item in streams" :key="item.index">
<el-text type="primary">[{{ item.time }}]: </el-text>
<el-text>鐢ㄦ埛</el-text>
- <el-text type="warning">{{ item.user }}</el-text>
- <el-text>鍦�</el-text>
- <el-text type="success">{{ item.obj }}</el-text>
+ <el-text type="warning">{{ item.userName }}</el-text>
+ <!-- <el-text>鍦�</el-text>
+ <el-text type="success">{{ item.obj }}</el-text> -->
<el-text>{{ item.event }}</el-text>
</div>
</div>
</el-scrollbar>
- </div>
+ </BaseCard>
+ <!-- </div> -->
</template>
<script setup>
-import { reactive, ref, onMounted, inject } from 'vue'
+import { reactive, ref, onMounted, onUnmounted, inject } from 'vue'
import dayjs from 'dayjs'
import { unCalc } from '@/utils/css-util'
+import { ws } from '@/api/index'
const excludeMapHeight = inject('excludeMapHeight')
-const height = `calc(${unCalc(excludeMapHeight)} - 30px)`
+const height = `calc(${unCalc(excludeMapHeight)} - 36px)`
const streams = reactive([])
const scrollContentRef = ref()
@@ -57,18 +66,62 @@
}, 100)
}
+const inputVal = ref('')
+
+const handleSend = () => {
+ if (socket) {
+ socket.send(inputVal.value)
+ }
+}
+
+let socket
+const handleLink = () => {
+ if (socket) {
+ socket.close()
+ }
+ socket = new WebSocket(`ws://192.168.0.138:8082/workstream`)
+ // 涓庢湇鍔″櫒寤虹珛杩炴帴锛氬彂閫佹秷鎭埌鏈嶅姟鍣�
+ socket.onopen = () => {
+ console.log('connect: ')
+ }
+ // 鏀跺埌鏈嶅姟鍣ㄥ彂閫佺殑娑堟伅锛歟vent澶勭悊鏈嶅姟鍣ㄨ繑鍥炵殑鏁版嵁
+ socket.onmessage = (event) => {
+ console.log('receive: ', event.data)
+ putWorkStream(event.data)
+ }
+ // 杩炴帴鎴栭�氫俊杩囩▼涓彂鐢熼敊璇�
+ socket.onerror = (event) => {
+ console.log('errror: ', event.error)
+ }
+ // 涓庢湇鍔″櫒鏂紑杩炴帴
+ socket.onclose = (event) => {
+ console.log('close: ', event.code)
+ }
+}
+
+/**
+ * 娣诲姞涓�鏉″伐浣滄祦淇℃伅
+ * @param {*} data
+ */
+function putWorkStream(data) {
+ const obj = JSON.parse(data)
+ streams.push(obj)
+ scrollToBottom()
+}
+
onMounted(() => {
- // var index = 0
- setInterval(() => {
- streams.push({
- // index: index,
- time: dayjs().format('YYYY-MM-DD HH:mm:ss'),
- user: users[parseInt(Math.random() * users.length)],
- obj: objs[parseInt(Math.random() * objs.length)],
- event: events[parseInt(Math.random() * events.length)]
- })
- scrollToBottom()
- // index++
- }, 10000)
+ handleLink()
+ // setInterval(() => {
+ // streams.push({
+ // time: dayjs().format('YYYY-MM-DD HH:mm:ss'),
+ // user: users[parseInt(Math.random() * users.length)],
+ // obj: objs[parseInt(Math.random() * objs.length)],
+ // event: events[parseInt(Math.random() * events.length)]
+ // })
+ // scrollToBottom()
+ // }, 10000)
+})
+onUnmounted(() => {
+ socket.close()
})
</script>
--
Gitblit v1.9.3