package LenovoNasShare | |
import ( | |
"errors" | |
"github.com/alist-org/alist/v3/drivers/base" | |
"github.com/alist-org/alist/v3/pkg/utils" | |
jsoniter "github.com/json-iterator/go" | |
) | |
func (d *LenovoNasShare) request(url string, method string, callback base.ReqCallback, resp interface{}) ([]byte, error) { | |
req := base.RestyClient.R() | |
req.SetHeaders(map[string]string{ | |
"origin": "https://siot-share.lenovo.com.cn", | |
"referer": "https://siot-share.lenovo.com.cn/", | |
"user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) alist-client", | |
"platform": "web", | |
"app-version": "3", | |
}) | |
if callback != nil { | |
callback(req) | |
} | |
if resp != nil { | |
req.SetResult(resp) | |
} | |
res, err := req.Execute(method, url) | |
if err != nil { | |
return nil, err | |
} | |
body := res.Body() | |
result := utils.Json.Get(body, "result").ToBool() | |
if !result { | |
return nil, errors.New(jsoniter.Get(body, "error", "msg").ToString()) | |
} | |
return body, nil | |
} | |