更新记录
0.2.5(2025-06-17)
0.2.4(2025-06-14)
0.2.3(2025-06-14)
查看更多
平台兼容性
云端兼容性
uni-app(4.34)
Vue2 |
Vue3 |
Chrome |
Safari |
app-vue |
app-nvue |
Android |
iOS |
鸿蒙 |
√ |
√ |
√ |
√ |
√ |
√ |
5.0 |
√ |
√ |
微信小程序 |
支付宝小程序 |
抖音小程序 |
百度小程序 |
快手小程序 |
京东小程序 |
鸿蒙元服务 |
QQ小程序 |
飞书小程序 |
快应用-华为 |
快应用-联盟 |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
- |
- |
uni-app x(4.61)
Chrome |
Safari |
Android |
iOS |
鸿蒙 |
微信小程序 |
√ |
√ |
5.0 |
√ |
√ |
√ |
lime-scan 扫码组件
一个基于华为统一扫码(ScanKit)的扫码插件,支持单码模式,兼容安卓、iOS、鸿蒙和H5平台。提供了扫描二维码、条形码等多种码制的功能,同时支持生成二维码。组件提供了简单易用的API,使开发者能够方便地在应用中集成扫码功能。
文档链接
📚 组件详细文档请访问以下站点:
安装方法
- 在uni-app插件市场中搜索并导入
lime-scan
- 导入后在页面引入相关方法
- 需要自定义基座才能使用
- 试用符合需求后才购买,插件无法退款
- ios可能存在一维码识别不准的问题
代码演示
基础用法
简单的扫码功能实现:
<view style="padding: 30rpx 0;">扫描结果:{{result}}</view>
<button type="primary" @click="scan">开启扫描</button>
import {scanCode, type ScanCodeOption} from '@/uni_modules/lime-scan';
export default {
data() {
return {
type: '',
result: '',
}
},
methods:{
scan() {
scanCode({
success: (res)=> {
this.result = res.result
console.log('扫码类型:', res.scanType)
}
} as ScanCodeOption)
}
}
}
生成二维码
在APP端生成二维码图片:
import { createQRCode, type CreateQRCodeOptions } from '@/uni_modules/lime-scan';
createQRCode({
width: 300,
height: 300,
content: 'limeui.qcoon.cn',
success(src: string) {
console.log('二维码图片地址:', src);
},
fail(error: string) {
console.log('生成失败:', error);
}
} as CreateQRCodeOptions);
H5端使用说明
- 移动端访问摄像头权限需要 HTTPS 协议
- 上传图片解码时,带logo的码可能识别不了,但直接扫码可以
配置HTTPS开发环境
由于H5端需要HTTPS协议才能访问摄像头,本地开发时可以配置Vite的HTTPS支持:
# 安装插件
pnpm i @vitejs/plugin-basic-ssl -D
在vite.config.ts中配置:
import basicSsl from '@vitejs/plugin-basic-ssl'
import uni from '@dcloudio/vite-plugin-uni';
import { defineConfig } from 'vite';
export default defineConfig({
server: {
https: true
},
plugins: [ basicSsl(), uni()]
})
快速预览
导入插件后,可以直接使用以下标签查看演示效果:
<!-- 代码位于 uni_modules/lime-scan/components/lime-scan -->
<lime-scan />
插件标签说明
标签名 |
说明 |
l-scan |
组件标签 |
lime-scan |
演示标签 |
API文档
scanCode 方法
参数 |
说明 |
类型 |
必填 |
options |
扫码选项 |
ScanCodeOption |
是 |
ScanCodeOption 选项
参数 |
类型 |
必填 |
说明 |
scanType |
ScanFormatTypeCode[] |
否 |
扫码类型,默认所有类型 |
onlyFromCamera |
boolean |
否 |
是否只使用相机扫码 |
success |
(result: ScanCodeSuccessCallbackResult) => void |
否 |
接口调用成功的回调函数 |
fail |
(res: GeneralCallbackResult) => void |
否 |
接口调用失败的回调函数 |
complete |
(res: GeneralCallbackResult) => void |
否 |
接口调用结束的回调函数 |
ScanCodeSuccessCallbackResult 返回参数
参数 |
类型 |
说明 |
result |
string |
所扫码的内容 |
scanType |
ScanType |
所扫码的类型 |
charSet |
string |
所扫码的字符集 |
path |
string |
当所扫的码为当前小程序二维码时,会返回此字段 |
rawData |
string |
原始数据,base64编码 |
errMsg |
string |
错误信息 |
createQRCode 方法
参数 |
说明 |
类型 |
必填 |
options |
生成二维码选项 |
CreateQRCodeOptions |
是 |
CreateQRCodeOptions 选项
参数 |
类型 |
必填 |
说明 |
content |
string |
是 |
二维码内容 |
width |
number |
是 |
二维码宽度 |
height |
number |
是 |
二维码高度 |
success |
(result: string) => void |
否 |
接口调用成功的回调函数 |
fail |
(result: string) => void |
否 |
接口调用失败的回调函数 |
complete |
(result: string) => void |
否 |
接口调用结束的回调函数 |
支持的扫码类型
ScanType 扫码结果类型
值 |
说明 |
QR_CODE |
二维码 |
AZTEC |
一维码 |
CODABAR |
一维码 |
CODE_39 |
一维码 |
CODE_93 |
一维码 |
CODE_128 |
一维码 |
DATA_MATRIX |
二维码 |
EAN_8 |
一维码 |
EAN_13 |
一维码 |
ITF |
一维码 |
MAXICODE |
一维码 |
PDF_417 |
二维码 |
RSS_14 |
一维码 |
RSS_EXPANDED |
一维码 |
UPC_A |
一维码 |
UPC_E |
一维码 |
UPC_EAN_EXTENSION |
一维码 |
WX_CODE |
二维码 |
CODE_25 |
一维码 |
ScanFormatTypeCode 扫码类型选项
值 |
说明 |
barCode |
一维码 |
qrCode |
二维码 |
datamatrix/dataMatrix |
Data Matrix 码 |
pdf417 |
PDF417 条码 |
codabar |
Codabar 码 |
code39 |
Code 39 码 |
code93 |
Code 93 码 |
code128 |
Code 128 码 |
ean8 |
EAN-8 码 |
ean13 |
EAN-13 码 |
itf |
ITF 码 |
upcA |
UPC-A 码 |
upcE |
UPC-E 码 |
aztec |
Aztec 码 |
功能特点
- 支持多种码制的扫描,包括二维码、条形码等
- 支持生成二维码功能(仅APP端)
- 兼容安卓、iOS、鸿蒙和H5平台
- 提供简单易用的API接口
- H5端基于@zxing/library实现,无需额外配置
- 支持指定扫码类型,提高识别效率
常见问题
- H5端需要HTTPS协议才能访问摄像头
- H5端识别带logo的二维码可能会有困难
- APP端需要自定义基座才能使用
- 生成二维码功能仅在APP端支持
- 目前仅支持单码模式,不支持同时识别多个码
支持与赞赏
如果你觉得本插件解决了你的问题,可以考虑支持作者:
支付宝赞助 |
微信赞助 |
 |
 |