1、前台/team-management加入申请的通过失败按钮增加一下图标,区分一下
2、前台/join-team页面上边要增加网站名称,要不然用户看不到是什么网站 3、后台/users的后台用户我新增一个,然后设置菜单权限,实际登陆没有生效
This commit is contained in:
@@ -170,7 +170,7 @@ async def create_user(
|
||||
email=req.email,
|
||||
phone=req.phone,
|
||||
credits=req.credits,
|
||||
is_admin=(req.user_type == "admin"),
|
||||
is_admin=req.is_admin if req.user_type == "admin" else False,
|
||||
user_type=req.user_type,
|
||||
frontend_user_kind=req.frontend_user_kind if req.user_type == "frontend" else FrontendUserKind.EXTERNAL.value,
|
||||
allowed_menus=req.allowed_menus,
|
||||
|
||||
@@ -2,7 +2,7 @@ from fastapi import APIRouter, Depends
|
||||
from sqlalchemy import select
|
||||
from sqlalchemy.ext.asyncio import AsyncSession
|
||||
|
||||
from app.dependencies import get_db, get_admin_user, get_current_user
|
||||
from app.dependencies import get_db, get_admin_user, get_backend_user, get_current_user
|
||||
from app.models.user import User
|
||||
from app.models.menu_config import MenuConfig
|
||||
from app.schemas.menu import MenuConfigCreate, MenuConfigOut
|
||||
@@ -61,7 +61,7 @@ async def public_list_menu_configs(
|
||||
|
||||
@router.get("/admin/menu-configs", response_model=list[MenuConfigOut])
|
||||
async def admin_list_menu_configs(
|
||||
admin: User = Depends(get_admin_user),
|
||||
admin: User = Depends(get_backend_user),
|
||||
db: AsyncSession = Depends(get_db),
|
||||
):
|
||||
result = await db.execute(select(MenuConfig).order_by(MenuConfig.sort_order))
|
||||
|
||||
@@ -104,3 +104,14 @@ async def get_admin_user(
|
||||
detail="需要管理员权限",
|
||||
)
|
||||
return current_user
|
||||
|
||||
|
||||
async def get_backend_user(
|
||||
current_user: User = Depends(get_current_user_allow_password_pending),
|
||||
) -> User:
|
||||
if current_user.user_type != "admin":
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_403_FORBIDDEN,
|
||||
detail="需要后台用户权限",
|
||||
)
|
||||
return current_user
|
||||
|
||||
@@ -70,6 +70,7 @@ class CreateUserRequest(BaseModel):
|
||||
phone: str | None = None
|
||||
credits: float = 0.0
|
||||
user_type: str = Field(default="frontend", pattern="^(frontend|admin)$")
|
||||
is_admin: bool = False
|
||||
frontend_user_kind: str = Field(default="external", pattern="^(internal|external)$")
|
||||
allowed_menus: list | None = None
|
||||
private_portrait_asset_limit: int = Field(default=5, ge=0, le=9999, description="私域人像素材总量限制,真人/虚拟、图片/视频共用,0 表示关闭")
|
||||
|
||||
@@ -71,6 +71,11 @@ class GenerationAIReference(BaseModel):
|
||||
description="前端预览用素材地址;通常与 display_url 一致",
|
||||
examples=["/uploads/images/2026/07/06/demo.jpg"],
|
||||
)
|
||||
role: str | None = Field(
|
||||
None,
|
||||
description="参考素材角色。image 可选 first_frame/last_frame/reference_image;video 可选 reference_video;audio 可选 reference_audio",
|
||||
examples=["first_frame"],
|
||||
)
|
||||
|
||||
|
||||
class GenerationAITaskCreate(BaseModel):
|
||||
|
||||
Reference in New Issue
Block a user