修正和重构代码

This commit is contained in:
Rosy-zhudan
2019-08-29 16:05:29 +08:00
parent 21c1c3c514
commit 1ea9c5aca2
5 changed files with 24 additions and 39 deletions

View File

@@ -12,6 +12,7 @@ import (
"sync"
"time"
"errors"
"image"
"image/png"
"bytes"
"encoding/base64"
@@ -465,15 +466,15 @@ func CaculateSkuEarningPrice(shopPrice, salePrice int64, storePayPercentage int)
return earningPrice
}
func GetImgBase64(qrCode barcode.Barcode) (imgBase64 string, err error) {
func GetImgBase64(img image.Image) (imgBase64 string, err error) {
bufWriter := bytes.NewBuffer(nil)
png.Encode(bufWriter, qrCode)
png.Encode(bufWriter, img)
imgBase64 = "data:image/png;base64," + base64.StdEncoding.EncodeToString(bufWriter.Bytes())
return imgBase64, err
}
func CreateQrAndBarCode(width, height int, codetype, srcData string) (imgBase64 string, err error) {
func CreateQrOrBarCode(width, height int, codeType, srcData string) (imgBase64 string, err error) {
if width > MaxCodeWidth {
width = MaxCodeWidth
}
@@ -481,24 +482,19 @@ func CreateQrAndBarCode(width, height int, codetype, srcData string) (imgBase64
height = MaxCodeHeight
}
if codetype == CodeTypeQr {
qrCode, err := qr.Encode(srcData, qr.M, qr.Auto)
if err == nil {
qrCode, err = barcode.Scale(qrCode, width, height)
if err == nil {
imgBase64, err = GetImgBase64(qrCode)
}
}
} else if codetype == CodeTypeBar {
cs, err := code128.Encode(srcData)
if err == nil {
qrCode, err2 := barcode.Scale(cs, width, height)
if err = err2; err == nil {
imgBase64, err = GetImgBase64(qrCode)
}
}
var code barcode.Barcode
if codeType == CodeTypeQr {
code, err = qr.Encode(srcData, qr.M, qr.Auto)
} else if codeType == CodeTypeBar {
code, err = code128.Encode(srcData)
} else {
err = errors.New(fmt.Sprintf("未知编码类型:%s", codetype))
err = errors.New(fmt.Sprintf("未知编码类型:%s", codeType))
}
if err == nil {
code, err = barcode.Scale(code, width, height)
if err == nil {
imgBase64, err = GetImgBase64(code)
}
}
return imgBase64, err