# AI APPs **Repository Path**: wuhangxing/ai-apps ## Basic Information - **Project Name**: AI APPs - **Description**: ai应用 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-06-24 - **Last Updated**: 2025-12-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AI Apps - 通用模块集合 一个包含多个通用模块的Python项目,提供日志记录、通知系统、会员认证、任务队列等功能。 ## 📋 项目概述 本项目旨在提供一套完整的、可复用的通用模块,适用于各种Python应用开发场景。每个模块都经过精心设计,具有良好的可扩展性和易用性。 ## 🚀 核心模块 ### 1. Logger模块 (`commons/logger.py`) **功能**: 分级日志记录系统 - ✅ 4级日志等级控制 (LEVEL_1-4) - ✅ 动态等级调整 - ✅ 文件和控制台输出 - ✅ API请求/响应记录 - ✅ 异常详细记录 **快速使用**: ```python from commons.logger import Logger, LogLevel logger = Logger(log_level=LogLevel.LEVEL_3) logger.logi("这是一条信息日志") ``` ### 2. 通知模块 (`commons/notification/`) **功能**: 统一通知系统 - ✅ 多通道支持 (邮件、短信、推送) - ✅ 模板化管理 (Jinja2) - ✅ 配置驱动 (.env) - ✅ 错误处理和重试 **快速使用**: ```python from commons.notification import send_notification send_notification( user="user@example.com", channel="email", template="welcome", data={"name": "张三"} ) ``` ### 3. 会员认证模块 (`commons/membership_authenticator.py`) **功能**: 用户认证和会员管理 - ✅ 用户注册/登录 - ✅ 会员等级管理 - ✅ 权限控制 - ✅ SQLite数据库支持 **快速使用**: ```python from commons.membership_authenticator import MembershipAuthenticator auth = MembershipAuthenticator("dataset/membership.db") result = auth.register_user("张三", "zhang@example.com", "password123") ``` ### 4. 任务队列模块 (`commons/task_queue/`) 🆕 **功能**: 异步任务处理系统 - ✅ 多队列支持 (9个预定义队列) - ✅ 优先级调度 - ✅ 重试机制 (指数退避) - ✅ 任务监控和统计 - ✅ 装饰器注册 **快速使用**: ```python from commons.task_queue import task, submit_task @task(name="send_email", queue="email") def send_email(to, subject, content): # 邮件发送逻辑 return {"status": "sent"} # 提交任务 task_id = submit_task("send_email", args=("user@example.com", "标题", "内容")) ``` ## 📁 项目结构 ``` ai-apps/ ├── commons/ # 核心模块 │ ├── logger.py # 日志模块 │ ├── membership_authenticator.py # 会员认证模块 │ ├── notification/ # 通知模块 │ │ ├── __init__.py │ │ ├── notification_manager.py │ │ ├── channels/ # 通道实现 │ │ └── templates/ # 模板文件 │ └── task_queue/ # 任务队列模块 │ ├── __init__.py │ ├── manager.py # 队列管理器 │ ├── decorators.py # 任务装饰器 │ ├── result.py # 结果数据结构 │ └── config.py # 配置管理 ├── samples/ # 应用层示例 │ ├── logger/ # Logger示例 │ ├── notification/ # 通知示例 │ ├── membership_authenticator/ # 认证示例 │ └── task_queue/ # 任务队列示例 ├── docs/readmes/ # 技术文档 │ ├── LOGGER_LEVEL_CONTROL.md │ ├── NOTIFICATION_MODULE_SUMMARY.md │ └── TASK_QUEUE_SUMMARY.md ├── dataset/ # 示例数据 └── logs/ # 日志文件 ``` ## 🎯 快速开始 ### 1. 环境准备 ```bash # 克隆项目 git clone cd ai-apps # 安装依赖 pip install -r requirements.txt ``` ### 2. 运行示例 ```bash # Logger模块示例 python samples/logger/logger_quick_usage.py # 通知模块示例 python samples/notification/quick_test.py # 任务队列示例 python samples/task_queue/quick_usage.py # 会员认证示例 python samples/membership_authenticator/membership_authenticator_examples.py ``` ### 3. 配置环境变量 创建 `.env` 文件: ```bash # 通知模块配置 SMTP_HOST=smtp.gmail.com SMTP_PORT=587 SMTP_USERNAME=your-email@gmail.com SMTP_PASSWORD=your-password # 任务队列配置 TASKQUEUE_ENABLED=true TASKQUEUE_DEFAULT_WORKERS=2 TASKQUEUE_LOG_LEVEL=INFO ``` ## 📚 详细文档 ### 模块文档 - [Logger模块详细说明](docs/readmes/LOGGER_LEVEL_CONTROL.md) - [通知模块设计总结](docs/readmes/NOTIFICATION_MODULE_SUMMARY.md) - [任务队列模块总结](docs/readmes/TASK_QUEUE_SUMMARY.md) ### 示例文档 - [应用层示例总览](samples/README.md) - [Logger示例说明](samples/logger/README.md) - [通知示例说明](samples/notification/README.md) - [任务队列示例说明](samples/task_queue/README.md) ## 🔧 功能特性 ### Logger模块 - **分级控制**: 4个等级精确控制日志输出 - **动态调整**: 运行时修改日志等级 - **多种输出**: 支持文件和控制台输出 - **API记录**: 专门的API请求/响应记录 ### 通知模块 - **多通道**: 邮件、短信、推送通知统一接口 - **模板化**: Jinja2模板引擎,支持动态内容 - **配置驱动**: .env文件统一管理配置 - **错误处理**: 完善的重试和异常处理机制 ### 会员认证模块 - **完整认证**: 注册、登录、权限验证 - **会员等级**: 多层级会员管理系统 - **数据库**: SQLite数据库持久化存储 - **安全性**: 密码加密、会话管理 ### 任务队列模块 - **多队列**: 9个预定义队列,支持优先级 - **异步执行**: 多线程工作进程并发处理 - **重试机制**: 自动重试失败任务,指数退避 - **监控统计**: 实时队列和任务状态监控 ## 🎨 使用场景 ### Web应用开发 ```python # 用户注册流程 @task(name="user_registration") def process_user_registration(user_data): # 创建用户 user = create_user(user_data) # 异步发送欢迎邮件 submit_task("send_welcome_email", args=(user.email, user.name)) # 记录日志 logger.logi(f"用户注册成功: {user.email}") return user ``` ### 数据处理系统 ```python # 报表生成 @report_task(name="generate_report", timeout=600) def generate_monthly_report(year, month): logger.logi(f"开始生成月报: {year}-{month}") # 数据收集和处理 data = collect_monthly_data(year, month) report = generate_report(data) # 发送报表邮件 submit_task("send_report_email", args=("admin@example.com", report)) return report ``` ### 系统监控 ```python # 系统维护任务 @low_priority_task(name="system_cleanup") def cleanup_old_data(): logger.logi("开始清理旧数据") # 清理逻辑 deleted_count = cleanup_database() # 发送通知 send_notification( user="admin@example.com", channel="email", template="cleanup_report", data={"deleted_count": deleted_count} ) return {"deleted": deleted_count} ``` ## 🤝 贡献指南 1. Fork 项目 2. 创建功能分支 (`git checkout -b feature/AmazingFeature`) 3. 提交更改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 打开 Pull Request ## 📄 许可证 本项目采用 MIT 许可证 - 查看 [LICENSE](LICENSE) 文件了解详情。 ## 📞 联系方式 - 项目链接: [https://github.com/your-username/ai-apps](https://github.com/your-username/ai-apps) - 问题反馈: [Issues](https://github.com/your-username/ai-apps/issues) ## 🙏 致谢 感谢所有为这个项目做出贡献的开发者! --- **注意**: 这是一个持续开发的项目,新功能和改进会定期添加。请关注项目更新获取最新功能。