x-mlkit-scannig-u
开发文档
功能特色
- ios,安卓是Ai模型识别速度非常快,大概ios:50-100ms,安卓:200-350ms
- web/h5带摄像头,实时识别时,效率比较低,识别精度不高,要多对几次
- web/微信图片识别时,精度中上。(不依赖微信官方,也不依赖Uniapp官方纯像素插件识别),不要图片了好多码,识别不准,如果码是黑色,多码能识别一个 如果多码是非黑色,可能识别不出来
- 嵌入式页面识别,方便自己布局和装饰扫码界面。
- 微信,web只能是单码识别,多码一起识别不精准
嵌入式相机识别在微信端:微信官方的本身这个组件就有很多问题,如果遇到没有扫码结果,请自行向微信官方提问,不需要问我,我的xs max就没有任何响应,但安卓有最主要的更新是兼容了微信,并支持微信自定图片识别,这样可以不用打开微信自带的界面再选择图片识别,给了大家商用非常好的便利web,微信图片识别时,请注意图片的干净,尽量不要多码放一起,一图一码,识别精准度还是好的
兼容性
IOS | Andriod | WEB | 小程序 |
---|---|---|---|
支持 | 支持 | 支持 | 支持 |
使用
如果是安卓请务必打自定义基座,如果ios:你在mac环境下配置好了环境无需打包本地编译,如果win开发ios需要打包基座。
ts
// 添加组件
<x-mlkit-scannig-u
@clickQr="onclickQr"
@scan="saningEvent"
:autoOpenCamera="false"
:cameraWidth="1080" :cameraeiHght="1080" style="width:750rpx;height:750rpx;background:black"
ref="XscanU">
</x-mlkit-scannig-u>
export default {
data() {
return {
result:[] as string[],
apiStr:""
};
},
methods: {
saningEvent(str:string[]){
// #ifdef APP-ANDROID||WEB||MP
this.result = str as string[];
// #endif
// #ifdef APP-IOS
let resultstr = uni.getStorageSync("xMlKITScaning")
if(resultstr!=null){
let result = JSON.parseArray<string>(resultstr as string)
this.result = result
}
// #endif
},
onclickQr(str:string){
// #ifdef APP-ANDROID||WEB||MP
uni.showModal({
title:"提醒",
content:str,
showCancel:false
})
// #endif
// #ifdef APP-IOS
let resultstr = uni.getStorageSync("xMlKITScaningClick")
uni.showModal({
title:"提醒",
content:resultstr,
showCancel:false
})
// #endif
},
openCamera(){
let el = (this.$refs['XscanU'] as XMlkitScannigUElement)
el.openCamera()
},
//通过相册选取图片识别.
choose(){
let el = (this.$refs['XscanU'] as XMlkitScannigUElement)
el.chooseImage()
},
closeCamera(){
let el = (this.$refs['XscanU'] as XMlkitScannigUElement)
el.closeCamera()
}
},
}
更新日志
1.1.2(2025-08-17)
- 针对微信的浏览器内核设定相关属性,以防止全屏脱离文档。
1.1.1(2025-02-13)
- web,和微信相册识别已经改版本,能识别大多数码,效率有所提升。因为采用像素解析识别码,因此web,微信它是可以通用的,并且不依赖微信官方本身,所以
- 你现在在微信端也能独立的识别远程或者静态图片码,而不需要调用uni.scan官方自带的接口。同样微信和web图片识别都是只能单码识别
1.1.0(2024-12-18)
- 新增属性flash默认是否开启闪光灯.后续如果需要动态打开 和 关闭闪光请使用ref方法:setFlashModel(boolean)
1.0.9(2024-09-12)
- 优化和修改了核心识别,调整了安卓识别页面兼容华为部分机型.
1.0.8(2024-08-31)
- 新增ref函数chooseImage,相册选取识别
1.0.7(2024-08-11)
- 优化改善识别速率,提高安卓兼容低版本性。优化ios。
- 现在安卓和ios允许任意尺寸嵌入页面识别了。
1.0.6(2024-07-30)
升级支持ios扫码功能,ios最低为ios12+ 升级支持H5(手机端)/WEB(带摄像头的win电脑及mac电脑)
1.0.5(2024-05-4)
- 升级后,原先的api跳转界面已经没有了,因为改成嵌入页面扫码,布局更为方便,可以自行任意装饰和布局。
1.0.4(2024-01-27)
- 预览区域调整缩小一点,
- 捕捉的图像再次放小一点。
- 扫描速率调整到500ms 如果你是有特定机器上有问题,请自己通过修改uts源码调整上面的这些参数,将影响识别速度,精准度,捕捉位置优化等可以自己通过源码调整。
1.0.3(2024-01-26)
修改焦距为持续视频对焦模式,并拉近焦距(相当于视野变小了,之前是宽视野可以同时识别出10几个码,但现实中没必要这样,因此根据其它的应用参考,应该拉近点焦距)。 对焦点识别的位置进行了优化比对,识别时位置更准,但不能保证非常准确。比如手机识别慢100ms左右,你手抖了下,可能位置是前100ms的位置 会造成识别的位置和预览图可能有点区别。但经过持续的测试,红米note11 pro ,2年前的手机,基本很少出现对焦识别失准的情况。 我把识别速度调整为1秒识别一次,对低端机可能更好。如果想识别非常的迅速可以调低这个值,比如100ms,基本一对准就识别了,精准度非常高。 识别的震动改为了80ms,之前是200ms,感觉过长。 识别成功后增加了黑色遮罩。 另外识别程序放在了子线程中执行了,防止偶尔的卡钝。
特别提醒,网友测试如果你是开发模式部分手机可能会比较卡,原因不明,但打包后的程序是非常流畅无比的
1.0.2(2024-01-25)
- 增加了识别成功后,短震动提示
- 识别多点后,给提示点增加了动画缩放指示提醒用户点按识别点。
1.0.1(2024-01-24)
增加返回按钮事件
1.0.0(2024-01-24)
首次发布