Browse Source

!16 RuoYi-Vue3-FastAPI v1.3.2

Merge pull request !16 from insistence/develop
master
insistence 10 months ago
committed by Gitee
parent
commit
c415dfa8e1
No known key found for this signature in database GPG Key ID: 173E9B9CA92EEF8F
  1. 1
      .gitignore
  2. 4
      README.md
  3. 2
      ruoyi-fastapi-backend/.env.dev
  4. 2
      ruoyi-fastapi-backend/.env.prod
  5. 73
      ruoyi-fastapi-backend/config/get_scheduler.py
  6. 6
      ruoyi-fastapi-backend/middlewares/cors_middleware.py
  7. 12
      ruoyi-fastapi-backend/middlewares/gzip_middleware.py
  8. 3
      ruoyi-fastapi-backend/middlewares/handle.py
  9. 2
      ruoyi-fastapi-backend/utils/page_util.py
  10. 2
      ruoyi-fastapi-frontend/package.json

1
.gitignore

@ -18,6 +18,7 @@ lib64/
parts/
sdist/
var/
vf_admin/
wheels/
share/python-wheels/
*.egg-info/

4
README.md

@ -1,12 +1,12 @@
<p align="center">
<img alt="logo" src="https://oscimg.oschina.net/oscnet/up-d3d0a9303e11d522a06cd263f3079027715.png">
</p>
<h1 align="center" style="margin: 30px 0 30px; font-weight: bold;">RuoYi-Vue3-FastAPI v1.3.1</h1>
<h1 align="center" style="margin: 30px 0 30px; font-weight: bold;">RuoYi-Vue3-FastAPI v1.3.2</h1>
<h4 align="center">基于RuoYi-Vue3+FastAPI前后端分离的快速开发框架</h4>
<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://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.1-brightgreen.svg"></a>
<a href="https://gitee.com/insistence2022/RuoYi-Vue3-FastAPI"><img src="https://img.shields.io/badge/RuoYiVue3FastAPI-v1.3.2-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>
<img src="https://img.shields.io/badge/python-≥3.9-blue">
<img src="https://img.shields.io/badge/MySQL-≥5.7-blue">

2
ruoyi-fastapi-backend/.env.dev

@ -10,7 +10,7 @@ APP_HOST = '0.0.0.0'
# 应用端口
APP_PORT = 9099
# 应用版本
APP_VERSION= '1.3.1'
APP_VERSION= '1.3.2'
# 应用是否开启热重载
APP_RELOAD = true
# 应用是否开启IP归属区域查询

2
ruoyi-fastapi-backend/.env.prod

@ -10,7 +10,7 @@ APP_HOST = '0.0.0.0'
# 应用端口
APP_PORT = 9099
# 应用版本
APP_VERSION= '1.3.1'
APP_VERSION= '1.3.2'
# 应用是否开启热重载
APP_RELOAD = false
# 应用是否开启IP归属区域查询

73
ruoyi-fastapi-backend/config/get_scheduler.py

@ -221,39 +221,40 @@ class SchedulerUtil:
if event_type == 'JobExecutionEvent' and event.exception:
exception_info = str(event.exception)
status = '1'
job_id = event.job_id
query_job = cls.get_scheduler_job(job_id=job_id)
if query_job:
query_job_info = query_job.__getstate__()
# 获取任务名称
job_name = query_job_info.get('name')
# 获取任务组名
job_group = query_job._jobstore_alias
# 获取任务执行器
job_executor = query_job_info.get('executor')
# 获取调用目标字符串
invoke_target = query_job_info.get('func')
# 获取调用函数位置参数
job_args = ','.join(query_job_info.get('args'))
# 获取调用函数关键字参数
job_kwargs = json.dumps(query_job_info.get('kwargs'))
# 获取任务触发器
job_trigger = str(query_job_info.get('trigger'))
# 构造日志消息
job_message = f"事件类型: {event_type}, 任务ID: {job_id}, 任务名称: {job_name}, 执行于{datetime.now().strftime('%Y-%m-%d %H:%M:%S')}"
job_log = JobLogModel(
jobName=job_name,
jobGroup=job_group,
jobExecutor=job_executor,
invokeTarget=invoke_target,
jobArgs=job_args,
jobKwargs=job_kwargs,
jobTrigger=job_trigger,
jobMessage=job_message,
status=status,
exceptionInfo=exception_info,
createTime=datetime.now(),
)
session = SessionLocal()
JobLogService.add_job_log_services(session, job_log)
session.close()
if hasattr(event, 'job_id'):
job_id = event.job_id
query_job = cls.get_scheduler_job(job_id=job_id)
if query_job:
query_job_info = query_job.__getstate__()
# 获取任务名称
job_name = query_job_info.get('name')
# 获取任务组名
job_group = query_job._jobstore_alias
# 获取任务执行器
job_executor = query_job_info.get('executor')
# 获取调用目标字符串
invoke_target = query_job_info.get('func')
# 获取调用函数位置参数
job_args = ','.join(query_job_info.get('args'))
# 获取调用函数关键字参数
job_kwargs = json.dumps(query_job_info.get('kwargs'))
# 获取任务触发器
job_trigger = str(query_job_info.get('trigger'))
# 构造日志消息
job_message = f"事件类型: {event_type}, 任务ID: {job_id}, 任务名称: {job_name}, 执行于{datetime.now().strftime('%Y-%m-%d %H:%M:%S')}"
job_log = JobLogModel(
jobName=job_name,
jobGroup=job_group,
jobExecutor=job_executor,
invokeTarget=invoke_target,
jobArgs=job_args,
jobKwargs=job_kwargs,
jobTrigger=job_trigger,
jobMessage=job_message,
status=status,
exceptionInfo=exception_info,
createTime=datetime.now(),
)
session = SessionLocal()
JobLogService.add_job_log_services(session, job_log)
session.close()

6
ruoyi-fastapi-backend/middlewares/cors_middleware.py

@ -3,6 +3,12 @@ from fastapi.middleware.cors import CORSMiddleware
def add_cors_middleware(app: FastAPI):
"""
添加跨域中间件
:param app: FastAPI对象
:return:
"""
# 前端页面url
origins = [
'http://localhost:80',

12
ruoyi-fastapi-backend/middlewares/gzip_middleware.py

@ -0,0 +1,12 @@
from fastapi import FastAPI
from starlette.middleware.gzip import GZipMiddleware
def add_gzip_middleware(app: FastAPI):
"""
添加gzip压缩中间件
:param app: FastAPI对象
:return:
"""
app.add_middleware(GZipMiddleware, minimum_size=1000, compresslevel=9)

3
ruoyi-fastapi-backend/middlewares/handle.py

@ -1,5 +1,6 @@
from fastapi import FastAPI
from middlewares.cors_middleware import add_cors_middleware
from middlewares.gzip_middleware import add_gzip_middleware
def handle_middleware(app: FastAPI):
@ -8,3 +9,5 @@ def handle_middleware(app: FastAPI):
"""
# 加载跨域中间件
add_cors_middleware(app)
# 加载gzip压缩中间件
add_gzip_middleware(app)

2
ruoyi-fastapi-backend/utils/page_util.py

@ -71,7 +71,7 @@ class PageUtil:
paginated_data.append(row[0])
else:
paginated_data.append(row)
has_next = True if math.ceil(len(paginated_data) / page_size) > page_num else False
has_next = math.ceil(total / page_size) > page_num
result = PageResponseModel(
rows=CamelCaseUtil.transform_result(paginated_data),
pageNum=page_num,

2
ruoyi-fastapi-frontend/package.json

@ -1,6 +1,6 @@
{
"name": "vfadmin",
"version": "1.3.1",
"version": "1.3.2",
"description": "vfadmin管理系统",
"author": "insistence",
"license": "MIT",

Loading…
Cancel
Save