105 lines
3.3 KiB
Go
105 lines
3.3 KiB
Go
|
/**
|
|||
|
* @Author: Echo
|
|||
|
* @Author:1711788888@qq.com
|
|||
|
* @Date: 2021/5/29 18:38
|
|||
|
* @Desc: 运营管理
|
|||
|
*/
|
|||
|
|
|||
|
package operation
|
|||
|
|
|||
|
import (
|
|||
|
"time"
|
|||
|
|
|||
|
"git.echol.cn/loser/tencent-im/internal/core"
|
|||
|
)
|
|||
|
|
|||
|
const (
|
|||
|
serviceOperation = "openconfigsvr"
|
|||
|
serviceOpenMessage = "open_msg_svc"
|
|||
|
serviceConfig = "ConfigSvc"
|
|||
|
commandGetAppInfo = "getappinfo"
|
|||
|
commandGetHistory = "get_history"
|
|||
|
commandGetIPList = "GetIPList"
|
|||
|
)
|
|||
|
|
|||
|
type API interface {
|
|||
|
// GetOperationData 拉取运营数据
|
|||
|
// App 管理员可以通过该接口拉取最近30天的运营数据,可拉取的字段见下文可拉取的运营字段。
|
|||
|
// 点击查看详细文档:
|
|||
|
// https://cloud.tencent.com/document/product/269/4193
|
|||
|
GetOperationData(fields ...FieldType) (data []*OperationData, err error)
|
|||
|
|
|||
|
// GetHistoryData 下载最近消息记录
|
|||
|
// App 管理员可以通过该接口获取 App 中最近7天中某天某小时的所有单发或群组消息记录的下载地址
|
|||
|
// 点击查看详细文档:
|
|||
|
// https://cloud.tencent.com/document/product/269/1650
|
|||
|
GetHistoryData(chatType ChatType, msgTime time.Time) (files []*HistoryFile, err error)
|
|||
|
|
|||
|
// GetIPList 获取服务器IP地址
|
|||
|
// 基于安全等考虑,您可能需要获知服务器的 IP 地址列表,以便进行相关限制。
|
|||
|
// App 管理员可以通过该接口获得 SDK、第三方回调所使用到的服务器 IP 地址列表或 IP 网段信息。
|
|||
|
// 点击查看详细文档:
|
|||
|
// https://cloud.tencent.com/document/product/269/45438
|
|||
|
GetIPList() (ips []string, err error)
|
|||
|
}
|
|||
|
|
|||
|
type api struct {
|
|||
|
client core.Client
|
|||
|
}
|
|||
|
|
|||
|
func NewAPI(client core.Client) API {
|
|||
|
return &api{client: client}
|
|||
|
}
|
|||
|
|
|||
|
// GetOperationData 拉取运营数据
|
|||
|
// App 管理员可以通过该接口拉取最近30天的运营数据,可拉取的字段见下文可拉取的运营字段。
|
|||
|
// 点击查看详细文档:
|
|||
|
// https://cloud.tencent.com/document/product/269/4193
|
|||
|
func (a *api) GetOperationData(fields ...FieldType) (data []*OperationData, err error) {
|
|||
|
req := &getOperationDataReq{Fields: fields}
|
|||
|
resp := &getOperationDataResp{}
|
|||
|
|
|||
|
if err = a.client.Post(serviceOperation, commandGetAppInfo, req, resp); err != nil {
|
|||
|
return
|
|||
|
}
|
|||
|
|
|||
|
data = resp.Data
|
|||
|
|
|||
|
return
|
|||
|
}
|
|||
|
|
|||
|
// GetHistoryData 下载最近消息记录
|
|||
|
// App 管理员可以通过该接口获取 App 中最近7天中某天某小时的所有单发或群组消息记录的下载地址
|
|||
|
// 点击查看详细文档:
|
|||
|
// https://cloud.tencent.com/document/product/269/1650
|
|||
|
func (a *api) GetHistoryData(chatType ChatType, msgTime time.Time) (files []*HistoryFile, err error) {
|
|||
|
req := &getHistoryDataReq{ChatType: chatType, MsgTime: msgTime.Format("2006010215")}
|
|||
|
resp := &getHistoryDataResp{}
|
|||
|
|
|||
|
if err = a.client.Post(serviceOpenMessage, commandGetHistory, req, resp); err != nil {
|
|||
|
return
|
|||
|
}
|
|||
|
|
|||
|
files = resp.Files
|
|||
|
|
|||
|
return
|
|||
|
}
|
|||
|
|
|||
|
// GetIPList 获取服务器IP地址
|
|||
|
// 基于安全等考虑,您可能需要获知服务器的 IP 地址列表,以便进行相关限制。
|
|||
|
// App 管理员可以通过该接口获得 SDK、第三方回调所使用到的服务器 IP 地址列表或 IP 网段信息。
|
|||
|
// 点击查看详细文档:
|
|||
|
// https://cloud.tencent.com/document/product/269/45438
|
|||
|
func (a *api) GetIPList() (ips []string, err error) {
|
|||
|
req := &getIPListReq{}
|
|||
|
resp := &getIPListResp{}
|
|||
|
|
|||
|
if err = a.client.Post(serviceConfig, commandGetIPList, req, resp); err != nil {
|
|||
|
return
|
|||
|
}
|
|||
|
|
|||
|
ips = resp.IPList
|
|||
|
|
|||
|
return
|
|||
|
}
|