You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

57 lines
820 B
Go

package blink
import (
"joybuywork/internal/config"
"fmt"
)
type AdsJump struct {
link
strategyId string //广告策略id
lang string //活动用户语言
}
func NewAdsJump(strategyId string, opts ...AdsJumpOption) AdsJump {
l := AdsJump{
link: link{
host: config.Config.Server.AdsJump,
},
strategyId: strategyId,
}
for _, opt := range opts {
opt(&l)
}
return l
}
// AddOption 追加参数
func (l AdsJump) AddOption(opts ...AdsJumpOption) AdsJump {
for _, opt := range opts {
opt(&l)
}
return l
}
// Link 跳转链接
func (l AdsJump) Link() string {
return l.params(l.host)
}
// 参数
func (l AdsJump) params(link string) (url string) {
url = fmt.Sprintf(
"%s?%s=%s",
link,
adsJumpChannel,
l.strategyId,
)
url = queryAddStr(url, langParamKey, l.lang)
return
}