-
Notifications
You must be signed in to change notification settings - Fork 9
/
QrcodeDo.go
46 lines (41 loc) · 1.29 KB
/
QrcodeDo.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
44
45
46
package ma
import (
"sync"
)
// QrcodeDo 结构体
type QrcodeDo struct {
// 二维码对应的渠道名
ChannelName string `json:"channel_name,omitempty" xml:"channel_name,omitempty"`
// 二维码的矢量图下载地址,只有设置入参need_eps为true且style不为官方模板时,才返回值
EpsUrl string `json:"eps_url,omitempty" xml:"eps_url,omitempty"`
// 二维码图片链接
QrcodeUrl string `json:"qrcode_url,omitempty" xml:"qrcode_url,omitempty"`
// 二维码的短地址,每一个原始地址都会生成一个短地址
ShortUrl string `json:"short_url,omitempty" xml:"short_url,omitempty"`
// 二维码扫码后访问的目的地址
Url string `json:"url,omitempty" xml:"url,omitempty"`
// 二维码所属渠道ID
ChannelId int64 `json:"channel_id,omitempty" xml:"channel_id,omitempty"`
// 二维码id
QrcodeId int64 `json:"qrcode_id,omitempty" xml:"qrcode_id,omitempty"`
}
var poolQrcodeDo = sync.Pool{
New: func() any {
return new(QrcodeDo)
},
}
// GetQrcodeDo() 从对象池中获取QrcodeDo
func GetQrcodeDo() *QrcodeDo {
return poolQrcodeDo.Get().(*QrcodeDo)
}
// ReleaseQrcodeDo 释放QrcodeDo
func ReleaseQrcodeDo(v *QrcodeDo) {
v.ChannelName = ""
v.EpsUrl = ""
v.QrcodeUrl = ""
v.ShortUrl = ""
v.Url = ""
v.ChannelId = 0
v.QrcodeId = 0
poolQrcodeDo.Put(v)
}