建议官方: 在uni.scanCode扫描二维码界面, 允许用户加上一些自定义文字
- 发布:2023-05-18 21:01
- 更新:2023-06-11 15:52
- 阅读:650
取消建议官方: 在uni.scanCode扫描二维码界面, 允许用户加上一些自定义文字 (楼主收回此建议)
1***@qq.com (作者)
因为, 有时需要连续扫几项数据,
比如: 先扫物料编号, 再扫批号, 再扫数量
如果有文字提示说明: 用户就知道现在该扫哪个条码.
不然, 都是一样的扫码界面, 用户也不知现在扫到哪一步了.....
比较简单的方式是弹框或toast
-
1***@qq.com (作者)
这个我也想过, 确实可以简单满足一下信息.
但是, 如果用户扫到一半, 插入其它工作,再回头, 就不知道信息了
另外, 如果用户希望看到最近几次的打描结果, 也无法处理.
2023-05-19 09:42
-
1***@qq.com (作者)
例如: 显示信息如下:
<大字> 请扫描批次编号<大字>
<小字>10:08:56: 您扫入物料编号: 250001321
<小字>10:08:50: 您扫入仓库代号: X05仓2023-05-19 09:48
Diligent_UI - 【插件开发】【专治疑难杂症】【多款插件已上架:https://ext.dcloud.net.cn/publisher?id=193663(微信搜索飘逸科技UI小程序直接体验)】【骗子请绕道】问题咨询请加QQ群:120594820,代表作灵感实用工具小程序
这个页面不是api自动出来的吗,无法自定义呀,小程序端还可以通过相机组件来做,其他端好像不太行哦
也可以找下插件市场有没有支持的组件。或者用uts写一个组件也行
-
1***@qq.com (作者)
别人的插件, 我比较谨慎使用. 除非只是学习其中技巧.
主要担心以后不能随心所欲地修改...
自已写的话, 水平还有限, ....
接受您的答复, 但还是希望官方后续能考虑一下, 引入一些半透明的文字之类.
2023-05-20 15:19
1***@qq.com (作者)
最终, 我还是采用toast的方式显示这个信息.
我用一个定时器执行它.
然后再 uni.scanCode
在 uni.scanCode 的 complete事件中, 再 clearInterval这个定时器.
这样, 也算是合格了!
1***@qq.com (作者)
经过长期试用, 感觉还是像我这样, 在底部showtoast, 会效果更佳.
因为: 我是每次闪3秒, 中间停100毫秒.
这样, 一闪一闪, 可以起到提醒用户的目的
(比静态显示文字更有提醒意义)
同时, 由于它是一闪一闪, 这样, 在闪烁间隔, 还可以看到摄相的全部画面.
这又比静态会好一些, (因为静态强制覆盖摄相画面)
(即使静态文字 做成半透明, 也效果不好, ---> 用户不容易看到这个半透明的字)
因此, 我收回我原先的建议, 不再要求贵司增加此功能.
(用toast效果更佳)
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 (作者)
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 (作者)
感觉UNIAPP, 太好玩了.
二次封装, 非常舒服.
我已大量二次封装了许多函数
如: request, downloadFile, uploadFile.
加上我自已的逻辑控制, 这样, 就非常熔入我的项目中.