Просмотр исходного кода

feat: 用户表新增注册时间字段 + 用户列表显示邮箱和注册时间

- model/user.go: 新增 CreatedAt 字段,Insert 时自动填充
- UsersColumnDefs.jsx: 用户列表新增邮箱、注册时间列
- makefile: 新增 build-widget target
master
fengsilin 3 недель назад
Родитель
Сommit
5afa4c48fc
3 измененных файлов: 23 добавлений и 2 удалений
  1. +6
    -2
      makefile
  2. +3
    -0
      model/user.go
  3. +14
    -0
      web/src/components/table/users/UsersColumnDefs.jsx

+ 6
- 2
makefile Просмотреть файл

@@ -1,14 +1,18 @@
FRONTEND_DIR = ./web FRONTEND_DIR = ./web
BACKEND_DIR = . BACKEND_DIR = .


.PHONY: all build-frontend start-backend docker-build docker-push
.PHONY: all build-frontend build-widget start-backend docker-build docker-push


all: build-frontend start-backend
all: build-frontend build-widget start-backend


build-frontend: build-frontend:
@echo "Building frontend..." @echo "Building frontend..."
@cd $(FRONTEND_DIR) && bun install && DISABLE_ESLINT_PLUGIN='true' VITE_REACT_APP_VERSION=$(cat VERSION) bun run build @cd $(FRONTEND_DIR) && bun install && DISABLE_ESLINT_PLUGIN='true' VITE_REACT_APP_VERSION=$(cat VERSION) bun run build


build-widget:
@echo "Building login widget..."
@cd $(FRONTEND_DIR)/widget && bun install && bun run build

start-backend: start-backend:
@echo "Starting backend dev server..." @echo "Starting backend dev server..."
@cd $(BACKEND_DIR) && go run main.go & @cd $(BACKEND_DIR) && go run main.go &


+ 3
- 0
model/user.go Просмотреть файл

@@ -55,6 +55,7 @@ type User struct {
AffQuota int `json:"aff_quota" gorm:"type:int;default:0;column:aff_quota"` // 邀请剩余额度 AffQuota int `json:"aff_quota" gorm:"type:int;default:0;column:aff_quota"` // 邀请剩余额度
AffHistoryQuota int `json:"aff_history_quota" gorm:"type:int;default:0;column:aff_history"` // 邀请历史额度 AffHistoryQuota int `json:"aff_history_quota" gorm:"type:int;default:0;column:aff_history"` // 邀请历史额度
InviterId int `json:"inviter_id" gorm:"type:int;column:inviter_id;index"` InviterId int `json:"inviter_id" gorm:"type:int;column:inviter_id;index"`
CreatedAt int64 `json:"created_at" gorm:"bigint;default:0"`
DeletedAt gorm.DeletedAt `gorm:"index"` DeletedAt gorm.DeletedAt `gorm:"index"`
LinuxDOId string `json:"linux_do_id" gorm:"column:linux_do_id;index"` LinuxDOId string `json:"linux_do_id" gorm:"column:linux_do_id;index"`
Setting string `json:"setting" gorm:"type:text;column:setting"` Setting string `json:"setting" gorm:"type:text;column:setting"`
@@ -436,6 +437,7 @@ func (user *User) Insert(inviterId int) error {
} }
//user.SetAccessToken(common.GetUUID()) //user.SetAccessToken(common.GetUUID())
user.AffCode = common.GetRandomString(4) user.AffCode = common.GetRandomString(4)
user.CreatedAt = time.Now().Unix()


// 初始化用户设置,包括默认的边栏配置 // 初始化用户设置,包括默认的边栏配置
if user.Setting == "" { if user.Setting == "" {
@@ -503,6 +505,7 @@ func (user *User) InsertWithTx(tx *gorm.DB, inviterId int) error {
user.Quota = common.QuotaForNewUser user.Quota = common.QuotaForNewUser
} }
user.AffCode = common.GetRandomString(4) user.AffCode = common.GetRandomString(4)
user.CreatedAt = time.Now().Unix()


// 初始化用户设置 // 初始化用户设置
if user.Setting == "" { if user.Setting == "" {


+ 14
- 0
web/src/components/table/users/UsersColumnDefs.jsx Просмотреть файл

@@ -322,6 +322,20 @@ export const getUsersColumns = ({
dataIndex: 'username', dataIndex: 'username',
render: (text, record) => renderUsername(text, record), render: (text, record) => renderUsername(text, record),
}, },
{
title: t('邮箱'),
dataIndex: 'email',
render: (text) => text || '-',
},
{
title: t('注册时间'),
dataIndex: 'created_at',
render: (text) => {
if (!text || text === 0) return t('未知');
const date = new Date(text * 1000);
return date.toLocaleDateString();
},
},
{ {
title: t('状态'), title: t('状态'),
dataIndex: 'info', dataIndex: 'info',


Загрузка…
Отмена
Сохранить