mirror of
https://github.com/mindoc-org/mindoc.git
synced 2025-10-21 11:27:26 +08:00
实现分享开关
This commit is contained in:
@@ -151,3 +151,107 @@ func IsAllowUploadFileExt(ext string) bool {
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
//重写生成URL的方法,加上完整的域名
|
||||
func URLFor(endpoint string, values ...interface{}) string {
|
||||
baseUrl := beego.AppConfig.DefaultString("baseurl","")
|
||||
pathUrl := beego.URLFor(endpoint, values ...)
|
||||
|
||||
if baseUrl == "" {
|
||||
baseUrl = BaseUrl
|
||||
}
|
||||
if strings.HasPrefix(pathUrl,"http://") {
|
||||
return pathUrl
|
||||
}
|
||||
if strings.HasPrefix(pathUrl,"/") && strings.HasSuffix(baseUrl,"/") {
|
||||
return baseUrl + pathUrl[1:]
|
||||
}
|
||||
if !strings.HasPrefix(pathUrl,"/") && !strings.HasSuffix(baseUrl,"/") {
|
||||
return baseUrl + "/" + pathUrl
|
||||
}
|
||||
return baseUrl + beego.URLFor(endpoint, values ...)
|
||||
}
|
||||
|
||||
func URLForWithCdnImage(p string) string {
|
||||
if strings.HasPrefix(p, "http://") || strings.HasPrefix(p, "https://") {
|
||||
return p
|
||||
}
|
||||
cdn := beego.AppConfig.DefaultString("cdnimg", "")
|
||||
//如果没有设置cdn,则使用baseURL拼接
|
||||
if cdn == "" {
|
||||
baseUrl := beego.AppConfig.DefaultString("baseurl","")
|
||||
if baseUrl == "" {
|
||||
baseUrl = BaseUrl
|
||||
}
|
||||
if strings.HasPrefix(p,"/") && strings.HasSuffix(baseUrl,"/") {
|
||||
return baseUrl + p[1:]
|
||||
}
|
||||
if !strings.HasPrefix(p,"/") && !strings.HasSuffix(baseUrl,"/") {
|
||||
return baseUrl + "/" + p
|
||||
}
|
||||
return baseUrl + p
|
||||
}
|
||||
if strings.HasPrefix(p, "/") && strings.HasSuffix(cdn, "/") {
|
||||
return cdn + string(p[1:])
|
||||
}
|
||||
if !strings.HasPrefix(p, "/") && !strings.HasSuffix(cdn, "/") {
|
||||
return cdn + "/" + p
|
||||
}
|
||||
return cdn + p
|
||||
}
|
||||
|
||||
func URLForWithCdnCss (p string) string {
|
||||
cdn := beego.AppConfig.DefaultString("cdncss", "")
|
||||
if strings.HasPrefix(p, "http://") || strings.HasPrefix(p, "https://") {
|
||||
return p
|
||||
}
|
||||
//如果没有设置cdn,则使用baseURL拼接
|
||||
if cdn == "" {
|
||||
baseUrl := beego.AppConfig.DefaultString("baseurl","")
|
||||
if baseUrl == "" {
|
||||
baseUrl = BaseUrl
|
||||
}
|
||||
if strings.HasPrefix(p,"/") && strings.HasSuffix(baseUrl,"/") {
|
||||
return baseUrl + p[1:]
|
||||
}
|
||||
if !strings.HasPrefix(p,"/") && !strings.HasSuffix(baseUrl,"/") {
|
||||
return baseUrl + "/" + p
|
||||
}
|
||||
return baseUrl + p
|
||||
}
|
||||
if strings.HasPrefix(p, "/") && strings.HasSuffix(cdn, "/") {
|
||||
return cdn + string(p[1:])
|
||||
}
|
||||
if !strings.HasPrefix(p, "/") && !strings.HasSuffix(cdn, "/") {
|
||||
return cdn + "/" + p
|
||||
}
|
||||
return cdn + p
|
||||
}
|
||||
|
||||
func URLForWithCdnJs(p string) string {
|
||||
cdn := beego.AppConfig.DefaultString("cdnjs", "")
|
||||
if strings.HasPrefix(p, "http://") || strings.HasPrefix(p, "https://") {
|
||||
return p
|
||||
}
|
||||
//如果没有设置cdn,则使用baseURL拼接
|
||||
if cdn == "" {
|
||||
baseUrl := beego.AppConfig.DefaultString("baseurl","")
|
||||
if baseUrl == "" {
|
||||
baseUrl = BaseUrl
|
||||
}
|
||||
if strings.HasPrefix(p,"/") && strings.HasSuffix(baseUrl,"/") {
|
||||
return baseUrl + p[1:]
|
||||
}
|
||||
if !strings.HasPrefix(p,"/") && !strings.HasSuffix(baseUrl,"/") {
|
||||
return baseUrl + "/" + p
|
||||
}
|
||||
return baseUrl + p
|
||||
}
|
||||
if strings.HasPrefix(p, "/") && strings.HasSuffix(cdn, "/") {
|
||||
return cdn + string(p[1:])
|
||||
}
|
||||
if !strings.HasPrefix(p, "/") && !strings.HasSuffix(cdn, "/") {
|
||||
return cdn + "/" + p
|
||||
}
|
||||
return cdn + p
|
||||
}
|
Reference in New Issue
Block a user