Skip to content

x-mlkit-scannig-u

开发文档

TMUI4.0文档TMUI4.0组件库

功能特色

  1. ios,安卓是Ai模型识别速度非常快,大概ios:50-100ms,安卓:200-350ms
  2. web/h5带摄像头,实时识别时,效率比较低,识别精度不高,要多对几次
  3. web/微信图片识别时,精度中上。(不依赖微信官方,也不依赖Uniapp官方纯像素插件识别),不要图片了好多码,识别不准,如果码是黑色,多码能识别一个 如果多码是非黑色,可能识别不出来
  4. 嵌入式页面识别,方便自己布局和装饰扫码界面。
  5. 微信,web只能是单码识别,多码一起识别不精准

嵌入式相机识别在微信端:微信官方的本身这个组件就有很多问题,如果遇到没有扫码结果,请自行向微信官方提问,不需要问我,我的xs max就没有任何响应,但安卓有最主要的更新是兼容了微信,并支持微信自定图片识别,这样可以不用打开微信自带的界面再选择图片识别,给了大家商用非常好的便利web,微信图片识别时,请注意图片的干净,尽量不要多码放一起,一图一码,识别精准度还是好的

兼容性

IOSAndriodWEB小程序
支持支持支持支持

使用

如果是安卓请务必打自定义基座,如果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)

  1. 预览区域调整缩小一点,
  2. 捕捉的图像再次放小一点。
  3. 扫描速率调整到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. 增加了识别成功后,短震动提示
  2. 识别多点后,给提示点增加了动画缩放指示提醒用户点按识别点。

1.0.1(2024-01-24)

增加返回按钮事件

1.0.0(2024-01-24)

首次发布

最近更新