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
1.7 KiB
Go

package blink
import "strings"
const (
route = "c" //H5活动路由关键字
downloadRoute = "d" //H5活动下载页路由关键字
webRoute = "p" //H5站外活动路由关键字
// query关键字
campaignHashIdKey = "l" //H5活动hash_id关键字
campaignCmarkKey = "c" //H5活动渠道id关键字
campaignCmarkWithWebKey = "cw" //H5活动渠道站外渠道
subUserIdParamKey = "u" //H5活动第三方用户id分享关键字
projectSceneKey = "s" //项目应用场景值
campaignDynamicKey = "dy" //动态下载链接关键字
campaignContentLinkKey = "ct" //下载页内容链接关键字
langParamKey = "lg" //语言关键字
levelParamKey = "lv" //用户等级关键字
viewerParamKey = "vt" //预览用户关键字
campaignUserIdKey = "user_id" //活动用户id关键字
adsJumpChannel = "channel" //广告策略id关键字
centerHashIdKey = "t" //任务中心hash_id关键字
centerModuleIdKey = "tm" //任务中心模块id关键字
gameLinkIdKey = "tlgid" //游戏id关键字
gameProjectIdKey = "tlpid" //项目id关键字
)
type link struct {
host string //域名
hashId string //活动hashId
cmark string //渠道标识
}
// GetUrlCampaignHashId 获取url中的活动hashid
func GetUrlCampaignHashId(url string) string {
_, query, found := strings.Cut(url, "?")
if !found || query == "" {
return ""
}
paramsArr := strings.Split(query, "&")
for _, v := range paramsArr {
key, val, ok := strings.Cut(v, "=")
if !ok {
continue
}
if key == campaignHashIdKey {
return val
}
}
return ""
}