🔨 refactor code

This commit is contained in:
landaiqing
2024-10-03 02:10:14 +08:00
parent 230921fa3d
commit 16616e3755
17 changed files with 563 additions and 661 deletions

View File

@@ -1,9 +1,6 @@
package utils
import (
"encoding/base64"
"errors"
"io"
"net/http"
"time"
)
@@ -14,41 +11,41 @@ var client = &http.Client{
}
// GenerateAvatar 用于生成用户头像
func GenerateAvatar(userId string) (baseImg string, err error) {
func GenerateAvatar(userId string) (baseImg string) {
path := "https://api.multiavatar.com/" + userId + ".png"
// 创建请求
request, err := http.NewRequest("GET", path, nil)
if err != nil {
return "", errors.New("image request error")
}
// 发送请求并获取响应
respImg, err := client.Do(request)
if err != nil {
return "", errors.New("failed to fetch image")
}
defer func(Body io.ReadCloser) {
err := Body.Close()
if err != nil {
return
}
}(respImg.Body)
// 读取图片数据
imgByte, err := io.ReadAll(respImg.Body)
if err != nil {
return "", errors.New("failed to read image data")
}
// 判断文件类型,生成一个前缀
mimeType := http.DetectContentType(imgByte)
switch mimeType {
case "image/png":
baseImg = "data:image/png;base64," + base64.StdEncoding.EncodeToString(imgByte)
default:
return "", errors.New("unsupported image type")
}
return baseImg, nil
//// 创建请求
//request, err := http.NewRequest("GET", path, nil)
//if err != nil {
// return "", errors.New("image request error")
//}
//
//// 发送请求并获取响应
//respImg, err := client.Do(request)
//if err != nil {
// return "", errors.New("failed to fetch image")
//}
//defer func(Body io.ReadCloser) {
// err := Body.Close()
// if err != nil {
// return
// }
//}(respImg.Body)
//
//// 读取图片数据
//imgByte, err := io.ReadAll(respImg.Body)
//if err != nil {
// return "", errors.New("failed to read image data")
//}
//
//// 判断文件类型,生成一个前缀
//mimeType := http.DetectContentType(imgByte)
//switch mimeType {
//case "image/png":
// baseImg = "data:image/png;base64," + base64.StdEncoding.EncodeToString(imgByte)
//default:
// return "", errors.New("unsupported image type")
//}
return path
}