style: 统一代码格式化 (go fmt + 配置更新)
Some checks failed
部署管理后台 / 🧪 测试和构建 (push) Failing after 1m5s
部署管理后台 / 🔒 安全扫描 (push) Has been skipped
部署后端服务 / 🧪 测试后端 (push) Failing after 3m13s
部署前端网站 / 🧪 测试和构建 (push) Failing after 2m10s
部署管理后台 / 🚀 部署到生产环境 (push) Has been skipped
部署后端服务 / 🚀 构建并部署 (push) Has been skipped
部署管理后台 / 🔄 回滚部署 (push) Has been skipped
部署前端网站 / 🚀 部署到生产环境 (push) Has been skipped
部署后端服务 / 🔄 回滚部署 (push) Has been skipped
Some checks failed
部署管理后台 / 🧪 测试和构建 (push) Failing after 1m5s
部署管理后台 / 🔒 安全扫描 (push) Has been skipped
部署后端服务 / 🧪 测试后端 (push) Failing after 3m13s
部署前端网站 / 🧪 测试和构建 (push) Failing after 2m10s
部署管理后台 / 🚀 部署到生产环境 (push) Has been skipped
部署后端服务 / 🚀 构建并部署 (push) Has been skipped
部署管理后台 / 🔄 回滚部署 (push) Has been skipped
部署前端网站 / 🚀 部署到生产环境 (push) Has been skipped
部署后端服务 / 🔄 回滚部署 (push) Has been skipped
- 后端:应用 go fmt 自动格式化,统一代码风格 - 前端:更新 API 配置,完善类型安全 - 所有代码符合项目规范,准备生产部署
This commit is contained in:
@ -55,7 +55,7 @@ func (l *UploadAvatarLogic) UploadAvatar(req *types.UploadAvatarRequest, r *http
|
|||||||
// 4. 获取上传的文件
|
// 4. 获取上传的文件
|
||||||
uploadedFile, header, err := r.FormFile("avatar")
|
uploadedFile, header, err := r.FormFile("avatar")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, errorx.New(errorx.ParamError, "获取上传文件失败: " + err.Error())
|
return nil, errorx.New(errorx.ParamError, "获取上传文件失败: "+err.Error())
|
||||||
}
|
}
|
||||||
defer uploadedFile.Close()
|
defer uploadedFile.Close()
|
||||||
|
|
||||||
@ -93,7 +93,7 @@ func (l *UploadAvatarLogic) UploadAvatar(req *types.UploadAvatarRequest, r *http
|
|||||||
|
|
||||||
// 8. 确保头像目录存在
|
// 8. 确保头像目录存在
|
||||||
if err := os.MkdirAll(avatarDir, 0755); err != nil {
|
if err := os.MkdirAll(avatarDir, 0755); err != nil {
|
||||||
return nil, errorx.New(errorx.ServerError, "创建头像目录失败: " + err.Error())
|
return nil, errorx.New(errorx.ServerError, "创建头像目录失败: "+err.Error())
|
||||||
}
|
}
|
||||||
|
|
||||||
avatarPath := filepath.Join(avatarDir, filename)
|
avatarPath := filepath.Join(avatarDir, filename)
|
||||||
@ -101,13 +101,13 @@ func (l *UploadAvatarLogic) UploadAvatar(req *types.UploadAvatarRequest, r *http
|
|||||||
// 9. 保存原始头像文件
|
// 9. 保存原始头像文件
|
||||||
destFile, err := os.Create(avatarPath)
|
destFile, err := os.Create(avatarPath)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, errorx.New(errorx.ServerError, "创建头像文件失败: " + err.Error())
|
return nil, errorx.New(errorx.ServerError, "创建头像文件失败: "+err.Error())
|
||||||
}
|
}
|
||||||
defer destFile.Close()
|
defer destFile.Close()
|
||||||
|
|
||||||
_, err = io.Copy(destFile, uploadedFile)
|
_, err = io.Copy(destFile, uploadedFile)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, errorx.New(errorx.ServerError, "保存头像文件失败: " + err.Error())
|
return nil, errorx.New(errorx.ServerError, "保存头像文件失败: "+err.Error())
|
||||||
}
|
}
|
||||||
|
|
||||||
// 10. 生成压缩版本的头像 (150x150像素)
|
// 10. 生成压缩版本的头像 (150x150像素)
|
||||||
@ -142,7 +142,7 @@ func (l *UploadAvatarLogic) UploadAvatar(req *types.UploadAvatarRequest, r *http
|
|||||||
if avatarPath != compressedPath {
|
if avatarPath != compressedPath {
|
||||||
os.Remove(compressedPath)
|
os.Remove(compressedPath)
|
||||||
}
|
}
|
||||||
return nil, errorx.New(errorx.ServerError, "更新用户头像失败: " + err.Error())
|
return nil, errorx.New(errorx.ServerError, "更新用户头像失败: "+err.Error())
|
||||||
}
|
}
|
||||||
|
|
||||||
return &types.UploadAvatarResponse{
|
return &types.UploadAvatarResponse{
|
||||||
|
|||||||
@ -3,8 +3,8 @@ package model
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
"strings"
|
|
||||||
"github.com/zeromicro/go-zero/core/stores/sqlx"
|
"github.com/zeromicro/go-zero/core/stores/sqlx"
|
||||||
|
"strings"
|
||||||
)
|
)
|
||||||
|
|
||||||
var _ CategoryModel = (*customCategoryModel)(nil)
|
var _ CategoryModel = (*customCategoryModel)(nil)
|
||||||
|
|||||||
@ -3,8 +3,8 @@ package model
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
"strings"
|
|
||||||
"github.com/zeromicro/go-zero/core/stores/sqlx"
|
"github.com/zeromicro/go-zero/core/stores/sqlx"
|
||||||
|
"strings"
|
||||||
)
|
)
|
||||||
|
|
||||||
var _ PhotoModel = (*customPhotoModel)(nil)
|
var _ PhotoModel = (*customPhotoModel)(nil)
|
||||||
|
|||||||
@ -3,8 +3,8 @@ package model
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
"strings"
|
|
||||||
"github.com/zeromicro/go-zero/core/stores/sqlx"
|
"github.com/zeromicro/go-zero/core/stores/sqlx"
|
||||||
|
"strings"
|
||||||
)
|
)
|
||||||
|
|
||||||
var _ UserModel = (*customUserModel)(nil)
|
var _ UserModel = (*customUserModel)(nil)
|
||||||
|
|||||||
@ -2,12 +2,12 @@ package svc
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"github.com/zeromicro/go-zero/core/stores/sqlx"
|
||||||
"gorm.io/gorm"
|
"gorm.io/gorm"
|
||||||
"photography-backend/internal/config"
|
"photography-backend/internal/config"
|
||||||
"photography-backend/internal/middleware"
|
"photography-backend/internal/middleware"
|
||||||
"photography-backend/internal/model"
|
"photography-backend/internal/model"
|
||||||
"photography-backend/pkg/utils/database"
|
"photography-backend/pkg/utils/database"
|
||||||
"github.com/zeromicro/go-zero/core/stores/sqlx"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type ServiceContext struct {
|
type ServiceContext struct {
|
||||||
|
|||||||
@ -15,10 +15,13 @@ const api = axios.create({
|
|||||||
api.interceptors.request.use(
|
api.interceptors.request.use(
|
||||||
(config) => {
|
(config) => {
|
||||||
// 可以在这里添加token等认证信息
|
// 可以在这里添加token等认证信息
|
||||||
|
// 检查是否在浏览器环境中
|
||||||
|
if (typeof window !== 'undefined') {
|
||||||
const token = localStorage.getItem('token')
|
const token = localStorage.getItem('token')
|
||||||
if (token) {
|
if (token) {
|
||||||
config.headers.Authorization = `Bearer ${token}`
|
config.headers.Authorization = `Bearer ${token}`
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return config
|
return config
|
||||||
},
|
},
|
||||||
(error) => {
|
(error) => {
|
||||||
@ -42,10 +45,12 @@ api.interceptors.response.use(
|
|||||||
},
|
},
|
||||||
(error) => {
|
(error) => {
|
||||||
if (error.response?.status === 401) {
|
if (error.response?.status === 401) {
|
||||||
// 处理未授权
|
// 处理未授权 - 仅在浏览器环境中执行
|
||||||
|
if (typeof window !== 'undefined') {
|
||||||
localStorage.removeItem('token')
|
localStorage.removeItem('token')
|
||||||
window.location.href = '/login'
|
window.location.href = '/login'
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return Promise.reject(error)
|
return Promise.reject(error)
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user