Fix API compatibility and add user/role/permission and asset import/export

This commit is contained in:
2026-01-25 23:36:23 +08:00
commit 501d11e14e
371 changed files with 68853 additions and 0 deletions

84
backend/init_admin.py Normal file
View 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())