Fix API compatibility and add user/role/permission and asset import/export
This commit is contained in:
84
backend/init_admin.py
Normal file
84
backend/init_admin.py
Normal file
@@ -0,0 +1,84 @@
|
||||
import asyncio
|
||||
from sqlalchemy import select
|
||||
from app.db.session import AsyncSession
|
||||
from app.models.user import User, Role
|
||||
from app.core.security import get_password_hash
|
||||
from datetime import datetime
|
||||
|
||||
async def create_admin_user():
|
||||
"""创建初始管理员账号"""
|
||||
from app.db.session import async_session_maker
|
||||
|
||||
async with async_session_maker() as db:
|
||||
try:
|
||||
# 检查管理员是否已存在
|
||||
result = await db.execute(
|
||||
select(User).where(User.username == "admin")
|
||||
)
|
||||
existing_admin = result.scalar_one_or_none()
|
||||
|
||||
if existing_admin:
|
||||
print("管理员账号已存在,跳过创建")
|
||||
print(f"用户名: {existing_admin.username}")
|
||||
print(f"邮箱: {existing_admin.email}")
|
||||
return
|
||||
|
||||
# 创建管理员角色
|
||||
admin_role = Role(
|
||||
role_name="超级管理员",
|
||||
role_code="admin",
|
||||
description="系统超级管理员,拥有所有权限",
|
||||
is_system=True,
|
||||
status="active",
|
||||
created_by=0,
|
||||
updated_by=0,
|
||||
created_at=datetime.utcnow(),
|
||||
updated_at=datetime.utcnow()
|
||||
)
|
||||
db.add(admin_role)
|
||||
await db.flush()
|
||||
|
||||
# 创建管理员账号
|
||||
admin_user = User(
|
||||
username="admin",
|
||||
password_hash=get_password_hash("admin123"),
|
||||
real_name="系统管理员",
|
||||
email="admin@workyai.cn",
|
||||
phone="13800138000",
|
||||
is_admin=True,
|
||||
status="active",
|
||||
created_by=0,
|
||||
updated_by=0,
|
||||
created_at=datetime.utcnow(),
|
||||
updated_at=datetime.utcnow()
|
||||
)
|
||||
db.add(admin_user)
|
||||
await db.flush()
|
||||
|
||||
# 分配管理员角色
|
||||
from app.models.user import UserRole
|
||||
user_role = UserRole(
|
||||
user_id=admin_user.id,
|
||||
role_id=admin_role.id,
|
||||
created_by=0,
|
||||
created_at=datetime.utcnow()
|
||||
)
|
||||
db.add(user_role)
|
||||
|
||||
await db.commit()
|
||||
|
||||
print("✅ 管理员账号创建成功!")
|
||||
print(f"用户名: admin")
|
||||
print(f"密码: admin123")
|
||||
print(f"邮箱: admin@workyai.cn")
|
||||
print(f"手机: 13800138000")
|
||||
print("")
|
||||
print("⚠️ 请登录后立即修改默认密码!")
|
||||
|
||||
except Exception as e:
|
||||
await db.rollback()
|
||||
print(f"❌ 创建管理员账号失败: {str(e)}")
|
||||
raise
|
||||
|
||||
if __name__ == "__main__":
|
||||
asyncio.run(create_admin_user())
|
||||
Reference in New Issue
Block a user