Skip to content

Repository files navigation

🏫 校园墙 (Campus Wall)

全栈校园社交平台 — Vue 3 + Flask + Android + AI | 作者 占俊凡 | 部署配置指南 | 代码索引


技术架构

层级 技术栈 说明
后端 Python Flask + SQLAlchemy + SQLite + Socket.IO RESTful API (100+端点),JWT认证,bcrypt密码哈希
前端 Vue 3 (Composition API) + Vite + Element Plus + Tailwind CSS 毛玻璃拟态UI,11种主题配色,9种帖子特效
移动端 Android (Kotlin/Java) + WebView JPush原生推送,JSBridge交互,应用内更新
AI DeepSeek V4 Pro 内容审核、评论巡逻、私信毒性检测、自动发帖
推送 JPush (Android) + 163邮箱 SMTP 双通道互补,iOS/Web端走邮件
加密 AES-256-GCM + bcrypt 敏感字段可逆加密,传输层加密,密码不可逆哈希
部署 Nginx 反向代理 + systemd 一键部署脚本,Let's Encrypt 证书

功能矩阵

模块 核心功能 技术亮点
用户系统 校园密钥注册、JWT 30天登录、单设备强制、个人资料编辑、头像框装饰(8种动/静态)、主题背景(11色)、等级经验值、在线心跳 Token版本号机制,bcrypt哈希
内容发布 图文/视频帖子(最多9图)、自动压缩(1920px/82%品质)、ffmpeg视频优化、8种文字颜色、9种静态特效(彩虹/发光/霓虹/火焰/极光/日落/海洋/紫罗兰/金色)、匿名发帖、失物招领 前端canvas压缩+后端Pillow二次压缩
社交互动 楼中楼评论、@提及、帖子/评论点赞、关注/粉丝、用户私密备注、用户搜索 Pinia状态管理,WebSocket实时推送
表白墙 月度热门排行、墙帖投票 定时任务自动归档
社团频道 用户自建(默认上限3个)、加入/退出、频道主管理 频道权限模型
私信群聊 1v1私信(支持图片/视频)、群聊CRUD、邀请码加群、踢人/改名/解散 Socket.IO实时通信
投票评选 分类投票、审核流程、管理端CRUD 默认食堂美食/商店评选
举报系统 霸凌举报、内容违规举报、管理端处理 AES-256-GCM加密存储举报人信息
心理咨询 匿名咨询、管理员回复、评价、导出 加密存储,匿名保护
AI管理 评论巡逻、私信毒性检测、自动封禁建议、帖子预审(AI快审)、AI自动发帖(可配置话题)、AI操作全量审计日志 DeepSeek多模型分任务调度
管理后台 数据仪表盘、帖子审核队列(AI快审)、用户管理(封禁/解封/角色变更)、广播推送、AI审核开关、AI发帖配置、AI封禁审批、私信巡查(超管专属) 二次密码验证,分权管理
消息推送 站内信、JPush(Android)、邮件(iOS/Web)、未读计数 三通道互补覆盖
推广系统 落地页管理(/p/tv等)、开关控制 管理端动态配置
安全机制 AES-256-GCM字段加密、传输加密、bcrypt密码、Flask-Limiter限流、IP封禁、WebSocket洪水防护(CONNECT限流+握手频率控制)、CORS白名单、JWT版本号、管理二次验证 纵深防御,7层安全

项目结构

├── backend_flask/          Flask 后端 — 49个文件, 100+ API端点
│   ├── app.py              主入口 + Socket.IO + 初始化
│   ├── config.py           全局配置 (密钥/邮件/CORS/限流/WS防护)
│   ├── models.py           SQLAlchemy 数据模型 (用户/帖子/评论/消息等)
│   ├── auth.py             认证蓝图 (/x7k9m/v1/uc/)
│   ├── posts.py            帖子+评论+点赞蓝图 (/x7k9m/v1/fd/)
│   ├── social_api.py       社交蓝图 (/x7k9m/v1/sc/ — 关注/私信/群聊)
│   ├── admin_api.py        管理后台蓝图 (/x7k9m/v1/cp/)
│   ├── campus_api.py       校园管理蓝图 (/x7k9m/v1/cm/)
│   ├── channel_api.py      社团频道蓝图 (/x7k9m/v1/ic/)
│   ├── vote_api.py         投票蓝图 (/x7k9m/v1/vt/)
│   ├── promo_api.py        推广落地页蓝图 (/x7k9m/v1/promo/)
│   ├── quiz_api.py         注册问答蓝图 (/x7k9m/v1/qz/)
│   ├── reports.py          举报蓝图 (/x7k9m/v1/rp/)
│   ├── consult.py          心理咨询蓝图 (/x7k9m/v1/cs/)
│   ├── messages_api.py     站内消息蓝图 (/x7k9m/v1/nx/)
│   ├── ai_moderator.py     AI内容审核+巡逻 (19KB)
│   ├── ai_poster.py        AI自动发帖 (16KB)
│   ├── ai_review.py        AI内容审查
│   ├── deepseek_http.py    DeepSeek API 客户端
│   ├── websocket_events.py WebSocket 实时事件处理
│   ├── ws_guard.py         WebSocket 连接洪水防护
│   ├── security.py         安全中间件 (限流/IP封禁/XSS防护)
│   ├── encryption.py       AES-256-GCM 字段级加解密
│   ├── transport_crypto.py 前后端传输加解密
│   ├── push_jpush.py       极光推送服务端
│   ├── push_email.py       邮件推送 (暗色HTML模板)
│   ├── presence.py         用户在线状态
│   ├── levels.py           等级经验系统
│   ├── storage.py          文件存储管理
│   ├── compress.py         图片压缩 (Pillow)
│   ├── video_optimize.py   ffmpeg视频优化
│   ├── monitor.py          服务器监控+邮件报告
│   ├── db_watcher.py       数据库变更监控
│   ├── dbtool.py           数据库命令行工具
│   ├── .env.example        环境变量模板
│   └── nginx-*.conf        Nginx配置片段
├── frontend/               Vue 3 前端 — 24页面, 17组件
│   ├── src/views/          24个页面组件
│   ├── src/components/     17个通用组件 (common/layout/post/profile)
│   ├── src/stores/         4个Pinia模块 (user/post/message/consult)
│   ├── src/utils/          12个工具模块 (api/ws/transport/themeBg...)
│   ├── src/router/         Vue Router 路由配置
│   ├── src/styles/         3个样式文件 (主样式/帖子特效/移动端适配)
│   ├── public/             静态资源+5个落地页
│   ├── tailwind.config.js  Tailwind主题色配置
│   └── vite.config.js      Vite构建配置 (代理/分包)
├── erxiao/                 Android 客户端
│   ├── app/src/main/java/com/zjf/erxiao/
│   │   ├── MainActivity.java          WebView主Activity
│   │   ├── ErxiaoApp.java             Application类
│   │   ├── ErxiaoNativeBridge.java    JSBridge (JS↔Native)
│   │   └── ErxiaoJPushReceiver.java   JPush推送接收器
│   ├── app/src/main/AndroidManifest.xml
│   └── app/build.gradle               v1.0.5, JPush集成
├── 一键部署.sh              Linux自动部署 (依赖安装+systemd+Nginx)
├── requirements.txt        Python依赖清单
├── 部署配置指南.md          所有配置项说明与获取方式
├── 代码索引.md             所有文件功能说明
├── API端口清单.md           100+ API接口文档
├── 设计风格与主色调.md       UI/UX设计系统文档
├── ProfileCover.vue        个人封面组件
├── icon.jpeg               应用图标
└── LICENSE                 CC BY-NC 4.0

快速开始

# 后端
cd backend_flask && pip install -r requirements.txt && cp .env.example .env
nano .env   # 修改所有密钥 → 参见 部署配置指南.md
python app.py  # → http://localhost:8000

# 前端
cd frontend && npm install && npm run dev  # → http://localhost:3000

# 一键部署 (Linux)
sudo bash 一键部署.sh

许可证

CC BY-NC 4.0 — ✅ 非商业使用 | ❌ 禁止商用 | ⚠️ 必须署名 占俊凡 | 详见 LICENSE

About

全栈校园社交平台 Vue 3 + Flask + Android + AI 适用群体:学生or私域 集交友 表白墙 发帖 社交 群聊 失物招领等功能于一体的CYB校园墙网站

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages