Files
python-template/backend/create_admin.py
T
Claude CodeandClaude 5e5020a38a feat: 大幅优化题目UI设计和图片关联算法
主要改进:
🎨 UI优化
- 实现学而思风格的题目卡片设计
- 优化数学公式和坐标点显示格式
- 添加专业的选项和答案展示
- 改进响应式设计和交互体验

🔧 技术优化
- 修复图片关联算法,避免重复分配
- 智能图片与题目匹配算法
- 添加admin用户便捷登录功能
- 优化题目文本格式化

📊 功能增强
- 可折叠的答案解析区域
- 动态分值提取和显示
- 专业的数学符号高亮
- 子题清晰分隔显示

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
2025-10-17 14:30:52 +08:00

88 lines
2.7 KiB
Python

#!/usr/bin/env python3
"""
创建管理员用户脚本
用于方便测试,创建用户名admin,密码admin的账户
"""
import sys
import os
sys.path.append(os.path.dirname(os.path.abspath(__file__)))
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
import bcrypt
# 数据库配置
SQLALCHEMY_DATABASE_URL = "sqlite:///./wordmaster.db"
engine = create_engine(SQLALCHEMY_DATABASE_URL, connect_args={"check_same_thread": False})
SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine)
# 导入模型(这里直接定义,避免循环导入)
from sqlalchemy import Column, Integer, String, DateTime
from sqlalchemy.ext.declarative import declarative_base
from datetime import datetime
Base = declarative_base()
class User(Base):
__tablename__ = "users"
id = Column(Integer, primary_key=True, index=True)
username = Column(String, unique=True, index=True)
email = Column(String, unique=True, index=True)
hashed_password = Column(String)
created_at = Column(DateTime, default=datetime.utcnow)
def get_password_hash(password: str) -> str:
"""生成密码哈希"""
return bcrypt.hashpw(password.encode('utf-8'), bcrypt.gensalt()).decode('utf-8')
def create_admin_user():
"""创建管理员用户"""
# 创建数据库会话
db = SessionLocal()
try:
# 检查admin用户是否已存在
existing_admin = db.query(User).filter(User.username == "admin").first()
if existing_admin:
print("❌ admin用户已存在!")
# 更新密码为admin
existing_admin.hashed_password = get_password_hash("admin")
db.commit()
print("✅ 已更新admin用户密码为'admin'")
return
# 检查[email protected]邮箱是否已存在
existing_email = db.query(User).filter(User.email == "[email protected]").first()
if existing_email:
print("❌ [email protected]邮箱已被使用!")
return
# 创建admin用户
hashed_password = get_password_hash("admin")
admin_user = User(
username="admin",
email="[email protected]",
hashed_password=hashed_password
)
db.add(admin_user)
db.commit()
db.refresh(admin_user)
print("✅ 成功创建admin用户!")
print(" 用户名: admin")
print(" 密码: admin")
print(" 邮箱: [email protected]")
print(" ID:", admin_user.id)
except Exception as e:
print(f"❌ 创建admin用户失败: {e}")
db.rollback()
finally:
db.close()
if __name__ == "__main__":
print("🚀 开始创建admin用户...")
create_admin_user()
print("✨ 完成!")