Browse Source

mod:socket

panqiuyao 8 tháng trước cách đây
mục cha
commit
1fac7ecdc4

+ 2 - 2
electron/controller/socket.js

@@ -30,11 +30,11 @@ class SocketController extends Controller {
       socket.on('message', (data) => {
         try {
           let this_data = JSON.parse(data.toString());
+          console.log(this_data.msg_type);
+          console.log(this_data);
           if(this_data.msg_type){
             let channel = 'controller.socket.message_'+this_data.msg_type;
             win.webContents.send(channel, this_data);
-            //   win.webContents.send('controller.socket.message', data.toString());
-
           }
         }catch (e){
           console.log(e)

+ 2 - 1
frontend/src/stores/modules/socket.ts

@@ -12,10 +12,11 @@ const socket = defineStore('socket', ()=>{
     async function connectSocket(){
         if(!clientStore.isClient) return;
         new  Promise((resolve,reject)=>{
-            if(socket) resolve(socket)
+            if(socket){ resolve(socket)}
             clientStore.ipc.removeAllListeners(icpList.socket.connect);
             clientStore.ipc.send(icpList.socket.connect);
             clientStore.ipc.on(icpList.socket.connect, async (event, result) => {
+                console.log('aaaa')
                 socket.value = result
                 resolve(result)
             })

+ 21 - 9
frontend/src/views/Home/index.vue

@@ -41,7 +41,14 @@
 
     <el-button type="info"  @click="openSeeting">打开设置</el-button>
     <el-button type="info"  @click="openTplSeeting">打开主图和详情设置</el-button>
+
+
+
+    <el-button type="info"  @click="connect_mcu">链接MCU</el-button>
+    <el-button type="info"  @click="connect_bluetooth">连接蓝牙</el-button>
+    <el-button @click="socketDisconnect">socket 断开</el-button>
     <router-link
+        class="mar-left-10"
         :to="{
           name:'PhotographyCheck'
       }"
@@ -49,6 +56,7 @@
       <el-button type="warning">拍摄物体</el-button>
     </router-link>
     <router-link
+        class="mar-left-10"
       :to="{
           name:'PhotographyShot'
       }"
@@ -56,10 +64,11 @@
     <el-button type="warning">拍摄商品</el-button>
   </router-link>
 
-    <el-button type="danger">Danger</el-button>
 <!--    <hardware-check v-model="checkVisible" @confirm="onCheckComplete"></hardware-check>-->
     <Login v-model:dialogVisible="dialogVisible" @login-success="handleLoginSuccess"/>
-    <el-button type="primary"  @click="loginIn">登录成功</el-button>
+    <el-button
+        class="mar-left-10"
+        type="primary"  @click="loginIn">登录成功</el-button>
   </div>
 
 
@@ -236,15 +245,15 @@ function connect_mcu(){
 
 }
 
-function connect_bluetooth(){
+async function connect_bluetooth(){
 
-  if(clientStore.isClient){
+    await socketStore.connectSocket();
+     socketStore.sendMessage({type: 'connect_bluetooth',})
 
-     socketStore.sendMessage({
-       type: 'connect_bluetooth',
-       data:"connect_bluetooth"
-    })
-  }
+      clientStore.ipc.on(icpList.socket.message+'_blue_tooth', (event, result) => {
+        console.log('4')
+        console.log(result)
+      });
 
 }
 
@@ -285,6 +294,9 @@ function openTplSeeting(){
   }
   clientStore.ipc.send(icpList.utils.openMain,params);
 }
+
+
+
 </script>
 
 <style scoped>

+ 76 - 4
frontend/src/views/Photography/shot.vue

@@ -6,6 +6,14 @@
         {
           type:'setting'
         },
+        {
+          name:'首页',
+          click:()=>{
+            this.$router.push({
+              name: 'home'
+            })
+          }
+        },
     ]"
   />
   <div class="photography-page flex-col">
@@ -39,9 +47,9 @@
                 <span class="method-description">手工输入货号</span>
               </div>
               <div class="input-container flex-row">
-                <el-input class="input-item" v-model="input2" placeholder="请输入货号">
+                <el-input class="input-item" v-model="goods_art_no" placeholder="请输入货号">
                   <template #append>
-                    <el-button class="input-button" type="primary" @click="input2 = ''">确认</el-button>
+                    <el-button class="input-button" type="primary" @click="runGoods">确认</el-button>
                   </template>
                 </el-input>
 
@@ -199,13 +207,77 @@
 </template>
 <script setup lang="ts">
 import headerBar from '@/components/header-bar/index.vue'
-import { ref } from 'vue'
+import { ref,reactive, onMounted } from 'vue'
 import { ossResize } from '@/utils/appfun'
-const input2 = ref('')
+import  icpList from '@/utils/ipc'
+import client from "@/stores/modules/client";
+import socket from "@/stores/modules/socket";
+const goods_art_no = ref('')
 const loading = ref(true)
 const test_image_url = ref('https://shadow.elemecdn.com/app/element/hamburger.9cf7b091-55e9-11e9-a976-7f4d0b07eef6.png')
 
 
+const clientStore = client();
+const runAction = ref({
+  "action": "",
+  "goods_art_no": ""
+})
+
+onMounted(()=>{
+
+  clientStore.ipc.on(icpList.socket.message+'_blue_tooth_scan', (event, result) => {
+    console.log('blue_tooth_scan')
+    console.log(result)
+    if(result.code === 0  && result.data?.data){
+      runGoods(result.data?.data)
+    }
+
+    /*
+    *
+    {
+      "code": 0,
+      "msg": "准备执行[执行左脚程序]",
+      "status": 2,
+      "data": {
+          "data": {
+              "action": "执行左脚程序",
+              "goods_art_no": "6957535123138"
+          },
+          "type": "run_mcu"
+      },
+      "msg_type": "blue_tooth_scan"
+    }
+    *
+    * */
+  });
+
+  //mcu信息  监听  调试用
+  clientStore.ipc.on(icpList.socket.message+'_mcu', (event, result) => {
+    console.log('mcu')
+    console.log(result)
+  })
+
+
+
+})
+
+// 初始化 WebSocket 状态管理
+const socketStore = socket()
+
+async function runGoods(data){
+    socketStore.sendMessage({
+       type: 'run_mcu',
+       data,
+     })
+
+    runAction.value = data
+
+}
+
+
+
+
+
 </script>
 
 <style scoped lang="scss">