项目大致需求:
在下面链接介绍下,
https://blog.csdn.net/qq_17766199/article/details/77963278
结合https://blog.csdn.net/Mr_Sk/article/details/72877492 的算法基础上开发一款扫条码和识别手机号的cordova (版本支持>5.0.0)插件。
1. js 调用 Scanner.init() 进行初始化
2. js 调用 Scanner.open() 接口开启后置摄像头,并呈现出如下图1界面。
2. 扫码操作过程
2.1 扫码识别条码并显示条码号,
2.2 条码识别成功后界面调整为「识别手机号码」并显示号码「138-xxxx-xxxx」,同时保存手机号码的所在位置的图像,格式为base64 jpeg,异步上传至 posURL 接口获取「编码(x-x)」
2.3 显示的字符条码号和手机号码点击可编辑,打开键盘为数字键盘
2.3.1 打开数字键盘后,显示提交按钮,点击此按钮后向 posURL 提交 2.2 里的数据,另外加参数「mode=2」
2.4 当 2.2 结束时重复 2.1 ,直至用户按下返回键
3. 当 2.1 开始时,以往的「条码号+手机号码+编码」显示在「历史区域」,该区域可滚动
4. 用户可打开关闭「拍照闪光灯」辅助功能
5. 用户按下返回键后关闭界面
6.1 初始化接口
Scanner.init({
posURL:: 'https://domain.com/',
param: {
a : '1',
b : '2'
},
}, success, fail)
6.2 打开扫码界面
Scanner.open(mode, success, fail)
mode: 0-连续模式,1-只识别手机号码,2-只识别条码,3-识别条码和手机号(单次)
success:返回函数。当mode != 0 时返回参数为手机号码或条码,此时须关闭扫码界面。
6.3 posURL 接口
post 提交,application/x-www-form-urlencoded 编码
提交参数有:phone=“137xxxxxxxx”
img=‘base64 jpeg string‘
code=”1234394374983“
以及 init() 接口里面的 param 参数
返回:json格式
成功
{
flag : 0,
d : {
'1-1'
}
}
失败:
{
flag : 12333x, // 错误代码
msg: 'msg' // 错误消息
}