CatAnnouncement 公告系统
基于Flask开发的轻量级公告系统,支持OAuth用户认证、分级权限管理和邮件订阅通知功能。
项目地址
https://github.com/smcloudcat/CatAnnouncement
演示站点
功能特点
- ✅ OAuth用户认证 - 集成猫猫OAuth服务
- 📢 公告管理 - 创建/查看/删除公告
- 📧 邮件通知 - 新公告自动邮件提醒
- 👑 分级权限 - 超级管理员与普通管理员
- ⚙️ 用户设置 - 自定义通知偏好
- 📱 响应式设计 - 适配移动设备
项目结构
├── app.py # 主应用入口
├── config.py # 配置文件
├── requirements.txt # 依赖列表
├── announcements.json # 公告数据存储
├── users.json # 用户数据存储
├── admins.json # 管理员数据存储
├── static/ # 静态资源
│ ├── css/
│ └── js/
└── templates/ # HTML模板
├── index.html
├── admin_announcements.html
├── announcement_detail.html
└── ...其他模板
快速开始
安装依赖
pip install -r requirements.txt
配置系统
编辑 config.py
设置以下参数:
# OAuth配置
CLIENT_ID = 'CatAnnouncement'
REDIRECT_URI = 'http://your-domain.com/callback'
# 邮件服务配置
MAIL_SERVER = 'smtp.your-email-provider.com'
MAIL_PORT = 465
MAIL_USE_SSL = True
MAIL_USERNAME = 'your-email@example.com'
MAIL_PASSWORD = 'your-email-password'
运行应用
python app.py
使用指南
普通用户
- 点击首页登录按钮
- 完成OAuth认证
- 在"用户设置"中配置邮箱和通知偏好
- 查看公告列表和详情
管理员
- 使用超级管理员邮箱登录
- 进入"管理公告"创建新公告
- 在"管理管理员"中添加/移除其他管理员
开发说明
系统使用后台线程处理邮件通知:
def email_sender():
while True:
# 检查新公告并发送邮件
time.sleep(10)
贡献指南
欢迎提交Issue或Pull Request。请确保:
- 遵循现有代码风格
- 添加适当的单元测试
- 更新相关文档
1 条评论
支持大佬