From f72380130e1616b161e3411a35fd0a4eed6af31c Mon Sep 17 00:00:00 2001 From: huangqz Date: Thu, 11 Jun 2026 11:53:25 +0800 Subject: [PATCH] =?UTF-8?q?feat(passport):=20=E6=96=B0=E5=A2=9E=E6=B8=85?= =?UTF-8?q?=E9=99=A4=E7=94=A8=E6=88=B7=E5=AE=9E=E5=90=8D=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=20DelUserAuth?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 封装 weedong.php 的 del_user_auth 动作,清空分表 true_name/id_card 并删除 user_real_auth 记录,仅需传 user_name,远端返回 ok 即成功。 --- services/passport/client.go | 14 ++++++++++ services/passport/client_test.go | 22 ++++++++++++++++ services/passport/weedong.go | 44 +++++++++++++++++++++++++++++++- 3 files changed, 79 insertions(+), 1 deletion(-) diff --git a/services/passport/client.go b/services/passport/client.go index feaed86..73c4320 100644 --- a/services/passport/client.go +++ b/services/passport/client.go @@ -56,6 +56,20 @@ func (c *Client) EditCard(req EditCardRequestParam) (response string, err error) return createEditCardResponse.GetHttpContentString(), nil } +// DelUserAuth +// 清除用户实名信息(清空分表 true_name/id_card,删除 user_real_auth 记录),成功返回 "ok" +func (c *Client) DelUserAuth(param DelUserAuthRequestParam) (response string, err error) { + delUserAuthRequest := CreateDelUserAuthRequest(param) + delUserAuthResponse := CreateDelUserAuthResponse() + err = c.DoAction(delUserAuthRequest, delUserAuthResponse) + if err != nil && strings.Contains(err.Error(), "json Unmarshal:") { + return delUserAuthResponse.GetHttpContentString(), nil + } else if err != nil { + return "", err + } + return delUserAuthResponse.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 f64acc4..db9da13 100644 --- a/services/passport/client_test.go +++ b/services/passport/client_test.go @@ -213,6 +213,28 @@ func TestGetUserId(t *testing.T) { fmt.Printf("data: %+v\n", data) } +// 测试清除用户实名信息(演示调用方式) +// 注意:该接口会真实清除账号实名(清空分表 true_name/id_card 并删除 user_real_auth 记录), +// 仅可对测试账号执行,切勿对真实玩家账号运行。 +func TestDelUserAuth(t *testing.T) { + client, err := NewClient() + if err != nil { + t.Error(err) + return + } + // 调用方式:传入待清除实名的玩家账号 + param := DelUserAuthRequestParam{ + UserName: "pv23669710", // 占位测试账号 + } + res, err := client.DelUserAuth(param) + if err != nil { + t.Error(err) + return + } + // 远端返回纯文本,"ok" 表示清除成功 + t.Logf("del user auth result: %s", res) +} + // 测试获取用户登陆信息 func TestGetUserLogin(t *testing.T) { client, err := NewClient() diff --git a/services/passport/weedong.go b/services/passport/weedong.go index e198067..9ea6549 100644 --- a/services/passport/weedong.go +++ b/services/passport/weedong.go @@ -2,10 +2,11 @@ package passport import ( "fmt" + "time" + "golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk/requests" "golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk/responses" "golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk/utils" - "time" ) const weeDongKey = "aVCxX2B3yswpxCMjaaSUHFXAzLYyuGhW" @@ -95,3 +96,44 @@ func CreateEditCardResponse() (response *EditCardResponse) { } return } + +type DelUserAuthRequestParam struct { + UserName string `position:"Body" field:"user_name"` +} + +type DelUserAuthResponse struct { + *responses.BaseResponse +} + +type DelUserAuthRequest struct { + *requests.RpcRequest + UserName string `position:"Body" field:"user_name"` + Action string `position:"Body" field:"action"` + Flag string `position:"Body" field:"flag"` + Time string `position:"Body" field:"time"` +} + +// CreateDelUserAuthRequest 清除用户实名信息接口 +// 远端会清空分表 user_X 的 true_name、id_card,并删除 user_real_auth 整条记录,只需传 user_name +func CreateDelUserAuthRequest(param DelUserAuthRequestParam) (req *DelUserAuthRequest) { + ts := time.Now().Unix() + sign := weeDongGetSign(ts) + + req = &DelUserAuthRequest{ + RpcRequest: &requests.RpcRequest{}, + Action: "del_user_auth", + Flag: sign, + Time: fmt.Sprintf("%v", ts), + UserName: param.UserName, + } + req.InitWithApiInfo(HOST, VERSION, "/weedong.php") + req.Method = requests.POST + return +} + +func CreateDelUserAuthResponse() (response *DelUserAuthResponse) { + response = &DelUserAuthResponse{ + BaseResponse: &responses.BaseResponse{}, + } + return +}