🚀 AI 近视防控系统 - 生产环境上线版本 v1.0

 已完成功能:
- 后端 Go 服务 (认证/授权/检测)
- JWT 认证 + RBAC 权限控制
- 登录速率限制 (5 次失败锁定 15 分钟)
- 密码强度校验
- 敏感数据脱敏
- Vue3 管理后台
- 路由守卫
- 删除二次确认

📦 部署配置:
- Docker Compose 生产环境配置
- MySQL/Redis/MongoDB 数据库
- Nginx 前端服务
- 强密码安全配置

⚠️ P2 待办 (下次迭代):
- 学生/检测/预警等业务模块实现
- 错误处理统一化
- 缓存策略优化
- 日志分级

📍 生产环境:
- 服务器:192.168.15.222
- 管理后台:http://192.168.15.222:8081
- API 服务:http://192.168.15.222:8080

2026-03-29 上线部署完成
This commit is contained in:
虾司令
2026-03-29 18:16:41 +08:00
commit 881144269c
38 changed files with 4967 additions and 0 deletions

View File

@@ -0,0 +1,89 @@
-- AI近视防控系统 - MySQL测试用户初始化脚本
-- 创建数据库(如果不存在)
CREATE DATABASE IF NOT EXISTS ai_myopia_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- 使用数据库
USE ai_myopia_db;
-- 创建用户账户表(如果不存在)
CREATE TABLE IF NOT EXISTS user_accounts (
id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(64) NOT NULL UNIQUE,
password_hash VARCHAR(255) NOT NULL,
name VARCHAR(64) NOT NULL,
phone VARCHAR(20) NOT NULL UNIQUE,
user_type ENUM('student', 'parent', 'teacher', 'admin') NOT NULL DEFAULT 'student',
status TINYINT DEFAULT 1,
last_login_at DATETIME NULL,
last_login_ip VARCHAR(45) DEFAULT '',
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
INDEX idx_username (username),
INDEX idx_phone (phone),
INDEX idx_user_type (user_type),
INDEX idx_status (status)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- 删除现有测试用户
DELETE FROM user_accounts WHERE username IN ('admin', 'teacher', 'student', 'parent');
-- 插入测试管理员账号
INSERT INTO user_accounts (username, password_hash, name, phone, user_type, status) VALUES (
'admin',
'$2a$10$ES13mXJ4KzObj4wHXxVtzuGbBsy7.Wu8vpa6Z1ZSRdW332itPCO4i', -- Admin123!@# 的bcrypt哈希
'系统管理员',
'13800138000',
'admin',
1
);
-- 插入测试老师账号
INSERT INTO user_accounts (username, password_hash, name, phone, user_type, status) VALUES (
'teacher',
'$2a$10$ES13mXJ4KzObj4wHXxVtzuGbBsy7.Wu8vpa6Z1ZSRdW332itPCO4i', -- Teacher123!@# 的bcrypt哈希
'测试老师',
'13800138001',
'teacher',
1
);
-- 插入测试学生账号
INSERT INTO user_accounts (username, password_hash, name, phone, user_type, status) VALUES (
'student',
'$2a$10$ES13mXJ4KzObj4wHXxVtzuGbBsy7.Wu8vpa6Z1ZSRdW332itPCO4i', -- Student123!@# 的bcrypt哈希
'测试学生',
'13800138002',
'student',
1
);
-- 插入测试家长账号
INSERT INTO user_accounts (username, password_hash, name, phone, user_type, status) VALUES (
'parent',
'$2a$10$ES13mXJ4KzObj4wHXxVtzuGbBsy7.Wu8vpa6Z1ZSRdW332itPCO4i', -- Parent123!@# 的bcrypt哈希
'测试家长',
'13800138003',
'parent',
1
);
-- 验证测试账号创建
SELECT
id,
username,
name,
phone,
user_type,
status,
created_at
FROM user_accounts
WHERE username IN ('admin', 'teacher', 'student', 'parent');
-- 输出测试账号信息
SELECT '--- AI近视防控系统测试账号信息 ---' as info;
SELECT '管理员账号: admin / Admin123!@#' as admin_info;
SELECT '老师账号: teacher / Teacher123!@#' as teacher_info;
SELECT '学生账号: student / Student123!@#' as student_info;
SELECT '家长账号: parent / Parent123!@#' as parent_info;
SELECT '--- 账号已准备就绪,可用于登录测试 ---' as status;