资讯专栏INFORMATION COLUMN

HBuilder开发wpp2app增强性能之实现扫一扫

waltr / 1073人阅读

摘要:需求明确开启常见的条码二维码及一维码的扫描识别功能,可调用设备的摄像头对条码图片扫描进行数据输入。通过可获取条码码管理对象。载入中取消退出页面从相册选择二维码

需求明确

</>复制代码

  1. 开启常见的条码(二维码及一维码)的扫描识别功能,可调用设备的摄像头对条码图片扫描进行数据输入。通过plus.barcode可获取条码码管理对象。

实现步骤

</>复制代码

  1. 创建条码扫描识别控件实例对象,涉及到Barcode模块,具体参数设置可参考5+ API Barcode
    在plusReady事件触发之后创建一个Barcode实例对象,此对象提供四个方法: start: 开始条码识别 cancel:
    结束条码识别 close: 关闭条码识别控件 setFlash: 是否开启闪光灯 和两个事件: onmarked: 条码识别成功事件
    onerror: 条码识别错误事件

</>复制代码

  1. function plusReady() {
  2. if(ws || !window.plus || !domready) {
  3. return;
  4. }
  5. // 获取窗口对象
  6. ws = plus.webview.currentWebview();
  7. // 开始扫描
  8. ws.addEventListener("show", function() {
  9. scan = new plus.barcode.Barcode("bcid");
  10. // 定义识别成功事件
  11. scan.onmarked = onmarked;
  12. // 定义开始条码识别
  13. scan.start({
  14. conserve: true, // 是否保存成功扫描到的条码数据时的截图
  15. filename: "_doc/barcode/" // 保存成功扫描到的条码数据时的图片路径
  16. });
  17. }, false);
  18. // 显示页面并关闭等待框
  19. ws.show("pop-in");
  20. }
  21. // 二维码扫描成功
  22. function onmarked(type, result, file) {
  23. switch(type) {
  24. case plus.barcode.QR:
  25. type = "QR";
  26. break;
  27. case plus.barcode.EAN13:
  28. type = "EAN13";
  29. break;
  30. case plus.barcode.EAN8:
  31. type = "EAN8";
  32. break;
  33. default:
  34. type = "其它" + type;
  35. break;
  36. }
  37. result = result.replace(/
  38. /g, "");
  39. plus.nativeUI.alert("扫描结果:" + JSON.stringify(result), function() {
  40. console.log("扫描成功")
  41. }, "helloW2A", "OK");
  42. back();
  43. }

2.从相册中选择图片识别,涉及到Gallery模块,具体参数设置可参考5+ API:Gallery

</>复制代码

  1. // 从相册中选择二维码图片
  2. function scanPicture() {
  3. plus.gallery.pick(function(path) {
  4. plus.barcode.scan(path, onmarked, function(error) {
  5. plus.nativeUI.alert("无法识别此图片");
  6. });
  7. }, function(err) {
  8. console.log("Failed: " + err.message);
  9. });
  10. }

3.DOM结构参考

</>复制代码

  1. ...载入中...

  2. 取  消
  3. 从相册选择二维码

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/100005.html

相关文章

  • HBuilder开发WAP2APP增加一扫功能

    摘要:需求明确开启常见的条码二维码及一维码的扫描识别功能,可调用设备的摄像头对条码图片扫描进行数据输入。通过可获取条码码管理对象。知识点明确模块提供开启摄像头扫描功能。载入中取消退出页面从相册选择二维码 需求明确 开启常见的条码(二维码及一维码)的扫描识别功能,可调用设备的摄像头对条码图片扫描进行数据输入。通过plus.barcode可获取条码码管理对象。 知识点明确 Barcode模块:p...

    _ipo 评论0 收藏0
  • 微信公众号 一扫

    使用 weixin-java-tools 完成公众端唤起微信扫一扫 如果没有引入相关的jar 可以查看之前的文章 点我 Java代码 使用 wxMpService 很方便获取一些微信需要的参数 @Autowired private WxMpService wxMpService; @GetMapping(path = scannerQrcode) public...

    msup 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<