package svc import ( "applet/app/db" "applet/app/db/model" "applet/app/db/offical" "applet/app/md" "applet/app/utils" "applet/app/utils/logx" "github.com/gin-gonic/gin" "github.com/tidwall/gjson" "strings" ) // 获取指定类型的域名:admin、wap、api func GetWebSiteDomainInfo(c *gin.Context, domainType string) string { if domainType == "" { domainType = "wap" } domainSetting := SysCfgGet(c, "domain_setting") domainTypePath := domainType + ".type" domainSslPath := domainType + ".isOpenHttps" domainPath := domainType + ".domain" domainTypeValue := gjson.Get(domainSetting, domainTypePath).String() domainSslValue := gjson.Get(domainSetting, domainSslPath).String() domain := gjson.Get(domainSetting, domainPath).String() scheme := "http://" if domainSslValue == "1" { scheme = "https://" } // 有自定义域名 返回自定义的 if domainTypeValue == "own" && domain != "" { return scheme + domain } // 否则返回官方的 official, err := db.GetOfficialDomainInfoByType(db.Db, c.GetString("mid"), domainType) if err != nil { _ = logx.Errorf("Get Official Domain Fail! %s", err) return "" } if strings.Contains(official, "http") { return official } return scheme + official } func GetWebSiteDomainInfoToAgent(c *gin.Context, domainType string) string { if domainType == "" { domainType = "wap" } domainSetting := SysCfgGet(c, "domain_setting") domainTypePath := domainType + ".type" domainSslPath := domainType + ".isOpenHttps" domainPath := domainType + ".domain" domainTypeValue := gjson.Get(domainSetting, domainTypePath).String() domainSslValue := gjson.Get(domainSetting, domainSslPath).String() domain := gjson.Get(domainSetting, domainPath).String() scheme := "http://" if domainSslValue == "1" { scheme = "https://" } // 有自定义域名 返回自定义的 if domainTypeValue == "own" && domain != "" { return scheme + domain } // 否则返回官方的 puid := AppUserListPuid(c) var official = "" var err error if puid != "" && puid != "0" { official, err = db.GetOfficialDomainInfoByTypeToAgent(db.Db, c.GetString("mid"), puid, domainType) if err != nil { _ = logx.Errorf("Get Official Domain Fail! %s", err) return "" } } else { official, err = db.GetOfficialDomainInfoByType(db.Db, c.GetString("mid"), domainType) if err != nil { _ = logx.Errorf("Get Official Domain Fail! %s", err) return "" } } if strings.Contains(official, "http") { return official } return scheme + official } func GetWebSiteDomainInfoOfficial(c *gin.Context, domainType string) string { if domainType == "" { domainType = "wap" } domainSetting := SysCfgGet(c, "domain_setting") domainSslPath := domainType + ".isOpenHttps" domainSslValue := gjson.Get(domainSetting, domainSslPath).String() scheme := "http://" if domainSslValue == "1" { scheme = "https://" } // 有自定义域名 返回自定义的 // 否则返回官方的 official, err := db.GetOfficialDomainInfoByType(db.Db, c.GetString("mid"), domainType) if err != nil { _ = logx.Errorf("Get Official Domain Fail! %s", err) return "" } if strings.Contains(official, "http") { return official } return scheme + official } // 获取指定类型的域名对应的masterId:admin、wap、api func GetWebSiteDomainMasterId(domainType string, host string) string { obj := new(model.UserAppDomain) has, err := db.Db.Where("domain=? and type=?", host, domainType).Get(obj) if err != nil || !has { return "" } return utils.AnyToString(obj.Uuid) } func GetWebSiteAppSmsPlatform(mid string) string { obj := new(model.UserAppList) has, err := db.Db.Where("uuid=? ", mid).Asc("id").Get(obj) if err != nil || !has { return "" } return utils.AnyToString(obj.SmsPlatform) } // 获取指定类型的域名:admin、wap、api func GetWebSiteLiveBroadcastDomainInfo(c *gin.Context, domainType, mid string) string { if domainType == "" { domainType = "wap" } domainSetting := SysCfgGet(c, "domain_setting") domainSslPath := domainType + ".isOpenHttps" domainSslValue := gjson.Get(domainSetting, domainSslPath).String() //masterid.izhyin.cn domain := mid + ".izhim.net" scheme := "http://" if domainSslValue == "1" { scheme = "https://" } if c.GetHeader("platform") == md.PLATFORM_WX_APPLET { //小程序需要https scheme = "https://" } return scheme + domain } func GetWebSiteDomainInfoSecond(c *gin.Context, domainType string) string { if domainType == "" { domainType = "wap" } domainSetting := SysCfgGet(c, "domain_setting") domainSslPath := domainType + ".isOpenHttps" domainSslValue := gjson.Get(domainSetting, domainSslPath).String() domain := c.GetString("mid") + ".izhim.net" domainTypePath := domainType + ".type" domainTypeValue := gjson.Get(domainSetting, domainTypePath).String() scheme := "http://" if domainSslValue == "1" { scheme = "https://" } if c.GetHeader("platform") == md.PLATFORM_WX_APPLET { //小程序需要https scheme = "https://" } // 有自定义域名 返回自定义的 if domainTypeValue == "own" { domainPath := domainType + ".domain" domain = gjson.Get(domainSetting, domainPath).String() } return scheme + domain } func AppUserListPuid(c *gin.Context) string { appList := offical.GetUserAppList(c.GetString("mid")) uid := "0" if appList != nil && appList.Puid > 0 { uid = utils.IntToStr(appList.Puid) } return uid } func AppUserListPuidWithDb(dbName string) string { appList := offical.GetUserAppList(dbName) uid := "0" if appList != nil && appList.Puid > 0 { uid = utils.IntToStr(appList.Puid) } return uid }