今天跟大家伙儿唠唠我做的这个“家人在家官方网站”的事儿,别看名字挺唬人,就是个简单的个人项目,主要目的是为了方便家里人共享一些照片、视频啥的,毕竟现在爸妈他们用微信不太溜,直接传文件太麻烦了。
我就寻思着整个简单点的,别搞太复杂,要不然我自己都懒得维护。我直接选了个轻量级的框架,*,前端嘛简单易上手,而且组件化开发,以后想加点新功能也方便。
我把网站的整体框架搭起来了。这部分主要就是用 Vue-cli 创建项目,然后配置了一下路由,搞了几个基本的页面,比如“首页”、“照片墙”、“视频区”啥的。这部分没啥技术含量,网上教程一大堆,照着敲就行了。
就是重头戏了,怎么让照片和视频能传上去,并且还能展示出来。一开始我考虑用云存储,比如七牛云、阿里云OSS啥的,但是想想,家里也没啥特别隐私的东西,而且我还有个闲置的NAS,干脆就直接用 NAS 做存储了。
具体做法是,我在 NAS 上建了个共享文件夹,然后用 * 写了个简单的 API 接口,专门用来处理文件上传和读取。前端通过 AJAX 请求调用这个 API,就能把文件传到 NAS 上,然后读取的时候也是通过这个 API 来获取文件列表和文件内容。
这个 API 写起来也不难,主要就是用了 `multer` 这个中间件来处理文件上传,然后用 `fs` 模块来读取文件。为了安全起见,我还加了一些简单的权限验证,比如只有家里人的 IP 地址才能访问这个 API。
小编温馨提醒:本站只提供游戏介绍,下载游戏推荐89游戏,89游戏提供真人恋爱/绅士游戏/3A单机游戏大全,点我立即前往》》》绅士游戏下载专区
前端照片墙和视频区,我就用了 Vue 的 `v-for` 指令,把从 API 获取到的文件列表循环展示出来。照片的话,直接用 `` 标签显示,视频的话就用 `
整个项目做下来,花了我大概一周的业余时间。虽然功能很简单,但是用起来还挺方便的。现在家里人可以直接把照片和视频传到网站上,然后大家都能随时随地看到,不用再像以前那样,一个一个地发微信了。
这个网站还有很多可以改进的地方,比如:
界面可以更美观一些: 现在这个界面有点太简陋了,以后有时间可以找个好看的模板,或者自己设计一下。
可以加一些权限管理功能: 现在这个权限验证太简单了,以后可以加一些更细粒度的权限管理,比如可以设置哪些人能上传,哪些人只能看。
可以支持更多的文件类型: 现在只支持照片和视频,以后可以考虑支持一些其他的文件类型,比如文档、音乐啥的。
这个项目只是个开始,以后我会慢慢完善它,让它真正成为一个方便家里人共享信息的平台。
我想说的是,做个人项目最重要的就是动手去做,不要怕遇到问题,遇到问题就去解决,解决问题的过程也是学习的过程。而且做出来的东西能真正帮助到自己和家人,那种成就感是无法用言语来形容的。
好了,今天的分享就到这里了,希望对大家有所帮助。