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
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 ""
|
|
}
|