feat: 初始化考培练系统项目

- 从服务器拉取完整代码
- 按框架规范整理项目结构
- 配置 Drone CI 测试环境部署
- 包含后端(FastAPI)、前端(Vue3)、管理端

技术栈: Vue3 + TypeScript + FastAPI + MySQL
This commit is contained in:
111
2026-01-24 19:33:28 +08:00
commit 998211c483
1197 changed files with 228429 additions and 0 deletions

View File

@@ -0,0 +1,134 @@
#!/usr/bin/env python3
"""
为简化版API创建测试用户使用SHA256加密
"""
import mysql.connector
import hashlib
from datetime import datetime
# 数据库配置
DB_CONFIG = {
'host': '127.0.0.1',
'user': 'root',
'password': '',
'database': 'kaopeilian',
'charset': 'utf8mb4',
'autocommit': True
}
# 要创建的系统账户
SYSTEM_USERS = [
{
"username": "superadmin",
"password": "Superadmin123!",
"email": "superadmin@kaopeilian.com",
"full_name": "超级管理员",
"role": "admin",
"is_superuser": 1,
},
{
"username": "admin",
"password": "Admin123!",
"email": "admin@kaopeilian.com",
"full_name": "系统管理员",
"role": "admin",
"is_superuser": 0,
},
{
"username": "testuser",
"password": "TestPass123!",
"email": "testuser@kaopeilian.com",
"full_name": "测试学员",
"role": "trainee",
"is_superuser": 0,
},
]
def hash_password(password: str) -> str:
"""使用SHA256加密密码与simple_main.py保持一致"""
return hashlib.sha256(password.encode()).hexdigest()
def create_simple_users():
"""创建测试用户"""
try:
conn = mysql.connector.connect(**DB_CONFIG)
cursor = conn.cursor()
print("🔧 开始创建系统测试账户SHA256版本...\n")
created_count = 0
updated_count = 0
for user_data in SYSTEM_USERS:
username = user_data["username"]
password_hash = hash_password(user_data["password"])
# 检查用户是否存在
cursor.execute("SELECT id FROM users WHERE username = %s", (username,))
existing = cursor.fetchone()
if existing:
# 更新现有用户
cursor.execute("""
UPDATE users
SET hashed_password = %s,
email = %s,
full_name = %s,
role = %s,
is_active = 1,
updated_at = NOW()
WHERE username = %s
""", (
password_hash,
user_data["email"],
user_data["full_name"],
user_data["role"],
username
))
updated_count += 1
print(f"✓ 更新用户: {username} ({user_data['full_name']})")
else:
# 创建新用户
cursor.execute("""
INSERT INTO users (
username, email, hashed_password, role,
is_active, full_name,
created_at, updated_at
)
VALUES (%s, %s, %s, %s, 1, %s, NOW(), NOW())
""", (
username,
user_data["email"],
password_hash,
user_data["role"],
user_data["full_name"]
))
created_count += 1
print(f"✓ 创建用户: {username} ({user_data['full_name']})")
conn.commit()
# 打印总结
print("\n" + "="*50)
print("✅ 系统用户创建/更新完成!")
print(f"新创建用户数: {created_count}")
print(f"更新用户数: {updated_count}")
print("\n系统账户信息:")
print("-"*50)
print("| 角色 | 用户名 | 密码 | 权限说明 |")
print("| ---------- | ---------- | -------------- | ---------------------------- |")
print("| 超级管理员 | superadmin | Superadmin123! | 系统最高权限,可管理所有功能 |")
print("| 系统管理员 | admin | Admin123! | 可管理除“系统管理”模块外的全部功能(管理员仪表盘、用户管理、岗位管理、系统日志) |")
print("| 测试学员 | testuser | TestPass123! | 可学习课程、参加考试和训练 |")
print("-"*50)
except mysql.connector.Error as e:
print(f"❌ 数据库操作失败: {e}")
finally:
if 'cursor' in locals():
cursor.close()
if 'conn' in locals():
conn.close()
if __name__ == "__main__":
create_simple_users()