package tool import ( "fmt" "gitee.ltd/lxh/xybot/base" "gitee.ltd/lxh/xybot/core" ) // CheckDatabaseOK // @description: 检查数据库是否正常 // @receiver s // @return running // @return err func (s service) CheckDatabaseOK() (running bool, err error) { var result CheckDatabaseOKResponse _, err = s.client.R().SetResult(&result).Get("/CheckDatabaseOK") running = result.Running return } // IsRunning // @description: 是否在运行 // @receiver s // @return flag // @return err func (s service) IsRunning() (flag bool, err error) { resp, err := s.client.R().Get("/IsRunning") if err != nil { return } flag = string(resp.Body()) == "OK" return } // CdnDownloadImg // @description: 下载图片 // @receiver s // @param aesKey // @param cdnMidImgUrl // @return dataBase64Str // @return err func (s service) CdnDownloadImg(aesKey, cdnMidImgUrl string) (dataBase64Str string, err error) { var result base.Response[string] _, err = s.client.R(). SetResult(&result). SetBody(map[string]any{ "Wxid": core.WxId, "AesKey": aesKey, "Cdnmidimgurl": cdnMidImgUrl, }).Post("/CdnDownloadImg") if err = result.CheckError(err); err != nil { return } dataBase64Str = result.Data return } // DownloadAttach // @description: 下载附件 // @receiver s // @param attachId // @return dataBase64Str // @return err func (s service) DownloadAttach(attachId string) (dataBase64Str string, err error) { var result base.Response[DownloadAttachResponse] _, err = s.client.R(). SetResult(&result). SetBody(map[string]any{ "Wxid": core.WxId, "AttachId": attachId, }).Post("/DownloadAttach") if err = result.CheckError(err); err != nil { return } dataBase64Str = result.Data.Data.Buffer return } // DownloadVideo // @description: 下载视频 // @receiver s // @param msgId // @return dataBase64Str // @return err func (s service) DownloadVideo(msgId int) (dataBase64Str string, err error) { var result base.Response[DownloadAttachResponse] _, err = s.client.R(). SetResult(&result). SetBody(map[string]any{ "Wxid": core.WxId, "MsgId": msgId, }).Post("/DownloadVideo") if err = result.CheckError(err); err != nil { return } dataBase64Str = result.Data.Data.Buffer return } // DownloadVoice // @description: 下载语音 // @receiver s // @param msgId // @param voiceUrl // @param length // @return dataBase64Str // @return err func (s service) DownloadVoice(msgId int, voiceUrl string, length int) (dataBase64Str string, err error) { var result base.Response[DownloadAttachResponse] _, err = s.client.R(). SetResult(&result). SetBody(map[string]any{ "Wxid": core.WxId, "MsgId": msgId, "Voiceurl": voiceUrl, "Length": length, }).Post("/DownloadVoice") if err = result.CheckError(err); err != nil { return } dataBase64Str = result.Data.Data.Buffer return } // SetProxy // @description: 设置代理 // @receiver s // @param param // @return err func (s service) SetProxy(param SetProxyRequest) (err error) { var result base.Response[base.EmptyResponse] _, err = s.client.R(). SetResult(&result). SetBody(map[string]any{ "Wxid": core.WxId, "Proxy": map[string]any{ "ProxyIp": fmt.Sprintf("%s:%d", param.Ip, param.Port), "ProxyUser": param.Username, "ProxyPassword": param.Password, }, }). Post("/SetProxy") if err = result.CheckError(err); err != nil { return } return } // SetStep // @description: 设置运动步数 // @receiver s // @param stepCount // @return err func (s service) SetStep(stepCount int) (err error) { var result base.Response[base.EmptyResponse] _, err = s.client.R(). SetResult(&result). SetBody(map[string]any{ "Wxid": core.WxId, "StepCount": stepCount, }).Post("/SetStep") if err = result.CheckError(err); err != nil { return } return }