Files
FastapiAdmin/backend/app/utils/re_verify.py
T
zhangtao 714896161f refactor(module_generator): 重构代码生成模块结构
重构代码生成模块,删除冗余文件并优化结构:
1. 删除旧的form、page、table等相关文件
2. 新增gencode模块基础结构
3. 移动jinja2工具类和模板引擎初始化器到utils目录
4. 优化数据库模型关系定义
5. 更新nginx配置支持WebSocket
6. 添加正则验证和加密工具类
7. 修复菜单和部门模型的循环引用问题
8. 优化初始化脚本和配置加载逻辑

调整初始化流程,使用统一会话管理:
1. 修改数据库初始化使用AsyncSessionLocal
2. 优化定时任务初始化逻辑
3. 统一配置和字典服务初始化方式
4. 修复模型关系定义导致的循环导入问题

其他改进:
1. 更新requirements.txt添加依赖
2. 调整IP白名单配置
3. 优化数据库连接日志输出
4. 修复模型继承关系问题
2025-09-12 01:05:07 +08:00

62 lines
1.3 KiB
Python

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import re
def search_string(pattern: str, text: str) -> re.Match[str] | None:
"""
全字段正则匹配
:param pattern: 正则表达式模式
:param text: 待匹配的文本
:return:
"""
if not pattern or not text:
return None
result = re.search(pattern, text)
return result
def match_string(pattern: str, text: str) -> re.Match[str] | None:
"""
从字段开头正则匹配
:param pattern: 正则表达式模式
:param text: 待匹配的文本
:return:
"""
if not pattern or not text:
return None
result = re.match(pattern, text)
return result
def is_phone(number: str) -> re.Match[str] | None:
"""
检查手机号码格式
:param number: 待检查的手机号码
:return:
"""
if not number:
return None
phone_pattern = r'^1[3-9]\d{9}$'
return match_string(phone_pattern, number)
def is_git_url(url: str) -> re.Match[str] | None:
"""
检查 git URL 格式
:param url: 待检查的 URL
:return:
"""
if not url:
return None
git_pattern = r'^(?!(git\+ssh|ssh)://|git@)(?P<scheme>git|https?|file)://(?P<host>[^/]*)(?P<path>(?:/[^/]*)*/)(?P<repo>[^/]+?)(?:\.git)?$'
return match_string(git_pattern, url)