feat: 添加管理员管理和场地图片功能

This commit is contained in:
Yvan
2026-04-17 18:09:02 +08:00
parent 2530ceb6b4
commit fd49a9de88
53 changed files with 4225 additions and 1424 deletions
+6 -1
View File
@@ -16,7 +16,12 @@ const Admin = sequelize.define('Admin', {
type: DataTypes.STRING,
allowNull: false
},
name: DataTypes.STRING
name: DataTypes.STRING,
role: {
type: DataTypes.STRING,
allowNull: false,
defaultValue: 'admin'
}
});
module.exports = Admin;
+10 -1
View File
@@ -16,7 +16,7 @@ const Prize = sequelize.define('Prize', {
allowNull: false
},
level: {
type: DataTypes.ENUM('一等奖', '二等奖', '三等奖', '参与奖', '伴手礼'),
type: DataTypes.ENUM('特等奖', '一等奖', '二等奖', '三等奖', '四等奖', '参与奖', '伴手礼'),
allowNull: false
},
description: DataTypes.TEXT,
@@ -29,6 +29,15 @@ const Prize = sequelize.define('Prize', {
type: DataTypes.INTEGER,
defaultValue: 0,
comment: '排序值,数字越小越靠前'
},
source: {
type: DataTypes.ENUM('member', 'sponsor', 'purchase'),
defaultValue: 'purchase',
comment: '来源: member-群友赞助, sponsor-赞助商提供, purchase-采购'
},
sponsor: {
type: DataTypes.STRING,
comment: '赞助者名称(群友或赞助商)'
}
});
+5 -1
View File
@@ -34,7 +34,11 @@ const Registration = sequelize.define('Registration', {
type: DataTypes.BOOLEAN,
defaultValue: false
},
checkInTime: DataTypes.DATE
checkInTime: DataTypes.DATE,
groupStatus: {
type: DataTypes.BOOLEAN,
defaultValue: false
}
});
module.exports = Registration;
+25
View File
@@ -0,0 +1,25 @@
const { DataTypes } = require('sequelize');
const sequelize = require('./db');
const VenueImage = sequelize.define('VenueImage', {
id: {
type: DataTypes.INTEGER,
primaryKey: true,
autoIncrement: true
},
activityId: {
type: DataTypes.INTEGER,
allowNull: false
},
image: {
type: DataTypes.STRING,
allowNull: false
},
sortOrder: {
type: DataTypes.INTEGER,
defaultValue: 0,
comment: '排序值,数字越小越靠前'
}
});
module.exports = VenueImage;
+3 -1
View File
@@ -6,6 +6,7 @@ const Photo = require('./Photo');
const Sponsor = require('./Sponsor');
const Prize = require('./Prize');
const Admin = require('./Admin');
const VenueImage = require('./VenueImage');
// 同步数据库
// 使用 force: false 避免 SQLite alter 表时的约束冲突问题
@@ -23,5 +24,6 @@ module.exports = {
Photo,
Sponsor,
Prize,
Admin
Admin,
VenueImage
};