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