浏览代码

mod:商品拍摄

panqiuyao 8 月之前
父节点
当前提交
ed0a683682

+ 2 - 2
electron/controller/socket.js

@@ -16,13 +16,12 @@ class SocketController extends Controller {
   async connect() {
     if(socket)  return;
 
-    return new Promise(async (resolve,reject) => {
+     await new Promise(async (resolve,reject) => {
       socket = new WebSocket('ws://10.56.42.176:7074/ws');
 
       const win = CoreWindow.getMainWindow()
       // 监听连接成功事件
       socket.on('open', () => {
-        console.log('socket open')
         resolve(true);
       });
 
@@ -58,6 +57,7 @@ class SocketController extends Controller {
 
       });
 
+      console.log('socket end')
 
     })
 

+ 6 - 12
electron/controller/windows.js

@@ -2,6 +2,8 @@
 
 const Addon = require('ee-core/addon');
 const { Controller } = require('ee-core');
+const config = require('../config/config.default');
+console.log(config);
 
 /**
  * example
@@ -20,7 +22,6 @@ const { Controller } = require('ee-core');
     if( this.app.electron[config.id]) return;
     const win = new BrowserWindow({
       ...config,
-
       webPreferences: {
         webSecurity: false,
         contextIsolation: false, // false -> 可在渲染进程中使用electron的api,true->需要bridge.js(contextBridge)
@@ -36,22 +37,15 @@ const { Controller } = require('ee-core');
     win.on('close', () => {
       delete this.app.electron[config.id]; // 删除窗口引用
     });
-
     this.app.electron[config.id] = win ;
-
   }
 
-  /**
-   * 打开新窗口
-   */
-  closeWindows (id) {
-
+  closeWindow(id) {
+    if(this.app.electron[id]) this.app.electron[id].close()
   }
-  /**
-   * 窗口最小化
-   */
-  miniWindows (id) {
 
+  minimizeWindow(id) {
+    if(this.app.electron[id]) this.app.electron[id].minimize()
   }
 }
 

+ 11 - 16
frontend/src/stores/modules/socket.ts

@@ -14,22 +14,17 @@ const socket = defineStore('socket', ()=>{
         socket.value = null
     })
 
-
-    async function connectSocket(){
-        if(!clientStore.isClient) return;
-        new  Promise((resolve,reject)=>{
-            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)
-            })
-
-        })
-    }
-
+async function connectSocket(){
+    if(!clientStore.isClient) return;
+    await new Promise((resolve, reject) => {
+        clientStore.ipc.removeAllListeners(icpList.socket.connect);
+        clientStore.ipc.send(icpList.socket.connect);
+        clientStore.ipc.on(icpList.socket.connect+'_open', async (event, result) => {
+            socket.value = result;
+            resolve(result);
+        });
+    });
+}
 
 
     async function disconnectSocket(){

+ 26 - 5
frontend/src/views/Photography/shot.vue

@@ -171,7 +171,8 @@ import { getFilePath } from '@/utils/appfun'
 
 
 const loading = ref(false)
-const nextLoading = ref(false)
+const runLoading = ref(false)
+const takePictureLoading = ref(false)
 
 
 const clientStore = client();
@@ -221,7 +222,7 @@ async function runGoods(data) {
     type: 'run_mcu',
     data,
   })
-  nextLoading.value = true;
+  runLoading.value = true;
   runAction.value = data
   goods_art_no.value = ''
   goods_art_no_tpl.value = ''
@@ -258,7 +259,7 @@ const del = async function(params){
 }
 
 const  next = async function(){
-  if(nextLoading.value){
+  if(runLoading.value){
     ElMessage.error('正在拍摄中,请稍候')
     return;
   }
@@ -311,7 +312,10 @@ onMounted(async () => {
   clientStore.ipc.on(icpList.socket.message + '_photo_take', (event, result) => {
     console.log('_photo_take')
     console.log(result)
-    if(result.status === 2 && result.msg.includes('执行完成')) getPhotoRecords()
+    if(result.status === 2 && result.msg.includes('执行完成')){
+      getPhotoRecords()
+      takePictureLoading.value = false;
+    }
 
   })
 
@@ -319,7 +323,24 @@ onMounted(async () => {
   clientStore.ipc.on(icpList.socket.message + '_photo_take_finish', (event, result) => {
     console.log('_photo_take_finish')
     console.log(result)
-    if(result.code === 0) nextLoading.value = false;
+    if(result.code === 0) runLoading.value = false;
+
+  })
+
+
+  clientStore.ipc.on(icpList.socket.message + '_handler_take_picture', async (event, result) => {
+    console.log('_photo_take_finish')
+    console.log(result)
+    if(result.code === 0){
+      if(runLoading.value || takePictureLoading.value){
+        ElMessage.error('拍摄程序正在运行,请稍候')
+        return
+      }
+      await socketStore.connectSocket();
+      socketStore.sendMessage(result.data)
+      takePictureLoading.value = true;
+
+    }
 
   })