123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- package dao
- import (
- "bytes"
- "context"
- "encoding/json"
- "fmt"
- "net/http"
- "go-common/library/log"
- )
- const _mask = "/dl/api/masks/v1"
- // GenerateMask ask AI to generate dm mask
- func (d *Dao) GenerateMask(c context.Context, cid, mid int64, plat int8, force int8, aid int64, duration int64, typeID int32) (err error) {
- var (
- res struct {
- Code int64 `json:"errcode"`
- Message string `json:"errmsg"`
- }
- params = make(map[string]interface{})
- )
- params["cid"] = cid
- params["mask_platform"] = plat
- params["force"] = force
- params["mid"] = mid
- params["aid"] = aid
- params["duration"] = duration
- params["region_2"] = typeID
- data, err := json.Marshal(params)
- if err != nil {
- log.Error("json.Marshal(%v) error(%v)", params, err)
- return
- }
- reader := bytes.NewReader(data)
- req, err := http.NewRequest("POST", d.maskURI, reader)
- if err != nil {
- log.Error("http.NewRequest error(%v)", err)
- return
- }
- req.Header.Set("Content-Type", "application/json")
- for i := 0; i < 3; i++ {
- if err = d.httpCli.Do(c, req, &res); err != nil {
- continue
- }
- if res.Code != 200 {
- err = fmt.Errorf("uri:%s,code:%d", d.maskURI, res.Code)
- continue
- }
- break
- }
- if err != nil {
- log.Error("d.GenerateMask(cid:%d, plat:%d) error(%v)", cid, plat, err)
- }
- return
- }
|