Files
yunrui_asset/backend/models/User.js
T
zhang1106 a911d02999 feat: 实现用户认证与权限管理系统
- 添加用户、角色、权限等数据模型
- 实现JWT认证中间件和密码加密
- 添加用户注册、登录、个人信息管理接口
- 实现前端认证上下文和受保护路由
- 添加登录历史记录和操作日志功能
- 提供管理员初始化脚本和修复工具
- 实现完整的登录页面和用户管理界面
2025-12-25 10:48:35 +08:00

64 lines
1.1 KiB
JavaScript

const { DataTypes } = require('sequelize');
const { sequelize } = require('../db');
const User = sequelize.define('User', {
userId: {
type: DataTypes.STRING,
primaryKey: true,
allowNull: false
},
username: {
type: DataTypes.STRING,
allowNull: false,
unique: true
},
password: {
type: DataTypes.STRING,
allowNull: false
},
email: {
type: DataTypes.STRING,
allowNull: true,
validate: {
isEmail: true
}
},
phone: {
type: DataTypes.STRING,
allowNull: true
},
realName: {
type: DataTypes.STRING,
allowNull: true
},
avatar: {
type: DataTypes.STRING,
allowNull: true
},
status: {
type: DataTypes.ENUM('active', 'inactive', 'locked'),
defaultValue: 'active'
},
lastLoginTime: {
type: DataTypes.DATE,
allowNull: true
},
lastLoginIp: {
type: DataTypes.STRING,
allowNull: true
},
loginCount: {
type: DataTypes.INTEGER,
defaultValue: 0
},
remark: {
type: DataTypes.TEXT,
allowNull: true
}
}, {
tableName: 'users',
timestamps: true
});
module.exports = User;