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 }