From 34eb2528c9e5de2b57b8b0dd71ac7b85380cfe18 Mon Sep 17 00:00:00 2001 From: huangzhenpc Date: Sat, 1 Mar 2025 11:23:28 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=9D=E5=AD=98=E7=8E=B0=E6=9C=89=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=20=E5=A2=9E=E5=8A=A0=E5=9F=9F=E5=90=8D=E5=92=8C?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=97=B6=E9=97=B4=E5=85=B3=E8=81=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/utils.py | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/app/utils.py b/app/utils.py index fa78532..6906bc7 100644 --- a/app/utils.py +++ b/app/utils.py @@ -260,10 +260,13 @@ def extract_code_from_body(body): def add_allowed_domain(domain): - """添加允许的域名""" + """添加允许的域名并记录添加时间""" try: + timestamp = datetime.now().isoformat() redis_client.sadd('allowed_domains', domain) - logger.info(f'Added allowed domain: {domain}') + redis_client.hset(f'domain:{domain}', 'status', 'allowed') # 新增状态键 + redis_client.hset(f'domain_time:{domain}', 'added_at', timestamp) # 记录添加时间 + logger.info(f'Added allowed domain: {domain} at {timestamp}') except Exception as e: logger.error(f'Error adding allowed domain: {e}') @@ -284,4 +287,19 @@ def get_allowed_domains(): return [domain.decode() for domain in domains] except Exception as e: logger.error(f'Error fetching allowed domains: {e}') - return [] \ No newline at end of file + return [] + + +def get_allowed_domains_with_time(): + """获取当前允许的域名及其添加时间""" + try: + domains = redis_client.smembers('allowed_domains') + domain_info = {} + for domain in domains: + domain = domain.decode() + added_at = redis_client.hget(f'domain_time:{domain}', 'added_at') + domain_info[domain] = added_at.decode() if added_at else None + return domain_info + except Exception as e: + logger.error(f'Error fetching allowed domains with time: {e}') + return {} \ No newline at end of file