📬 消息通知·实战
30章 · 从零到部署
🎒 OA系统 · 风格
1
消息通知模块概述
什么是消息通知 · 模块定位 · 站内信/邮件/App推送
2
技术选型与架构设计
Django/Flask · Redis/RabbitMQ · 数据库设计原则
3
数据库模型设计 (上)
用户表 · 通知模板表 · 通知记录表核心字段
4
数据库模型设计 (下)
偏好设置 · 已读状态 · 附件表 ER图 & SQL
5
RESTful API 设计
通知列表 · 标记已读 · 批量操作 · 状态码
6
用户认证与权限
JWT集成 · 权限控制 · 接口鉴权中间件
7
站内信核心逻辑
创建/存储通知 · 未读数量 · 分页查询
8
消息队列基础
为什么用MQ · Redis Pub/Sub · RabbitMQ概念
9
异步任务处理
Celery发送通知 · 延迟任务 · 失败重试
10
邮件通知集成
SMTP配置 · HTML模板渲染 · 批量发送与限频
11
App推送集成
极光/个推 · 设备Token · Payload设计
12
WebSocket实时推送
Django Channels · 连接管理 · 实时通知
13
通知模板引擎
Jinja2语法 · 变量替换 · 条件渲染 · 模板管理
14
通知去重与合并
去重策略 · 批量合并 · “3条新消息”
15
通知优先级与分类
紧急/普通/低优先级 · 系统/审批/评论标签
16
已读/未读状态管理
Redis vs DB · 批量标记优化
17
通知中心前端 (Vue3)
通知列表 · 未读红点 · 下拉刷新 · 无限滚动
18
通知设置页面
用户偏好 · 接收方式 · 前端表单 & API联动
19
通知历史与归档
自动归档 · 归档查询 · 定期清理任务
20
通知搜索功能
Elasticsearch全文搜索 · 高亮显示
21
通知统计与仪表盘
发送量统计 · 阅读率 · ECharts图表
22
单元测试与集成测试
pytest · Mock外部服务 · 覆盖率
23
性能优化
索引优化 · 缓存未读计数 · N+1查询
24
安全与防滥用
接口限流 · 通知轰炸防护 · 敏感内容过滤
25
日志与监控
结构化日志 · 失败告警 · Prometheus+Grafana
26
多租户支持
SaaS租户隔离 · 数据隔离 · 跨租户公告
27
国际化与多语言
内容国际化 · 用户语言偏好 · 翻译管理
28
通知模块扩展性
插件化 · 自定义渠道(钉钉/企微) · 事件驱动
29
部署与运维
Docker · Compose · Nginx反向代理 · 环境变量
30
项目总结与最佳实践
常见坑点 · 架构演进 · AI智能通知展望