From 5ee1a645871cdd52b28dbc86f3335f30129dfa0c Mon Sep 17 00:00:00 2001 From: insistence <3055204202@qq.com> Date: Fri, 2 Aug 2024 10:27:06 +0800 Subject: [PATCH 1/7] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E5=88=86=E9=A1=B5?= =?UTF-8?q?=E5=87=BD=E6=95=B0=E8=AE=A1=E7=AE=97has=5Fnext=E9=94=99?= =?UTF-8?q?=E8=AF=AF=E7=9A=84=E9=97=AE=E9=A2=98=20#10?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ruoyi-fastapi-backend/utils/page_util.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ruoyi-fastapi-backend/utils/page_util.py b/ruoyi-fastapi-backend/utils/page_util.py index 6e7bfe2..dfe8a31 100644 --- a/ruoyi-fastapi-backend/utils/page_util.py +++ b/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, From d8e3f7dca1f30ad022a518939c0fcb54d4ca1372 Mon Sep 17 00:00:00 2001 From: insistence <3055204202@qq.com> Date: Wed, 7 Aug 2024 14:41:57 +0800 Subject: [PATCH 2/7] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E5=AE=9A=E6=97=B6?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E7=9B=91=E5=90=AC=E5=87=BD=E6=95=B0=E4=B8=AD?= =?UTF-8?q?=E4=BA=8B=E4=BB=B6=E6=B2=A1=E6=9C=89job=5Fid=E6=8A=A5=E9=94=99?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ruoyi-fastapi-backend/config/get_scheduler.py | 73 ++++++++++--------- 1 file changed, 37 insertions(+), 36 deletions(-) diff --git a/ruoyi-fastapi-backend/config/get_scheduler.py b/ruoyi-fastapi-backend/config/get_scheduler.py index 5c5809c..589e457 100644 --- a/ruoyi-fastapi-backend/config/get_scheduler.py +++ b/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() From d49d05b7768c5eca7e9035f20956fe7f782310b3 Mon Sep 17 00:00:00 2001 From: insistence <3055204202@qq.com> Date: Thu, 8 Aug 2024 09:18:07 +0800 Subject: [PATCH 3/7] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9Egzip=E5=8E=8B?= =?UTF-8?q?=E7=BC=A9=E4=B8=AD=E9=97=B4=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ruoyi-fastapi-backend/middlewares/gzip_middleware.py | 6 ++++++ ruoyi-fastapi-backend/middlewares/handle.py | 3 +++ 2 files changed, 9 insertions(+) create mode 100644 ruoyi-fastapi-backend/middlewares/gzip_middleware.py diff --git a/ruoyi-fastapi-backend/middlewares/gzip_middleware.py b/ruoyi-fastapi-backend/middlewares/gzip_middleware.py new file mode 100644 index 0000000..03e2110 --- /dev/null +++ b/ruoyi-fastapi-backend/middlewares/gzip_middleware.py @@ -0,0 +1,6 @@ +from fastapi import FastAPI +from starlette.middleware.gzip import GZipMiddleware + + +def add_gzip_middleware(app: FastAPI): + app.add_middleware(GZipMiddleware, minimum_size=1000, compresslevel=9) diff --git a/ruoyi-fastapi-backend/middlewares/handle.py b/ruoyi-fastapi-backend/middlewares/handle.py index 311ec6b..ea447d4 100644 --- a/ruoyi-fastapi-backend/middlewares/handle.py +++ b/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) From ca6668331fd11dfefc8b575ef248556ca8a2e2df Mon Sep 17 00:00:00 2001 From: insistence <3055204202@qq.com> Date: Thu, 8 Aug 2024 09:20:57 +0800 Subject: [PATCH 4/7] =?UTF-8?q?style:=20=E4=BC=98=E5=8C=96=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E4=B8=AD=E9=97=B4=E4=BB=B6=E5=87=BD=E6=95=B0=E6=B3=A8?= =?UTF-8?q?=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ruoyi-fastapi-backend/middlewares/cors_middleware.py | 6 ++++++ ruoyi-fastapi-backend/middlewares/gzip_middleware.py | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/ruoyi-fastapi-backend/middlewares/cors_middleware.py b/ruoyi-fastapi-backend/middlewares/cors_middleware.py index 754fc1a..55508e7 100644 --- a/ruoyi-fastapi-backend/middlewares/cors_middleware.py +++ b/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', diff --git a/ruoyi-fastapi-backend/middlewares/gzip_middleware.py b/ruoyi-fastapi-backend/middlewares/gzip_middleware.py index 03e2110..eb371ce 100644 --- a/ruoyi-fastapi-backend/middlewares/gzip_middleware.py +++ b/ruoyi-fastapi-backend/middlewares/gzip_middleware.py @@ -3,4 +3,10 @@ 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) From df8ab6bc5599f2b2048de9fb52f0e7b5b29e9865 Mon Sep 17 00:00:00 2001 From: insistence <3055204202@qq.com> Date: Thu, 8 Aug 2024 09:24:09 +0800 Subject: [PATCH 5/7] =?UTF-8?q?chore:=20=E8=B0=83=E6=95=B4.gitignore?= =?UTF-8?q?=E7=AD=96=E7=95=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index f6c6f30..129a39b 100644 --- a/.gitignore +++ b/.gitignore @@ -18,6 +18,7 @@ lib64/ parts/ sdist/ var/ +vf_admin/ wheels/ share/python-wheels/ *.egg-info/ From 1ba4d959ce0dca2a240aa17c192ccecb1ed35c69 Mon Sep 17 00:00:00 2001 From: insistence <3055204202@qq.com> Date: Thu, 8 Aug 2024 09:27:51 +0800 Subject: [PATCH 6/7] =?UTF-8?q?chore:=20=E5=8D=87=E7=BA=A7=E7=89=88?= =?UTF-8?q?=E6=9C=AC=E8=87=B31.3.2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ruoyi-fastapi-backend/.env.dev | 2 +- ruoyi-fastapi-backend/.env.prod | 2 +- ruoyi-fastapi-frontend/package.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ruoyi-fastapi-backend/.env.dev b/ruoyi-fastapi-backend/.env.dev index 3ca3eb2..0a1849e 100644 --- a/ruoyi-fastapi-backend/.env.dev +++ b/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归属区域查询 diff --git a/ruoyi-fastapi-backend/.env.prod b/ruoyi-fastapi-backend/.env.prod index 5a681c5..de24b3e 100644 --- a/ruoyi-fastapi-backend/.env.prod +++ b/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归属区域查询 diff --git a/ruoyi-fastapi-frontend/package.json b/ruoyi-fastapi-frontend/package.json index 9cd358d..ae463d2 100644 --- a/ruoyi-fastapi-frontend/package.json +++ b/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", From 5765e967ae43e9427bcf546787ef1cab70fbc047 Mon Sep 17 00:00:00 2001 From: insistence <3055204202@qq.com> Date: Thu, 8 Aug 2024 09:28:33 +0800 Subject: [PATCH 7/7] =?UTF-8?q?docs:=20=E6=9B=B4=E6=96=B0README=E6=96=87?= =?UTF-8?q?=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 24409e9..ed227c6 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,12 @@

logo

-

RuoYi-Vue3-FastAPI v1.3.1

+

RuoYi-Vue3-FastAPI v1.3.2

基于RuoYi-Vue3+FastAPI前后端分离的快速开发框架

- +