校园墙 · 详细使用说明(通用版)
文档版本:2026 年 8 月 · v1.0(开源首版)
适用对象:全体用户(用户篇)+ 站点管理员(管理员篇)+ 站长/运维(部署运维篇)
> 本文档为通用说明,具体功能以实际部署站点为准。
目录
第一部分 · 站点简介
第二部分 · 用户使用指南
第三部分 · 管理员使用指南
第四部分 · 部署与运维
第五部分 · 常见问题
第一部分 · 站点简介
本站是面向学校师生的校园交流平台,涵盖校园墙、必吃榜、校园趣事、校园百科、豪王挑战赛、音乐库、小法庭等栏目,支持手机浏览器与安卓客户端访问。
底部导航栏(手机端「圈子」「关于」「反馈」「法庭」等折叠在"更多"菜单中):
| 栏目 | 图标 | 入口 | 说明 |
|---|
| 首页 | 💌 | 底部导航"首页" | 校园墙首页,浏览、发布与互动 |
| 必吃 | 🍜 | 底部导航"必吃" | 校园周边美食推荐、评分与点赞 |
| 趣事 | 🎉 | 底部导航"趣事" | 校园活动与新鲜事 |
| 校园 | 🏫 | 底部导航"校园" | 学校简介与历史沿革 |
| 豪王 | 👑 | 底部导航"豪王" | 豪王挑战赛(校园人气评选) |
| 圈子 | 🌐 | 底部导航"更多"→圈子 | 外部社区站点(可选配置) |
| 关于 | ℹ️ | 底部导航"更多"→关于 | 站点数据统计、联系方式与鸣谢 |
| 反馈 | 💬 | 底部导航"更多"→反馈 | 意见与建议提交 |
| 法庭 | ⚖️ | 底部导航"更多"→小法庭 | 校园纠纷在线调解(起诉/应诉/投票/撤诉) |
> 桌面端(≥1024px)导航全部展开显示;手机端(≤480px)导航仅显示图标,选中项才显示文字。
第二部分 · 用户使用指南
一、账号注册与登录
1. 注册
进入「登录」页面,切换到"注册"选项卡。
用户名:2 至 20 个字符。
密码:不少于 6 位。
邮箱:若站点开启邮箱验证,需填写真实邮箱并完成验证(验证码邮件由站长邮箱发出,注意查收垃圾箱)。
部分用户名被系统保留(如「匿名用户」「管理员」「admin」等),不可注册。2. 登录
输入用户名和密码登录。
勾选 「记住我」 后,30 天内无需重复登录(浏览器自动恢复登录态)。
登录成功后自动跳转首页。3. 退出登录
进入「个人中心」,点击右上角「退出」按钮。4. 登录功能说明
若管理员关闭了登录功能,登录页会提示"登录功能未开启"。
若开启"必须登录才能发帖",未登录用户只能浏览,不能发帖、评论、点赞等互动。
二、首页(校园墙)
浏览
首页展示最新表白帖,向下滑动自动加载更多。
顶部搜索框:按内容或话题查找帖子。
置顶帖、话题标签、公告栏便于快速浏览。
帖子作者昵称前显示其学校徽章,一眼识别来自哪所学校。
页面右下角有背景音乐播放器;右上角显示实时在线人数与「安卓App」按钮(可在个人中心开关)。互动
点赞:点击帖子心形按钮,为喜欢的内容加油。
评论:进入帖子详情页,在评论区发表看法。
举报:发现违规内容点击「举报」,选择理由并补充说明,管理员会尽快处理。发布
点击页面右下角「+」加号按钮进入发布页。
学校(必须):发帖前需先在个人中心选择"区域 + 学校",未选择时无法发帖。
昵称:默认为匿名,登录用户可在发布时填写昵称(发帖后自动记录账号)。
正文:最多 2000 字。
图片 / 视频:最多 8 个文件(图片自动压缩转 WebP,节省空间加快加载)。
话题标签:可选择已有话题或输入新话题。
AI 优化:开启后 AI 辅助润色文案(需管理员配置 AI 接口)。
内容经敏感词过滤 + AI 审核(若开启)通过后展示;管理员可隐藏违规帖。
三、帖子详情与评论
点击首页任意帖子进入详情页。
楼层系统:评论按楼层编号,第 1 楼显示「1楼 🛋️(沙发)」,第 2 楼「2楼 🪑」,后续为「N楼」。
评论支持 Markdown(标题、加粗、斜体、引用、代码块等),表情、链接可正常显示。
评论最多 500 字,同一账号/设备有频率限制,防止刷屏。
登录用户可删除自己的评论;帖子作者可删除自己帖子下的评论(管理员同样可以)。
四、个人中心
个人主页展示:头像、昵称、学校徽章、等级经验、头衔、个人简介、统计(发布数/获赞数)、「我的帖子」。
编辑资料:头像(支持上传图片)、年级、班级、联系方式(QQ/微信)、个人简介。
我的学校:选择"区域 + 学校"(发帖前置条件)。
我的帖子:查看、删除自己的帖子;删除后进入回收站(24 小时内可恢复,也可立即永久删除)。
设置:点赞/评论邮件通知、安卓App按钮显示、音乐播放器显示开关。
等级系统:通过每日登录、发帖、评论等获得经验值,升级解锁头衔展示。
五、必吃榜
底部导航「必吃」进入,可浏览校园周边美食店铺。
支持上传:店名、分类(奶茶/甜品/快餐/面食/正餐/烧烤等)、位置、推荐理由、店铺图片。
支持点赞(每人每店 30 天内限 1 次,Cookie 防刷)。
支持分类筛选与排序(🕐 最新 / 🔥 最赞)。
点击店铺进入详情页:大图、1-5 星评分与文字评论,平均分实时回显。
六、校园趣事
底部导航「趣事」进入,浏览校园活动与新鲜事。
支持发布活动信息:标题、时间、地点、描述、图片。
支持评论互动。
七、校园百科
底部导航「校园」进入,展示学校简介、基本信息、办学成果、历史沿革、校园文化。
页面内容为示例数据,部署者可在 campus.php 中替换为学校真实公开信息。
八、豪王挑战赛
底部导航「豪王」进入,校园人气评选活动(按赛季进行)。
参赛:填写姓名、年级班级、照片与事迹介绍,等待管理员审核。
应援:每位用户每天可点赞 5 人、应援 1 人;人气值 = 应援×5 + 点赞×2 + 留言×0.5。
赛季结束后由管理员结算并公布冠军。
九、背景音乐播放器
页面右下角黑胶唱片图标:播放/暂停、上一首/下一首、进度条、音量、播放模式(顺序/单曲循环/随机)。
折叠/展开状态、播放模式、音量记忆在浏览器 localStorage。
可通过播放器内「🎵 音乐库」进入音乐库页面。十、音乐库页面
展示站点已上传的歌曲列表(封面、歌名、歌手),支持搜索与试听。
点击歌曲卡片的 ☆ 加入「⭐ 我的列表」;未登录或未自定义时播放全部。
播放量、点赞量实时统计。十一、小法庭
底部导航「更多 → 小法庭」进入,校园纠纷在线调解。
起诉:提交案件标题、描述、诉求与证据(图片)。
应诉:被告收到通知后 24 小时内提交理由陈述、诉求与证据。
投票:符合条件的用户可对案件投票(支持/不支持),按规则结案。
撤诉:原告可主动撤诉,立即解除双方的发帖限制。
涉及未结案案件的原告/被告,发帖、投稿、参赛均会被暂时限制。十二、其他功能
搜索:首页顶部搜索框按内容/话题搜索。
公告:管理员发布的公告(支持 Markdown 与图片)。
反馈:提交意见与建议(需填写 QQ/微信/邮箱等联系方式)。
帮助:站点帮助中心。
安卓客户端:如部署者上传 APK 至 app/ 目录,首页「安卓App」按钮可下载客户端。十三、内容规范
请遵守国家法律法规与公序良俗,不发布违法、辱骂、隐私泄露、广告等违规内容。
违规内容可被举报;管理员有权隐藏/删除违规内容并封禁相关设备/账号。
保留用户名不可冒用(管理员、系统、官方等)。十四、联系与帮助
「关于」页面展示站点联系方式;也可通过「反馈」页面提交问题。
具体联系方式以实际部署站点公布为准。
第三部分 · 管理员使用指南
后台入口:/admin(或 /admin.php),需使用安装时创建的超级管理员账号登录。
一、登录与权限
超级管理员(role=super)拥有全部权限,可创建/编辑/删除普通管理员。
普通管理员按 posts/users/bans/config/announcements/api_log 权限分配。
支持密码登录与 U 盘物理密钥登录(可选)。
登录失败同一 IP 限流:10 次 / 5 分钟。二、常用管理功能
帖子管理
浏览、搜索、隐藏/恢复、置顶/取消置顶、删除(软删除进回收站,24 小时内可恢复)。
删除记录:记录删除人、删除时间、内容预览,支持恢复与永久删除(含媒体文件)。
批量操作:批量隐藏、批量删除。评论管理
查看/删除任意评论,评论记录 IP 与指纹,可直接拉黑发帖设备。用户管理
用户列表:头像、昵称、学校、等级、注册时间、发帖数。
设置头衔、修改用户名(同步更新其历史内容归属)。
冻结/解冻账号、删除用户及其帖子(软删除并记录)。封禁管理
IP 封禁、浏览器指纹封禁,支持手动添加与从违规内容一键拉黑。举报审核
待审核举报自动弹窗提醒;可「依然展示」「删除帖子」「删除并拉黑指纹」。公告与话题
发布/编辑/删除公告(支持 Markdown 与图片)。
管理话题标签(新增、合并、删除)。网站配置
站点名称、主题、主题色、纯净模式、敏感词、登录开关、邮箱验证、SMTP 配置。
背景音乐:上传音乐、封面、压缩设置(需服务器安装 FFmpeg)。
背景图:上传/轮换/设为当前背景。
每日例行维护:默认关闭。开启后可设置每日固定维护时段(HH:MM,支持跨天如 22:00-06:00),到点前台自动展示维护页(maintenance.php),后台不受影响。
异常问题页面(紧急维护):一键开启全站提示页。
自定义 AI 接口(OpenAI 兼容格式)与云端 AI 审核预设词。
管理员名称保护(ADMIN_NAMES)。数据统计
帖子数、评论数、获赞数、注册用户、今日/累计访问、在线人数等实时统计。管理员账号管理(超级管理员)
创建管理员(用户名/密码/权限)、重置密码、删除管理员。
超级管理员不能被降级或删除(保证至少一个超级管理员)。
第四部分 · 部署与运维
一、环境要求
PHP ≥ 7.4(推荐 8.0+),扩展:PDO、pdosqlite / pdomysql、GD 或 Imagick、mbstring、json。
Apache(支持 .htaccess)或 Nginx。
磁盘与上传权限:PHP 运行账号需可写 uploads/、data/ 目录。二、安装
上传全部源码至网站根目录。
访问 install.php 按向导完成安装(自动建表、写入 .env.php、创建超级管理员)。
安装完成后删除 install.php。三、关键配置(.env.php)
DBTYPE / DBHOST / DBNAME / DBUSER / DB_PASS:数据库配置。
SITE_NAME:站点名称。
SMTP_*:邮箱验证与通知邮件(如 smtp.qq.com)。
EXTERNALCOMMUNITYURL:外部社区入口(底部导航「圈子」),留空则隐藏。
CLOUDCONTROL* / CLOUDTELEMETRYENABLED:外部云控与遥测,默认关闭。
TRUSTED_PROXIES:可信反向代理 IP/CIDR 列表(如套了 Cloudflare 时填写其官方段)。
ALLOWANONYMOUSUPLOAD:匿名上传,默认关闭。
ADMIN_NAMES:受保护的管理员昵称(发帖认证徽章)。> .env.php 含敏感凭据,切勿提交到版本库;.gitignore 已排除。
四、伪静态(URL 重写)——必须配置
前台页面链接全部为无后缀形式(如 /index、/food、/about、/detail?id=5、/admin、/api),必须配置伪静态,否则这些链接会返回 404。
Apache:仓库根目录的 .htaccess 已内置伪静态规则(mod_rewrite),开启 AllowOverride 即可生效,无需额外配置。
Nginx:在站点配置中加入以下规则(仅当存在同名 .php 文件时改写,不影响真实文件/目录):location / {
index index.php;
try_files $uri $uri/ @noext;
}
location @noext {
rewrite ^/([A-Za-z0-9_\-]+)/?$ /$1.php last;
}
若 Apache 禁用了 AllowOverride,请把上述 rewrite 规则迁入虚拟主机配置。五、安全部署建议
全站启用 HTTPS;.user.ini 已强制会话 Cookie Secure/HttpOnly/SameSite=Lax。
反向代理需配置与 .user.ini 一致或更小的请求体上限(如 55m)。
若禁用 Apache AllowOverride,请将根目录、uploads/、data/ 的规则迁入虚拟主机配置。
Nginx 用户请参考 SECURITYFIXREADME.md 中的必要规则(deny /data/、/uploads/*.php 等)。
上传 app/app.apk 后,确认 app/.htaccess(Apache)或 Nginx location ~ ^/app/ { deny all; } 生效。
定期备份:数据库、uploads/ 目录、.env.php。
升级前完整备份,上传完整文件清单,避免文件版本不一致。六、例行维护与紧急维护
例行维护:默认关闭,前台 24 小时可访问。如需要,管理员可在后台「网站配置 → 每日例行维护」开启,并设置每日维护时段(默认 03:00-06:00,支持跨天)。开启后,维护时段内前台访问会显示维护页面(maintenance.php,展示当前维护时段),后台与接口不受影响;关闭开关或清空时段即恢复。
紧急维护(异常问题页):后台「网站配置 → 异常问题页面」一键开启,全站前台展示提示页(inc/bug_page.php);后台管理不受影响。> 说明:维护开关状态保存在 .env.php(MAINTENANCEENABLED / MAINTENANCESTART / MAINTENANCE_END),可在后台随时调整;源码默认关闭,不会影响日常访问。
七、数据备份
数据库:SQLite 备份 data.db;MySQL 定期导出。
配置文件:备份 .env.php。
上传文件:备份 uploads/ 与 data/lyrics/。
第五部分 · 常见问题
Q1:页面加载动画一直不消失?
请确认 inc/loader.php 位于各页面 <body> 标签之后、且每页只 include 一次;同时上传最新版 assets/css/app.css。更新后强制刷新。
Q2:上传图片后一直转圈进不了网站?
通常是服务器 functions.php 与页面版本不同步。请将 functions.php 与所有前台页面一起完整上传,首次访问会自动迁移字段。
Q3:首页看不到别人/自己的头像?
需要 functions.php 中的 getUserAvatarUrl 正确返回 uploads/ 前缀路径,并上传新版本文件。
Q4:提示"函数未定义"?
服务器上文件版本不完整/不一致,请按"更新与升级"章节完整上传文件清单。
Q5:如何设置用户头衔?
管理员登录后台 → 用户管理 → 找到用户 → 在"头衔"列输入(≤50字)→ 保存。
Q6:修改用户名后,历史内容会变吗?
会。帖子、评论、必吃推荐、趣事、豪王推荐人等所有以原用户名发布的内容会一并更新为新用户名。
Q7:音乐播放器折叠状态切页后重置?
已修复:折叠/展开、播放模式、音量均记忆在浏览器 localStorage。
Q8:必吃榜点赞上限?
同一店铺 30 天内仅可点赞 1 次(Cookie 防刷)。
Q9:豪王人气值怎么算?
人气值 = 应援×5 + 点赞×2 + 留言×0.5;点赞每天 5 位/人,应援每天 1 位/人,留言 2 分钟 1 条且每选手每天前 20 条计入。
Q10:为什么发不了帖子?
请确认已在个人中心 → 我的学校选择"区域 + 学校"(发帖必需)。若已选择仍发不了,检查是否正涉及未结案的小法庭案件,或内容是否有敏感词。
Q11:帖子被点赞/评论会收到邮件吗?
会——前提是你在个人中心开启了「点赞/评论邮件通知」开关(默认开启)且邮箱已验证。
Q12:如何修改学校?
个人中心 → 我的学校 → 重新选择区域和学校 → 保存。
Q13:网站突然打不开,显示"突发bug暂停服务"?
这是管理员开启了异常问题页面(紧急维护),说明站点正在修复突发问题,请稍后再来。
Q14:播放器为什么只有几首歌?
播放器只播放你「⭐ 我的列表」里的音乐。请到音乐库页点击歌曲卡片的 ☆ 加入我的列表。
Q15:被起诉后为什么不能发帖?
你正作为原告/被告涉及一起未结案的小法庭案件,结案(或原告撤诉)前发帖、投稿、参赛均受限。
Q16:收到"你被起诉了"的邮件怎么办?
登录网站,任意页面会有弹窗提醒;点击弹窗或底部导航「更多 → 小法庭」进入案件详情,在 24 小时内提交理由陈述 + 诉求 + 证据应诉。
Q17:如何联系管理员?
「关于」页面展示站点联系方式,也可通过「反馈」页面提交。
本文档随版本更新,具体以实际部署站点为准。