Files
kami_backend/utility/integration/apple/api.go
danial 15e2426e85 feat(camel_oil): 新增骆驼加油账号管理模块
- 实现账号增删改查接口和逻辑
- 支持账号状态更新及状态历史记录功能
- 提供账号列表、历史和统计信息查询API
- 实现账号轮询机制,支持按使用时间轮询获取账号
- 增加账号登录流程及批量登录功能,集成接码平台和平台API
- 管理账号订单容量,支持容量检查与账号登录触发
- 提供账号池状态统计接口
- 账号历史记录查询支持多种变更类型文本展示
- 密码等敏感信息采用脱敏展示
- 完善日志记录和错误处理机制,保证业务稳定运行
2025-11-21 00:49:50 +08:00

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
}