8
0
gaore-common-sdk-go/services/www/client.go
huangqz 252e5953f3 feat(www,web): 新增 RefreshUserSessionID 与 web.ForceOut
重置密码副作用配套:
- services/www 新增 RefreshUserSessionID(清 www 登录态,apisdk.gaore.com /user/sdk_passport.php)及无凭证 NewClient
- 新建 services/web 包,ForceOut 清官网 web 登录态(web.gaore.com /web/users/force_out)
端点/参数/签名与老综合后台 GaoreSDK 1:1 对齐
2026-06-17 10:05:05 +08:00

68 lines
1.7 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package www
import (
"strings"
"golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk"
"golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk/requests"
)
const (
VERSION = "2020-09-24"
)
var HOST requests.Host = requests.Host{
Default: "apisdk.9ooo.cn",
Func: func(s string) string {
var a = map[string]string{
requests.RELEASE: "apisdk.9ooo.cn",
requests.PRE: "apisdk.9ooo.cn",
requests.TEST: "apisdk.9ooo.cn",
}
return a[s]
},
}
type Client struct {
sdk.Client
}
// NewClient 无凭证客户端(用于自带签名的表单接口,如 refreshUserSessionId
func NewClient() (client *Client, err error) {
client = &Client{}
err = client.Init()
return
}
func NewClientWithAccessKey(accesskey, secrect, source string) (client *Client, err error) {
client = &Client{}
err = client.InitWithAccessKey(accesskey, secrect, source)
return
}
func NewClientWithAliAppcode(accesskey, secrect string, env ...string) (client *Client, err error) {
client = &Client{}
err = client.InitWithAliAppcode(accesskey, secrect, env...)
return
}
func (c *Client) GetUserInfo(req *GetPwdRequest) (response *GetPwdResponse, err error) {
response = CreateGetPwdResponse()
err = c.DoAction(req, response)
return
}
// RefreshUserSessionID 刷新用户 session清 www 登录态),返回远端原始响应
func (c *Client) RefreshUserSessionID(uname string) (response string, err error) {
req := CreateRefreshUserSessionIDReq(uname)
resp := CreateRefreshUserSessionIDResp()
err = c.DoAction(req, resp)
if err != nil && strings.Contains(err.Error(), "json Unmarshal:") {
// 远端返回非 JSON如纯文本直接取原始响应
return resp.GetHttpContentString(), nil
} else if err != nil {
return "", err
}
return resp.GetHttpContentString(), nil
}