fix: 修复动态路由问题

This commit is contained in:
2025-02-21 02:25:01 +08:00
parent 6a6b2b0827
commit d5e0f9d5ac
6 changed files with 29 additions and 9 deletions

View File

@@ -59,7 +59,7 @@ async def upload_file(
file_type=file.content_type, file_type=file.content_type,
absolute_path=absolute_path, absolute_path=absolute_path,
relative_path=relative_path, relative_path=relative_path,
uploader=current_user.get("id"), uploader_id=current_user.get("id"),
) )
result = await file_record.first().values( result = await file_record.first().values(
id="id", id="id",

View File

@@ -90,7 +90,7 @@ async def login(
async def register(request: Request, params: RegisterUserParams): async def register(request: Request, params: RegisterUserParams):
register_enabled = ( register_enabled = (
True True
if await request.app.state.redis.get(f'{RedisKeyConfig.SYSTEM_CONFIG.key}:register_enabled') if await request.app.state.redis.get(f'{RedisKeyConfig.SYSTEM_CONFIG.key}:account_register_enabled')
== 'true' == 'true'
else False else False
) )
@@ -151,7 +151,7 @@ async def get_captcha(request: Request):
) )
register_enabled = ( register_enabled = (
True True
if await request.app.state.redis.get(f'{RedisKeyConfig.SYSTEM_CONFIG.key}:register_enabled') if await request.app.state.redis.get(f'{RedisKeyConfig.SYSTEM_CONFIG.key}:account_register_enabled')
== 'true' == 'true'
else False else False
) )

View File

@@ -188,15 +188,27 @@ class LoginController:
child_node = await cls.find_node_recursive(child_item["id"], data) child_node = await cls.find_node_recursive(child_item["id"], data)
if child_node: if child_node:
children.append(child_node) children.append(child_node)
result = { meta = {
"name": item["name"], k: v for k, v in {
"path": item["path"],
"meta": {
"title": item["title"], "title": item["title"],
"rank": item["rank"], "rank": item["rank"],
"icon": item["icon"], "icon": item["icon"],
"extraIcon": item["extraIcon"],
"showParent": item["showParent"],
"keepAlive": item["keepAlive"],
"frameSrc": item["frameSrc"],
"frameLoading": item["frameLoading"],
"permissions": [item["auths"]], "permissions": [item["auths"]],
}, }.items() if v
}
if item["showLink"]:
meta["showLink"] = True
else:
meta["showLink"] = False
result = {
"name": item["name"],
"path": item["path"],
"meta": meta,
"children": children "children": children
} }
if item["component"]: if item["component"]:
@@ -209,6 +221,8 @@ class LoginController:
result.pop("name") result.pop("name")
if result["children"] == []: if result["children"] == []:
result.pop("children") result.pop("children")
else:
result["children"] = sorted(result["children"], key=lambda x: x["meta"]["rank"])
break break
return result return result

View File

@@ -123,6 +123,9 @@ class QueryController:
leaveTransition="permission__leave_transition", leaveTransition="permission__leave_transition",
activePath="permission__active_path", activePath="permission__active_path",
auths="permission__auths", auths="permission__auths",
frameSrc="permission__frame_src",
frameLoading="permission__frame_loading",
fixedTag="permission__fixed_tag",
keepAlive="permission__keep_alive", keepAlive="permission__keep_alive",
hiddenTag="permission__hidden_tag", hiddenTag="permission__hidden_tag",
showLink="permission__show_link", showLink="permission__show_link",

View File

@@ -28,6 +28,7 @@ class ListQueryResult(BaseModel):
result: List = Field(default=[], description="列表数据") result: List = Field(default=[], description="列表数据")
total: int = Field(default=0, description="总条数") total: int = Field(default=0, description="总条数")
page: int = Field(default=1, description="当前页码") page: int = Field(default=1, description="当前页码")
pageSize: int = Field(default=10, description="每页数量")
class DeleteListParams(BaseModel): class DeleteListParams(BaseModel):

View File

@@ -117,13 +117,15 @@ class GetCaptchaResult(BaseModel):
uuid: Optional[str] = Field(default=None, description="验证码UUID") uuid: Optional[str] = Field(default=None, description="验证码UUID")
captcha: Optional[str] = Field(default=None, description="验证码图片") captcha: Optional[str] = Field(default=None, description="验证码图片")
captcha_enabled: Optional[bool] = Field(default=False, description="是否开启验证码") captcha_enabled: Optional[bool] = Field(default=False, description="是否开启验证码")
register_enabled: Optional[bool] = Field(default=False, description="是否开启注册")
class Config: class Config:
json_schema_extra = { json_schema_extra = {
"example": { "example": {
"uuid": "1234567890", "uuid": "1234567890",
"captcha": "base64编码的图片", "captcha": "base64编码的图片",
"captcha_enabled": True "captcha_enabled": True,
"register_enabled": True
} }
} }