更新记录

0.0.1(2024-01-19)

  • 首次上传

平台兼容性

Vue2 Vue3
×
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
app-vue app-uvue × × × × × ×
钉钉小程序 快手小程序 飞书小程序 京东小程序
× × × ×
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari
× × × ×

lime-barcode

  • uniapp vue3 生成条形码插件,插件核心源于JsBarcode
  • 仅在H5、微信小程序,Uvue
  • uvue 需要导入lime-barcodegen

使用

  • 导入插件后直接使用
  • uvue 需要导入lime-barcodegen
  • uvue 条形码类型,目前仅支持 EAN13、CODE39、CODE128、codabar

基础使用

<l-barcode text="1234567890128" lineWidth="4rpx" lineLength="30px" lineColor="blue" format="ean13" margin="5px"></l-barcode>

生成图片

  • 1、通过调用插件的canvasToTempFilePath方法生成图片。
<image v-if="image" :src="image" style="width: 300rpx;" mode="widthFix"></image>
<l-barcode ref="barcodeRef" text="1234567890128"></l-barcode>
<button @click="onClick">生成图片</button>
// vue3
const barcodeRef = ref(null)
const onClick = () => {
    if(!barcodeRef.value) return
    barcodeRef.value.canvasToTempFilePath({
        success(res) {
            image.value = res.tempFilePath
            console.log('success:::', res)
        },
        fail(err) {
            console.log('err:::', err)
        }
    })
}

// vue2
const el = this.$refs['barcodeRef'] 
el.canvasToTempFilePath({
    success:(res)=>{
        this.image = res.tempFilePath
    },
    fail(err) {
        console.log('err:::', err)
    }
})

// uvue
const el:LBarcodeComponentPublicInstance = this.$refs['barcodeRef'] as LBarcodeComponentPublicInstance 
el.canvasToTempFilePath({
    success:(res: TakeSnapshotSuccess)=>{
        this.image = res.tempFilePath
    },
    fail(err: TakeSnapshotFail) {
        console.log('err:::', err)
    }
})
  • 2、通过设置useCanvasToTempFilePathsuccess事件里接收图片地址
<image v-if="image" :src="image" style="width: 300rpx;" mode="widthFix"></image>
<l-barcode useCanvasToTempFilePath @success="success" text="1234567890128"></l-barcode>
const image = ref(null)
const success = (img) => {
    image.value = img
}

关于vue2的使用方式

  • 插件使用了composition-api, 如果你希望在vue2中使用请按官方的教程vue-composition-api配置
  • 关键代码是: 在main.js中 在vue2部分加上这一段即可,官方是把它单独成了一个文件.
// main.js vue2
import Vue from 'vue'
import VueCompositionAPI from '@vue/composition-api'
Vue.use(VueCompositionAPI)

另外插件也用到了TS,vue2可能会遇过官方的TS版本过低的问题,找到HX目录下的compile-typescript目录

// \HBuilderX\plugins\compile-typescript
yarn add typescript -D
- or - 
npm install typescript -D

查看示例

  • 导入后直接使用这个标签查看演示效果
// 代码位于 uni_modules/lime-barcode/compoents/lime-barcode
<lime-barcode />

插件标签

  • 默认 l-barcode 为 component
  • 默认 lime-barcode 为 demo

API

Props

参数 类型 默认值 说明
format String code128 要使用的条形码类型。
提示:微信APP扫码支持的条码类型有 code128\code39\ean13\ean8\upc\itf14
width Number|String 2 设置条之间的宽度
height Number|String 60 设置条的高度
displayValue Boolean true 是否在条形码下方显示文字
text String 1234567890128 条码内容
textAlign String center 可选值:left\right,设置文本的水平对齐方式
textPosition String bottom 可选值top,设置文本的垂直位置
textMargin Number|String 5 设置文本的垂直位置
fontSize Number|String 24 设置文本的大小
fontColor String(color) #000000 设置文本的颜色
lineColor String(color) #000000 设置条形码的颜色
background String(color) #FFFFFF 设置条形码的背景色
margin Number|String 0 设置条形码周围的空白边距
marginTop Number|String 设置条形码周围的上边距
marginBottom Number|String 设置条形码周围的下边距
marginLeft Number|String 设置条形码周围的左边距
marginRight Number|String 设置条形码周围的右边距

常见问题

  • 微信APP扫码支持的条码类型有 code128\code39\ean13\ean8\upc\itf14

感谢

jsBarcode

打赏

如果你觉得本插件,解决了你的问题,赠人玫瑰,手留余香。

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问