fei.wang
9 天以前 ae7b22322555448d95fd56f505bafa325c167a26
1
{"version":3,"file":"index.uts","sourceRoot":"","sources":["uni_modules/shmily-rs232-serial/utssdk/app-android/index.uts"],"names":[],"mappings":"AACA,OAAO,gBAAgB,MAAM,yCAAyC,CAAC;AACvE,OAAO,YAAY,MAAM,oCAAoC,CAAC;AAC9D,OAAO,OAAO,MAAM,oCAAoC,CAAC;AACzD,OAAO,QAAQ,MAAM,sCAAsC,CAAC;AAC5D,OAAO,gBAAgB,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,KAAK,MAAM,sBAAsB,CAAC;AAGzC,MAAM,cAAe,SAAQ,YAAY;IACvC,OAAO,CAAC,WAAW,EAAG,WAAW,CAAC;IAClC,YAAY,GAAG,EAAG,eAAe,EAAE,WAAW,EAAG,WAAW;QAC1D,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;QACtC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;QACvC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;QACvC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;QACvC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QACnC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QACrC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IACD,QAAQ,CAAC,cAAc,CAAC,OAAO,EAAG,OAAO,GAAI,IAAI;QAC/C,IAAI,IAAI,CAAC,WAAW,CAAC,iBAAiB,IAAI,IAAI,EAAE;YAC9C,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,IAAI,OAAO,EAAE;gBACzC,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC;aAC9F;iBAAM;gBACL,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;aAC9E;SACF;IACH,CAAC;CACF;AAED,MAAM,UAAU,mBAAmB,IAAK,OAAO;IAC7C,IAAI;QACF,KAAK,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC;KACb;IAAC,OAAO,CAAC,EAAG,SAAS,EAAE;QACtB,OAAO,KAAK,CAAC;KACd;AACH,CAAC;AAED,MAAM,OAAO,WAAW;IACtB,YAAY,EAAG,cAAc,GAAG,IAAI,GAAG,IAAI,CAAC;IAC5C,SAAS,EAAG,SAAS,GAAG,OAAO,CAAC;IAChC,iBAAiB,EAAG,CAAC,CAAC,IAAI,EAAG,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;IAC5D,gBAAgB,CAAC;IACjB,aAAa,IAAI,MAAM,EAAE;QACvB,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,EAAE,CAAC;QAChD,IAAI;YACF,MAAM,KAAK,GAAG,gBAAgB,CAAC,iBAAiB,EAAE,CAAC;YACnD,IAAI,KAAK,CAAC,IAAI,GAAG,CAAC,EAAE;gBAClB,OAAO,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;aAChC;YACD,OAAO,EAAE,CAAC;SACX;QAAC,OAAO,CAAC,KAAA,EAAE;YACV,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC;YACjF,OAAO,EAAE,CAAC;SACX;IACH,CAAC;IACD,MAAM,IAAK,OAAO;QAChB,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,EAAE;YAC7B,OAAO,KAAK,CAAC;SACd;QACD,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE,CAAC;IACrC,CAAC;IACD,IAAI,CAAC,GAAG,EAAG,eAAe,GAAI,OAAO;QACnC,IAAI;YACF,IAAI,CAAC,YAAY,GAAG,IAAI,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAClD,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC;SACb;QAAC,OAAO,CAAC,KAAA,EAAE;YACV,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YAChB,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IACD,OAAO,CAAC,MAAM,EAAG,MAAM,GAAI,IAAI;QAC7B,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,EAAE;YAC7B,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;YACzC,OAAO;SACR;QACD,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE;YACjB,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACjD,IAAI,OAAO,IAAI,EAAE,EAAE;gBACjB,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;aACrC;iBAAM;gBACL,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;aACvC;SACF;aAAM;YACL,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;SAC1C;IACH,CAAC;IACD,QAAQ,CAAC,IAAI,EAAG,MAAM,GAAI,IAAI;QAC5B,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,EAAE;YAC7B,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;YACzC,OAAO;SACR;QACD,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE;YACjB,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;gBACrB,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;aAClC;iBAAM;gBACL,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;aACxC;SACF;aAAM;YACL,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;SAC1C;IACH,CAAC;IACD,CAAC,KAAK,CAAC,SAAS;IAChB,SAAS,CAAC,QAAQ,EAAG,SAAS,EAAE,QAAQ,EAAG,CAAC,IAAI,EAAG,MAAM,KAAK,IAAI,GAAI,IAAI;QACxE,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC;IACpC,CAAC;IACD,WAAW,IAAK,IAAI;QAClB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAChC,CAAC;IACD,KAAK,IAAI,OAAO;QACd,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE;YAClB,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;YACzC,OAAO,KAAK,CAAC;SACd;QACD,IAAI,CAAC,YAAY,CAAC,CAAC,KAAK,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;CACF","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}"]}