wireguard-dashboard/utils/qr_code.go
2024-03-14 15:23:16 +08:00

39 lines
779 B
Go

package utils
import (
"encoding/base64"
"gitee.ltd/lxh/logger/log"
"github.com/skip2/go-qrcode"
)
type qrCode struct{}
func QRCode() qrCode {
return qrCode{}
}
// GenerateQrCodeBase64
// @description: 生成二维码
// @receiver qr
// @param content
// @param size
// @return imgStr
// @return err
func (qr qrCode) GenerateQrCodeBase64(content []byte, size int) (imgStr string, err error) {
q, err := qrcode.New(string(content), qrcode.Highest)
if err != nil {
log.Errorf("初始化二维码对象失败: %v", err.Error())
return
}
q.DisableBorder = false
png, err := q.PNG(size)
if err != nil {
log.Errorf("生成二维码失败: %v", err.Error())
return "", err
}
imgStr = "data:image/png;base64," + base64.StdEncoding.EncodeToString(png)
return
}