fei.wang
10 天以前 ae7b22322555448d95fd56f505bafa325c167a26
1
{"version":3,"sources":["uni_modules/shmily-rs232-serial/utssdk/app-android/index.uts","uni_modules/shmily-rs232-serial/utssdk/interface.uts"],"sourcesContent":["\r\nimport SerialPortFinder from 'android_serialport_api.SerialPortFinder';\r\nimport SerialHelper from 'com.shmily.serialport.SerialHelper';\r\nimport ComBean from 'com.shmily.serialport.bean.ComBean';\r\nimport ByteUtil from 'com.shmily.serialport.utils.ByteUtil';\r\nimport StandardCharsets from 'java.nio.charset.StandardCharsets';\r\nimport { IConnectOptions, IDataType } from '../interface';\r\nimport Toast from 'android.widget.Toast';\r\n\r\n\r\nclass MySerialHelper extends SerialHelper {\r\n  private outerSerial : RS232Serial;\r\n  constructor(opt : IConnectOptions, outerSerial : RS232Serial) {\r\n    super(opt.port, opt.baudRate.toInt());\r\n    this.setBaudRate(opt.baudRate.toInt());\r\n    this.setDataBits(opt.dataBits.toInt());\r\n    this.setStopBits(opt.stopBits.toInt());\r\n    this.setParity(opt.parity.toInt());\r\n    this.setFlowCon(opt.flowCon.toInt());\r\n    this.outerSerial = outerSerial;\r\n  }\r\n  override onDataReceived(comBean : ComBean) : void {\r\n    if (this.outerSerial.globalMsgCallback != null) {\r\n      if (this.outerSerial.mDataType == 'ASCII') {\r\n        this.outerSerial.globalMsgCallback?.invoke(new String(comBean.bRec, StandardCharsets.UTF_8));\r\n      } else {\r\n        this.outerSerial.globalMsgCallback?.invoke(ByteUtil.Bytes2Hex(comBean.bRec));\r\n      }\r\n    }\r\n  }\r\n}\r\n\r\nexport function checkHasIntegration() : boolean {\r\n  try {\r\n    Class.forName(\"com.shmily.serialport.SerialHelper\");\r\n    return true;\r\n  } catch (e : Exception) {\r\n    return false;\r\n  }\r\n}\r\n\r\nexport class RS232Serial {\r\n  serialHelper : MySerialHelper | null = null;\r\n  mDataType : IDataType = 'ASCII';\r\n  globalMsgCallback : ((data : string) => void) | null = null;\r\n  constructor() { }\r\n  getDeviceList(): string[] {\r\n    const serialPortFinder = new SerialPortFinder();\r\n    try {\r\n      const ports = serialPortFinder.getAllDevicesPath();\r\n      if (ports.size > 0) {\r\n        return Array.fromNative(ports);\r\n      }\r\n      return [];\r\n    } catch (e) {\r\n      Toast.makeText(UTSAndroid.getUniActivity(), e.message, Toast.LENGTH_LONG).show();\r\n      return [];\r\n    }\r\n  }\r\n  isOpen() : boolean {\r\n    if (this.serialHelper == null) {\r\n      return false;\r\n    }\r\n    return this.serialHelper!.isOpen();\r\n  }\r\n  open(opt : IConnectOptions) : boolean {\r\n    try {\r\n      this.serialHelper = new MySerialHelper(opt, this);\r\n      this.serialHelper!.open();\r\n      return true;\r\n    } catch (e) {\r\n      console.error(e)\r\n      return false;\r\n    }\r\n  }\r\n  sendHex(hexStr : string) : void {\r\n    if (this.serialHelper == null) {\r\n      console.error('Serial port is not open');\r\n      return;\r\n    }\r\n    if (this.isOpen()) {\r\n      const hexPure = hexStr.trim().replace(/\\s/g, '');\r\n      if (hexPure != '') {\r\n        this.serialHelper!.sendHex(hexPure);\r\n      } else {\r\n        console.error('Hex is empty or null');\r\n      }\r\n    } else {\r\n      console.error('Serial port is not open');\r\n    }\r\n  }\r\n  sendText(text : string) : void {\r\n    if (this.serialHelper == null) {\r\n      console.error('Serial port is not open');\r\n      return;\r\n    }\r\n    if (this.isOpen()) {\r\n      if (text.trim() != '') {\r\n        this.serialHelper!.sendTxt(text);\r\n      } else {\r\n        console.error('Text is empty or null');\r\n      }\r\n    } else {\r\n      console.error('Serial port is not open');\r\n    }\r\n  }\r\n  @UTSJS.keepAlive\r\n  subscribe(dataType : IDataType, callback : (data : string) => void) : void {\r\n    this.mDataType = dataType;\r\n    this.globalMsgCallback = callback;\r\n  }\r\n  unsubscribe() : void {\r\n    this.globalMsgCallback = null;\r\n  }\r\n  close(): boolean {\r\n    if (!this.isOpen()) {\r\n      console.error('Serial port is not open');\r\n      return false;\r\n    }\r\n    this.serialHelper!.close();\r\n    return true;\r\n  }\r\n}","export type IConnectOptions = {\r\n  port : string, // 端口,比如 /dev/ttyS1\r\n  baudRate : number, // 波特率\r\n  dataBits : number, // 数据位\r\n  stopBits : number, // 停止位\r\n  parity : number,   // 校验位, 0 - none, 1 - odd, 2 - even, 3 - mark, 4 - space\r\n  flowCon: number // 流控, 0 - none, 1 - RTS/CTS, 2 - \"XON/XOFF\"\r\n}\r\n\r\nexport type IDataType = 'HEX' | 'ASCII';"],"names":[],"mappings":"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"}