# yao-love **Repository Path**: yao-coder/yao-love ## Basic Information - **Project Name**: yao-love - **Description**: 情侣爱心墙 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-12 - **Last Updated**: 2026-06-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # yao-love · 爱心便签墙 💌 送给另一半的网站:粉彩便签卡片飞入屏幕拼成一颗爱心,配一个私密留言板,两个人像传纸条一样留言、回复,数着"爱你的第 N 天"。 **在线访问**:[love.yaoiw.com](https://love.yaoiw.com) | [iambeyouare.com](https://iambeyouare.com) ## 架构 前后端分离,自建评论系统(自 Valine + LeanCloud 迁移而来,44 条历史留言无损保留): ``` 浏览器 ──HTTPS──> Cloudflare ──> nginx ├── / 静态前端(原生 HTML/CSS/JS,无构建步骤) └── /api/ Spring Boot 3 评论后端(127.0.0.1:8083) └── MySQL 8(库 iambeyouare) ``` ## 目录结构 | 目录 | 说明 | |---|---| | `frontend/` | 静态前端:`index.html` 便签墙 + `comments.js` 自研评论组件(楼中楼、B 站表情、粉彩头像、防 XSS) | | `backend/` | Spring Boot 3.5 / Java 21 评论后端:分页楼中楼、蜜罐 + IP 限流、管理删除、Flyway 建表 | | `tools/lc-migrate/` | LeanCloud(Valine) → MySQL 迁移工具(Python 标准库,迁移已完成,留作存档) | | `deploy/` | 部署资产:API 契约、nginx 配置、systemd 单元、一键部署脚本、环境变量模板 | ## 本地开发 ```bash # 后端(dev profile 用 H2 内存库,无需装 MySQL) cd backend mvn spring-boot:run -Dspring-boot.run.profiles=dev # 前端:让后端顺便伺服静态文件(同源免跨域),浏览器打开 http://127.0.0.1:8083/ mvn spring-boot:run -Dspring-boot.run.profiles=dev \ -Dspring-boot.run.arguments=--spring.web.resources.static-locations=file:../frontend/ ``` 跑测试:`cd backend && mvn test`(21 个 MockMvc 集成测试)。 ## 一键部署 本地(Windows)直接执行项目根目录的脚本,自动完成 推送 → 远程部署 → 线上验证: ```powershell .\deploy.ps1 ``` 它会先推送 master 到 Gitee,再 SSH 登录服务器执行 `deploy/server-deploy.sh`(`git reset --hard origin/master` → `mvn package` 含测试 → 替换 jar 并重启 `iambeyouare-backend` → rsync 前端到 `/var/www/iambeyouare` → 健康检查),最后对两个域名做页面 + API 验证。任一步失败即中止。 也可以登录服务器手动执行:`bash /opt/iambeyouare/repo/deploy/server-deploy.sh` 首次搭建(目录约定、systemd、nginx、数据库、证书)见 [deploy/DEPLOY.md](deploy/DEPLOY.md)。 ## 注意事项 - **改了 `frontend/comments.js` 必须同步更新 `index.html` 里 `