github.com/qiniu/go-sdk/v7@v7.27.0/sms/signature.go (about) 1 package sms 2 3 import ( 4 "fmt" 5 "net/url" 6 ) 7 8 // Signature 签名 9 type Signature struct { 10 ID string `json:"id"` 11 Source SignatureSrcType `json:"source"` 12 Signature string `json:"signature"` 13 AuditStatus AuditStatus `json:"audit_status"` 14 RejectReason string `json:"reject_reason,omitempty"` 15 Description string `json:"description"` 16 17 UpdatedAt uint64 `json:"updated_at"` 18 CreatedAt uint64 `json:"created_at"` 19 } 20 21 // SignaturePagination 签名分页 22 type SignaturePagination struct { 23 Page int `json:"page"` // 页码,默认为 1 24 PageSize int `json:"page_size"` // 分页大小,默认为 20 25 Total int `json:"total"` // 总记录条数 26 Items []Signature `json:"items"` // 签名 27 } 28 29 // SignatureRequest 创建签名请求参数 30 type SignatureRequest struct { 31 Signature string `json:"signature"` 32 Source SignatureSrcType `json:"source"` 33 Pic string `json:"pic"` 34 Description string `json:"decription"` 35 } 36 37 // SignatureResponse 签名响应 38 type SignatureResponse struct { 39 SignatureID string `json:"signature_id"` 40 } 41 42 // CreateSignature 创建签名 43 func (m *Manager) CreateSignature(args SignatureRequest) (ret SignatureResponse, err error) { 44 url := fmt.Sprintf("%s%s", Host, "/v1/signature") 45 err = m.client.CallWithJSON(&ret, url, args) 46 return 47 } 48 49 // UpdateSignature 更新签名 50 func (m *Manager) UpdateSignature(id string, args SignatureRequest) (err error) { 51 url := fmt.Sprintf("%s%s/%s", Host, "/v1/signature", id) 52 _, err = m.client.PutWithJSON(url, args) 53 return 54 } 55 56 // QuerySignatureRequest 查询签名参数 57 type QuerySignatureRequest struct { 58 AuditStatus AuditStatus `json:"audit_status"` // 审核状态 59 Page int `json:"page"` // 页码,默认为 1 60 PageSize int `json:"page_size"` // 分页大小,默认为 20 61 } 62 63 // QuerySignature 查询签名 64 func (m *Manager) QuerySignature(args QuerySignatureRequest) (pagination SignaturePagination, err error) { 65 values := url.Values{} 66 67 if args.AuditStatus.IsValid() { 68 values.Set("audit_status", args.AuditStatus.String()) 69 } 70 71 if args.Page > 0 { 72 values.Set("page", fmt.Sprintf("%d", args.Page)) 73 } 74 75 if args.PageSize > 0 { 76 values.Set("page_size", fmt.Sprintf("%d", args.PageSize)) 77 } 78 79 url := fmt.Sprintf("%s%s?%s", Host, "/v1/signature", values.Encode()) 80 err = m.client.GetCall(&pagination, url) 81 return 82 } 83 84 // DeleteSignature 删除签名 85 func (m *Manager) DeleteSignature(id string) (err error) { 86 url := fmt.Sprintf("%s%s/%s", Host, "/v1/signature", id) 87 _, err = m.client.Delete(url) 88 return 89 }