chenyc
2025-06-10 02cda108e3d49036fbfd628458e84ca9c360d257
src/samples/deviceApi/XK3190A12.ts
@@ -16,8 +16,6 @@
let serialPort:any; // 串口实例
const initPort=(path:String,baudRate:Number)=>{
    // 是否清零了
   let  sfqingling=true
    // 配置文件定义的对此次数
    const yanjiancishu=confingInfoStore().confingInfo.jianyancishu===undefined?4:confingInfoStore().confingInfo.jianyancishu
    console.log('初始化打开XK3190-A12体重秤端口',yanjiancishu)
@@ -100,10 +98,10 @@
        const parser = serialport.pipe(new DelimiterParser({ delimiter:Buffer.from([107,103,13,10]),includeDelimiter:true }))
        parser.on('data', (value: string | any[])=>{
            console.log(value.toString())
            const str=value.toString()
            const str=value.toString()
            // 截取结果
            // const list=str.substring(2,10) 得到数字
            ipcRenderer.invoke('logger', `收到体重秤数据${value.toString()}`)
            const list = parseFloat(str.replace(/[^\d.]/g, '')).toString();
            console.log(list)
            if(Number(list)>20){
@@ -117,9 +115,9 @@
                // 对比4次结果都一致
                if(duibinum>=yanjiancishu){
                    // 数据发送  体重没有清零  下次就不播报不发送
                    sfqingling=false
                    const res=Number(list)
                    console.log(res,'获取到的体重')
                    ipcRenderer.invoke('logger', `获取到的体重${res.toString()}`)
                    sockteStore().setweightSockte(
                        {
                            deviceName:'XK3190-A12',
@@ -132,14 +130,14 @@
                    duibinum=0
                    lisijieguo=''
                }else{
                    // sfqingling=false
                }
                
            }else{
                sfqingling=true
                console.log('小于20')
                // 小于20 就做测量准备 可以扫码识别了
                sockteStore().setis测量准备(true)
                // ipcRenderer.invoke('logger', `小于20就算归零状态了,可以继续人脸识别`)
            }  
        }) // all data after READY is received
    }
@@ -152,75 +150,7 @@
    }
    
    // const serialport  = new SerialPort({ path, baudRate }, (err: any) => {
    //     if (err) {
    //         console.log(err)
    //         ElMessage({
    //             message: 'XK3190-A12体重秤端口打开失败!',
    //             type: 'error',
    //         })
    //         console.log(err)
    //     }else{
    //         ElMessage({
    //             message: 'XK3190-A12体重秤端口打开成功',
    //             type: 'success',
    //         })
    //     }
    // })
    // serialport.on("close",(err: any)=>{
    //     console.log('XK3190-A12体重秤端口异常端口链接断开')
    //     console.log(err)
    // })
    // // 解析分割数据流
    // // 77 6E 30 30 30 30 30 2E 30 6B 67 0D 0A
    // // 77 6E 30 30 30 30 32 38 2E 36 6B 67 0D 0A
    // // 77 6E 30 30 30 30 32 38 2E 36 6B 67 0D 0A
    // //wn000016.6kg
    // const parser = serialport.pipe(new DelimiterParser({ delimiter:Buffer.from([107,103,13,10]),includeDelimiter:true }))
    // parser.on('data', (value: string | any[])=>{
    //     console.log(value.toString())
    //     const str=value.toString()
    //     // 截取结果
    //     // const list=str.substring(2,10) 得到数字
    //     const list = parseFloat(str.replace(/[^\d.]/g, '')).toString();
    //     console.log(list)
    //     if(Number(list)>20){
    //         // 判断是否相等 相等加一
    //         if(list===lisijieguo){
    //             duibinum++
    //         }else{
    //             lisijieguo=list
    //             duibinum=0
    //         }
    //         // 对比4次结果都一致
    //         if(duibinum>=yanjiancishu){
    //             // 数据发送  体重没有清零  下次就不播报不发送
    //             sfqingling=false
    //             const res=Number(list)
    //             console.log(res,'获取到的体重')
    //             sockteStore().setweightSockte(
    //                 {
    //                     deviceName:'XK3190-A12',
    //                     type:"体重秤",
    //                     result:res.toString(),
    //                     resultTime:new Date().toString(),
    //                     state:2
    //                 }
    //             )
    //             duibinum=0
    //             lisijieguo=''
    //         }else{
    //             // sfqingling=false
    //         }
    //     }else{
    //         sfqingling=true
    //         console.log('小于20')
    //     }
    // }) // all data after READY is received
}
export {