-
Notifications
You must be signed in to change notification settings - Fork 9
/
QrCodeStyle.go
43 lines (38 loc) · 1.3 KB
/
QrCodeStyle.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
package ma
import (
"sync"
)
// QrCodeStyle 结构体
type QrCodeStyle struct {
// 可选参数,logo的淘宝tfs地址,默认无
Logo string `json:"logo,omitempty" xml:"logo,omitempty"`
// 可选参数,二维背景色颜色值,接入业务点配置为准,未配置,默认为白
BgColor int64 `json:"bg_color,omitempty" xml:"bg_color,omitempty"`
// 可选参数,二维码纠错级别 0=~7%,1=~15%,2=~25%,3=~30%
Level int64 `json:"level,omitempty" xml:"level,omitempty"`
// 可选参数,二维码深色点颜色值,接入业务点配置为准,未配置,默认为黑
Color int64 `json:"color,omitempty" xml:"color,omitempty"`
// 可选参数,二维码的边框,默认大小1个单位点,便于扫码
Margin int64 `json:"margin,omitempty" xml:"margin,omitempty"`
// 可选参数,二维码大小,值60~600,默认185pix
Size int64 `json:"size,omitempty" xml:"size,omitempty"`
}
var poolQrCodeStyle = sync.Pool{
New: func() any {
return new(QrCodeStyle)
},
}
// GetQrCodeStyle() 从对象池中获取QrCodeStyle
func GetQrCodeStyle() *QrCodeStyle {
return poolQrCodeStyle.Get().(*QrCodeStyle)
}
// ReleaseQrCodeStyle 释放QrCodeStyle
func ReleaseQrCodeStyle(v *QrCodeStyle) {
v.Logo = ""
v.BgColor = 0
v.Level = 0
v.Color = 0
v.Margin = 0
v.Size = 0
poolQrCodeStyle.Put(v)
}