feat(passport): 添加用户修改密码功能并优化响应解析
- 新增 ChangePassword 方法支持用户修改密码- 添加 ChangePasswordRequest 和 ChangePasswordResponse 结构体 - 实现用户修改密码的请求创建和响应解析 - 优化 response.go 中的解析逻辑,支持 text 格式 - 更新 client_test.go 中的测试用例
This commit is contained in:
parent
c8e5c19dc7
commit
90c2b1213a
@ -110,11 +110,12 @@ func Unmarshal(response AcsResponse, httpResponse *http.Response, format string)
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
if format != "xml" {
|
if format != "xml" && format != "text" {
|
||||||
err = jsoniter.Unmarshal(response.GetHttpContentBytes(), response)
|
err = jsoniter.Unmarshal(response.GetHttpContentBytes(), response)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return errors.New("json Unmarshal:" + err.Error())
|
return errors.New("json Unmarshal:" + err.Error())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -63,3 +63,11 @@ func (c *Client) GetUserGameSign(req *GetUserGameSignRequest) (response *GetUser
|
|||||||
err = c.DoAction(req, response)
|
err = c.DoAction(req, response)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ChangePassword
|
||||||
|
// 用户修改密码
|
||||||
|
func (c *Client) ChangePassword(req *ChangePasswordRequest) (response *ChangePasswordResponse, err error) {
|
||||||
|
response = CreateChangePasswordResponse()
|
||||||
|
err = c.DoAction(req, response)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
@ -78,3 +78,19 @@ func TestGetUserGameSign(t *testing.T) {
|
|||||||
t.Logf("resp code:%+v", resp.Code)
|
t.Logf("resp code:%+v", resp.Code)
|
||||||
t.Logf("resp data:%+v", resp.Data)
|
t.Logf("resp data:%+v", resp.Data)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 测试用户修改密码
|
||||||
|
func TestChangePassword(t *testing.T) {
|
||||||
|
client, err := NewClient()
|
||||||
|
if err != nil {
|
||||||
|
t.Error(err)
|
||||||
|
}
|
||||||
|
req := CreateChangePasswordRequest("rz35990497", "654321")
|
||||||
|
req.AcceptFormat = "text"
|
||||||
|
resp, err := client.ChangePassword(req)
|
||||||
|
if err != nil {
|
||||||
|
t.Error(err)
|
||||||
|
}
|
||||||
|
// 记录文本结果
|
||||||
|
t.Logf("resp data:%+v", resp.GetHttpContentString())
|
||||||
|
}
|
||||||
|
42
services/passport/getpwd.go
Normal file
42
services/passport/getpwd.go
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
package passport
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk/requests"
|
||||||
|
"golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk/responses"
|
||||||
|
)
|
||||||
|
|
||||||
|
type ChangePasswordRequest struct {
|
||||||
|
*requests.RpcRequest
|
||||||
|
}
|
||||||
|
|
||||||
|
func CreateChangePasswordRequest(userName string, newPwd string) (req *ChangePasswordRequest) {
|
||||||
|
ts, sign := GetSign()
|
||||||
|
|
||||||
|
req = &ChangePasswordRequest{
|
||||||
|
RpcRequest: &requests.RpcRequest{},
|
||||||
|
}
|
||||||
|
req.InitWithApiInfo(HOST, VERSION, "/remote_login.php")
|
||||||
|
req.FormParams = map[string]string{
|
||||||
|
"act": "getpwd",
|
||||||
|
"do": "passwd",
|
||||||
|
"username": userName,
|
||||||
|
"newpwd": newPwd,
|
||||||
|
"time": fmt.Sprintf("%v", ts),
|
||||||
|
"sign": sign,
|
||||||
|
}
|
||||||
|
|
||||||
|
req.Method = requests.POST
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
func CreateChangePasswordResponse() (response *ChangePasswordResponse) {
|
||||||
|
response = &ChangePasswordResponse{
|
||||||
|
BaseResponse: &responses.BaseResponse{},
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
type ChangePasswordResponse struct {
|
||||||
|
*responses.BaseResponse
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user