From 58adc495ce36178048422f5c6970b54d19badd28 Mon Sep 17 00:00:00 2001 From: wintsa Date: Fri, 12 Apr 2024 11:27:18 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=8E=E7=AB=AF=E4=BF=AE=E6=94=B9=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=E5=9B=BE=E6=A0=87=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dockerfile | 2 +- index.html | 2 +- public/favicon.ico | Bin 11500 -> 9662 bytes public/favicon.svg | 3 +- public/logo.png | Bin 63259 -> 3199 bytes service/api/api_v1/panel/itemIcon.go | 81 ++++++++++++++----- service/lib/siteFavicon/favico.go | 9 ++- src/assets/logo.svg | 3 +- src/views/home/components/EditItem/index.vue | 5 +- src/views/home/index.vue | 1 - 10 files changed, 76 insertions(+), 30 deletions(-) diff --git a/Dockerfile b/Dockerfile index 925bf8d..8d80523 100644 --- a/Dockerfile +++ b/Dockerfile @@ -30,12 +30,12 @@ COPY ./service . # 中国国内源 # RUN sed -i "s@dl-cdn.alpinelinux.org@mirrors.aliyun.com@g" /etc/apk/repositories \ -# && go env -w GOPROXY=https://goproxy.cn,direct RUN apk add --no-cache bash curl gcc git musl-dev RUN go env -w GO111MODULE=on \ && export PATH=$PATH:/go/bin \ + && go env -w GOPROXY=https://goproxy.cn,direct \ && go install -a -v github.com/go-bindata/go-bindata/...@latest \ && go install -a -v github.com/elazarl/go-bindata-assetfs/...@latest \ && go install -a -v github.com/gin-contrib/cors/...@latest \ diff --git a/index.html b/index.html index b5df1c7..982656c 100644 --- a/index.html +++ b/index.html @@ -8,7 +8,7 @@ - ZW-Panel + ZW Panel diff --git a/public/favicon.ico b/public/favicon.ico index 3e414ed90f0312a12c8ab7175d1b2edc15cb5f5a..0b5169c55c3a3cb7cb279c8841a001171771f196 100644 GIT binary patch literal 9662 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 diff --git a/public/favicon.svg b/public/favicon.svg index 561e1f5..b44c514 100644 --- a/public/favicon.svg +++ b/public/favicon.svg @@ -1 +1,2 @@ - \ No newline at end of file + + \ No newline at end of file diff --git a/public/logo.png b/public/logo.png index a3aac61dc6e6d09a25c44bc024669d4a2b0c8d59..f4236ee5f1ae550f6a23dce200be5d6e6fb2a93e 100644 GIT binary patch literal 3199 zcmV-_41n{AP)004R> z004l5008;`004mK004C`008P>0026e000+ooVrmw00006VoOIv0RI600RN!9r;`8x z39bj*)&G9tdAO$~;KhpND;+ZWP?G=GD=Vni9v8MrG$Z&T% z>9XYb44pbGroG_T4Pd;bV^7*- z7^1Crv+uy6yl8!Mb90&1YRv-xv)No;TU(nRZJYe)cy_?%ejT6?0zr)5ysLYhwVxP3 z=+k4F)a@;&0MIwc4K=pzj<&V5wCDnX006-4c4s#)K#?Lc1dLW40DSo2hv_btYiG2dD2gx`4Ev(L17_!2LYRVM z90&k-2DtlIZti|`37!x@u+z9t2vHCa01T6E&&r{iFSO0g&6RGqTeUGwCR5qbqet@| zy#K-SkkPRcAYfns06xs%H`yPXMvnzx;zRvvYILk+02mk;2+}j>j?BoI6hj5J6a?wR=jIU+d}V*&E-Va0Dw>tk6GbGw4zuPDaKMWe)&A$YjqPtZgWJ>Hr=# z8+0i?e}wx$h$r9{YY)}7-q_gF)059wOuLLR3lvP2#INz5CUz{!gJZz3|rvrn@-tI2{g0rBeFoKkHGY>H7#0vGK2*LawzWx@b@lzf>sNg300!%us?ggnFi?4* zrl{b;KL&fL-EP~a77du4k%6*T%k<(sTa^$F%S2JzK?1>)t@np9Ue`QrD@+?ez~sZc{!v^sfy_vaO1n`<>Mo0@`97CM`kx*8X3P|xy;$chsv}p8|0K~>?>0yg=w?utOQ*_QuWNlclzjm#8|M2i| zOa#UN2IS`D)|FX2t3{JNlZ&JdQQc4Vj?O_qz%hc5%eyO7b9&Yj1Gs;-VY6tqXAy(5CV?pux!b)kH*@*)CvBOEPQOUPF+@7MYOon`_8rOcwzwl z+r}Sq{%~voj(}UX;FDk1oY>%SI0}=b4r9N1ZCfL=xV9@pl~TZD<=EbkYEy$ELU)aC zJrRKM&(35A&Cb_(7MnVhmql}4-E`b&GQAh@`w<_!@)j(pPQP-q94@bh$P&g=h{ctO zq7RctgdOg(@k7;%9~;0}{q^0<<`QJX5&~gSLF@V1g2!SpZ&&tZjA6!%8F=}nm-K;q zW*r}9iWtj*$zrQFZ|rnHx({<&K4Zz=N(g|TE>xc?KYC+xy=g*$4v|4Q% z5ViX&Dk^gRJg3MbT0Es-iLp0E5Fmd0CadQuL%`_JvFoi<$~k4j=)q5y22Hm0(#(-i zq@6$Z?B-Wac64;?r{S=A009b%i;qmUb-vAphB>9jkBLrH)KTg_(JMt_f}?lkXzQJg zj|^bwN}G=FAC^52BMkhaf(sw{`g6=?b1CA2*E5-!*tT`+(SX%il^P~-T4ixtG$v;B zlPSJqRAb;qeRy!WWzQo42sJiyVWYK*qYMlb90)?`8q8d=^kBoK`n>}K1FCV1F%%aU z8FsoJ&JN$Rc)mVu+5jG0YuiYB9NOse6aZIT;O0tK zT{am_dl+L-@}J{*ys&bWe$vpnUl^T?#_=4PHf9trp-fT9j+!|vH`3n|^Z-0BoIodZ+#S(l?{F6*Xr3KWv5de@t5P=(= zNmGji0N&5eq=~lP%4ib@fM(9boR`<>uU>7``FuY0Zv%V5QxZ%bQSe$b>Ch?d8AVmvrH!Ygq?R2_!sUj}` zjgW%Uk`jI3R?ohafGBG)*(;eHh@yY2jX*keODAs%2F~Ht_%1Z>`bq$PLzj*Z#av{V z2WBkN9zI)lahu(4&r(NThQi{ap&zYXe>-e)Y>I6?CCK=MA$o{Z>OP)Ii3Cd#0e`nO zfkr9-4-R~sMO~h4ghgE^fajhSGr#rXk@og>ohXV4!Yo;`xE5zyDroNjr{ukw7Rqw` z@?27&k!u5mdu5FEDH7EUa6* z?t}4rJ-U=IQ~4AnEvBN8GKHS%QO!6wg25{{R927y_}g2!Q0Kij1u=q`0HQ`f`nu=! zb+unqdcEERKU|>IcKjqQ3+QnyMUu@IfBKDSQyJFc^HZvzn6eiGPXSondnc+-$#Tnu z(dLfz%++5?BGlm-AQb0~XTH4Vq|Ih~C)u&FsJKW!(%7csM|@MB zj+-0++`oQj2kWtCGZ0WBX@p-^=pFc0Nu#&d^8+P)2qEAF0c+N*(FfbRbi!m~q>}W%T1t?@-!A>T z$@x#5$`tLr+Xc!42!nwF^Pa)nvJ!oBbFc)J=!=4a5+3c@?V-W`G(JO+CT0Yw zi}MXl+GmY@{oeAlG`08CXf!A-E!F#4yMM`Mq=2JRvIjz>YZVZHMD)p6|Bv>F^B%(&`5~0%QIM;W>uuGUxnD3tR?)To09>5s@J}a{!D27l`{>EQJ zp^yqdYHI3aNoh%4M#jA5nssZN00JWL;5dmMgv8<}2NJPdH2aRG8Pc~hD`zt3|8~xe l%+DAIA(+UVX~6&c^B<0~7OP+!dkz2q002ovPDHLkV1hCe6~_Po literal 63259 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 diff --git a/service/api/api_v1/panel/itemIcon.go b/service/api/api_v1/panel/itemIcon.go index 30228de..64d5860 100644 --- a/service/api/api_v1/panel/itemIcon.go +++ b/service/api/api_v1/panel/itemIcon.go @@ -6,6 +6,7 @@ import ( "net/url" "os" "path" + "path/filepath" "strings" "sun-panel/api/api_v1/common/apiData/commonApiStructs" "sun-panel/api/api_v1/common/apiData/panelApiStructs" @@ -243,12 +244,7 @@ func (a *ItemIcon) GetSiteFavicon(c *gin.Context) { } resp := panelApiStructs.ItemIconGetSiteFaviconResp{} fullUrl := "" - if iconUrl, err := siteFavicon.GetOneFaviconURL(req.Url); err != nil { - apiReturn.Error(c, "acquisition failed: get ico error:"+err.Error()) - return - } else { - fullUrl = iconUrl - } + fullUrl = siteFavicon.GetOneFaviconURL(req.Url) parsedURL, err := url.Parse(req.Url) if err != nil { @@ -267,17 +263,7 @@ func (a *ItemIcon) GetSiteFavicon(c *gin.Context) { // 如果URL既不以http://开头也不以https://开头,则默认为http协议 fullUrl = "http://" + fullUrl } - global.Logger.Debug("fullUrl:", fullUrl) - // 去除图标的get参数 - { - parsedIcoURL, err := url.Parse(fullUrl) - if err != nil { - apiReturn.Error(c, "acquisition failed: parsed ico URL :"+err.Error()) - return - } - fullUrl = parsedIcoURL.Scheme + "://" + parsedIcoURL.Host + parsedIcoURL.Path - } - global.Logger.Debug("fullUrl:", fullUrl) + global.Logger.Debug("fullUrl111:", fullUrl) // 生成保存目录 configUpload := global.Config.GetValueString("base", "source_path") @@ -290,13 +276,64 @@ func (a *ItemIcon) GetSiteFavicon(c *gin.Context) { // 下载 var imgInfo *os.File { - var err error - if imgInfo, err = siteFavicon.DownloadImage(fullUrl, savePath, 1024*1024); err != nil { - apiReturn.Error(c, "acquisition failed: download"+err.Error()) - return + { + imgInfo, err = siteFavicon.DownloadImage(fullUrl, savePath, 1024*1024) + if err != nil { + u, err := url.Parse(fullUrl) + if err != nil { + // 处理 URL 解析错误 + return + } + + // 获取主机名 + hostname := u.Hostname() + + // 去掉子域名前缀 + parts := strings.Split(hostname, ".") + if len(parts) > 2 { + hostname = strings.Join(parts[1:], ".") + } + + // 构建新的 URL + newUrl := u.Scheme + "://" + hostname + u.RequestURI() + imgInfo, err = siteFavicon.DownloadImage(newUrl, savePath, 1024*1024) + // 重新尝试下载 + if err != nil { + if iconUrl, err := siteFavicon.GetOneFaviconURLByhead(req.Url); err != nil { + apiReturn.Error(c, "acquisition failed: get ico error:"+err.Error()) + return + } else { + fullUrl = iconUrl + + u, err := url.Parse(fullUrl) + if err != nil { + // 处理 URL 解析错误 + apiReturn.Error(c, "acquisition failed: get ico error:"+err.Error()) + + return + } + + // 获取主机名 + hostname := u.Hostname() + absolutePath := filepath.Clean(u.RequestURI()) + // 构建新的 URL + + newUrl := u.Scheme + "://" + hostname + absolutePath + newUrl = strings.ReplaceAll(newUrl, "\\", "/") + fmt.Println(newUrl) + + imgInfo, err = siteFavicon.DownloadImage(newUrl, savePath, 1024*1024) + if err != nil { + fmt.Println(err) + + apiReturn.Error(c, "acquisition failed: get ico error:"+err.Error()) + return + } + } + } + } } } - // 保存到数据库 ext := path.Ext(fullUrl) mFile := models.File{} diff --git a/service/lib/siteFavicon/favico.go b/service/lib/siteFavicon/favico.go index 38e1af7..796c470 100644 --- a/service/lib/siteFavicon/favico.go +++ b/service/lib/siteFavicon/favico.go @@ -26,7 +26,14 @@ func IsHTTPURL(url string) bool { return match } -func GetOneFaviconURL(urlStr string) (string, error) { +func GetOneFaviconURL(urlStr string) string { + + urlInfo, _ := url.Parse(urlStr) + fullUrl := urlInfo.Scheme + "://" + urlInfo.Host + "/favicon.ico" + return fullUrl + +} +func GetOneFaviconURLByhead(urlStr string) (string, error) { iconURLs, err := getFaviconURL(urlStr) if err != nil { return "", err diff --git a/src/assets/logo.svg b/src/assets/logo.svg index 561e1f5..b44c514 100644 --- a/src/assets/logo.svg +++ b/src/assets/logo.svg @@ -1 +1,2 @@ - \ No newline at end of file + + \ No newline at end of file diff --git a/src/views/home/components/EditItem/index.vue b/src/views/home/components/EditItem/index.vue index 639d6fd..83e51a0 100644 --- a/src/views/home/components/EditItem/index.vue +++ b/src/views/home/components/EditItem/index.vue @@ -6,13 +6,14 @@ import IconEditor from './IconEditor.vue' import { edit, getSiteFavicon } from '@/api/panel/itemIcon' import { getList as getGroupList } from '@/api/panel/itemIconGroup' import { t } from '@/locales' +import { useAuthStore } from '@/store' interface Props { visible: boolean itemInfo: Panel.Info | null itemGroupId?: number } - +const authStore = useAuthStore() const props = defineProps() const emit = defineEmits() const ms = useMessage() @@ -195,7 +196,7 @@ function getGroupListOptions() { - + diff --git a/src/views/home/index.vue b/src/views/home/index.vue index 355c94a..1c68b6d 100644 --- a/src/views/home/index.vue +++ b/src/views/home/index.vue @@ -27,7 +27,6 @@ const ms = useMessage() const dialog = useDialog() const panelState = usePanelState() const authStore = useAuthStore() -console.log(panelState.panelConfig) const scrollContainerRef = ref(undefined) const editItemInfoShow = ref(false)