From 9ff4df8e7b1f8cd7216a8dd7f63470290102ccac Mon Sep 17 00:00:00 2001 From: maochaoying <925670706@qq.com> Date: Mon, 14 Aug 2023 11:02:03 +0800 Subject: [PATCH] web socket --- src/components/LoginForm.vue | 4 +- src/components/Operator.vue | 14 +++++-- src/components/Setting/components/User.vue | 15 +++++++- src/mock/command.js | 5 +++ src/pages/Home.vue | 5 ++- src/pages/Login.vue | 4 ++ src/socket/index.js | 62 ++++++++++++++++++++++++++++++ src/store/index.js | 3 +- src/store/modules/websocket.js | 32 +++++++++++++++ 9 files changed, 136 insertions(+), 8 deletions(-) create mode 100644 src/mock/command.js create mode 100644 src/socket/index.js create mode 100644 src/store/modules/websocket.js diff --git a/src/components/LoginForm.vue b/src/components/LoginForm.vue index ff4b865..684aa1a 100644 --- a/src/components/LoginForm.vue +++ b/src/components/LoginForm.vue @@ -44,7 +44,9 @@ const handleLogin = () => { return } tip.value = '' - router.push('/') + if (username.value == 'admin' && password.value == '123') { + router.push('/') + } } diff --git a/src/components/Operator.vue b/src/components/Operator.vue index 12bffc5..0202943 100644 --- a/src/components/Operator.vue +++ b/src/components/Operator.vue @@ -63,9 +63,12 @@ import WarnModal from 'cpns/dialogs/WarnModal' import DisinfectantLiquidInfo from 'cpns/info/DisinfectantLiquidInfo' import EnvironmentInfo from 'cpns/info/EnvironmentInfo' import { ref } from 'vue' -import { useOperatorStore } from '@/store' +import { useOperatorStore, useWebSocketStore } from '@/store' +import { startDisinfectionJSON } from '@/mock/command' +import { showSuccessToast, showFailToast } from 'vant' const operatorStore = useOperatorStore() +const webSocketStore = useWebSocketStore() const props = defineProps({ changeShowOperator: { @@ -92,8 +95,13 @@ const changeLogVal = val => { const startDisinfect = () => { // 改变开始消毒状态 如果已经开始则不可点击 if (!operatorStore.disinfectStatus) { - operatorStore.updateDisinfectStatus(true) - props.changeShowOperator(false) + if (roomSize.value == 0) { + showFailToast('请调整房间大小设置,不能为0') + } else { + webSocketStore.sendMsg(startDisinfectionJSON) + operatorStore.updateDisinfectStatus(true) + props.changeShowOperator(false) + } } } diff --git a/src/components/Setting/components/User.vue b/src/components/Setting/components/User.vue index b0158e2..89af345 100644 --- a/src/components/Setting/components/User.vue +++ b/src/components/Setting/components/User.vue @@ -34,12 +34,13 @@ -

*密码限制信息

+

{{ updateUserInfoTip }}

返回
-
修改
+
修改
@@ -110,9 +111,19 @@ import Open from '@/assets/img/login/open.png' const userFormVisible = ref(false) const changePasswordVisible = ref(false) const userModalVisible = ref(false) +const updateUserInfoTip = ref('') +const updateUserNewPassword = ref('') const showAddPassword = ref(false) +const updateUserPassword = () => { + if (updateUserNewPassword.value == '') { + updateUserInfoTip.value = '请输入修改的密码' + return + } + updateUserInfoTip.value = '' +} + const handleAddPasswordShow = () => { showAddPassword.value = !showAddPassword.value } diff --git a/src/mock/command.js b/src/mock/command.js new file mode 100644 index 0000000..c6192b9 --- /dev/null +++ b/src/mock/command.js @@ -0,0 +1,5 @@ +export const startDisinfectionJSON = { + command: '1231', + roomSize: 12, + log: 6, +} diff --git a/src/pages/Home.vue b/src/pages/Home.vue index 2b898c4..40bde25 100644 --- a/src/pages/Home.vue +++ b/src/pages/Home.vue @@ -144,7 +144,10 @@ import Progress from 'cpns/Progress' import LiquidHandle from 'cpns/LiquidHandle' import Setting from 'cpns/Setting' import Test from 'cpns/Test' -import { useOperatorStore } from '@/store' +import { useOperatorStore, useWebSocketStore } from '@/store' + +const webSocketStore = useWebSocketStore() +webSocketStore.initSocket() const showOpertor = ref(true) diff --git a/src/pages/Login.vue b/src/pages/Login.vue index f13692c..92abe24 100644 --- a/src/pages/Login.vue +++ b/src/pages/Login.vue @@ -19,6 +19,10 @@ import Restart from '@/assets/img/login/restart.png' import Shutdown from '@/assets/img/login/shutdown.png' import LoginForm from 'cpns/LoginForm.vue' + +import { useWebSocketStore } from '@/store' +const webSocketStore = useWebSocketStore() +webSocketStore.initSocket()