优化页面、修复BUG

This commit is contained in:
李琦
2026-06-26 17:00:02 +08:00
parent 396272908b
commit e4ab62ab7e
44 changed files with 1058 additions and 688 deletions

View File

@@ -43,3 +43,14 @@ func (c *Category) BeforeUpdate(tx *gorm.DB) error {
c.UpdatedAt = time.Now().Unix()
return nil
}
// CategoryResponse 分类 API 响应
type CategoryResponse struct {
ID uint `json:"id"`
Name string `json:"name"`
Slug string `json:"slug"`
Description string `json:"description"`
SortOrder uint `json:"sortOrder"`
CreatedAt string `json:"createdAt"`
UpdatedAt string `json:"updatedAt"`
}

View File

@@ -45,6 +45,20 @@ func (c *Column) BeforeUpdate(tx *gorm.DB) error {
return nil
}
// ColumnResponse 专栏 API 响应
type ColumnResponse struct {
ID uint `json:"id"`
Name string `json:"name"`
Description string `json:"description"`
Cover string `json:"cover"`
IsActive int `json:"isActive"`
SortOrder uint `json:"sortOrder"`
CreatedAt string `json:"createdAt"`
UpdatedAt string `json:"updatedAt"`
PostCount int64 `json:"postCount,omitempty"`
LastUpdated string `json:"lastUpdated,omitempty"`
}
// ColumnPost 专栏文章关联模型
type ColumnPost struct {
ColumnID uint `json:"columnId" gorm:"primaryKey;column:column_id"`

View File

@@ -42,6 +42,15 @@ func (t *Tag) BeforeUpdate(tx *gorm.DB) error {
return nil
}
// TagResponse 标签 API 响应
type TagResponse struct {
ID uint `json:"id"`
Name string `json:"name"`
Slug string `json:"slug"`
CreatedAt string `json:"createdAt"`
UpdatedAt string `json:"updatedAt"`
}
// PostTag 文章标签关联模型
type PostTag struct {
PostID uint `json:"postId" gorm:"primaryKey;column:post_id"`

View File

@@ -12,6 +12,10 @@ type User struct {
Username string `json:"username" gorm:"column:username;uniqueIndex;not null"`
Email string `json:"email" gorm:"column:email"`
Avatar string `json:"avatar" gorm:"column:avatar"`
Bio string `json:"bio" gorm:"column:bio;type:text"`
Phone string `json:"phone" gorm:"column:phone"`
Wechat string `json:"wechat" gorm:"column:wechat"`
WechatQrcode string `json:"wechatQrcode" gorm:"column:wechat_qrcode"`
Password string `json:"password,omitempty" gorm:"-"` // Virtual field for input
PasswordHash string `json:"-" gorm:"column:password_hash"`
RoleID uint `json:"roleId" gorm:"column:role_id"`
@@ -50,15 +54,47 @@ func (u *User) BeforeUpdate(tx *gorm.DB) error {
// UserResponse 用户响应模型
type UserResponse struct {
ID uint `json:"id"`
Username string `json:"username"`
Email string `json:"email"`
Avatar string `json:"avatar,omitempty"`
RoleID uint `json:"roleId"`
Role string `json:"role"`
IsActive int `json:"isActive"`
CreatedAt string `json:"createdAt"`
UpdatedAt string `json:"updatedAt"`
ID uint `json:"id"`
Username string `json:"username"`
Email string `json:"email"`
Avatar string `json:"avatar,omitempty"`
Bio string `json:"bio,omitempty"`
Phone string `json:"phone,omitempty"`
Wechat string `json:"wechat,omitempty"`
WechatQrcode string `json:"wechatQrcode,omitempty"`
RoleID uint `json:"roleId"`
Role string `json:"role"`
IsActive int `json:"isActive"`
CreatedAt string `json:"createdAt"`
UpdatedAt string `json:"updatedAt"`
}
// UserPublicProfile 公开用户资料(前台展示)
type UserPublicProfile struct {
ID uint `json:"id"`
Username string `json:"username"`
Email string `json:"email"`
Avatar string `json:"avatar,omitempty"`
Bio string `json:"bio,omitempty"`
Phone string `json:"phone,omitempty"`
Wechat string `json:"wechat,omitempty"`
WechatQrcode string `json:"wechatQrcode,omitempty"`
}
// UpdateProfileRequest 当前用户更新资料请求
type UpdateProfileRequest struct {
Email string `json:"email"`
Avatar string `json:"avatar"`
Bio string `json:"bio"`
Phone string `json:"phone"`
Wechat string `json:"wechat"`
WechatQrcode string `json:"wechatQrcode"`
}
// UpdatePasswordRequest 修改密码请求
type UpdatePasswordRequest struct {
OldPassword string `json:"oldPassword" binding:"required"`
NewPassword string `json:"newPassword" binding:"required"`
}
// LoginRequest 登录请求模型