From 1d3563ed97c1898d0d03134e145498377d67ac9f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=99=AF=E5=A4=A7=E4=BE=A0?= Date: Sat, 7 Jun 2025 11:13:09 +0800 Subject: [PATCH] =?UTF-8?q?fix(config):=20=E4=BF=AE=E5=A4=8D=E6=96=B0?= =?UTF-8?q?=E8=A3=85=E7=9A=84=E6=8F=92=E4=BB=B6=E4=BC=9A=E6=B6=88=E5=A4=B1?= =?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 --- app/db/systemconfig_oper.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/app/db/systemconfig_oper.py b/app/db/systemconfig_oper.py index 42b28626..5d070a0e 100644 --- a/app/db/systemconfig_oper.py +++ b/app/db/systemconfig_oper.py @@ -1,4 +1,5 @@ -from typing import Any, Union, Optional +import copy +from typing import Any, Optional, Union from app.db import DbOper from app.db.models.systemconfig import SystemConfig @@ -52,14 +53,16 @@ class SystemConfigOper(DbOper, metaclass=Singleton): if isinstance(key, SystemConfigKey): key = key.value if not key: - return self.__SYSTEMCONF - return self.__SYSTEMCONF.get(key) + return self.all() + # 避免将__SYSTEMCONF内的值引用出去,会导致set时误判没有变动 + return copy.deepcopy(self.__SYSTEMCONF.get(key)) def all(self): """ 获取所有系统设置 """ - return self.__SYSTEMCONF or {} + # 避免将__SYSTEMCONF内的值引用出去,会导致set时误判没有变动 + return copy.deepcopy(self.__SYSTEMCONF) def delete(self, key: Union[str, SystemConfigKey]) -> bool: """