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  }