!18 RuoYi-Vue3-FastAPI v1.4.0
Merge pull request !18 from insistence/develop
This commit is contained in:
@@ -1,12 +1,12 @@
|
|||||||
<p align="center">
|
<p align="center">
|
||||||
<img alt="logo" src="https://oscimg.oschina.net/oscnet/up-d3d0a9303e11d522a06cd263f3079027715.png">
|
<img alt="logo" src="https://oscimg.oschina.net/oscnet/up-d3d0a9303e11d522a06cd263f3079027715.png">
|
||||||
</p>
|
</p>
|
||||||
<h1 align="center" style="margin: 30px 0 30px; font-weight: bold;">RuoYi-Vue3-FastAPI v1.3.3</h1>
|
<h1 align="center" style="margin: 30px 0 30px; font-weight: bold;">RuoYi-Vue3-FastAPI v1.4.0</h1>
|
||||||
<h4 align="center">基于RuoYi-Vue3+FastAPI前后端分离的快速开发框架</h4>
|
<h4 align="center">基于RuoYi-Vue3+FastAPI前后端分离的快速开发框架</h4>
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<a href="https://gitee.com/insistence2022/RuoYi-Vue3-FastAPI/stargazers"><img src="https://gitee.com/insistence2022/RuoYi-Vue3-FastAPI/badge/star.svg?theme=dark"></a>
|
<a href="https://gitee.com/insistence2022/RuoYi-Vue3-FastAPI/stargazers"><img src="https://gitee.com/insistence2022/RuoYi-Vue3-FastAPI/badge/star.svg?theme=dark"></a>
|
||||||
<a href="https://github.com/insistence/RuoYi-Vue3-FastAPI"><img src="https://img.shields.io/github/stars/insistence/RuoYi-Vue3-FastAPI?style=social"></a>
|
<a href="https://github.com/insistence/RuoYi-Vue3-FastAPI"><img src="https://img.shields.io/github/stars/insistence/RuoYi-Vue3-FastAPI?style=social"></a>
|
||||||
<a href="https://gitee.com/insistence2022/RuoYi-Vue3-FastAPI"><img src="https://img.shields.io/badge/RuoYiVue3FastAPI-v1.3.3-brightgreen.svg"></a>
|
<a href="https://gitee.com/insistence2022/RuoYi-Vue3-FastAPI"><img src="https://img.shields.io/badge/RuoYiVue3FastAPI-v1.4.0-brightgreen.svg"></a>
|
||||||
<a href="https://gitee.com/insistence2022/RuoYi-Vue3-FastAPI/blob/master/LICENSE"><img src="https://img.shields.io/github/license/mashape/apistatus.svg"></a>
|
<a href="https://gitee.com/insistence2022/RuoYi-Vue3-FastAPI/blob/master/LICENSE"><img src="https://img.shields.io/github/license/mashape/apistatus.svg"></a>
|
||||||
<img src="https://img.shields.io/badge/python-≥3.9-blue">
|
<img src="https://img.shields.io/badge/python-≥3.9-blue">
|
||||||
<img src="https://img.shields.io/badge/MySQL-≥5.7-blue">
|
<img src="https://img.shields.io/badge/MySQL-≥5.7-blue">
|
||||||
|
@@ -10,7 +10,7 @@ APP_HOST = '0.0.0.0'
|
|||||||
# 应用端口
|
# 应用端口
|
||||||
APP_PORT = 9099
|
APP_PORT = 9099
|
||||||
# 应用版本
|
# 应用版本
|
||||||
APP_VERSION= '1.3.3'
|
APP_VERSION= '1.4.0'
|
||||||
# 应用是否开启热重载
|
# 应用是否开启热重载
|
||||||
APP_RELOAD = true
|
APP_RELOAD = true
|
||||||
# 应用是否开启IP归属区域查询
|
# 应用是否开启IP归属区域查询
|
||||||
|
@@ -10,7 +10,7 @@ APP_HOST = '0.0.0.0'
|
|||||||
# 应用端口
|
# 应用端口
|
||||||
APP_PORT = 9099
|
APP_PORT = 9099
|
||||||
# 应用版本
|
# 应用版本
|
||||||
APP_VERSION= '1.3.3'
|
APP_VERSION= '1.4.0'
|
||||||
# 应用是否开启热重载
|
# 应用是否开启热重载
|
||||||
APP_RELOAD = false
|
APP_RELOAD = false
|
||||||
# 应用是否开启IP归属区域查询
|
# 应用是否开启IP归属区域查询
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from fastapi import APIRouter, Depends, Request
|
from fastapi import APIRouter, Depends, Form, Query, Request
|
||||||
from pydantic_validation_decorator import ValidateFields
|
from pydantic_validation_decorator import ValidateFields
|
||||||
from sqlalchemy.ext.asyncio import AsyncSession
|
from sqlalchemy.ext.asyncio import AsyncSession
|
||||||
from config.enums import BusinessType
|
from config.enums import BusinessType
|
||||||
@@ -24,7 +24,7 @@ configController = APIRouter(prefix='/system/config', dependencies=[Depends(Logi
|
|||||||
)
|
)
|
||||||
async def get_system_config_list(
|
async def get_system_config_list(
|
||||||
request: Request,
|
request: Request,
|
||||||
config_page_query: ConfigPageQueryModel = Depends(ConfigPageQueryModel.as_query),
|
config_page_query: ConfigPageQueryModel = Query(),
|
||||||
query_db: AsyncSession = Depends(get_db),
|
query_db: AsyncSession = Depends(get_db),
|
||||||
):
|
):
|
||||||
# 获取分页数据
|
# 获取分页数据
|
||||||
@@ -112,7 +112,7 @@ async def query_system_config(request: Request, config_key: str):
|
|||||||
@Log(title='参数管理', business_type=BusinessType.EXPORT)
|
@Log(title='参数管理', business_type=BusinessType.EXPORT)
|
||||||
async def export_system_config_list(
|
async def export_system_config_list(
|
||||||
request: Request,
|
request: Request,
|
||||||
config_page_query: ConfigPageQueryModel = Depends(ConfigPageQueryModel.as_form),
|
config_page_query: ConfigPageQueryModel = Form(),
|
||||||
query_db: AsyncSession = Depends(get_db),
|
query_db: AsyncSession = Depends(get_db),
|
||||||
):
|
):
|
||||||
# 获取全量数据
|
# 获取全量数据
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from fastapi import APIRouter, Depends, Request
|
from fastapi import APIRouter, Depends, Query, Request
|
||||||
from pydantic_validation_decorator import ValidateFields
|
from pydantic_validation_decorator import ValidateFields
|
||||||
from sqlalchemy.ext.asyncio import AsyncSession
|
from sqlalchemy.ext.asyncio import AsyncSession
|
||||||
from typing import List
|
from typing import List
|
||||||
@@ -42,7 +42,7 @@ async def get_system_dept_tree_for_edit_option(
|
|||||||
)
|
)
|
||||||
async def get_system_dept_list(
|
async def get_system_dept_list(
|
||||||
request: Request,
|
request: Request,
|
||||||
dept_query: DeptQueryModel = Depends(DeptQueryModel.as_query),
|
dept_query: DeptQueryModel = Query(),
|
||||||
query_db: AsyncSession = Depends(get_db),
|
query_db: AsyncSession = Depends(get_db),
|
||||||
data_scope_sql: str = Depends(GetDataScope('SysDept')),
|
data_scope_sql: str = Depends(GetDataScope('SysDept')),
|
||||||
):
|
):
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from fastapi import APIRouter, Depends, Request
|
from fastapi import APIRouter, Depends, Form, Query, Request
|
||||||
from pydantic_validation_decorator import ValidateFields
|
from pydantic_validation_decorator import ValidateFields
|
||||||
from sqlalchemy.ext.asyncio import AsyncSession
|
from sqlalchemy.ext.asyncio import AsyncSession
|
||||||
from typing import List
|
from typing import List
|
||||||
@@ -32,7 +32,7 @@ dictController = APIRouter(prefix='/system/dict', dependencies=[Depends(LoginSer
|
|||||||
)
|
)
|
||||||
async def get_system_dict_type_list(
|
async def get_system_dict_type_list(
|
||||||
request: Request,
|
request: Request,
|
||||||
dict_type_page_query: DictTypePageQueryModel = Depends(DictTypePageQueryModel.as_query),
|
dict_type_page_query: DictTypePageQueryModel = Query(),
|
||||||
query_db: AsyncSession = Depends(get_db),
|
query_db: AsyncSession = Depends(get_db),
|
||||||
):
|
):
|
||||||
# 获取分页数据
|
# 获取分页数据
|
||||||
@@ -123,7 +123,7 @@ async def query_detail_system_dict_type(request: Request, dict_id: int, query_db
|
|||||||
@Log(title='字典类型', business_type=BusinessType.EXPORT)
|
@Log(title='字典类型', business_type=BusinessType.EXPORT)
|
||||||
async def export_system_dict_type_list(
|
async def export_system_dict_type_list(
|
||||||
request: Request,
|
request: Request,
|
||||||
dict_type_page_query: DictTypePageQueryModel = Depends(DictTypePageQueryModel.as_form),
|
dict_type_page_query: DictTypePageQueryModel = Form(),
|
||||||
query_db: AsyncSession = Depends(get_db),
|
query_db: AsyncSession = Depends(get_db),
|
||||||
):
|
):
|
||||||
# 获取全量数据
|
# 获取全量数据
|
||||||
@@ -152,7 +152,7 @@ async def query_system_dict_type_data(request: Request, dict_type: str, query_db
|
|||||||
)
|
)
|
||||||
async def get_system_dict_data_list(
|
async def get_system_dict_data_list(
|
||||||
request: Request,
|
request: Request,
|
||||||
dict_data_page_query: DictDataPageQueryModel = Depends(DictDataPageQueryModel.as_query),
|
dict_data_page_query: DictDataPageQueryModel = Query(),
|
||||||
query_db: AsyncSession = Depends(get_db),
|
query_db: AsyncSession = Depends(get_db),
|
||||||
):
|
):
|
||||||
# 获取分页数据
|
# 获取分页数据
|
||||||
@@ -226,7 +226,7 @@ async def query_detail_system_dict_data(request: Request, dict_code: int, query_
|
|||||||
@Log(title='字典数据', business_type=BusinessType.EXPORT)
|
@Log(title='字典数据', business_type=BusinessType.EXPORT)
|
||||||
async def export_system_dict_data_list(
|
async def export_system_dict_data_list(
|
||||||
request: Request,
|
request: Request,
|
||||||
dict_data_page_query: DictDataPageQueryModel = Depends(DictDataPageQueryModel.as_form),
|
dict_data_page_query: DictDataPageQueryModel = Form(),
|
||||||
query_db: AsyncSession = Depends(get_db),
|
query_db: AsyncSession = Depends(get_db),
|
||||||
):
|
):
|
||||||
# 获取全量数据
|
# 获取全量数据
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from fastapi import APIRouter, Depends, Request
|
from fastapi import APIRouter, Depends, Form, Query, Request
|
||||||
from pydantic_validation_decorator import ValidateFields
|
from pydantic_validation_decorator import ValidateFields
|
||||||
from sqlalchemy.ext.asyncio import AsyncSession
|
from sqlalchemy.ext.asyncio import AsyncSession
|
||||||
from config.enums import BusinessType
|
from config.enums import BusinessType
|
||||||
@@ -32,7 +32,7 @@ jobController = APIRouter(prefix='/monitor', dependencies=[Depends(LoginService.
|
|||||||
)
|
)
|
||||||
async def get_system_job_list(
|
async def get_system_job_list(
|
||||||
request: Request,
|
request: Request,
|
||||||
job_page_query: JobPageQueryModel = Depends(JobPageQueryModel.as_query),
|
job_page_query: JobPageQueryModel = Query(),
|
||||||
query_db: AsyncSession = Depends(get_db),
|
query_db: AsyncSession = Depends(get_db),
|
||||||
):
|
):
|
||||||
# 获取分页数据
|
# 获取分页数据
|
||||||
@@ -132,7 +132,7 @@ async def query_detail_system_job(request: Request, job_id: int, query_db: Async
|
|||||||
@Log(title='定时任务', business_type=BusinessType.EXPORT)
|
@Log(title='定时任务', business_type=BusinessType.EXPORT)
|
||||||
async def export_system_job_list(
|
async def export_system_job_list(
|
||||||
request: Request,
|
request: Request,
|
||||||
job_page_query: JobPageQueryModel = Depends(JobPageQueryModel.as_form),
|
job_page_query: JobPageQueryModel = Form(),
|
||||||
query_db: AsyncSession = Depends(get_db),
|
query_db: AsyncSession = Depends(get_db),
|
||||||
):
|
):
|
||||||
# 获取全量数据
|
# 获取全量数据
|
||||||
@@ -148,7 +148,7 @@ async def export_system_job_list(
|
|||||||
)
|
)
|
||||||
async def get_system_job_log_list(
|
async def get_system_job_log_list(
|
||||||
request: Request,
|
request: Request,
|
||||||
job_log_page_query: JobLogPageQueryModel = Depends(JobLogPageQueryModel.as_query),
|
job_log_page_query: JobLogPageQueryModel = Query(),
|
||||||
query_db: AsyncSession = Depends(get_db),
|
query_db: AsyncSession = Depends(get_db),
|
||||||
):
|
):
|
||||||
# 获取分页数据
|
# 获取分页数据
|
||||||
@@ -183,7 +183,7 @@ async def delete_system_job_log(request: Request, job_log_ids: str, query_db: As
|
|||||||
@Log(title='定时任务调度日志', business_type=BusinessType.EXPORT)
|
@Log(title='定时任务调度日志', business_type=BusinessType.EXPORT)
|
||||||
async def export_system_job_log_list(
|
async def export_system_job_log_list(
|
||||||
request: Request,
|
request: Request,
|
||||||
job_log_page_query: JobLogPageQueryModel = Depends(JobLogPageQueryModel.as_form),
|
job_log_page_query: JobLogPageQueryModel = Form(),
|
||||||
query_db: AsyncSession = Depends(get_db),
|
query_db: AsyncSession = Depends(get_db),
|
||||||
):
|
):
|
||||||
# 获取全量数据
|
# 获取全量数据
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
from fastapi import APIRouter, Depends, Request
|
from fastapi import APIRouter, Depends, Form, Query, Request
|
||||||
from sqlalchemy.ext.asyncio import AsyncSession
|
from sqlalchemy.ext.asyncio import AsyncSession
|
||||||
from config.enums import BusinessType
|
from config.enums import BusinessType
|
||||||
from config.get_db import get_db
|
from config.get_db import get_db
|
||||||
@@ -29,7 +29,7 @@ logController = APIRouter(prefix='/monitor', dependencies=[Depends(LoginService.
|
|||||||
)
|
)
|
||||||
async def get_system_operation_log_list(
|
async def get_system_operation_log_list(
|
||||||
request: Request,
|
request: Request,
|
||||||
operation_log_page_query: OperLogPageQueryModel = Depends(OperLogPageQueryModel.as_query),
|
operation_log_page_query: OperLogPageQueryModel = Query(),
|
||||||
query_db: AsyncSession = Depends(get_db),
|
query_db: AsyncSession = Depends(get_db),
|
||||||
):
|
):
|
||||||
# 获取分页数据
|
# 获取分页数据
|
||||||
@@ -66,7 +66,7 @@ async def delete_system_operation_log(request: Request, oper_ids: str, query_db:
|
|||||||
@Log(title='操作日志', business_type=BusinessType.EXPORT)
|
@Log(title='操作日志', business_type=BusinessType.EXPORT)
|
||||||
async def export_system_operation_log_list(
|
async def export_system_operation_log_list(
|
||||||
request: Request,
|
request: Request,
|
||||||
operation_log_page_query: OperLogPageQueryModel = Depends(OperLogPageQueryModel.as_form),
|
operation_log_page_query: OperLogPageQueryModel = Form(),
|
||||||
query_db: AsyncSession = Depends(get_db),
|
query_db: AsyncSession = Depends(get_db),
|
||||||
):
|
):
|
||||||
# 获取全量数据
|
# 获取全量数据
|
||||||
@@ -88,7 +88,7 @@ async def export_system_operation_log_list(
|
|||||||
)
|
)
|
||||||
async def get_system_login_log_list(
|
async def get_system_login_log_list(
|
||||||
request: Request,
|
request: Request,
|
||||||
login_log_page_query: LoginLogPageQueryModel = Depends(LoginLogPageQueryModel.as_query),
|
login_log_page_query: LoginLogPageQueryModel = Query(),
|
||||||
query_db: AsyncSession = Depends(get_db),
|
query_db: AsyncSession = Depends(get_db),
|
||||||
):
|
):
|
||||||
# 获取分页数据
|
# 获取分页数据
|
||||||
@@ -137,7 +137,7 @@ async def unlock_system_user(request: Request, user_name: str, query_db: AsyncSe
|
|||||||
@Log(title='登录日志', business_type=BusinessType.EXPORT)
|
@Log(title='登录日志', business_type=BusinessType.EXPORT)
|
||||||
async def export_system_login_log_list(
|
async def export_system_login_log_list(
|
||||||
request: Request,
|
request: Request,
|
||||||
login_log_page_query: LoginLogPageQueryModel = Depends(LoginLogPageQueryModel.as_form),
|
login_log_page_query: LoginLogPageQueryModel = Form(),
|
||||||
query_db: AsyncSession = Depends(get_db),
|
query_db: AsyncSession = Depends(get_db),
|
||||||
):
|
):
|
||||||
# 获取全量数据
|
# 获取全量数据
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from fastapi import APIRouter, Depends, Request
|
from fastapi import APIRouter, Depends, Query, Request
|
||||||
from pydantic_validation_decorator import ValidateFields
|
from pydantic_validation_decorator import ValidateFields
|
||||||
from sqlalchemy.ext.asyncio import AsyncSession
|
from sqlalchemy.ext.asyncio import AsyncSession
|
||||||
from typing import List
|
from typing import List
|
||||||
@@ -48,7 +48,7 @@ async def get_system_role_menu_tree(
|
|||||||
)
|
)
|
||||||
async def get_system_menu_list(
|
async def get_system_menu_list(
|
||||||
request: Request,
|
request: Request,
|
||||||
menu_query: MenuQueryModel = Depends(MenuQueryModel.as_query),
|
menu_query: MenuQueryModel = Query(),
|
||||||
query_db: AsyncSession = Depends(get_db),
|
query_db: AsyncSession = Depends(get_db),
|
||||||
current_user: CurrentUserModel = Depends(LoginService.get_current_user),
|
current_user: CurrentUserModel = Depends(LoginService.get_current_user),
|
||||||
):
|
):
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from fastapi import APIRouter, Depends, Request
|
from fastapi import APIRouter, Depends, Query, Request
|
||||||
from pydantic_validation_decorator import ValidateFields
|
from pydantic_validation_decorator import ValidateFields
|
||||||
from sqlalchemy.ext.asyncio import AsyncSession
|
from sqlalchemy.ext.asyncio import AsyncSession
|
||||||
from config.enums import BusinessType
|
from config.enums import BusinessType
|
||||||
@@ -23,7 +23,7 @@ noticeController = APIRouter(prefix='/system/notice', dependencies=[Depends(Logi
|
|||||||
)
|
)
|
||||||
async def get_system_notice_list(
|
async def get_system_notice_list(
|
||||||
request: Request,
|
request: Request,
|
||||||
notice_page_query: NoticePageQueryModel = Depends(NoticePageQueryModel.as_query),
|
notice_page_query: NoticePageQueryModel = Query(),
|
||||||
query_db: AsyncSession = Depends(get_db),
|
query_db: AsyncSession = Depends(get_db),
|
||||||
):
|
):
|
||||||
# 获取分页数据
|
# 获取分页数据
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
from fastapi import APIRouter, Depends, Request
|
from fastapi import APIRouter, Depends, Query, Request
|
||||||
from sqlalchemy.ext.asyncio import AsyncSession
|
from sqlalchemy.ext.asyncio import AsyncSession
|
||||||
from config.enums import BusinessType
|
from config.enums import BusinessType
|
||||||
from config.get_db import get_db
|
from config.get_db import get_db
|
||||||
@@ -18,9 +18,7 @@ onlineController = APIRouter(prefix='/monitor/online', dependencies=[Depends(Log
|
|||||||
@onlineController.get(
|
@onlineController.get(
|
||||||
'/list', response_model=PageResponseModel, dependencies=[Depends(CheckUserInterfaceAuth('monitor:online:list'))]
|
'/list', response_model=PageResponseModel, dependencies=[Depends(CheckUserInterfaceAuth('monitor:online:list'))]
|
||||||
)
|
)
|
||||||
async def get_monitor_online_list(
|
async def get_monitor_online_list(request: Request, online_page_query: OnlineQueryModel = Query()):
|
||||||
request: Request, online_page_query: OnlineQueryModel = Depends(OnlineQueryModel.as_query)
|
|
||||||
):
|
|
||||||
# 获取全量数据
|
# 获取全量数据
|
||||||
online_query_result = await OnlineService.get_online_list_services(request, online_page_query)
|
online_query_result = await OnlineService.get_online_list_services(request, online_page_query)
|
||||||
logger.info('获取成功')
|
logger.info('获取成功')
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from fastapi import APIRouter, Depends, Request
|
from fastapi import APIRouter, Depends, Form, Query, Request
|
||||||
from pydantic_validation_decorator import ValidateFields
|
from pydantic_validation_decorator import ValidateFields
|
||||||
from sqlalchemy.ext.asyncio import AsyncSession
|
from sqlalchemy.ext.asyncio import AsyncSession
|
||||||
from config.enums import BusinessType
|
from config.enums import BusinessType
|
||||||
@@ -24,7 +24,7 @@ postController = APIRouter(prefix='/system/post', dependencies=[Depends(LoginSer
|
|||||||
)
|
)
|
||||||
async def get_system_post_list(
|
async def get_system_post_list(
|
||||||
request: Request,
|
request: Request,
|
||||||
post_page_query: PostPageQueryModel = Depends(PostPageQueryModel.as_query),
|
post_page_query: PostPageQueryModel = Query(),
|
||||||
query_db: AsyncSession = Depends(get_db),
|
query_db: AsyncSession = Depends(get_db),
|
||||||
):
|
):
|
||||||
# 获取分页数据
|
# 获取分页数据
|
||||||
@@ -94,7 +94,7 @@ async def query_detail_system_post(request: Request, post_id: int, query_db: Asy
|
|||||||
@Log(title='岗位管理', business_type=BusinessType.EXPORT)
|
@Log(title='岗位管理', business_type=BusinessType.EXPORT)
|
||||||
async def export_system_post_list(
|
async def export_system_post_list(
|
||||||
request: Request,
|
request: Request,
|
||||||
post_page_query: PostPageQueryModel = Depends(PostPageQueryModel.as_form),
|
post_page_query: PostPageQueryModel = Form(),
|
||||||
query_db: AsyncSession = Depends(get_db),
|
query_db: AsyncSession = Depends(get_db),
|
||||||
):
|
):
|
||||||
# 获取全量数据
|
# 获取全量数据
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from fastapi import APIRouter, Depends, Request
|
from fastapi import APIRouter, Depends, Form, Query, Request
|
||||||
from pydantic_validation_decorator import ValidateFields
|
from pydantic_validation_decorator import ValidateFields
|
||||||
from sqlalchemy.ext.asyncio import AsyncSession
|
from sqlalchemy.ext.asyncio import AsyncSession
|
||||||
from config.enums import BusinessType
|
from config.enums import BusinessType
|
||||||
@@ -43,7 +43,7 @@ async def get_system_role_dept_tree(
|
|||||||
)
|
)
|
||||||
async def get_system_role_list(
|
async def get_system_role_list(
|
||||||
request: Request,
|
request: Request,
|
||||||
role_page_query: RolePageQueryModel = Depends(RolePageQueryModel.as_query),
|
role_page_query: RolePageQueryModel = Query(),
|
||||||
query_db: AsyncSession = Depends(get_db),
|
query_db: AsyncSession = Depends(get_db),
|
||||||
data_scope_sql: str = Depends(GetDataScope('SysDept')),
|
data_scope_sql: str = Depends(GetDataScope('SysDept')),
|
||||||
):
|
):
|
||||||
@@ -165,7 +165,7 @@ async def query_detail_system_role(
|
|||||||
@Log(title='角色管理', business_type=BusinessType.EXPORT)
|
@Log(title='角色管理', business_type=BusinessType.EXPORT)
|
||||||
async def export_system_role_list(
|
async def export_system_role_list(
|
||||||
request: Request,
|
request: Request,
|
||||||
role_page_query: RolePageQueryModel = Depends(RolePageQueryModel.as_form),
|
role_page_query: RolePageQueryModel = Form(),
|
||||||
query_db: AsyncSession = Depends(get_db),
|
query_db: AsyncSession = Depends(get_db),
|
||||||
data_scope_sql: str = Depends(GetDataScope('SysDept')),
|
data_scope_sql: str = Depends(GetDataScope('SysDept')),
|
||||||
):
|
):
|
||||||
@@ -211,7 +211,7 @@ async def reset_system_role_status(
|
|||||||
)
|
)
|
||||||
async def get_system_allocated_user_list(
|
async def get_system_allocated_user_list(
|
||||||
request: Request,
|
request: Request,
|
||||||
user_role: UserRolePageQueryModel = Depends(UserRolePageQueryModel.as_query),
|
user_role: UserRolePageQueryModel = Query(),
|
||||||
query_db: AsyncSession = Depends(get_db),
|
query_db: AsyncSession = Depends(get_db),
|
||||||
data_scope_sql: str = Depends(GetDataScope('SysUser')),
|
data_scope_sql: str = Depends(GetDataScope('SysUser')),
|
||||||
):
|
):
|
||||||
@@ -230,7 +230,7 @@ async def get_system_allocated_user_list(
|
|||||||
)
|
)
|
||||||
async def get_system_unallocated_user_list(
|
async def get_system_unallocated_user_list(
|
||||||
request: Request,
|
request: Request,
|
||||||
user_role: UserRolePageQueryModel = Depends(UserRolePageQueryModel.as_query),
|
user_role: UserRolePageQueryModel = Query(),
|
||||||
query_db: AsyncSession = Depends(get_db),
|
query_db: AsyncSession = Depends(get_db),
|
||||||
data_scope_sql: str = Depends(GetDataScope('SysUser')),
|
data_scope_sql: str = Depends(GetDataScope('SysUser')),
|
||||||
):
|
):
|
||||||
@@ -246,7 +246,7 @@ async def get_system_unallocated_user_list(
|
|||||||
@Log(title='角色管理', business_type=BusinessType.GRANT)
|
@Log(title='角色管理', business_type=BusinessType.GRANT)
|
||||||
async def add_system_role_user(
|
async def add_system_role_user(
|
||||||
request: Request,
|
request: Request,
|
||||||
add_role_user: CrudUserRoleModel = Depends(CrudUserRoleModel.as_query),
|
add_role_user: CrudUserRoleModel = Query(),
|
||||||
query_db: AsyncSession = Depends(get_db),
|
query_db: AsyncSession = Depends(get_db),
|
||||||
current_user: CurrentUserModel = Depends(LoginService.get_current_user),
|
current_user: CurrentUserModel = Depends(LoginService.get_current_user),
|
||||||
data_scope_sql: str = Depends(GetDataScope('SysDept')),
|
data_scope_sql: str = Depends(GetDataScope('SysDept')),
|
||||||
@@ -274,7 +274,7 @@ async def cancel_system_role_user(
|
|||||||
@Log(title='角色管理', business_type=BusinessType.GRANT)
|
@Log(title='角色管理', business_type=BusinessType.GRANT)
|
||||||
async def batch_cancel_system_role_user(
|
async def batch_cancel_system_role_user(
|
||||||
request: Request,
|
request: Request,
|
||||||
batch_cancel_user_role: CrudUserRoleModel = Depends(CrudUserRoleModel.as_query),
|
batch_cancel_user_role: CrudUserRoleModel = Query(),
|
||||||
query_db: AsyncSession = Depends(get_db),
|
query_db: AsyncSession = Depends(get_db),
|
||||||
):
|
):
|
||||||
batch_cancel_user_role_result = await UserService.delete_user_role_services(query_db, batch_cancel_user_role)
|
batch_cancel_user_role_result = await UserService.delete_user_role_services(query_db, batch_cancel_user_role)
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
import os
|
import os
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from fastapi import APIRouter, Depends, File, Query, Request, UploadFile
|
from fastapi import APIRouter, Depends, File, Form, Query, Request, UploadFile
|
||||||
from sqlalchemy.ext.asyncio import AsyncSession
|
from sqlalchemy.ext.asyncio import AsyncSession
|
||||||
from typing import Optional, Union
|
from typing import Optional, Union
|
||||||
from pydantic_validation_decorator import ValidateFields
|
from pydantic_validation_decorator import ValidateFields
|
||||||
@@ -57,7 +57,7 @@ async def get_system_dept_tree(
|
|||||||
)
|
)
|
||||||
async def get_system_user_list(
|
async def get_system_user_list(
|
||||||
request: Request,
|
request: Request,
|
||||||
user_page_query: UserPageQueryModel = Depends(UserPageQueryModel.as_query),
|
user_page_query: UserPageQueryModel = Query(),
|
||||||
query_db: AsyncSession = Depends(get_db),
|
query_db: AsyncSession = Depends(get_db),
|
||||||
data_scope_sql: str = Depends(GetDataScope('SysUser')),
|
data_scope_sql: str = Depends(GetDataScope('SysUser')),
|
||||||
):
|
):
|
||||||
@@ -296,7 +296,7 @@ async def change_system_user_profile_info(
|
|||||||
@Log(title='个人信息', business_type=BusinessType.UPDATE)
|
@Log(title='个人信息', business_type=BusinessType.UPDATE)
|
||||||
async def reset_system_user_password(
|
async def reset_system_user_password(
|
||||||
request: Request,
|
request: Request,
|
||||||
reset_password: ResetPasswordModel = Depends(ResetPasswordModel.as_query),
|
reset_password: ResetPasswordModel = Query(),
|
||||||
query_db: AsyncSession = Depends(get_db),
|
query_db: AsyncSession = Depends(get_db),
|
||||||
current_user: CurrentUserModel = Depends(LoginService.get_current_user),
|
current_user: CurrentUserModel = Depends(LoginService.get_current_user),
|
||||||
):
|
):
|
||||||
@@ -344,7 +344,7 @@ async def export_system_user_template(request: Request, query_db: AsyncSession =
|
|||||||
@Log(title='用户管理', business_type=BusinessType.EXPORT)
|
@Log(title='用户管理', business_type=BusinessType.EXPORT)
|
||||||
async def export_system_user_list(
|
async def export_system_user_list(
|
||||||
request: Request,
|
request: Request,
|
||||||
user_page_query: UserPageQueryModel = Depends(UserPageQueryModel.as_form),
|
user_page_query: UserPageQueryModel = Form(),
|
||||||
query_db: AsyncSession = Depends(get_db),
|
query_db: AsyncSession = Depends(get_db),
|
||||||
data_scope_sql: str = Depends(GetDataScope('SysUser')),
|
data_scope_sql: str = Depends(GetDataScope('SysUser')),
|
||||||
):
|
):
|
||||||
|
@@ -3,7 +3,6 @@ from pydantic import BaseModel, ConfigDict, Field
|
|||||||
from pydantic.alias_generators import to_camel
|
from pydantic.alias_generators import to_camel
|
||||||
from pydantic_validation_decorator import NotBlank, Size
|
from pydantic_validation_decorator import NotBlank, Size
|
||||||
from typing import Literal, Optional
|
from typing import Literal, Optional
|
||||||
from module_admin.annotation.pydantic_annotation import as_form, as_query
|
|
||||||
|
|
||||||
|
|
||||||
class ConfigModel(BaseModel):
|
class ConfigModel(BaseModel):
|
||||||
@@ -54,8 +53,6 @@ class ConfigQueryModel(ConfigModel):
|
|||||||
end_time: Optional[str] = Field(default=None, description='结束时间')
|
end_time: Optional[str] = Field(default=None, description='结束时间')
|
||||||
|
|
||||||
|
|
||||||
@as_query
|
|
||||||
@as_form
|
|
||||||
class ConfigPageQueryModel(ConfigQueryModel):
|
class ConfigPageQueryModel(ConfigQueryModel):
|
||||||
"""
|
"""
|
||||||
参数配置管理分页查询模型
|
参数配置管理分页查询模型
|
||||||
|
@@ -3,7 +3,6 @@ from pydantic import BaseModel, ConfigDict, Field
|
|||||||
from pydantic.alias_generators import to_camel
|
from pydantic.alias_generators import to_camel
|
||||||
from pydantic_validation_decorator import Network, NotBlank, Size
|
from pydantic_validation_decorator import Network, NotBlank, Size
|
||||||
from typing import Literal, Optional
|
from typing import Literal, Optional
|
||||||
from module_admin.annotation.pydantic_annotation import as_query
|
|
||||||
|
|
||||||
|
|
||||||
class DeptModel(BaseModel):
|
class DeptModel(BaseModel):
|
||||||
@@ -53,7 +52,6 @@ class DeptModel(BaseModel):
|
|||||||
self.get_email()
|
self.get_email()
|
||||||
|
|
||||||
|
|
||||||
@as_query
|
|
||||||
class DeptQueryModel(DeptModel):
|
class DeptQueryModel(DeptModel):
|
||||||
"""
|
"""
|
||||||
部门管理不分页查询模型
|
部门管理不分页查询模型
|
||||||
|
@@ -3,7 +3,6 @@ from pydantic import BaseModel, ConfigDict, Field
|
|||||||
from pydantic.alias_generators import to_camel
|
from pydantic.alias_generators import to_camel
|
||||||
from pydantic_validation_decorator import NotBlank, Pattern, Size
|
from pydantic_validation_decorator import NotBlank, Pattern, Size
|
||||||
from typing import Literal, Optional
|
from typing import Literal, Optional
|
||||||
from module_admin.annotation.pydantic_annotation import as_form, as_query
|
|
||||||
|
|
||||||
|
|
||||||
class DictTypeModel(BaseModel):
|
class DictTypeModel(BaseModel):
|
||||||
@@ -100,8 +99,6 @@ class DictTypeQueryModel(DictTypeModel):
|
|||||||
end_time: Optional[str] = Field(default=None, description='结束时间')
|
end_time: Optional[str] = Field(default=None, description='结束时间')
|
||||||
|
|
||||||
|
|
||||||
@as_query
|
|
||||||
@as_form
|
|
||||||
class DictTypePageQueryModel(DictTypeQueryModel):
|
class DictTypePageQueryModel(DictTypeQueryModel):
|
||||||
"""
|
"""
|
||||||
字典类型管理分页查询模型
|
字典类型管理分页查询模型
|
||||||
@@ -130,8 +127,6 @@ class DictDataQueryModel(DictDataModel):
|
|||||||
end_time: Optional[str] = Field(default=None, description='结束时间')
|
end_time: Optional[str] = Field(default=None, description='结束时间')
|
||||||
|
|
||||||
|
|
||||||
@as_query
|
|
||||||
@as_form
|
|
||||||
class DictDataPageQueryModel(DictDataQueryModel):
|
class DictDataPageQueryModel(DictDataQueryModel):
|
||||||
"""
|
"""
|
||||||
字典数据管理分页查询模型
|
字典数据管理分页查询模型
|
||||||
|
@@ -3,7 +3,6 @@ from pydantic import BaseModel, ConfigDict, Field
|
|||||||
from pydantic.alias_generators import to_camel
|
from pydantic.alias_generators import to_camel
|
||||||
from pydantic_validation_decorator import NotBlank, Size
|
from pydantic_validation_decorator import NotBlank, Size
|
||||||
from typing import Literal, Optional
|
from typing import Literal, Optional
|
||||||
from module_admin.annotation.pydantic_annotation import as_form, as_query
|
|
||||||
|
|
||||||
|
|
||||||
class JobModel(BaseModel):
|
class JobModel(BaseModel):
|
||||||
@@ -77,8 +76,6 @@ class JobQueryModel(JobModel):
|
|||||||
end_time: Optional[str] = Field(default=None, description='结束时间')
|
end_time: Optional[str] = Field(default=None, description='结束时间')
|
||||||
|
|
||||||
|
|
||||||
@as_query
|
|
||||||
@as_form
|
|
||||||
class JobPageQueryModel(JobQueryModel):
|
class JobPageQueryModel(JobQueryModel):
|
||||||
"""
|
"""
|
||||||
定时任务管理分页查询模型
|
定时任务管理分页查询模型
|
||||||
@@ -115,8 +112,6 @@ class JobLogQueryModel(JobLogModel):
|
|||||||
end_time: Optional[str] = Field(default=None, description='结束时间')
|
end_time: Optional[str] = Field(default=None, description='结束时间')
|
||||||
|
|
||||||
|
|
||||||
@as_query
|
|
||||||
@as_form
|
|
||||||
class JobLogPageQueryModel(JobLogQueryModel):
|
class JobLogPageQueryModel(JobLogQueryModel):
|
||||||
"""
|
"""
|
||||||
定时任务日志管理分页查询模型
|
定时任务日志管理分页查询模型
|
||||||
|
@@ -2,7 +2,6 @@ from datetime import datetime
|
|||||||
from pydantic import BaseModel, ConfigDict, Field
|
from pydantic import BaseModel, ConfigDict, Field
|
||||||
from pydantic.alias_generators import to_camel
|
from pydantic.alias_generators import to_camel
|
||||||
from typing import Literal, Optional
|
from typing import Literal, Optional
|
||||||
from module_admin.annotation.pydantic_annotation import as_form, as_query
|
|
||||||
|
|
||||||
|
|
||||||
class OperLogModel(BaseModel):
|
class OperLogModel(BaseModel):
|
||||||
@@ -68,8 +67,6 @@ class OperLogQueryModel(OperLogModel):
|
|||||||
end_time: Optional[str] = Field(default=None, description='结束时间')
|
end_time: Optional[str] = Field(default=None, description='结束时间')
|
||||||
|
|
||||||
|
|
||||||
@as_query
|
|
||||||
@as_form
|
|
||||||
class OperLogPageQueryModel(OperLogQueryModel):
|
class OperLogPageQueryModel(OperLogQueryModel):
|
||||||
"""
|
"""
|
||||||
操作日志管理分页查询模型
|
操作日志管理分页查询模型
|
||||||
@@ -102,8 +99,6 @@ class LoginLogQueryModel(LogininforModel):
|
|||||||
end_time: Optional[str] = Field(default=None, description='结束时间')
|
end_time: Optional[str] = Field(default=None, description='结束时间')
|
||||||
|
|
||||||
|
|
||||||
@as_query
|
|
||||||
@as_form
|
|
||||||
class LoginLogPageQueryModel(LoginLogQueryModel):
|
class LoginLogPageQueryModel(LoginLogQueryModel):
|
||||||
"""
|
"""
|
||||||
登录日志管理分页查询模型
|
登录日志管理分页查询模型
|
||||||
|
@@ -3,7 +3,6 @@ from pydantic import BaseModel, ConfigDict, Field
|
|||||||
from pydantic.alias_generators import to_camel
|
from pydantic.alias_generators import to_camel
|
||||||
from pydantic_validation_decorator import NotBlank, Size
|
from pydantic_validation_decorator import NotBlank, Size
|
||||||
from typing import Literal, Optional
|
from typing import Literal, Optional
|
||||||
from module_admin.annotation.pydantic_annotation import as_query
|
|
||||||
|
|
||||||
|
|
||||||
class MenuModel(BaseModel):
|
class MenuModel(BaseModel):
|
||||||
@@ -68,7 +67,6 @@ class MenuModel(BaseModel):
|
|||||||
self.get_perms()
|
self.get_perms()
|
||||||
|
|
||||||
|
|
||||||
@as_query
|
|
||||||
class MenuQueryModel(MenuModel):
|
class MenuQueryModel(MenuModel):
|
||||||
"""
|
"""
|
||||||
菜单管理不分页查询模型
|
菜单管理不分页查询模型
|
||||||
|
@@ -3,7 +3,6 @@ from pydantic import BaseModel, ConfigDict, Field
|
|||||||
from pydantic.alias_generators import to_camel
|
from pydantic.alias_generators import to_camel
|
||||||
from pydantic_validation_decorator import NotBlank, Size, Xss
|
from pydantic_validation_decorator import NotBlank, Size, Xss
|
||||||
from typing import Literal, Optional
|
from typing import Literal, Optional
|
||||||
from module_admin.annotation.pydantic_annotation import as_form, as_query
|
|
||||||
|
|
||||||
|
|
||||||
class NoticeModel(BaseModel):
|
class NoticeModel(BaseModel):
|
||||||
@@ -43,8 +42,6 @@ class NoticeQueryModel(NoticeModel):
|
|||||||
end_time: Optional[str] = Field(default=None, description='结束时间')
|
end_time: Optional[str] = Field(default=None, description='结束时间')
|
||||||
|
|
||||||
|
|
||||||
@as_query
|
|
||||||
@as_form
|
|
||||||
class NoticePageQueryModel(NoticeQueryModel):
|
class NoticePageQueryModel(NoticeQueryModel):
|
||||||
"""
|
"""
|
||||||
通知公告管理分页查询模型
|
通知公告管理分页查询模型
|
||||||
|
@@ -2,7 +2,6 @@ from datetime import datetime
|
|||||||
from pydantic import BaseModel, ConfigDict, Field
|
from pydantic import BaseModel, ConfigDict, Field
|
||||||
from pydantic.alias_generators import to_camel
|
from pydantic.alias_generators import to_camel
|
||||||
from typing import Optional
|
from typing import Optional
|
||||||
from module_admin.annotation.pydantic_annotation import as_query
|
|
||||||
|
|
||||||
|
|
||||||
class OnlineModel(BaseModel):
|
class OnlineModel(BaseModel):
|
||||||
@@ -22,7 +21,6 @@ class OnlineModel(BaseModel):
|
|||||||
login_time: Optional[datetime] = Field(default=None, description='登录时间')
|
login_time: Optional[datetime] = Field(default=None, description='登录时间')
|
||||||
|
|
||||||
|
|
||||||
@as_query
|
|
||||||
class OnlineQueryModel(OnlineModel):
|
class OnlineQueryModel(OnlineModel):
|
||||||
"""
|
"""
|
||||||
岗位管理不分页查询模型
|
岗位管理不分页查询模型
|
||||||
|
@@ -3,7 +3,6 @@ from pydantic import BaseModel, ConfigDict, Field
|
|||||||
from pydantic.alias_generators import to_camel
|
from pydantic.alias_generators import to_camel
|
||||||
from pydantic_validation_decorator import NotBlank, Size
|
from pydantic_validation_decorator import NotBlank, Size
|
||||||
from typing import Literal, Optional
|
from typing import Literal, Optional
|
||||||
from module_admin.annotation.pydantic_annotation import as_form, as_query
|
|
||||||
|
|
||||||
|
|
||||||
class PostModel(BaseModel):
|
class PostModel(BaseModel):
|
||||||
@@ -53,8 +52,6 @@ class PostQueryModel(PostModel):
|
|||||||
end_time: Optional[str] = Field(default=None, description='结束时间')
|
end_time: Optional[str] = Field(default=None, description='结束时间')
|
||||||
|
|
||||||
|
|
||||||
@as_query
|
|
||||||
@as_form
|
|
||||||
class PostPageQueryModel(PostQueryModel):
|
class PostPageQueryModel(PostQueryModel):
|
||||||
"""
|
"""
|
||||||
岗位管理分页查询模型
|
岗位管理分页查询模型
|
||||||
|
@@ -3,7 +3,6 @@ from pydantic import BaseModel, ConfigDict, Field, field_validator, model_valida
|
|||||||
from pydantic.alias_generators import to_camel
|
from pydantic.alias_generators import to_camel
|
||||||
from pydantic_validation_decorator import NotBlank, Size
|
from pydantic_validation_decorator import NotBlank, Size
|
||||||
from typing import List, Literal, Optional, Union
|
from typing import List, Literal, Optional, Union
|
||||||
from module_admin.annotation.pydantic_annotation import as_form, as_query
|
|
||||||
|
|
||||||
|
|
||||||
class RoleModel(BaseModel):
|
class RoleModel(BaseModel):
|
||||||
@@ -104,8 +103,6 @@ class RoleQueryModel(RoleModel):
|
|||||||
end_time: Optional[str] = Field(default=None, description='结束时间')
|
end_time: Optional[str] = Field(default=None, description='结束时间')
|
||||||
|
|
||||||
|
|
||||||
@as_query
|
|
||||||
@as_form
|
|
||||||
class RolePageQueryModel(RoleQueryModel):
|
class RolePageQueryModel(RoleQueryModel):
|
||||||
"""
|
"""
|
||||||
角色管理分页查询模型
|
角色管理分页查询模型
|
||||||
|
@@ -5,7 +5,6 @@ from pydantic.alias_generators import to_camel
|
|||||||
from pydantic_validation_decorator import Network, NotBlank, Size, Xss
|
from pydantic_validation_decorator import Network, NotBlank, Size, Xss
|
||||||
from typing import List, Literal, Optional, Union
|
from typing import List, Literal, Optional, Union
|
||||||
from exceptions.exception import ModelValidatorException
|
from exceptions.exception import ModelValidatorException
|
||||||
from module_admin.annotation.pydantic_annotation import as_form, as_query
|
|
||||||
from module_admin.entity.vo.dept_vo import DeptModel
|
from module_admin.entity.vo.dept_vo import DeptModel
|
||||||
from module_admin.entity.vo.post_vo import PostModel
|
from module_admin.entity.vo.post_vo import PostModel
|
||||||
from module_admin.entity.vo.role_vo import RoleModel
|
from module_admin.entity.vo.role_vo import RoleModel
|
||||||
@@ -162,8 +161,6 @@ class UserQueryModel(UserModel):
|
|||||||
end_time: Optional[str] = Field(default=None, description='结束时间')
|
end_time: Optional[str] = Field(default=None, description='结束时间')
|
||||||
|
|
||||||
|
|
||||||
@as_query
|
|
||||||
@as_form
|
|
||||||
class UserPageQueryModel(UserQueryModel):
|
class UserPageQueryModel(UserQueryModel):
|
||||||
"""
|
"""
|
||||||
用户管理分页查询模型
|
用户管理分页查询模型
|
||||||
@@ -191,7 +188,6 @@ class EditUserModel(AddUserModel):
|
|||||||
role: Optional[List] = Field(default=[], description='角色信息')
|
role: Optional[List] = Field(default=[], description='角色信息')
|
||||||
|
|
||||||
|
|
||||||
@as_query
|
|
||||||
class ResetPasswordModel(BaseModel):
|
class ResetPasswordModel(BaseModel):
|
||||||
"""
|
"""
|
||||||
重置密码模型
|
重置密码模型
|
||||||
@@ -241,7 +237,6 @@ class UserRoleQueryModel(UserModel):
|
|||||||
role_id: Optional[int] = Field(default=None, description='角色ID')
|
role_id: Optional[int] = Field(default=None, description='角色ID')
|
||||||
|
|
||||||
|
|
||||||
@as_query
|
|
||||||
class UserRolePageQueryModel(UserRoleQueryModel):
|
class UserRolePageQueryModel(UserRoleQueryModel):
|
||||||
"""
|
"""
|
||||||
用户角色关联管理分页查询模型
|
用户角色关联管理分页查询模型
|
||||||
@@ -270,7 +265,6 @@ class UserRoleResponseModel(BaseModel):
|
|||||||
user: UserInfoModel = Field(description='用户信息')
|
user: UserInfoModel = Field(description='用户信息')
|
||||||
|
|
||||||
|
|
||||||
@as_query
|
|
||||||
class CrudUserRoleModel(BaseModel):
|
class CrudUserRoleModel(BaseModel):
|
||||||
"""
|
"""
|
||||||
新增、删除用户关联角色及角色关联用户模型
|
新增、删除用户关联角色及角色关联用户模型
|
||||||
|
@@ -144,9 +144,9 @@ class RoleService:
|
|||||||
"""
|
"""
|
||||||
add_role = RoleModel(**page_object.model_dump(by_alias=True))
|
add_role = RoleModel(**page_object.model_dump(by_alias=True))
|
||||||
if not await cls.check_role_name_unique_services(query_db, page_object):
|
if not await cls.check_role_name_unique_services(query_db, page_object):
|
||||||
raise ServiceException(message=f'新增角色{page_object.post_name}失败,角色名称已存在')
|
raise ServiceException(message=f'新增角色{page_object.role_name}失败,角色名称已存在')
|
||||||
elif not await cls.check_role_key_unique_services(query_db, page_object):
|
elif not await cls.check_role_key_unique_services(query_db, page_object):
|
||||||
raise ServiceException(message=f'新增角色{page_object.post_name}失败,角色权限已存在')
|
raise ServiceException(message=f'新增角色{page_object.role_name}失败,角色权限已存在')
|
||||||
else:
|
else:
|
||||||
try:
|
try:
|
||||||
add_result = await RoleDao.add_role_dao(query_db, add_role)
|
add_result = await RoleDao.add_role_dao(query_db, add_role)
|
||||||
@@ -178,9 +178,9 @@ class RoleService:
|
|||||||
if role_info:
|
if role_info:
|
||||||
if page_object.type != 'status':
|
if page_object.type != 'status':
|
||||||
if not await cls.check_role_name_unique_services(query_db, page_object):
|
if not await cls.check_role_name_unique_services(query_db, page_object):
|
||||||
raise ServiceException(message=f'修改角色{page_object.post_name}失败,角色名称已存在')
|
raise ServiceException(message=f'修改角色{page_object.role_name}失败,角色名称已存在')
|
||||||
elif not await cls.check_role_key_unique_services(query_db, page_object):
|
elif not await cls.check_role_key_unique_services(query_db, page_object):
|
||||||
raise ServiceException(message=f'修改角色{page_object.post_name}失败,角色权限已存在')
|
raise ServiceException(message=f'修改角色{page_object.role_name}失败,角色权限已存在')
|
||||||
try:
|
try:
|
||||||
await RoleDao.edit_role_dao(query_db, edit_role)
|
await RoleDao.edit_role_dao(query_db, edit_role)
|
||||||
if page_object.type != 'status':
|
if page_object.type != 'status':
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
APScheduler==3.10.4
|
APScheduler==3.10.4
|
||||||
asyncmy==0.2.9
|
asyncmy==0.2.9
|
||||||
DateTime==5.5
|
DateTime==5.5
|
||||||
fastapi[all]==0.111.1
|
fastapi[all]==0.115.0
|
||||||
loguru==0.7.2
|
loguru==0.7.2
|
||||||
openpyxl==3.1.5
|
openpyxl==3.1.5
|
||||||
pandas==2.2.2
|
pandas==2.2.2
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "vfadmin",
|
"name": "vfadmin",
|
||||||
"version": "1.3.3",
|
"version": "1.4.0",
|
||||||
"description": "vfadmin管理系统",
|
"description": "vfadmin管理系统",
|
||||||
"author": "insistence",
|
"author": "insistence",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
@@ -2,11 +2,12 @@ import request from '@/utils/request'
|
|||||||
|
|
||||||
// 登录方法
|
// 登录方法
|
||||||
export function login(username, password, code, uuid) {
|
export function login(username, password, code, uuid) {
|
||||||
const data = new FormData();
|
const data = {
|
||||||
data.append("username", username);
|
username,
|
||||||
data.append("password", password);
|
password,
|
||||||
data.append("code", code);
|
code,
|
||||||
data.append("uuid", uuid);
|
uuid
|
||||||
|
}
|
||||||
return request({
|
return request({
|
||||||
url: '/login',
|
url: '/login',
|
||||||
headers: {
|
headers: {
|
||||||
|
Reference in New Issue
Block a user