46 lines
865 B
Go
46 lines
865 B
Go
package jd
|
|
|
|
import (
|
|
"encoding/json"
|
|
"errors"
|
|
"os"
|
|
)
|
|
|
|
func ClientAuth() (*ClientAuthResp, error) {
|
|
var username = os.Getenv("JD_USERNAME")
|
|
if username == "" {
|
|
return nil, errors.New("JD_USERNAME 环境变量未设置")
|
|
}
|
|
|
|
var password = os.Getenv("JD_PASSWORD")
|
|
if password == "" {
|
|
return nil, errors.New("JD_PASSWORD 环境变量未设置")
|
|
}
|
|
|
|
path := "/client/auth"
|
|
resp, err := Post(path, map[string]any{
|
|
"username": username,
|
|
"password": password,
|
|
}, false)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
var respData = new(ClientAuthResp)
|
|
if err := json.NewDecoder(resp).Decode(respData); err != nil {
|
|
panic("响应解析失败: " + err.Error())
|
|
}
|
|
|
|
if respData.Code != 0 {
|
|
panic("响应失败: " + respData.Meta)
|
|
}
|
|
|
|
return respData, nil
|
|
}
|
|
|
|
type ClientAuthResp struct {
|
|
Code int `json:"code"`
|
|
Meta string `json:"meta"`
|
|
Data string
|
|
}
|