1***@qq.com
1***@qq.com
  • 发布:2023-05-18 21:01
  • 更新:2023-06-11 15:52
  • 阅读:650

取消建议官方: 在uni.scanCode扫描二维码界面, 允许用户加上一些自定义文字 (楼主收回此建议)

分类:uni-app

建议官方: 在uni.scanCode扫描二维码界面, 允许用户加上一些自定义文字

2023-05-18 21:01 负责人:无 分享
已邀请:
1***@qq.com

1***@qq.com (作者)

或者,允许有自定义solt之类.....

1***@qq.com

1***@qq.com (作者)

因为, 有时需要连续扫几项数据,

比如: 先扫物料编号, 再扫批号, 再扫数量

如果有文字提示说明: 用户就知道现在该扫哪个条码.

不然, 都是一样的扫码界面, 用户也不知现在扫到哪一步了.....

DCloud_heavensoft

DCloud_heavensoft

比较简单的方式是弹框或toast

  • 1***@qq.com (作者)

    这个我也想过, 确实可以简单满足一下信息.

    但是, 如果用户扫到一半, 插入其它工作,再回头, 就不知道信息了


    另外, 如果用户希望看到最近几次的打描结果, 也无法处理.

    2023-05-19 09:42

  • 1***@qq.com (作者)

    最好有个SLOT插槽, 那就完美了.

    实在不行, 有个文本框也行(可以控制字体大小和字体颜色)

    2023-05-19 09:44

  • 1***@qq.com (作者)

    例如: 显示信息如下:


    <大字> 请扫描批次编号<大字>

    <小字>10:08:56: 您扫入物料编号: 250001321

    <小字>10:08:50: 您扫入仓库代号: X05仓

    2023-05-19 09:48

Diligent_UI

Diligent_UI - 【插件开发】【专治疑难杂症】【多款插件已上架:https://ext.dcloud.net.cn/publisher?id=193663(微信搜索飘逸科技UI小程序直接体验)】【骗子请绕道】问题咨询请加QQ群:120594820,代表作灵感实用工具小程序

这个页面不是api自动出来的吗,无法自定义呀,小程序端还可以通过相机组件来做,其他端好像不太行哦

  • 1***@qq.com (作者)

    所以, 才希望官方能开个小功能出来

    2023-05-19 09:56

  • Diligent_UI

    回复 1***@qq.com: 例如小程序那边的扫码,uniapp使用的还是那边的扫码api,所以感觉这个功能目前不开心

    2023-05-19 10:02

DCloud_heavensoft

DCloud_heavensoft

也可以找下插件市场有没有支持的组件。或者用uts写一个组件也行

  • 1***@qq.com (作者)

    别人的插件, 我比较谨慎使用. 除非只是学习其中技巧.

    主要担心以后不能随心所欲地修改...

    自已写的话, 水平还有限, ....


    接受您的答复, 但还是希望官方后续能考虑一下, 引入一些半透明的文字之类.

    2023-05-20 15:19

1***@qq.com

1***@qq.com (作者)

最终, 我还是采用toast的方式显示这个信息.

我用一个定时器执行它.

然后再 uni.scanCode

在 uni.scanCode 的 complete事件中, 再 clearInterval这个定时器.

这样, 也算是合格了!

1***@qq.com

1***@qq.com (作者)

经过长期试用, 感觉还是像我这样, 在底部showtoast, 会效果更佳.

因为: 我是每次闪3秒, 中间停100毫秒.

这样, 一闪一闪, 可以起到提醒用户的目的
(比静态显示文字更有提醒意义)

同时, 由于它是一闪一闪, 这样, 在闪烁间隔, 还可以看到摄相的全部画面.
这又比静态会好一些, (因为静态强制覆盖摄相画面)

(即使静态文字 做成半透明, 也效果不好, ---> 用户不容易看到这个半透明的字)

因此, 我收回我原先的建议, 不再要求贵司增加此功能.
(用toast效果更佳)

1***@qq.com

1***@qq.com (作者)

分享一下我的封装代码.

如有更好方法, 望本贴告诉我. 谢谢.

function kScanCode(ScanCodeOptions) {  
  let sHint = ScanCodeOptions.hint;  
  if (sHint==null) sHint='';  

  let oldCompletefn = ScanCodeOptions.complete;  
  let iScanTimer = -1;  

  function myComplete(res) {  
    if (iScanTimer != -1) clearInterval(iScanTimer);  

    if (oldCompletefn != null) {  
      oldCompletefn(res);  
    };  
  };  
  ScanCodeOptions.complete = myComplete;  

  if (sHint != '') {  
    let iSecond1 = 3; //3秒闪烁一次  
    let iSecond2 = 3 * 1000 + 100;  
    pShowSimpleToastAtBottom(sHint, iSecond1); //先执行一次  
    iScanTimer = setInterval(() => {  

      uni.showToast({  
      icon: 'none',  
      title: sHint,  
      position: 'bottom',  
      duration: iSecond1 * 1000,  
    });  

    }, iSecond2);  
  };  

  uni.scanCode(ScanCodeOptions);  

};
1***@qq.com

1***@qq.com (作者)

.....

1***@qq.com

1***@qq.com (作者)

kScanCode({  
            onlyFromCamera: false, //是否只能从相机扫码,不允许从相册选择图片  
            scanType: ['qrCode', 'barCode', 'datamatrix', 'pdf417'], //扫码类型,参数类型是数组  
            autoDecodeCharSet: false, //自动解码字符集,默认 false。可取值:false - 将二维码解码数据当做utf-8字符集处理,对于非utf-8字符集数据可能会出现乱码。true - 自动检测二维码解码数据,兼容处理utf-8、GBK、Big5编码格式的字符。仅App端支持  
            sound: 'default', //default: 扫描成功播放声音  
            autoZoom: true, //是否启用自动放大  
            hint: '这里放你的文字提示...',  
            success: (res) => {  
               console.log('扫描结果是:',res.result);  
            }  
          });
  • 1***@qq.com (作者)

    这是调用的格式, 和uni.scan一样, 加多一个hint属性

    2023-06-11 15:46

1***@qq.com

1***@qq.com (作者)

感觉UNIAPP, 太好玩了.

二次封装, 非常舒服.

我已大量二次封装了许多函数

如: request, downloadFile, uploadFile.

加上我自已的逻辑控制, 这样, 就非常熔入我的项目中.

要回复问题请先登录注册