首页 璞玉游戏攻略 正文

恋爱关系官网:情感问题咨询,专家为你解答!

今天跟大家伙儿唠唠我最近搞的一个“恋爱关系官网”项目,纯属个人实践,记录一下踩过的坑和一些心得。 事情是这么开始的,跟对象处了好几年了,总感觉缺点仪式感?好像也不全是。就琢磨着能不能整个小玩意儿,记录记录咱俩的点点滴滴,以后老了也能翻出来乐呵乐呵。 需求分析 ...

今天跟大家伙儿唠唠我最近搞的一个“恋爱关系官网”项目,纯属个人实践,记录一下踩过的坑和一些心得。

事情是这么开始的,跟对象处了好几年了,总感觉缺点仪式感?好像也不全是。就琢磨着能不能整个小玩意儿,记录记录咱俩的点点滴滴,以后老了也能翻出来乐呵乐呵。

需求分析

我得明确我要不能上来就瞎搞,那样肯定费力不讨我列了个清单:

  • 相册功能: 必须的,放咱俩的照片,按时间排序。
  • 小编温馨提醒:本站只提供游戏介绍,下载游戏推荐89游戏,89游戏提供真人恋爱/绅士游戏/3A单机游戏大全,点我立即前往》》》绅士游戏下载专区

  • 纪念日: 重要的日子,比如认识纪念日、生日啥的,能倒计时或者显示已经过了多少天。
  • 共同回忆: 类似博客,记录咱俩一起做过的事儿,去过的地方。
  • 留言板: 方便互相留言,说点悄悄话。

技术选型

我本身是做前端的,后端了解一些,但不精。为了快速实现,我决定前后端都自己来。前端用 *,后端用 * + Express。数据库嘛简单点,直接用 MongoDB。服务器就租了个云服务器,自己折腾。

开始动手

1. 搭建后端:

先搭了个基本的 * 项目框架,用 Express 处理路由,Mongoose 连接 MongoDB。然后写了几个 API:

  • 上传照片
  • 获取照片列表
  • 创建/获取纪念日
  • 创建/获取回忆录
  • 创建/获取留言

这块儿没啥难度,就是常规的 CRUD 操作。中间遇到个问题是图片上传,一开始直接把图片存到数据库里,后来发现太占空间了,效率也低。就改成把图片存到服务器的硬盘上,数据库里只存图片路径。

2. 前端开发:

* 这块儿比较熟,搭了个基本的页面结构,然后用 Axios 调用后端 API。主要就是处理数据的展示和交互。相册功能做了个瀑布流布局,看着舒服点。纪念日那块儿用了个现成的倒计时组件,改了改样式。回忆录和留言板就是普通的列表展示和表单提交。

遇到的坑

1. 跨域问题:

前端和后端不在同一个域名下,浏览器会阻止跨域请求。解决办法是在后端设置 CORS 头,允许前端跨域访问。这个网上搜一下教程很多,照着做就行。

2. 图片上传大小限制:

一开始没注意,直接上传大图,结果后端报错。查了下是 * 默认限制了请求体的大小。需要在 Express 中间件里设置 `limit` 参数,允许上传更大的文件。

3. 部署问题:

把项目部署到服务器上,一开始没配置各种报错。后来查了下资料,发现是 * 应用需要用 PM2 这样的进程管理工具来守护,保证应用崩溃后能自动重启。还有就是 Nginx 反向代理,把 80 端口的请求转发到 * 应用的端口上。

最终效果

虽然界面有点简陋,功能也比较简单,但基本满足了我的需求。把咱俩的照片都传了上去,设置了几个重要的纪念日,还写了几篇回忆录。对象看了之后挺开心的,说我用心了。这就够了。

这回实践让我对前后端开发有了更深的理解。虽然都是些基础的东西,但真正做起来还是会遇到各种各样的问题。解决问题的过程也是学习的过程。以后有机会再折腾点更有意思的东西。