更新记录
1.0.4(2024-10-28)
优化部分bug
1.0.3(2024-10-18)
优化uniapp 首次启动问题
1.0.2(2024-10-06)
兼容vue2,将回调函数complete: (res? : string)改成complete: (res : any)
查看更多平台兼容性
Vue2 | Vue3 |
---|---|
√ | √ |
App | 快应用 | 微信小程序 | 支付宝小程序 | 百度小程序 | 字节小程序 | QQ小程序 |
---|---|---|---|---|---|---|
HBuilderX 4.0,Android:5.0,iOS:不确定,HarmonyNext:不确定 | × | × | × | × | × | × |
钉钉小程序 | 快手小程序 | 飞书小程序 | 京东小程序 |
---|---|---|---|
× | × | × | × |
H5-Safari | Android Browser | 微信浏览器(Android) | QQ浏览器(Android) | Chrome | IE | Edge | Firefox | PC-Safari |
---|---|---|---|---|---|---|---|---|
× | × | × | × | × | × | × | × | × |
示例使用
点击右边“使用HBuilderX导入示例项目”,导入后示例中有个PDF文件,按照文件运行项目。
平台兼容性
目前支持Android,CPU类型支持x86,arm64-v8a,armeabi-v7a android目前适配到API 34
插件功能
-
同时扫多个二维码和条形码
-
配置相册
-
闪光灯
-
相机可以调整焦距放大缩小
-
支持自定义扫描线颜色、提示文案等
-
支持扫描完成提示音、震动
-
支持码内容解析(WIFI信息,位置信息,联系人信息邮件信息,短信信息等等)
-
功能持续完善中...
插件使用及相关API说明
在线使用插件通用流程
-
购买此插件,选择该插件绑定的项目(使用者项目)。
-
购买页面导入到相应项目。
-
根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
-
打包自定义基座,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
-
开发完毕后正式云打包。
此插件的使用
引入插件
import {ScanOptions,scanBarCode } from "@/uni_modules/xt-barcode-scan"
使用插件
uniapp x 版本 :
let options = {
params: `{
'showVibrate': true,
'showBeep': true,
'showPhotoAlbum': true,
'showLightController': true,
'supportZoom': true,
'scanColor': '#ff0000',
'hintText': '扫二维码/条形码',
'hintTextColor': '#ffffff',
'hintTextSize': '14',
'useScanStarPoint':false,
'lightOnHintText':'请打开手电筒1',
'lightOffHintText':'请关闭手电筒1',
'starPointScanLineColumn':30,
'starPointScanLineHeight':300,
'fullScreenScan':true
}`,
complete: (res : any) => {
console.log(res)
let strR:string = res.toString();
//使用JSON进行解析参数
}
} as ScanOptions;
scanBarCode(options);
uniapp 版本:
import {ScanOptions,scanBarCode } from "@/uni_modules/xt-barcode-scan"
scanBarCode({
params: '{"showVibrate": true,"showBeep": true,"showPhotoAlbum": true,"showLightController": true,"supportZoom": true,"scanColor": "#ff0000","fullScreenScan":true}',
complete: (res) => {
console.log(res);
}
});
参数说明
参数名 | 参数类型 | 参数默认值 | 参数说明 |
---|---|---|---|
showVibrate | Boolean | False | 是否需要扫码完成时震动 |
showBeep | Boolean | True | 是否需要扫码完成时发出Beep音 |
showPhotoAlbum | Boolean | True | 是否支持相册选取扫码照片 |
showLightController | Boolean | True | 是否显示手电筒按钮 |
supportZoom | Boolean | False | 是否支持相机可以调整焦距放大缩小 |
scanColor | String | "#FF0000" | 设置扫描线颜色 |
hintText | String | "请扫二维码/条形码" | 设置扫码文案 |
hintTextColor | String | "#FF0000" | 设置提示文案颜色 |
hintTextSize | Integer | 14 | 调整提示文案字体大小 |
useScanStarPoint | Boolean | True | 扫描界面,True:星点闪烁 False:扫描线 |
starPointScanLineColumn | Integer | 30 | 星点列数 |
starPointScanLineHeight | Integer | 300 | 星点高度 |
fullScreenScan | Boolean | False | 是否全屏扫描 |
lightOnHintText | String | "打开闪光灯" | 手电筒开状态文案 |
lightOffHintText | String | "关闭闪光灯" | 手电筒关状态文案 |
回调结果说明
回调结果是一个JSON格式数据,包含两个属性
属性名 | 属性类型 | 说明 | |
---|---|---|---|
statusCode | String | 成功为"success",其他为失败 | |
scanResults | String | 只有成功时才有值 |
scanResults说明(JSON数据,包含两个属性)
属性名 | 属性类型 | 说明 | |
---|---|---|---|
codeType | Integer | 码类型 | |
codeValue | String | 码内容 | |
valueType | Integer | 码的值类型,是WIFI,GPS,联系人,短信等等,可用于处理具体业务 UNKNOWN = 0; CONTACT_INFO = 1; EMAIL = 2; ISBN = 3; PHONE = 4; PRODUCT = 5; SMS = 6; TEXT = 7; URL = 8; WIFI = 9; GEO = 10; CALENDAR_EVENT = 11; DRIVER_LICENSE = 12; |
|
valueDetail | JSON | 值详情 UNKNOWN = 0; CONTACT_INFO = 1(name ,phones); EMAIL = 2;(address,body,subject,emailType) ISBN = 3; PHONE = 4; PRODUCT = 5; SMS = 6;(message,phoneNumber) TEXT = 7; URL = 8;(title,url) WIFI = 9; (ssid,password,type) GEO = 10;(lat,lng) CALENDAR_EVENT = 11;(start,end,description,location,organizer,eventStatus,summary) time (day,hours,minutes,year,month,seconds,isUtc) DRIVER_LICENSE = 12(addressCity,addressStreet,addressZip,birthDate,documentType,expiryDate,firstName, middleName,lastName,gender,issueDate,issuingCountry,licenseNumber); |
codeType说明
FORMAT_UNKNOWN = -1; 未知
FORMAT_ALL_FORMATS = 0; 所有类型
FORMAT_CODE_128 = 1; Code 128
FORMAT_CODE_39 = 2; Code 39
FORMAT_CODE_93 = 4; Code 93
FORMAT_CODABAR = 8; Codabar
FORMAT_DATA_MATRIX = 16; Data Matrix
FORMAT_EAN_13 = 32; EAN-13
FORMAT_EAN_8 = 64; EAN-8
FORMAT_ITF = 128; ITF
FORMAT_QR_CODE = 256; QR Code(二维码)
FORMAT_UPC_A = 512; UPC-A
FORMAT_UPC_E = 1024; UPC-E
FORMAT_PDF417 = 2048; PDF417
FORMAT_AZTEC = 4096; Aztec
返回示例
{
"statusCode": "success",
"scanResults": "[\"{\\\"valueType\\\":8,\\\"valueDetail\\\":{\\\"title\\\":\\\"\\\",\\\"url\\\":\\\"http:\\\\\\/\\\\\\/wx.lenovo.cn\\\\\\/s=20TJS2NN2RR913QE6C_thinkpadr\\\"},\\\"codeType\\\":8,\\\"codeValue\\\":\\\"http:\\\\\\/\\\\\\/wx.lenovo.cn\\\\\\/s=20TJS2NN2RR913QE6C_thinkpadr\\\"}\"]"
}