From b4cfe6390c981b8854d24d3cac266181a9176996 Mon Sep 17 00:00:00 2001 From: insistence <3055204202@qq.com> Date: Mon, 22 Apr 2024 08:03:25 +0800 Subject: [PATCH 1/5] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E4=B8=AA=E4=BA=BA?= =?UTF-8?q?=E4=B8=AD=E5=BF=83=E4=BF=AE=E6=94=B9=E5=AF=86=E7=A0=81=E5=90=8E?= =?UTF-8?q?=E7=AB=AF=E5=BC=82=E5=B8=B8=E7=9A=84=E9=97=AE=E9=A2=98=20#3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ruoyi-fastapi-backend/module_admin/service/user_service.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ruoyi-fastapi-backend/module_admin/service/user_service.py b/ruoyi-fastapi-backend/module_admin/service/user_service.py index 29a04b6..9f8f1e3 100644 --- a/ruoyi-fastapi-backend/module_admin/service/user_service.py +++ b/ruoyi-fastapi-backend/module_admin/service/user_service.py @@ -206,7 +206,7 @@ class UserService: :param page_object: 重置用户对象 :return: 重置用户校验结果 """ - reset_user = page_object.model_dump(exclude_unset=True) + reset_user = page_object.model_dump(exclude_unset=True, exclude={'admin'}) if page_object.old_password: user = UserDao.get_user_detail_by_id(query_db, user_id=page_object.user_id).get('user_basic_info') if not PwdUtil.verify_password(page_object.old_password, user.password): -- Gitee From 3495d70e661866e795cd8ff5d6298d0a7822241f Mon Sep 17 00:00:00 2001 From: insistence <3055204202@qq.com> Date: Tue, 23 Apr 2024 09:11:18 +0800 Subject: [PATCH 2/5] =?UTF-8?q?feat:=20=E9=85=8D=E7=BD=AE=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E6=96=B0=E5=A2=9E=E6=95=B0=E6=8D=AE=E5=BA=93=E8=BF=9E?= =?UTF-8?q?=E6=8E=A5=E6=B1=A0=E7=9B=B8=E5=85=B3=E9=85=8D=E7=BD=AE=20#3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ruoyi-fastapi-backend/.env.dev | 8 ++++++++ ruoyi-fastapi-backend/.env.prod | 8 ++++++++ ruoyi-fastapi-backend/config/database.py | 7 ++++++- ruoyi-fastapi-backend/config/env.py | 4 ++++ 4 files changed, 26 insertions(+), 1 deletion(-) diff --git a/ruoyi-fastapi-backend/.env.dev b/ruoyi-fastapi-backend/.env.dev index 099fdbb..7faf314 100644 --- a/ruoyi-fastapi-backend/.env.dev +++ b/ruoyi-fastapi-backend/.env.dev @@ -42,6 +42,14 @@ DB_PASSWORD = 'mysqlroot' DB_DATABASE = 'ruoyi-fastapi' # 是否开启sqlalchemy日志 DB_ECHO = true +# 允许溢出连接池大小的最大连接数 +DB_MAX_OVERFLOW = 10 +# 连接池大小,0表示连接数无限制 +DB_POOL_SIZE = 50 +# 连接回收时间(单位:秒) +DB_POOL_RECYCLE = 3600 +# 连接池中没有线程可用时,最多等待的时间(单位:秒) +DB_POOL_TIMEOUT = 30 # -------- Redis配置 -------- # Redis主机 diff --git a/ruoyi-fastapi-backend/.env.prod b/ruoyi-fastapi-backend/.env.prod index a4c6607..5c3f36c 100644 --- a/ruoyi-fastapi-backend/.env.prod +++ b/ruoyi-fastapi-backend/.env.prod @@ -42,6 +42,14 @@ DB_PASSWORD = 'root' DB_DATABASE = 'ruoyi-fastapi' # 是否开启sqlalchemy日志 DB_ECHO = true +# 允许溢出连接池大小的最大连接数 +DB_MAX_OVERFLOW = 10 +# 连接池大小,0表示连接数无限制 +DB_POOL_SIZE = 50 +# 连接回收时间(单位:秒) +DB_POOL_RECYCLE = 3600 +# 连接池中没有线程可用时,最多等待的时间(单位:秒) +DB_POOL_TIMEOUT = 30 # -------- Redis配置 -------- # Redis主机 diff --git a/ruoyi-fastapi-backend/config/database.py b/ruoyi-fastapi-backend/config/database.py index 4f00f8b..cb871ec 100644 --- a/ruoyi-fastapi-backend/config/database.py +++ b/ruoyi-fastapi-backend/config/database.py @@ -8,7 +8,12 @@ SQLALCHEMY_DATABASE_URL = f"mysql+pymysql://{DataBaseConfig.db_username}:{quote_ f"{DataBaseConfig.db_host}:{DataBaseConfig.db_port}/{DataBaseConfig.db_database}" engine = create_engine( - SQLALCHEMY_DATABASE_URL, echo=DataBaseConfig.db_echo + SQLALCHEMY_DATABASE_URL, + echo=DataBaseConfig.db_echo, + max_overflow=DataBaseConfig.db_max_overflow, + pool_size=DataBaseConfig.db_pool_size, + pool_recycle=DataBaseConfig.db_pool_recycle, + pool_timeout=DataBaseConfig.db_pool_timeout ) SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine) Base = declarative_base() diff --git a/ruoyi-fastapi-backend/config/env.py b/ruoyi-fastapi-backend/config/env.py index 236b53e..71718f9 100644 --- a/ruoyi-fastapi-backend/config/env.py +++ b/ruoyi-fastapi-backend/config/env.py @@ -41,6 +41,10 @@ class DataBaseSettings(BaseSettings): db_password: str = 'mysqlroot' db_database: str = 'ruoyi-fastapi' db_echo: bool = True + db_max_overflow: int = 10 + db_pool_size: int = 50 + db_pool_recycle: int = 3600 + db_pool_timeout: int = 30 class RedisSettings(BaseSettings): -- Gitee From 6714b1d53c55e85f04c60d9264c2baf825a7e2f5 Mon Sep 17 00:00:00 2001 From: insistence <3055204202@qq.com> Date: Wed, 24 Apr 2024 10:07:25 +0800 Subject: [PATCH 3/5] =?UTF-8?q?perf:=20=E4=BD=BF=E7=94=A8@lru=5Fcache?= =?UTF-8?q?=E7=BC=93=E5=AD=98ip=E5=BD=92=E5=B1=9E=E5=8C=BA=E5=9F=9F?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E7=BB=93=E6=9E=9C=EF=BC=8C=E9=81=BF=E5=85=8D?= =?UTF-8?q?=E9=87=8D=E5=A4=8D=E8=B0=83=E7=94=A8ip=E5=BD=92=E5=B1=9E?= =?UTF-8?q?=E5=8C=BA=E5=9F=9F=E6=9F=A5=E8=AF=A2=E6=8E=A5=E5=8F=A3=E4=BB=A5?= =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=80=A7=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module_admin/annotation/log_annotation.py | 41 +++++++++++-------- 1 file changed, 25 insertions(+), 16 deletions(-) diff --git a/ruoyi-fastapi-backend/module_admin/annotation/log_annotation.py b/ruoyi-fastapi-backend/module_admin/annotation/log_annotation.py index 079bfd0..e864391 100644 --- a/ruoyi-fastapi-backend/module_admin/annotation/log_annotation.py +++ b/ruoyi-fastapi-backend/module_admin/annotation/log_annotation.py @@ -1,4 +1,4 @@ -from functools import wraps +from functools import wraps, lru_cache from fastapi import Request from fastapi.responses import JSONResponse, ORJSONResponse, UJSONResponse import inspect @@ -52,21 +52,7 @@ def log_decorator(title: str, business_type: int, log_type: Optional[str] = 'ope oper_ip = request.headers.get("X-Forwarded-For") oper_location = '内网IP' if AppConfig.app_ip_location_query: - try: - if oper_ip != '127.0.0.1' and oper_ip != 'localhost': - ip_result = requests.get(f'https://qifu-api.baidubce.com/ip/geo/v1/district?ip={oper_ip}') - if ip_result.status_code == 200: - prov = ip_result.json().get('data').get('prov') - city = ip_result.json().get('data').get('city') - if prov or city: - oper_location = f'{prov}-{city}' - else: - oper_location = '未知' - else: - oper_location = '未知' - except Exception as e: - oper_location = '未知' - print(e) + oper_location = get_ip_location(oper_ip) # 根据不同的请求类型使用不同的方法获取请求参数 content_type = request.headers.get("Content-Type") if content_type and ("multipart/form-data" in content_type or 'application/x-www-form-urlencoded' in content_type): @@ -175,3 +161,26 @@ def log_decorator(title: str, business_type: int, log_type: Optional[str] = 'ope return wrapper return decorator + + +@lru_cache() +def get_ip_location(oper_ip: str): + """ + 查询ip归属区域 + :param oper_ip: 需要查询的ip + :return: ip归属区域 + """ + oper_location = '内网IP' + try: + if oper_ip != '127.0.0.1' and oper_ip != 'localhost': + oper_location = '未知' + ip_result = requests.get(f'https://qifu-api.baidubce.com/ip/geo/v1/district?ip={oper_ip}') + if ip_result.status_code == 200: + prov = ip_result.json().get('data').get('prov') + city = ip_result.json().get('data').get('city') + if prov or city: + oper_location = f'{prov}-{city}' + except Exception as e: + oper_location = '未知' + print(e) + return oper_location -- Gitee From 7d999b1a5ea192b1f5f2c74a9bd5bb939636861f Mon Sep 17 00:00:00 2001 From: insistence <3055204202@qq.com> Date: Mon, 29 Apr 2024 08:46:14 +0800 Subject: [PATCH 4/5] =?UTF-8?q?chore:=20=E5=8D=87=E7=BA=A7=E7=89=88?= =?UTF-8?q?=E6=9C=AC=E8=87=B31.1.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 7faf314..6249b39 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.1.1' +APP_VERSION= '1.1.2' # 应用是否开启热重载 APP_RELOAD = true # 应用是否开启IP归属区域查询 diff --git a/ruoyi-fastapi-backend/.env.prod b/ruoyi-fastapi-backend/.env.prod index 5c3f36c..c9e201f 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.1.1' +APP_VERSION= '1.1.2' # 应用是否开启热重载 APP_RELOAD = false # 应用是否开启IP归属区域查询 diff --git a/ruoyi-fastapi-frontend/package.json b/ruoyi-fastapi-frontend/package.json index bb0aff5..8b59cc2 100644 --- a/ruoyi-fastapi-frontend/package.json +++ b/ruoyi-fastapi-frontend/package.json @@ -1,6 +1,6 @@ { "name": "vfadmin", - "version": "1.1.1", + "version": "1.1.2", "description": "vfadmin管理系统", "author": "insistence", "license": "MIT", -- Gitee From 44dd252276d4b2cc22fc34757ff078b4c3696ee7 Mon Sep 17 00:00:00 2001 From: insistence <3055204202@qq.com> Date: Mon, 29 Apr 2024 08:50:16 +0800 Subject: [PATCH 5/5] =?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 | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index c4454b2..e644255 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,12 @@
-
+
@@ -17,6 +17,7 @@
+
## 平台简介
RuoYi-Vue-FastAPI是一套全部开源的快速开发平台,毫无保留给个人及企业免费使用。
--
Gitee