同程酒店:生成h5链接时处理链接中带"#"的情况

This commit is contained in:
wukesheng 2024-08-03 16:15:51 +08:00
parent 90bad61d0a
commit 7c14d9c20e
3 changed files with 41 additions and 11 deletions

View File

@ -52,11 +52,26 @@ func (a *apiClientSuite) Test_Sign() {
a.T().Logf("=====[TestSign] sign: %s", sign)
}
func (a *apiClientSuite) Test_KbItemPromotionShareCreate() {
req := &request.AlibabaAlscUnionKbItemPromotionShareCreateRequest{
Pid: pointer.String("alsc_23378482_4796002_21291126"),
ItemId: pointer.String("10645"),
Sid: pointer.String("10001zdt100004"),
}
resp, err := a.api.KbItemPromotionShareCreate(req)
if err != nil {
a.T().Errorf("=====[Test_ElemePromotionOfficialActivityGet] err: %v", err)
return
}
a.T().Logf("=====[Test_ElemePromotionOfficialActivityGet] resp: %+v", resp)
}
func (a *apiClientSuite) Test_ElemePromotionOfficialActivityGet() {
req := &request.AlibabaAlscUnionElemePromotionOfficialactivityGetRequest{
QueryRequest: &domain.AlibabaAlscUnionElemePromotionOfficialactivityGetActivityRequest{
Pid: pointer.String("alsc_23378482_4796002_15513017"),
ActivityId: pointer.String("10690111"),
ActivityId: pointer.String("10645"),
Sid: pointer.String("10001zdt100004"),
},
}
resp, err := a.api.ElemePromotionOfficialActivityGet(req)
@ -64,7 +79,8 @@ func (a *apiClientSuite) Test_ElemePromotionOfficialActivityGet() {
a.T().Errorf("=====[Test_ElemePromotionOfficialActivityGet] err: %v", err)
return
}
a.T().Logf("=====[Test_ElemePromotionOfficialActivityGet] resp: %+v", resp)
str, err := json.Marshal(resp)
a.T().Logf("=====[Test_ElemePromotionOfficialActivityGet] resp: %s", str)
}
func (a *apiClientSuite) Test_KbcpxPositiveOrderGet() {

View File

@ -6,6 +6,7 @@ import (
"errors"
"fmt"
"net/url"
"strings"
"time"
"github.com/zeromicro/go-zero/core/logx"
@ -106,18 +107,31 @@ func (t *elongHotelApiImpl) GenerateWechatUrl(ctx context.Context, req GenerateW
// GenerateH5Url 生成H5链接
func (t *elongHotelApiImpl) GenerateH5Url(ctx context.Context, req GenerateH5UrlRequest) (string, error) {
var activityUrl string
if len(req.ActivityUrl) == 0 {
return "", errors.New("url参数不能为空")
}
u, err := url.Parse(req.ActivityUrl)
if err != nil {
return "", errors.New("activityUrl不是一个url")
urls := strings.Split(req.ActivityUrl, "?")
if len(urls) == 1 {
activityUrl = fmt.Sprintf("%s?linkCode=%s&actId=%s", req.ActivityUrl, req.LinkCode, req.ActId)
return activityUrl, nil
} else if len(urls) == 2 {
activityUrl = fmt.Sprintf("%s&linkCode=%s&actId=%s", req.ActivityUrl, req.LinkCode, req.ActId)
return activityUrl, nil
} else {
return "", errors.New("url参数有误")
}
urlParams := u.Query()
urlParams.Set("linkCode", req.LinkCode)
urlParams.Set("actId", req.ActId)
u.RawQuery = urlParams.Encode()
return u.String(), nil
//u, err := url.Parse(req.ActivityUrl)
//if err != nil {
// return "", errors.New("activityUrl不是一个url")
//}
//
//urlParams := u.Query()
//urlParams.Set("linkCode", req.LinkCode)
//urlParams.Set("actId", req.ActId)
//u.RawQuery = urlParams.Encode()
//return u.String(), nil
}
// QueryOrderList 查询订单列表

View File

@ -60,7 +60,7 @@ func (a *apiClientSuite) Test_GenerateWechtUrl() {
func (a *apiClientSuite) Test_GenerateH5Url() {
req := GenerateH5UrlRequest{
ActivityUrl: "http://www.baidu.com/page/miniprogram?src=asfsfsiwef",
ActivityUrl: "https://cms.zhongdiantui.com/#/pages/toMiniProgram/toMiniProgram?type=2sfee",
LinkCode: "ffaefe3r3434334trq34",
ActId: "100006",
}