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.
106 lines
2.1 KiB
Go
106 lines
2.1 KiB
Go
package blink
|
|
|
|
import "fmt"
|
|
|
|
type CpnLinkOption func(link *CampaignLink)
|
|
|
|
// SetUserId 第三方用户id
|
|
func SetUserId(userId string) CpnLinkOption {
|
|
return func(link *CampaignLink) {
|
|
link.userId = userId
|
|
}
|
|
}
|
|
|
|
// SetCwMark 站外渠道标识
|
|
func SetCwMark(cwMark string) CpnLinkOption {
|
|
return func(link *CampaignLink) {
|
|
link.cwMark = cwMark
|
|
}
|
|
}
|
|
|
|
// SetSubUserId 简写key的第三方用户id
|
|
func SetSubUserId(subUserId string) CpnLinkOption {
|
|
return func(link *CampaignLink) {
|
|
link.subUserId = subUserId
|
|
}
|
|
}
|
|
|
|
// SetLang 语言标识
|
|
func SetLang(lang string) CpnLinkOption {
|
|
return func(link *CampaignLink) {
|
|
link.lang = lang
|
|
}
|
|
}
|
|
|
|
// SetLevel 用户等级标识
|
|
func SetLevel(lv string) CpnLinkOption {
|
|
return func(link *CampaignLink) {
|
|
link.lv = lv
|
|
}
|
|
}
|
|
|
|
// SetScene 项目应用场景类型
|
|
func SetScene(scene int8) CpnLinkOption {
|
|
return func(link *CampaignLink) {
|
|
link.scene = scene
|
|
}
|
|
}
|
|
|
|
// SetDyLinkId 动态下载页链接id
|
|
func SetDyLinkId(dyLinkId string) CpnLinkOption {
|
|
return func(link *CampaignLink) {
|
|
link.dyLinkId = dyLinkId
|
|
}
|
|
}
|
|
|
|
// SetCtLinkId 链接内容id
|
|
func SetCtLinkId(ctLinkId string) CpnLinkOption {
|
|
return func(link *CampaignLink) {
|
|
link.ctLinkId = ctLinkId
|
|
}
|
|
}
|
|
|
|
// SetView 是否预览用户
|
|
func SetView() CpnLinkOption {
|
|
return func(link *CampaignLink) {
|
|
link.isView = true
|
|
}
|
|
}
|
|
|
|
// SetTaskCenter 链接内容id
|
|
func SetTaskCenter(centerHashId string, moduleId int64) CpnLinkOption {
|
|
return func(link *CampaignLink) {
|
|
link.center = center{
|
|
centerId: centerHashId,
|
|
moduleId: fmt.Sprint(moduleId),
|
|
}
|
|
}
|
|
}
|
|
|
|
type AdsLinkOption func(link *AdsLink)
|
|
|
|
// SetAdsUserId 第三方用户id
|
|
func SetAdsUserId(userId string) AdsLinkOption {
|
|
return func(link *AdsLink) {
|
|
link.userId = userId
|
|
}
|
|
}
|
|
|
|
type AdsJumpOption func(link *AdsJump)
|
|
|
|
// SetAdsJumpLg 第三方用户语言
|
|
func SetAdsJumpLg(lang string) AdsJumpOption {
|
|
return func(link *AdsJump) {
|
|
link.lang = lang
|
|
}
|
|
}
|
|
|
|
type GameLinkOption func(link *GameLink)
|
|
|
|
// SetGameLinkId 游戏链接id
|
|
func SetGameLinkId(linkId string) GameLinkOption {
|
|
return func(link *GameLink) {
|
|
link.tblgid = linkId
|
|
}
|
|
}
|