新增将账号导入到adspower的方法
This commit is contained in:
103
utils/ads_power_request.go
Normal file
103
utils/ads_power_request.go
Normal file
@@ -0,0 +1,103 @@
|
||||
package utils
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"go-account-register/config"
|
||||
"log"
|
||||
|
||||
"github.com/go-resty/resty/v2"
|
||||
)
|
||||
|
||||
type AdsPowerRequest struct {
|
||||
client *resty.Client
|
||||
}
|
||||
|
||||
func NewAdsPowerRequest() *AdsPowerRequest {
|
||||
appConfig, _ := config.LoadConfig()
|
||||
client := resty.New()
|
||||
client.SetBaseURL(appConfig.AdsPower.ApiUrl)
|
||||
|
||||
// 响应拦截器 (类似 axios 拦截器)
|
||||
client.OnAfterResponse(func(c *resty.Client, resp *resty.Response) error {
|
||||
if resp.StatusCode() != 200 {
|
||||
log.Println("请求失败,检查网络")
|
||||
return errors.New("request failed")
|
||||
}
|
||||
return nil
|
||||
})
|
||||
|
||||
return &AdsPowerRequest{client: client}
|
||||
}
|
||||
|
||||
// Request 发送通用请求
|
||||
func (h *AdsPowerRequest) Request(method, url string, body interface{}, queryParams map[string]string) (*resty.Response, error) {
|
||||
req := h.client.R().
|
||||
SetHeader("Content-Type", "application/json")
|
||||
|
||||
if body != nil {
|
||||
req.SetBody(body)
|
||||
}
|
||||
if queryParams != nil {
|
||||
req.SetQueryParams(queryParams)
|
||||
}
|
||||
|
||||
resp, err := req.Execute(method, url)
|
||||
|
||||
if err != nil {
|
||||
log.Println("请求失败了:", err)
|
||||
return nil, err
|
||||
}
|
||||
return resp, nil
|
||||
}
|
||||
|
||||
/**
|
||||
* 打开浏览器
|
||||
*/
|
||||
func (h *AdsPowerRequest) OpenBrowser(data map[string]interface{}) (*resty.Response, error) {
|
||||
return h.Request("POST", "/api/v2/browser-profile/start", data, nil)
|
||||
}
|
||||
|
||||
/**
|
||||
* @description 关闭浏览器
|
||||
* @param {String} id
|
||||
* @returns {*resty.Response, error}
|
||||
*/
|
||||
func (h *AdsPowerRequest) CloseBrowser(id string) (*resty.Response, error) {
|
||||
return h.Request("POST", "/api/v2/browser-profile/stop", map[string]interface{}{"profile_id": id}, nil)
|
||||
}
|
||||
|
||||
/**
|
||||
* @description 创建浏览器
|
||||
* @param {Object} data
|
||||
* @returns {*resty.Response, error}
|
||||
*/
|
||||
func (h *AdsPowerRequest) CreateBrowser(data map[string]interface{}) (*resty.Response, error) {
|
||||
return h.Request("POST", "/api/v2/browser-profile/create", data, nil)
|
||||
}
|
||||
|
||||
/**
|
||||
* @description 查询浏览器运行状态
|
||||
* @param {String} id
|
||||
* @returns {*resty.Response, error}
|
||||
*/
|
||||
func (h *AdsPowerRequest) GetRunStatus(id string) (*resty.Response, error) {
|
||||
return h.Request("GET", "/api/v2/browser-profile/active", nil, map[string]string{"profile_id": id})
|
||||
}
|
||||
|
||||
/**
|
||||
* @description 删除浏览器
|
||||
* @param {String} id
|
||||
* @returns {*resty.Response, error}
|
||||
*/
|
||||
func (h *AdsPowerRequest) DeleteBrowser(id string) (*resty.Response, error) {
|
||||
return h.Request("POST", "/api/v2/browser-profile/delete", map[string]interface{}{"profile_id": []string{id}}, nil)
|
||||
}
|
||||
|
||||
/**
|
||||
* @description 更新浏览器配置
|
||||
* @param {Object} data
|
||||
* @returns {*resty.Response, error}
|
||||
*/
|
||||
func (h *AdsPowerRequest) UpdateBrowser(data map[string]interface{}) (*resty.Response, error) {
|
||||
return h.Request("POST", "/api/v2/browser-profile/update", data, nil)
|
||||
}
|
||||
Reference in New Issue
Block a user