From 34fbd24365ede860c5d68052315b152ad4f1a231 Mon Sep 17 00:00:00 2001 From: huangqz Date: Tue, 16 Jun 2026 17:18:10 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=81=E8=A3=85password=20edit=5Fpwd?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- services/passport/client.go | 17 +++++++++++- services/passport/client_test.go | 21 +++++++++++++++ services/passport/weedong.go | 45 ++++++++++++++++++++++++++++++++ 3 files changed, 82 insertions(+), 1 deletion(-) diff --git a/services/passport/client.go b/services/passport/client.go index 2055ba7..073b2c6 100644 --- a/services/passport/client.go +++ b/services/passport/client.go @@ -1,9 +1,10 @@ package passport import ( + "strings" + "golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk" "golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk/requests" - "strings" ) const ( @@ -84,6 +85,20 @@ func (c *Client) EditPhone(param EditPhoneRequestParam) (response string, err er return editPhoneResponse.GetHttpContentString(), nil } +// EditPassword +// 修改/清除用户手机号(phone 传空字符串即清除),成功返回 "ok" +func (c *Client) EditPassword(param EditPasswordRequestParam) (response string, err error) { + editPasswordRequest := CreateEditPasswordRequest(param) + editPasswordResponse := CreateEditPasswordResponse() + err = c.DoAction(editPasswordRequest, editPasswordResponse) + if err != nil && strings.Contains(err.Error(), "json Unmarshal:") { + return editPasswordResponse.GetHttpContentString(), nil + } else if err != nil { + return "", err + } + return editPasswordResponse.GetHttpContentString(), nil +} + // GetUserGameSign // 获取用户登录过的游戏大类 func (c *Client) GetUserGameSign(req *GetUserGameSignRequest) (response *GetUserGameSignResponse, err error) { diff --git a/services/passport/client_test.go b/services/passport/client_test.go index 996d8d5..bbc6fc6 100644 --- a/services/passport/client_test.go +++ b/services/passport/client_test.go @@ -274,3 +274,24 @@ func TestGetUserLogin(t *testing.T) { fmt.Printf("raw: %s\n", resp.GetHttpContentString()) fmt.Printf("data: %+v\n, %d", resp.Data, len(resp.Data)) } + +// 测试修改密码 +func TestEditPassword(t *testing.T) { + client, err := NewClient() + if err != nil { + t.Error(err) + return + } + req := EditPasswordRequestParam{ + UserName: "huangqzcs", + Newpwd: "123456789", + } + resp, err := client.EditPassword(req) + if err != nil { + t.Error(err) + return + } + + t.Logf("edit phone result: %s", resp) + +} diff --git a/services/passport/weedong.go b/services/passport/weedong.go index 3c3d8ce..51bec91 100644 --- a/services/passport/weedong.go +++ b/services/passport/weedong.go @@ -181,3 +181,48 @@ func CreateEditPhoneResponse() (response *EditPhoneResponse) { } return } + +// EditPasswordRequestParam +// 修改密码相关 +type EditPasswordRequestParam struct { + UserName string `position:"Body" field:"user_name"` + Newpwd string `position:"Body" field:"newpwd"` +} + +type EditPasswordResponse struct { + *responses.BaseResponse +} + +type EditPasswordRequest struct { + *requests.RpcRequest + UserName string `position:"Body" field:"user_name"` + Newpwd string `position:"Body" field:"newpwd"` + Action string `position:"Body" field:"action"` + Flag string `position:"Body" field:"flag"` + Time string `position:"Body" field:"time"` +} + +// CreateEditPasswordRequest 修改用户密码 +func CreateEditPasswordRequest(param EditPasswordRequestParam) (req *EditPasswordRequest) { + ts := time.Now().Unix() + sign := weeDongGetSign(ts) + + req = &EditPasswordRequest{ + RpcRequest: &requests.RpcRequest{}, + Action: "edit_pwd", + Flag: sign, + Time: fmt.Sprintf("%v", ts), + UserName: param.UserName, + Newpwd: utils.Md5(param.Newpwd), + } + req.InitWithApiInfo(HOST, VERSION, "/weedong.php") + req.Method = requests.POST + return +} + +func CreateEditPasswordResponse() (response *EditPasswordResponse) { + response = &EditPasswordResponse{ + BaseResponse: &responses.BaseResponse{}, + } + return +}