主题
LimeScan
- lime-scan 华为统一扫码(ScanKit)插件,只支持单码模式,兼容安卓/ios/鸿蒙(未测)/H5扫码使用zxing实现扫码(二维码、条形码)
安装
基础使用
html
<view style="padding: 30rpx 0;">扫描结果:{{result}}</view>
<button type="primary" @click="scan">开启扫描</button>
import {scanCode, ScanCodeOption} from '@/uni_modules/lime-scan';
export default {
data() {
return {
type: '',
result: '',
}
},
methods:{
scan() {
scanCode({
success: (res)=> {
this.result = res.result
console.log('res', res.scanType)
}
} as ScanCodeOption)
}
}
}
生成二维码
仅APP端支持(ios、安卓、鸿蒙)
js
import { createQRCode, CreateQRCodeOptions } from '@/uni_modules/lime-scan';
createQRCode({
width: 300,
height:300,
content: 'limeui.qcoon.cn',
success(src: string) {
qrcode.value = src
}
} as CreateQRCodeOptions)
鸿蒙NEXT使用
代码已实现,但因没有设备测试,故不敢保证能用。
H5端使用
H5端使用了@zxing/library
实现,这个库识别率一般般,可以扫二维码,条形码。
- 1、移动端访问摄像头权限需要 https 协议
- 2、上传图片解码 带logo的码 识别不了,扫码可以。
由于需要https
协议, 本地开发时, vite 可以安装@vitejs/plugin-basic-ssl
并配置https
协议
js
pnpm i @vitejs/plugin-basic-ssl -D
vite.config.ts中配置
js
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()]
})