- 实现账号增删改查接口和逻辑 - 支持账号状态更新及状态历史记录功能 - 提供账号列表、历史和统计信息查询API - 实现账号轮询机制,支持按使用时间轮询获取账号 - 增加账号登录流程及批量登录功能,集成接码平台和平台API - 管理账号订单容量,支持容量检查与账号登录触发 - 提供账号池状态统计接口 - 账号历史记录查询支持多种变更类型文本展示 - 密码等敏感信息采用脱敏展示 - 完善日志记录和错误处理机制,保证业务稳定运行
55 lines
1.3 KiB
Go
55 lines
1.3 KiB
Go
package apple
|
|
|
|
import (
|
|
"context"
|
|
"encoding/json"
|
|
"github.com/gogf/gf/v2/frame/g"
|
|
"github.com/gogf/gf/v2/net/gclient"
|
|
"sync"
|
|
)
|
|
|
|
type Client struct {
|
|
Client *gclient.Client
|
|
}
|
|
|
|
var client *Client
|
|
|
|
func NewClient() *Client {
|
|
sync.OnceFunc(func() {
|
|
client = &Client{
|
|
Client: g.Client(),
|
|
}
|
|
})()
|
|
return client
|
|
}
|
|
|
|
func (c *Client) Redeem(ctx context.Context, req *RedeemReq) (resp *Resp[RedeemResp], err error) {
|
|
response, err := c.Client.Post(ctx, "http://kami-spider-monorepo:8000/api/apple/redeem", req)
|
|
if err != nil {
|
|
return
|
|
}
|
|
resp = &Resp[RedeemResp]{}
|
|
err = json.Unmarshal(response.ReadAll(), resp)
|
|
return resp, err
|
|
}
|
|
|
|
func (c *Client) QueryBalance(ctx context.Context, req *QueryBalanceReq) (resp *Resp[QueryBalanceResp], err error) {
|
|
response, err := c.Client.Post(ctx, "http://kami-spider-monorepo:8000/api/apple/query-balance", req)
|
|
if err != nil {
|
|
return
|
|
}
|
|
resp = &Resp[QueryBalanceResp]{}
|
|
err = json.Unmarshal(response.ReadAll(), resp)
|
|
return resp, err
|
|
}
|
|
|
|
func (c *Client) Heartbeat(ctx context.Context, req *HeartBeatReq) (resp *Resp[HeartBeatResp], err error) {
|
|
response, err := c.Client.Post(ctx, "http://kami-spider-monorepo:8000/api/apple/heartbeat", req)
|
|
if err != nil {
|
|
return
|
|
}
|
|
resp = &Resp[HeartBeatResp]{}
|
|
err = json.Unmarshal(response.ReadAll(), resp)
|
|
return resp, err
|
|
}
|