barcode.html 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324
  1. <!DOCTYPE HTML>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="viewport" content="initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
  6. <meta name="HandheldFriendly" content="true">
  7. <meta name="MobileOptimized" content="320">
  8. <title>Barcode Document</title>
  9. <link rel="stylesheet" type="text/css" href="res/doc.css" charset="utf-8">
  10. <link rel="stylesheet" type="text/css" href="res/prettify.sons.css" charset="utf-8">
  11. <script type="text/javascript" src="res/doc.js" charset="utf-8"></script><script type="text/javascript" src="res/prettify.js" charset="utf-8"></script>
  12. </head>
  13. <body><div id="content" class="content">
  14. <h1><a name="plus.barcode">barcode</a></h1>
  15. <p>Barcode模块管理条码(一维码和二维码)扫描识别,支持常见的一维码(如EAN13码)及二维码(如QR码)。通过调用设备的摄像头对条码进行扫描识别,扫描到条码后进行解码并返回码数据内容及码类型。</p>
  16. <h2>常量:</h2>
  17. <ul>
  18. <li>
  19. <a href="#plus.barcode.QR">QR</a>: QR二维码,数值为0</li>
  20. <li>
  21. <a href="#plus.barcode.EAN13">EAN13</a>: EAN条形码标准版,数值为1</li>
  22. <li>
  23. <a href="#plus.barcode.EAN8">EAN8</a>: ENA条形码简版,数值为2</li>
  24. <li>
  25. <a href="#plus.barcode.AZTEC">AZTEC</a>: Aztec二维码,数值为3</li>
  26. <li>
  27. <a href="#plus.barcode.DATAMATRIX">DATAMATRIX</a>: Data Matrix二维码,数值为4</li>
  28. <li>
  29. <a href="#plus.barcode.UPCA">UPCA</a>: UPC条形码标准版,数值为5</li>
  30. <li>
  31. <a href="#plus.barcode.UPCE">UPCE</a>: UPC条形码缩短版,数值为6</li>
  32. <li>
  33. <a href="#plus.barcode.CODABAR">CODABAR</a>: Codabar条形码,数值为7</li>
  34. <li>
  35. <a href="#plus.barcode.CODE39">CODE39</a>: Code39条形码,数值为8</li>
  36. <li>
  37. <a href="#plus.barcode.CODE93">CODE93</a>: Code93条形码,数值为9</li>
  38. <li>
  39. <a href="#plus.barcode.CODE128">CODE128</a>: Code128条形码,数值为10</li>
  40. <li>
  41. <a href="#plus.barcode.ITF">ITF</a>: ITF条形码,数值为11</li>
  42. <li>
  43. <a href="#plus.barcode.MAXICODE">MAXICODE</a>: MaxiCode二维码,数值为12</li>
  44. <li>
  45. <a href="#plus.barcode.PDF417">PDF417</a>: PDF 417二维条码,数值为13</li>
  46. <li>
  47. <a href="#plus.barcode.RSS14">RSS14</a>: RSS 14条形组合码,数值为14</li>
  48. <li>
  49. <a href="#plus.barcode.RSSEXPANDED">RSSEXPANDED</a>: 扩展式RSS条形组合码,数值为15</li>
  50. </ul>
  51. <h2>方法:</h2>
  52. <ul>
  53. <li>
  54. <a href="#plus.barcode.scan">scan</a>: 扫码识别图片中的条码</li>
  55. <li>
  56. <a href="#plus.barcode.create">create</a>: 创建扫码识别控件对象</li>
  57. <li>
  58. <a href="#plus.barcode.getBarcodeById">getBarcodeById</a>: 查找扫码识别控件对象</li>
  59. </ul>
  60. <h2>对象:</h2>
  61. <ul>
  62. <li>
  63. <a href="#plus.barcode.Barcode">Barcode</a>: 扫码识别控件对象</li>
  64. <li>
  65. <a href="#plus.barcode.BarcodeStyles">BarcodeStyles</a>: Barcode扫码控件样式</li>
  66. <li>
  67. <a href="#plus.barcode.BarcodeOptions">BarcodeOptions</a>: 条码识别控件扫描参数</li>
  68. </ul>
  69. <h2>回调方法:</h2>
  70. <ul>
  71. <li>
  72. <a href="#plus.barcode.BarcodeSuccessCallback">BarcodeSuccessCallback</a>: 扫码识别成功回调函数</li>
  73. <li>
  74. <a href="#plus.barcode.BarcodeErrorCallback">BarcodeErrorCallback</a>: 扫码识别错误回调函数</li>
  75. </ul>
  76. <h2>权限:</h2>
  77. <p>permissions</p>
  78. <pre class="prettyprint linenums">
  79. {
  80. // ...
  81. "permissions":{
  82. // ...
  83. "Barcode": {
  84. "description": "二维码"
  85. }
  86. }
  87. }
  88. </pre>
  89. <h1><a name="plus.barcode.Barcode">Barcode</a></h1>
  90. <p>扫码识别控件对象</p>
  91. <pre class="prettyprint linenums">
  92. interface plus.barcode.Barcode {
  93. // Methods
  94. function void cancel();
  95. function void close();
  96. function void setFlash(open);
  97. function void setStyle(styles);
  98. function void start(options);
  99. // Events
  100. function void onerror();
  101. function void onmarked();
  102. }
  103. </pre>
  104. <h2>说明:</h2>
  105. <p class="des">
  106. 可通过plus.barcode.create创建,也可通过new plus.barcode.Barcode构造(仅在5+APP中使用)创建。
  107. 扫码识别控件将使用设备的摄像头预览扫描内容,在控件中显示扫描基准框等用户交互元素。
  108. </p>
  109. <h2>构造:</h2>
  110. <ul><li>
  111. <a href="#plus.barcode.Barcode.Barcode.constructor(domId,%20filters,%20styles)">Barcode.constructor(domId, filters, styles)</a>: 构造扫码识别控件</li></ul>
  112. <h2>方法:</h2>
  113. <ul>
  114. <li>
  115. <a href="#plus.barcode.Barcode.cancel">cancel</a>: 取消扫码识别</li>
  116. <li>
  117. <a href="#plus.barcode.Barcode.close">close</a>: 关闭条码识别控件</li>
  118. <li>
  119. <a href="#plus.barcode.Barcode.setFlash">setFlash</a>: 操作闪光灯</li>
  120. <li>
  121. <a href="#plus.barcode.Barcode.setStyle">setStyle</a>: 设置扫码识别控件的样式</li>
  122. <li>
  123. <a href="#plus.barcode.Barcode.start">start</a>: 开始扫码识别</li>
  124. </ul>
  125. <h2>事件:</h2>
  126. <ul>
  127. <li>
  128. <a href="#plus.barcode.Barcode.onmarked">onmarked</a>: 扫码识别成功事件</li>
  129. <li>
  130. <a href="#plus.barcode.Barcode.onerror">onerror</a>: 扫码识别错误事件</li>
  131. </ul>
  132. <h1><a name="plus.barcode.BarcodeStyles">BarcodeStyles</a></h1>
  133. <p>Barcode扫码控件样式</p>
  134. <pre class="prettyprint linenums">
  135. interface plus.barcode.BarcodeStyles {
  136. attribute String background;
  137. attribute String frameColor;
  138. attribute String scanbarColor;
  139. attribute String top;
  140. attribute String left;
  141. attribute String width;
  142. attribute String height;
  143. attribute String position;
  144. }
  145. </pre>
  146. <h2>说明:</h2>
  147. <p class="des">
  148. 设置Barcode扫码控件的样式,如扫码框、扫码条的颜色等。
  149. </p>
  150. <h2>属性:</h2>
  151. <ul>
  152. <li>background: <em>(<font class="type">String</font>
  153. 类型
  154. )</em>条码识别控件背景颜色<br><p>
  155. 颜色值支持(参考CSS颜色规范):颜色名称(参考CSS Color Names)/十六进制值/rgb值,默认值为红色。
  156. </p>
  157. </li>
  158. <li>frameColor: <em>(<font class="type">String</font>
  159. 类型
  160. )</em>扫码框颜色<br><p>
  161. 颜色值支持(参考CSS颜色规范):颜色名称(参考CSS Color Names)/十六进制值/rgb值/rgba值,默认值为红色。
  162. </p>
  163. </li>
  164. <li>scanbarColor: <em>(<font class="type">String</font>
  165. 类型
  166. )</em>扫码条颜色<br><p>
  167. 颜色值支持(参考CSS颜色规范):颜色名称(参考CSS Color Names)/十六进制值/rgb值/rgba值,默认值为红色。
  168. </p>
  169. </li>
  170. <li>top: <em>(<font class="type">String</font>
  171. 类型
  172. )</em>Barcode扫码控件左上角的垂直偏移量<br><p>
  173. 可取值:
  174. 像素值,如"100px";
  175. 百分比,如"10%",相对于父Webview窗口的高度;
  176. 自动计算,如"auto",根据height值自动计算,相对于父Webview窗口垂直居中。
  177. </p>
  178. </li>
  179. <li>left: <em>(<font class="type">String</font>
  180. 类型
  181. )</em>Barcode扫码控件左上角的水平偏移量<br><p>
  182. 可取值:
  183. 像素值,如"100px";
  184. 百分比,如"10%",相对于父Webview窗口的宽度;
  185. 自动计算,如"auto",根据width值自动计算,相对于父Webview窗口水平居中。
  186. 默认值为"0px"。
  187. </p>
  188. </li>
  189. <li>width: <em>(<font class="type">String</font>
  190. 类型
  191. )</em>Barcode扫码控件的宽度<br><p>
  192. 可取值:
  193. 像素值,如"100px";
  194. 百分比,如"10%",相对于父Webview窗口的宽度。
  195. 默认值为"100%"。
  196. </p>
  197. </li>
  198. <li>height: <em>(<font class="type">String</font>
  199. 类型
  200. )</em>Barcode扫码控件的高度<br><p>
  201. 可取值:
  202. 像素值,如"100px";
  203. 百分比,如"10%",相对于父Webview窗口的高度。
  204. 默认值为"100%"。
  205. </p>
  206. </li>
  207. <li>position: <em>(<font class="type">String</font>
  208. 类型
  209. )</em>Barcode扫码控件在Webview窗口的布局模式<br><p>
  210. 可取值:
  211. "static" - 静态布局模式,如果页面存在滚动条则随窗口内容滚动;
  212. "absolute" - 绝对布局模式,如果页面存在滚动条不随窗口内容滚动;
  213. 默认值为"static"。
  214. </p>
  215. </li>
  216. </ul>
  217. <h1><a name="plus.barcode.BarcodeOptions">BarcodeOptions</a></h1>
  218. <p>条码识别控件扫描参数</p>
  219. <pre class="prettyprint linenums">
  220. interface plus.barcode.BarcodeOptions {
  221. attribute Boolean conserve;
  222. attribute String filename;
  223. attribute Boolean vibrate;
  224. attribute String sound;
  225. }
  226. </pre>
  227. <h2>说明:</h2>
  228. <p class="des">
  229. 设置Barcode扫码控件的扫码识别参数,如是否保存扫码功时的截图等。
  230. </p>
  231. <h2>属性:</h2>
  232. <ul>
  233. <li>conserve: <em>(<font class="type">Boolean</font>
  234. 类型
  235. )</em>是否保存扫码成功时的截图<br><p>
  236. 如果设置为true则在扫码成功时将图片保存,并通过onmarked回调函数的file参数返回保存文件的路径。
  237. 默认值为false,不保存截图。
  238. </p>
  239. </li>
  240. <li>filename: <em>(<font class="type">String</font>
  241. 类型
  242. )</em>保存扫码成功时图片保存路径<br><p>
  243. 可通过此参数设置保存截图的路径和名称,如果设置图片文件名称则必须指定文件的后缀名(必须是.png),否则认为是指定目录,文件名称则自动生成。
  244. </p>
  245. </li>
  246. <li>vibrate: <em>(<font class="type">Boolean</font>
  247. 类型
  248. )</em>扫码成功时是否需要震动提醒<br><p>
  249. 如果设置为true则在扫码成功时震动设备,false则不震动。
  250. 默认值为true。
  251. </p>
  252. </li>
  253. <li>sound: <em>(<font class="type">String</font>
  254. 类型
  255. )</em>扫码成功时播放的提示音<br><p>
  256. 可取值:
  257. "none" - 不播放提示音;
  258. "default" - 播放默认提示音(5+引擎内置)。
  259. 默认值为"default"。
  260. </p>
  261. </li>
  262. </ul>
  263. <h1><a name="plus.barcode.BarcodeSuccessCallback">BarcodeSuccessCallback</a></h1>
  264. <p>扫码识别成功回调函数</p>
  265. <pre class="prettyprint linenums">
  266. void BarcodeSuccessCallback(type, code, file){
  267. // Barcode success code
  268. }
  269. </pre>
  270. <h2>说明:</h2>
  271. <p class="des">
  272. 当Barcode控件扫码成功时的回调函数,返回识别成功的扫码数据。
  273. </p>
  274. <h2>参数:</h2>
  275. <ul>
  276. <li>type:
  277. <em>(
  278. <font class="type">Number</font>
  279. )
  280. 必选 </em>识别到的条码类型<br>
  281. Number类型的值,与Barcode对象定义的条码类型常量一致。
  282. </li>
  283. <li>code:
  284. <em>(
  285. <font class="type">String</font>
  286. )
  287. 必选 </em>识别到的条码数据<br>
  288. 扫码识别出的数据内容,字符串类型,采用UTF8编码格式。
  289. </li>
  290. <li>file:
  291. <em>(
  292. <font class="type">String</font>
  293. )
  294. 可选 </em>扫码成功的截图文件路径<br>
  295. 扫码识别到的截图,png格式文件,如果设置为不保存截图,则返回undefined。
  296. </li>
  297. </ul>
  298. <h2>返回值:</h2>
  299. <font class="type">void</font>
  300. : 无<h1><a name="plus.barcode.BarcodeErrorCallback">BarcodeErrorCallback</a></h1>
  301. <p>扫码识别错误回调函数</p>
  302. <pre class="prettyprint linenums">
  303. void BarcodeErrorCallback(error){
  304. // Error
  305. var code = error.code; // 错误编码
  306. var message = error.message; // 错误描述信息
  307. }
  308. </pre>
  309. <h2>参数:</h2>
  310. <ul><li>error:
  311. <em>(
  312. <font class="type">DOMException</font>
  313. )
  314. 必选 </em>扫码识别的错误信息<br>
  315. 可通过error.code(Number类型)获取错误编码;
  316. 可通过error.message(String类型)获取错误描述信息。
  317. </li></ul>
  318. <h2>返回值:</h2>
  319. <font class="type">void</font>
  320. : 无<br><br>
  321. </div></body>
  322. </html>