Browse Source

修改bug,测试USB

caner 2 years ago
parent
commit
2df587cf65
4 changed files with 46 additions and 3 deletions
  1. 1 1
      electron/main.js
  2. 1 1
      package.json
  3. 3 1
      src/App.vue
  4. 41 0
      testUsb.js

+ 1 - 1
electron/main.js

@@ -199,7 +199,7 @@ class MainSerivce {
         this.contrlEvent = null
         this.contrlEvent = null
         dialog.showMessageBox(this.mainWin, { message: msg.text, type: 'error', title: '连接错误' }).then(async ({ response }) => {
         dialog.showMessageBox(this.mainWin, { message: msg.text, type: 'error', title: '连接错误' }).then(async ({ response }) => {
           if (!response) {
           if (!response) {
-            if(msg && msg.text.includes('请链接')) return
+            if (msg && msg.text.includes('请链接')) return
             await sleep(2000)
             await sleep(2000)
             this.connectLogi()
             this.connectLogi()
           }
           }

+ 1 - 1
package.json

@@ -8,7 +8,7 @@
   "scripts": {
   "scripts": {
     "dev": "vite",
     "dev": "vite",
     "buildElectronFile": "esbuild electron/main.js electron/preload.js electron/logiControl.js --format=cjs --outdir=dist/electron/ --bundle --external:electron --platform=node --minify;",
     "buildElectronFile": "esbuild electron/main.js electron/preload.js electron/logiControl.js --format=cjs --outdir=dist/electron/ --bundle --external:electron --platform=node --minify;",
-    "buildMoveFile": "cp -Force -R electron/icon dist/electron/; cp -Force -R loading.html dist/electron/",
+    "buildMoveFile": "cp -R electron/icon dist/electron/; cp -R loading.html dist/electron/",
     "build": "vue-tsc --noEmit; vite build; yarn buildElectronFile; yarn buildMoveFile; electron-builder build;",
     "build": "vue-tsc --noEmit; vite build; yarn buildElectronFile; yarn buildMoveFile; electron-builder build;",
     "test": "electron-builder build"
     "test": "electron-builder build"
   },
   },

+ 3 - 1
src/App.vue

@@ -130,7 +130,9 @@ function countContrlData(v: number) {
 
 
 // 发送语音
 // 发送语音
 function sendAudio(blob: Blob) {
 function sendAudio(blob: Blob) {
-  window.$electron.send('sendMqtt', { type: 'Meadia', Meadia: blob })
+  if (showLoading.value) return
+  const a = JSON.stringify(blob)
+  window.$electron.send('sendMqtt', { type: 'Meadia', Meadia: a })
 }
 }
 
 
 // 窗口事件
 // 窗口事件

+ 41 - 0
testUsb.js

@@ -0,0 +1,41 @@
+// import { getDeviceList } from 'usb';
+const { WebUSB } = require('usb')
+// const devices = getDeviceList();
+// console.log(666,devices);
+const customWebUSB = new WebUSB({
+    // Bypass checking for authorised devices
+    allowAllDevices: true
+});
+
+
+customWebUSB.getDevices().then(res => {
+    for (const device of res) {
+        if (device.productName.includes('G923')) {
+            device.open()
+            // console.log(1,device);
+
+            // device.selectConfiguration(1).then(red=>{
+            //     console.log(5,red);
+            // })
+  
+            const interface = device.device.interfaces[2];
+            interface.claim();
+
+            console.log(2,interface);
+            // console.log(6, interface); // WebUSB device
+            const endpointIn = interface.endpoints.find((ep) => ep.direction === 'in');
+            endpointIn.on('data', (data) => {
+                console.log('Received data:', data);
+            });
+
+            endpointIn.on('error', (err) => {
+                console.error('USB endpoint error:', err);
+                device.close()
+            });
+            console.log(3,endpointIn.startPoll);
+            endpointIn.startPoll(500); // 调整间隔时间以适应设备通信速率
+        }
+    }
+})
+
+