HSPScanner.xml 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244
  1. <?xml version="1.0" encoding="utf-8" ?>
  2. <entity name="HSPScanner">
  3. <class name="HSPScannerService" overlap="true" exclusive="false">
  4. <twoway name="StartPreview" overlap="true">
  5. <req>
  6. <!--0:skip; 1:top turns to positive, 2: left turns to positive, 3:bottom turns to positive, 4:right turns to positive -->
  7. <param name="rotateType" type="short" />
  8. <!--0:skip; 1:full size, 2: A4 size, 3: IDCard size -->
  9. <param name="scanType" type="short"/>
  10. <!--0:skip; 1:default model, 2: gray model -->
  11. <param name="colorType" type="short" />
  12. <param name="reserved1" type="short"/>
  13. <param name="reserved2" type="short"/>
  14. <param name="reserved3" type="short"/>
  15. <param name="reserved4" type="short"/>
  16. </req>
  17. <res>
  18. <!--failed bit: 1, 2, 4, 8 ... 预览成功通过上下文返回,retCode用于各项参数的设置结果-->
  19. <param name="retCode" type="int" />
  20. <param name="reserved1" type="int" />
  21. <param name="reserved2" type="array_int" />
  22. </res>
  23. </twoway>
  24. <twoway name="CancelPreview" overlap="true">
  25. <req>
  26. <param name="bOnlyHide" type="bool"/>
  27. <param name="reserved1" type="int"/>
  28. </req>
  29. <res>
  30. </res>
  31. </twoway>
  32. <!--接口名称和功能:请求拍照。拍照成功后会调用硬件适配器隐藏窗口-->
  33. <twoway name="ScanImage" overlap="true">
  34. <req>
  35. <param name="reserved1" type="int"/>
  36. <param name="reserved2" type="int"/>
  37. </req>
  38. <res>
  39. <param name="filePath" type="string"/>
  40. <param name="imageData" type="blob"/>
  41. <param name="reserved1" type="int"/>
  42. <param name="reserved2" type="string"/>
  43. </res>
  44. </twoway>
  45. <twoway name="ScanImageEx" overlap="true">
  46. <req>
  47. <param name="reserved1" type="int"/>
  48. <param name="reserved2" type="int"/>
  49. </req>
  50. <res>
  51. <param name="filePath" type="string"/>
  52. <param name="imageData" type="blob"/>
  53. <param name="reserved1" type="int"/>
  54. <param name="reserved2" type="string"/>
  55. </res>
  56. </twoway>
  57. <twoway name="SetProperty" overlap="true">
  58. <req>
  59. <!--0:skip; 1:top turns to positive, 2: left turns to positive, 3:bottom turns to positive, 4:right turns to positive -->
  60. <param name="rotateType" type="short" />
  61. <!--0:skip; 1:full size, 2: A4 size, 3: IDCard size -->
  62. <param name="scanType" type="short"/>
  63. <!--0:skip; 1:default model, 2: gray model -->
  64. <param name="colorType" type="short" />
  65. <param name="reserved1" type="short"/>
  66. <param name="reserved2" type="short"/>
  67. <param name="reserved3" type="short"/>
  68. <param name="reserved4" type="short"/>
  69. </req>
  70. <res>
  71. <!--failed bit: 1, 2, 4, 8 ... 预览成功通过上下文返回,retCode用于各项参数的设置结果-->
  72. <param name="retCode" type="int" />
  73. <param name="reserved1" type="int" />
  74. <param name="reserved2" type="array_int" />
  75. </res>
  76. </twoway>
  77. <twoway name="SetWinPos" overlap="true">
  78. <req>
  79. <!--0:hide 1:show 2:custom -->
  80. <param name="type" type="int"/>
  81. <!--默认比例16:9 reserved4保留使用,注意在 type = 2 时以下值有效-->
  82. <param name="pointX" type="int"/>
  83. <param name="pointY" type="int"/>
  84. <param name="nWidth" type="int"/>
  85. <param name="reserved4" type="int"/>
  86. </req>
  87. <res>
  88. </res>
  89. </twoway>
  90. <twoway name="ShowProperty" overlap="true">
  91. <!--直接调用厂商硬件适配器接口-->
  92. <req>
  93. </req>
  94. <res>
  95. </res>
  96. </twoway>
  97. <twoway name="GetDevStatus" overlap="true">
  98. <req>
  99. </req>
  100. <res>
  101. <param name="connected" type="int" />
  102. <param name="showing" type="int" />
  103. <param name="previewing" type="int"/>
  104. <param name="reserved1" type="array_int"/>
  105. <param name="reserved2" type="array_string"/>
  106. </res>
  107. </twoway>
  108. <!-- 获取设备模块信息,成功时errorCode为Error_Succeed(0),及相关数据 -->
  109. <!-- 1、设备未打开,errorCode为Error_DevNotAvailable,rtaCode为RTA2N01 -->
  110. <!-- 2、硬件未配置,errorCode为Error_NotConfig,rtaCode为RTA2N0J -->
  111. <!-- 3、硬件掉线,errorCode为Error_DevNotAvailable,rtaCode为RTA2N0K -->
  112. <twoway name="GetDevInfo" overlap="true" jsflag="true" method_id="65535">
  113. <req>
  114. </req>
  115. <res>
  116. <!--设备适配器DevCategoryInfo的szType-->
  117. <param name="type" type="string" />
  118. <!--设备适配器DevCategoryInfo的szModel-->
  119. <param name="model" type="string" />
  120. <!--设备适配器DevCategoryInfo的version-->
  121. <param name="version" type="string" />
  122. <!--硬件实体内置的状态,目前暂无使用场景,有需要在讨论如何定义-->
  123. <param name="state" type="int" />
  124. </res>
  125. </twoway>
  126. <oneway name="Exit" overlap="true">
  127. </oneway>
  128. <!-- 预览,成功时返回Error_Succeed,及相关数据 -->
  129. <!-- 1、设备未打开,errorCode为Error_DevNotAvailable,rtaCode为RTA2N01 -->
  130. <!-- 2、硬件未配置,errorCode为Error_NotConfig,rtaCode为RTA2N0J -->
  131. <!-- 3、硬件掉线,errorCode为Error_DevNotAvailable,rtaCode为RTA2N0K -->
  132. <!-- 4、调用硬件-预览失败,errorCode为Error_Unexpect,rtaCode为RTA2N03 -->
  133. <!-- 5、调用硬件-设置角度失败,errorCode为Error_Unexpect,rtaCode为RTA2N0Y -->
  134. <!-- 6、调用硬件-设置画幅失败,errorCode为Error_Unexpect,rtaCode为RTA2N0Z -->
  135. <!-- 7、调用硬件-设置色彩失败,errorCode为Error_Unexpect,rtaCode为RTA2N0W -->
  136. <!-- 8、调用硬件-设置坐标大小失败,errorCode为Error_Unexpect,rtaCode为RTA2N07 -->
  137. <!-- 9、调用硬件-显示预览窗口失败(预览&隐藏的状态),errorCode为Error_Unexpect,rtaCode为RTA2N0R -->
  138. <!-- 说明补充:
  139. * 如需设置参数,将在预览前设置,设置参数失败则提前返回,无论当时是否已经处于预览状态
  140. * 处于预览但隐藏(关于隐藏,见下方对取消预览的说明)状态,则会直接显示窗口,如果其他参数有值,仍然优先设置参数(失败则提前返回),再显示窗口
  141. -->
  142. <twoway name="StartPreviewJS" jsflag="true" overlap="true">
  143. <req>
  144. <!--0:跳过角度设置,不生效;1:不旋转角度;2:顺时针旋转90;3:顺时针旋转180;4:顺时针旋转270-->
  145. <param name="rotate" type="short" />
  146. <!--0:跳过画幅设置,不生效;1:全画幅;2:A4画幅;3:身份证大小画幅-->
  147. <param name="scan" type="short"/>
  148. <!--0:跳过色彩设置,不生效;1:彩色;2:黑白-->
  149. <param name="color" type="short" />
  150. <!--0:跳过坐标&大小设置,不生效;1:设置预览窗口坐标,只有此值为1时才会读取pos_x|y|w-->
  151. <param name="pos" type="short"/>
  152. <!--设置预览窗口坐标的X轴坐标,当pos不为0时该值才有效-->
  153. <param name="pos_x" type="short"/>
  154. <!--设置预览窗口坐标的Y轴坐标,当pos不为0时该值才有效-->
  155. <param name="pos_y" type="short"/>
  156. <!--设置预览窗口的窗口宽度,当pos不为0时该值才有效-->
  157. <param name="pos_w" type="short"/>
  158. <param name="reserved1" type="int"/>
  159. </req>
  160. <res>
  161. </res>
  162. </twoway>
  163. <!-- 取消预览,成功时返回Error_Succeed(0),及相关数据 -->
  164. <!-- 1、设备未打开,errorCode为Error_DevNotAvailable,rtaCode为RTA2N01 -->
  165. <!-- 2、硬件未配置,errorCode为Error_NotConfig,rtaCode为RTA2N0J -->
  166. <!-- 3、硬件掉线,errorCode为Error_DevNotAvailable,rtaCode为RTA2N0K -->
  167. <!-- 4、调用硬件-取消预览失败,errorCode为Error_Unexpect,rtaCode为RTA2N04 -->
  168. <!-- 5、调用硬件-隐藏预览窗口失败,errorCode为Error_Unexpect,rtaCode为RTA2N0Q -->
  169. <!-- 说明补充:
  170. * 当要求仅为隐藏预览窗口时:1)预览&隐藏状态时直接返回成功;2)预览&非隐藏时调用隐藏;3)非预览时返回无效操作,errorCode为Error_InvalidState,rtaCode为RTA2N0V
  171. * 当直接关闭预览时:1)非预览时直接返回成功;2)预览&隐藏状态时调用硬件取消预览
  172. -->
  173. <twoway name="CancelPreviewJS" jsflag="true" overlap="true">
  174. <req>
  175. <!--是否仅为隐藏预览窗口,如果为false,表示调用硬件关闭摄像头,true表示仅为隐藏预览窗口不关闭摄像头,默认是关闭摄像头-->
  176. <param name="hide" type="bool"/>
  177. </req>
  178. <res>
  179. </res>
  180. </twoway>
  181. <!--拍照,成功时返回Error_Succeed(0),及相关数据-->
  182. <!-- 1、设备未打开,errorCode为Error_DevNotAvailable,rtaCode为RTA2N01 -->
  183. <!-- 2、硬件未配置,errorCode为Error_NotConfig,rtaCode为RTA2N0J -->
  184. <!-- 3、硬件掉线,errorCode为Error_DevNotAvailable,rtaCode为RTA2N0K -->
  185. <!-- 4、非预览状态无法拍照,errorCode为Error_InvalidState,rtaCode为RTA2N0V -->
  186. <!-- 5、调用硬件-拍照失败,errorCode为Error_Unexpect,rtaCode为RTA2N05 -->
  187. <!-- 6、调用硬件-隐藏预览窗口失败,errorCode为Error_Unexpect,rtaCode为RTA2N0Q -->
  188. <!-- 7、拍照成功后,压缩照片失败,errorCode为Error_Unexpect,rtaCode为RTA2N0N -->
  189. <!-- 说明补充:
  190. * 当需要隐藏时,前提是【拍照成功】才会调用隐藏预览窗口,如果隐藏窗口失败,一样扔定为拍照不成功
  191. * 只要处于预览状态中,就认为可进行拍照,不区分是否隐藏预览窗口
  192. * 调用拍照成功,但是硬件没有返回图片数据,仍认为成功。只有需要压缩时(应用介入),会因为压缩图片失败而报错返回
  193. -->
  194. <twoway name="ScanImageJS" jsflag="true" overlap="true">
  195. <req>
  196. <!--拍照后是否自动隐藏预览窗口,如果为false,表示仅为拍照不做其他操作,true表示拍照后自动隐藏预览窗口,底层默认是拍照后自动隐藏预览窗口-->
  197. <param name="hide" type="bool"/>
  198. <!-- 是否压缩图片和压缩的阈值,单位KB,为0表示不压缩,业务目前定的是500KB -->
  199. <param name="compress" type="int" />
  200. <param name="reserved1" type="int" />
  201. </req>
  202. <res>
  203. <!--返回照片的数据流-->
  204. <param name="imageData" type="blob"/>
  205. </res>
  206. </twoway>
  207. <!-- 设置参数,成功时返回Error_Succeed(0),及相关数据 -->
  208. <!-- 1、设备未打开,errorCode为Error_DevNotAvailable,rtaCode为RTA2N01 -->
  209. <!-- 2、硬件未配置,errorCode为Error_NotConfig,rtaCode为RTA2N0J -->
  210. <!-- 3、硬件掉线,errorCode为Error_DevNotAvailable,rtaCode为RTA2N0K -->
  211. <!-- 4、调用硬件-设置角度失败,errorCode为Error_Unexpect,rtaCode为RTA2N0Y -->
  212. <!-- 5、调用硬件-设置画幅失败,errorCode为Error_Unexpect,rtaCode为RTA2N0Z -->
  213. <!-- 6、调用硬件-设置色彩失败,errorCode为Error_Unexpect,rtaCode为RTA2N0W -->
  214. <!-- 7、调用硬件-设置坐标大小失败,errorCode为Error_Unexpect,rtaCode为RTA2N07 -->
  215. <!-- 说明补充:
  216. * 除以上第1-3种情况,在其他任何状态中都支持设置参数,成功与否由调用硬件结果决定
  217. -->
  218. <twoway name="SetParamJS" jsflag="true" overlap="true">
  219. <req>
  220. <!--0:跳过设置,不生效;1:不旋转角度;2:顺时针旋转90;3:顺时针旋转180;4:顺时针旋转270-->
  221. <param name="rotate" type="short" />
  222. <!--0:跳过设置,不生效;1:全画幅;2:A4画幅;3:身份证大小画幅-->
  223. <param name="scan" type="short"/>
  224. <!--0:跳过设置,不生效;1:彩色;2:黑白-->
  225. <param name="color" type="short" />
  226. <!--0:跳过设置,不生效;1:设置预览窗口坐标,只有此值为1时才会读取pos_x|y|w-->
  227. <param name="pos" type="short"/>
  228. <!--设置预览窗口坐标的X轴坐标,当pos不为0时该值才有效-->
  229. <param name="pos_x" type="short"/>
  230. <!--设置预览窗口坐标的Y轴坐标,当pos不为0时该值才有效-->
  231. <param name="pos_y" type="short"/>
  232. <!--设置预览窗口的窗口宽度,当pos不为0时该值才有效-->
  233. <param name="pos_w" type="short"/>
  234. <param name="reserved1" type="int"/>
  235. </req>
  236. <res>
  237. </res>
  238. </twoway>
  239. </class>
  240. <message name="StatusMsg">
  241. <param name="status" type="int"/>
  242. <param name="description" type="string" />
  243. </message>
  244. </entity>