1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- package aiser
- import (
- "encoding/json"
- "eta/eta_api/utils"
- "io/ioutil"
- "net/http"
- "strings"
- "time"
- )
- func ChatAutoMsg(prompt string) (result string, err error) {
- chatUrl := utils.EtaAiUrl + `chat/auto_msg`
- param := make(map[string]interface{})
- param["Prompt"] = prompt
- postData, err := json.Marshal(param)
- if err != nil {
- return result, err
- }
- client := &http.Client{}
- //提交请求
- reqest, err := http.NewRequest("POST", chatUrl, strings.NewReader(string(postData)))
- businessCode := utils.BusinessCode
- nonce := utils.GetRandStringNoSpecialChar(16)
- timestamp := time.Now().Format(utils.FormatDateTimeUnSpace)
- signature := utils.GetSign(nonce, timestamp, utils.EtaAppid, utils.EtaSecret)
- //增加header选项
- reqest.Header.Add("business_code", businessCode)
- reqest.Header.Add("nonce", nonce)
- reqest.Header.Add("timestamp", timestamp)
- reqest.Header.Add("appid", utils.EtaAppid)
- reqest.Header.Add("signature", signature)
- reqest.Header.Set("Content-Type", "application/json")
- utils.FileLog.Info("postData:" + string(postData))
- response, err := client.Do(reqest)
- if err != nil {
- return
- }
- defer response.Body.Close()
- body, err := ioutil.ReadAll(response.Body)
- utils.FileLog.Info("result:" + string(body))
- resp := new(ChatAutoMsgResp)
- err = json.Unmarshal(body, &resp)
- if err != nil {
- return result, err
- }
- if resp.Ret != 200 {
- return resp.Msg, nil
- }
- result = resp.Data
- return result, nil
- }
- type ChatAutoMsgResp struct {
- Ret int
- Data string
- Msg string
- }
|