feat: 完成多多畅职就业服务平台核心功能开发
主要更新: - ✅ 完成主题配色从暗色到亮蓝白配色的全面转换 - ✅ 实现高薪岗位页面及后端API集成 - ✅ 完成登录注册页面及认证系统 - ✅ 实现预招录确认功能 - ✅ 添加数据库管理和维护工具脚本 - ✅ 优化错误处理和用户体验 核心功能: 1. 首页 (index.html) - 3D地球、专业分类、过渡岗位 2. 高薪岗位页面 (high.html) - 岗位详情、预招录确认、成功案例 3. 登录注册 (auth.html) - 用户认证、专业分类选择 4. 后端API - RESTful接口,JWT认证,MySQL数据库 技术栈: - 前端:Three.js, GSAP, 原生JavaScript - 后端:Node.js, Express, MySQL - 认证:JWT, bcrypt - 样式:自定义CSS,响应式设计 数据库工具: - kill-by-ids.js - 批量终止MySQL进程 - unlock-all-tables.js - 解锁数据库表 - init-db.js - 初始化数据库 - 其他管理脚本 🤖 Generated with Claude Code Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
143
scripts/database-setup.sql
Normal file
143
scripts/database-setup.sql
Normal file
@@ -0,0 +1,143 @@
|
||||
-- ========================================
|
||||
-- 多多畅职平台 - 完整数据库初始化SQL脚本
|
||||
-- ========================================
|
||||
-- 使用说明:
|
||||
-- 1. 在Navicat中使用root或管理员账号连接MySQL
|
||||
-- 2. 打开此SQL文件,点击"运行"执行整个脚本
|
||||
-- 3. 执行完成后即可使用
|
||||
-- ========================================
|
||||
|
||||
-- 创建数据库
|
||||
CREATE DATABASE IF NOT EXISTS `ddcz_platform`
|
||||
DEFAULT CHARACTER SET utf8mb4
|
||||
COLLATE utf8mb4_unicode_ci;
|
||||
|
||||
-- 使用数据库
|
||||
USE `ddcz_platform`;
|
||||
|
||||
-- ========================================
|
||||
-- 表1: users(用户表)
|
||||
-- ========================================
|
||||
CREATE TABLE IF NOT EXISTS `users` (
|
||||
`id` INT NOT NULL AUTO_INCREMENT COMMENT '用户ID',
|
||||
`username` VARCHAR(50) NOT NULL COMMENT '用户名',
|
||||
`password_hash` VARCHAR(255) NOT NULL COMMENT '密码哈希',
|
||||
`email` VARCHAR(100) DEFAULT NULL COMMENT '邮箱',
|
||||
`phone` VARCHAR(20) DEFAULT NULL COMMENT '手机号',
|
||||
`role` ENUM('user', 'admin') NOT NULL DEFAULT 'user' COMMENT '用户角色',
|
||||
`status` ENUM('active', 'inactive', 'banned') NOT NULL DEFAULT 'active' COMMENT '账号状态',
|
||||
`created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`updated_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
`last_login` TIMESTAMP NULL DEFAULT NULL COMMENT '最后登录时间',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `unique_username` (`username`),
|
||||
UNIQUE KEY `unique_email` (`email`),
|
||||
UNIQUE KEY `unique_phone` (`phone`),
|
||||
KEY `idx_username` (`username`),
|
||||
KEY `idx_email` (`email`),
|
||||
KEY `idx_role` (`role`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='用户表';
|
||||
|
||||
-- ========================================
|
||||
-- 表2: user_profiles(用户资料表)
|
||||
-- ========================================
|
||||
CREATE TABLE IF NOT EXISTS `user_profiles` (
|
||||
`id` INT NOT NULL AUTO_INCREMENT COMMENT '资料ID',
|
||||
`user_id` INT NOT NULL COMMENT '用户ID',
|
||||
`real_name` VARCHAR(50) DEFAULT NULL COMMENT '真实姓名',
|
||||
`gender` ENUM('male', 'female', 'other') DEFAULT NULL COMMENT '性别',
|
||||
`birth_date` DATE DEFAULT NULL COMMENT '出生日期',
|
||||
`id_card` VARCHAR(18) DEFAULT NULL COMMENT '身份证号',
|
||||
`education` VARCHAR(50) DEFAULT NULL COMMENT '学历',
|
||||
`major` VARCHAR(100) DEFAULT NULL COMMENT '专业',
|
||||
`school` VARCHAR(100) DEFAULT NULL COMMENT '学校',
|
||||
`graduation_year` YEAR DEFAULT NULL COMMENT '毕业年份',
|
||||
`city` VARCHAR(50) DEFAULT NULL COMMENT '所在城市',
|
||||
`address` TEXT DEFAULT NULL COMMENT '详细地址',
|
||||
`avatar_url` VARCHAR(255) DEFAULT NULL COMMENT '头像URL',
|
||||
`resume_url` VARCHAR(255) DEFAULT NULL COMMENT '简历URL',
|
||||
`self_intro` TEXT DEFAULT NULL COMMENT '自我介绍',
|
||||
`skills` TEXT DEFAULT NULL COMMENT '技能标签(JSON数组)',
|
||||
`created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`updated_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `unique_user_id` (`user_id`),
|
||||
KEY `idx_user_id` (`user_id`),
|
||||
CONSTRAINT `fk_profile_user` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='用户资料表';
|
||||
|
||||
-- ========================================
|
||||
-- 表3: job_applications(投递记录表)
|
||||
-- ========================================
|
||||
CREATE TABLE IF NOT EXISTS `job_applications` (
|
||||
`id` INT NOT NULL AUTO_INCREMENT COMMENT '投递记录ID',
|
||||
`user_id` INT NOT NULL COMMENT '用户ID',
|
||||
`job_type` ENUM('transition', 'referral') NOT NULL COMMENT '岗位类型:transition-过渡岗位, referral-内推岗位',
|
||||
`job_name` VARCHAR(100) NOT NULL COMMENT '岗位名称',
|
||||
`company_name` VARCHAR(100) NOT NULL COMMENT '企业名称',
|
||||
`company_short_name` VARCHAR(50) DEFAULT NULL COMMENT '企业简称',
|
||||
`city` VARCHAR(50) DEFAULT NULL COMMENT '城市',
|
||||
`province` VARCHAR(50) DEFAULT NULL COMMENT '省份',
|
||||
`segment_name` VARCHAR(100) DEFAULT NULL COMMENT '业务板块名称',
|
||||
`status` ENUM('pending', 'reviewing', 'interviewed', 'offered', 'rejected', 'withdrawn') NOT NULL DEFAULT 'pending' COMMENT '投递状态',
|
||||
`application_data` JSON DEFAULT NULL COMMENT '投递详细数据(岗位详情JSON)',
|
||||
`applied_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '投递时间',
|
||||
`updated_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
`notes` TEXT DEFAULT NULL COMMENT '备注',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_user_id` (`user_id`),
|
||||
KEY `idx_job_type` (`job_type`),
|
||||
KEY `idx_status` (`status`),
|
||||
KEY `idx_applied_at` (`applied_at`),
|
||||
CONSTRAINT `fk_application_user` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='投递记录表';
|
||||
|
||||
-- ========================================
|
||||
-- 表4: favorites(收藏表)
|
||||
-- ========================================
|
||||
CREATE TABLE IF NOT EXISTS `favorites` (
|
||||
`id` INT NOT NULL AUTO_INCREMENT COMMENT '收藏ID',
|
||||
`user_id` INT NOT NULL COMMENT '用户ID',
|
||||
`favorite_type` ENUM('company', 'job') NOT NULL COMMENT '收藏类型',
|
||||
`company_name` VARCHAR(100) DEFAULT NULL COMMENT '企业名称',
|
||||
`job_name` VARCHAR(100) DEFAULT NULL COMMENT '岗位名称',
|
||||
`favorite_data` JSON DEFAULT NULL COMMENT '收藏详细数据',
|
||||
`created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '收藏时间',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_user_id` (`user_id`),
|
||||
KEY `idx_type` (`favorite_type`),
|
||||
UNIQUE KEY `unique_favorite` (`user_id`, `favorite_type`, `company_name`, `job_name`),
|
||||
CONSTRAINT `fk_favorite_user` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='收藏表';
|
||||
|
||||
-- ========================================
|
||||
-- 插入默认管理员账号
|
||||
-- ========================================
|
||||
-- 注意:密码哈希需要在Node.js中生成
|
||||
-- 默认密码:admin123456
|
||||
-- 这里使用bcrypt哈希后的值(rounds=10)
|
||||
INSERT INTO `users` (`username`, `password_hash`, `email`, `role`, `status`)
|
||||
VALUES (
|
||||
'admin',
|
||||
'$2a$10$YourBcryptHashWillBeGeneratedByNodeJS',
|
||||
'admin@ddcz.com',
|
||||
'admin',
|
||||
'active'
|
||||
) ON DUPLICATE KEY UPDATE `username` = `username`;
|
||||
|
||||
-- ========================================
|
||||
-- 授予权限(如果需要)
|
||||
-- ========================================
|
||||
-- 如果您使用的是root账号创建的数据库,需要给 ddcz_bitmap 授权
|
||||
-- GRANT ALL PRIVILEGES ON `ddcz_platform`.* TO 'ddcz_bitmap'@'%';
|
||||
-- FLUSH PRIVILEGES;
|
||||
|
||||
-- ========================================
|
||||
-- 验证表创建
|
||||
-- ========================================
|
||||
SELECT '✅ 数据库创建完成!' AS message;
|
||||
SHOW TABLES;
|
||||
SELECT '✅ 以上是已创建的表' AS message;
|
||||
|
||||
-- 查看users表结构
|
||||
DESC `users`;
|
||||
Reference in New Issue
Block a user