From 338411e6ee21f9ec556ea84c8f9cc24e63a3ec8d Mon Sep 17 00:00:00 2001 From: yanfan <1406317364@qq.com> Date: Mon, 24 Feb 2025 18:13:25 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=AD=E6=8D=B7=E4=B9=90=E6=B7=98-=E5=8F=96?= =?UTF-8?q?=E9=93=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- platform/zjdg/api.go | 26 ++++++++++++++++++++++++-- platform/zjdg/api_test.go | 20 +++++++++++++++++--- platform/zjdg/consts.go | 2 +- 3 files changed, 42 insertions(+), 6 deletions(-) diff --git a/platform/zjdg/api.go b/platform/zjdg/api.go index 94c9cde..472eb0c 100644 --- a/platform/zjdg/api.go +++ b/platform/zjdg/api.go @@ -2,8 +2,10 @@ package zjdg import ( "context" + "errors" "fmt" "github.com/zeromicro/go-zero/core/logx" + "net/url" "repository.lenntc.com/lenntc/third-platform-sdk/client" "repository.lenntc.com/lenntc/third-platform-sdk/util" ) @@ -46,6 +48,26 @@ func (a *zjdgApiImpl) ZoneAdd(ctx context.Context, req ZoneAddRequest) (*ZoneAdd } func (a *zjdgApiImpl) GenerateH5Url(ctx context.Context, req GenerateH5UrlRequest) (string, error) { - promotionUrl := fmt.Sprintf(PromotionUrl, req.Sid, a.client.authConfig.UserId) - return promotionUrl, nil + u, err := url.Parse(req.ActivityUrl) + if err != nil { + return "", errors.New("activityUrl不是一个url") + } + urlParams := u.Query() + for key, item := range urlParams { + if key == "adzoneid" { + urlParams.Set("adzoneid", req.Sid) + } else if key == "userid" { + urlParams.Set("userid", a.client.authConfig.UserId) + } else { + if len(item) > 0 { + urlParams.Set(key, item[0]) + } else { + urlParams.Set(key, "") + } + } + fmt.Println(fmt.Sprintf("key=%s,val=%s,len=%d", key, item, len(item))) + } + u.RawQuery = urlParams.Encode() + + return u.String(), nil } diff --git a/platform/zjdg/api_test.go b/platform/zjdg/api_test.go index 38deb30..9f35ec7 100644 --- a/platform/zjdg/api_test.go +++ b/platform/zjdg/api_test.go @@ -30,13 +30,27 @@ func (a *apiClientSuite) Test_ZoneAdd() { req := ZoneAddRequest{} result, err := a.api.ZoneAdd(context.Background(), req) if !a.NoError(err) { - a.T().Errorf("========[Test_GenerateLink] response error:%s", err) + a.T().Errorf("========[Test_ZoneAdd] response error:%s", err) return } resultByte, err := json.Marshal(result) if err != nil { - a.T().Errorf("========[Test_GenerateLink] json_marshal error:%s", err) + a.T().Errorf("========[Test_ZoneAdd] json_marshal error:%s", err) return } - a.T().Logf("=====[Test_GenerateLink] result: %s", string(resultByte)) + a.T().Logf("=====[Test_ZoneAdd] result: %s", string(resultByte)) +} + +func (a *apiClientSuite) Test_GenerateH5Url() { + req := GenerateH5UrlRequest{ + ActivityUrl: PromotionUrl, + Sid: "1963667", + } + result, err := a.api.GenerateH5Url(context.Background(), req) + if !a.NoError(err) { + a.T().Errorf("========[Test_GenerateH5Url] response error:%s", err) + return + } + + a.T().Logf("=====[Test_GenerateH5Url] result: %s", result) } diff --git a/platform/zjdg/consts.go b/platform/zjdg/consts.go index 5df8b70..4bb5750 100644 --- a/platform/zjdg/consts.go +++ b/platform/zjdg/consts.go @@ -2,5 +2,5 @@ package zjdg const ( ZoneAddUrl = "https://p.zjdg.cn/cpa/api/ugApi.ashx?method=getadzone_nologin&userid=" - PromotionUrl = "http://2025.zjdg.cn/ditui/qrcode?adzoneid=%s&userid=%s" + PromotionUrl = "http://2025.zjdg.cn/ditui/qrcode?adzoneid=&userid=" )