173 lines
4.1 KiB
Go
173 lines
4.1 KiB
Go
package tool
|
|
|
|
import (
|
|
"fmt"
|
|
"gitee.ltd/lxh/xybot/base"
|
|
)
|
|
|
|
// 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().
|
|
SetHeader("WeChatId", s.robotInfo.GetId()).
|
|
SetResult(&result).
|
|
SetBody(map[string]any{
|
|
"Wxid": s.robotInfo.GetId(),
|
|
"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().
|
|
SetHeader("WeChatId", s.robotInfo.GetId()).
|
|
SetResult(&result).
|
|
SetBody(map[string]any{
|
|
"Wxid": s.robotInfo.GetId(),
|
|
"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().
|
|
SetHeader("WeChatId", s.robotInfo.GetId()).
|
|
SetResult(&result).
|
|
SetBody(map[string]any{
|
|
"Wxid": s.robotInfo.GetId(),
|
|
"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().
|
|
SetHeader("WeChatId", s.robotInfo.GetId()).
|
|
SetResult(&result).
|
|
SetBody(map[string]any{
|
|
"Wxid": s.robotInfo.GetId(),
|
|
"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().
|
|
SetHeader("WeChatId", s.robotInfo.GetId()).
|
|
SetResult(&result).
|
|
SetBody(map[string]any{
|
|
"Wxid": s.robotInfo.GetId(),
|
|
"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().
|
|
SetHeader("WeChatId", s.robotInfo.GetId()).
|
|
SetResult(&result).
|
|
SetBody(map[string]any{
|
|
"Wxid": s.robotInfo.GetId(),
|
|
"StepCount": stepCount,
|
|
}).Post("/SetStep")
|
|
if err = result.CheckError(err); err != nil {
|
|
return
|
|
}
|
|
return
|
|
}
|