火星一云/sparkCloud
这是一个类似于nas的个人项目,布置好服务器后,可以在线观看视频,可以实现文件的上传和下载。
技术
前后端分离的项目。前端是spa应用,使用react全家桶完成,分别适配了pc端和移动端,用videojs实现视频的播放。后端用nodejs完成,主要用express,数据库用mongodb。
使用
-
安装nodejs,运行
npm i
(推荐使用cnpm i)。 -
安装mongodb(请按照默认配置安装即可,不要自定义,否则后面很可能会出问题),安装完毕在命令行运行
mongod
。 -
这一步是说明如何放置想要添加到服务器的视频文件,稍显繁琐,举两个例子来说明。
- 例如:《进击的巨人》,这是一部动漫,共有4季,它的分类标签可以是机战、热血、战斗、致郁(视频的分类标签在最后有说明)。
在D盘(或者其它盘中,但必须是磁盘根目录)新建 video 和 file 文件夹,在video文件夹里新建 movie、animation、tv 三个文件夹。
在animation文件夹中新建名叫 [进击的巨人]{机战}{热血}{战斗}{致郁} 的文件夹(括号都是英文格式),在其中新建名为 1、2、3、4 的四个文件夹作为每一季的文件夹,再分别放入每一季的视频,注意视频格式必须是mp4或者是m4v。
在项目的 public/imgs/imgs/animation 文件夹中放入名为 进击的巨人.webp 的海报图片。 - 再例如:《黑客帝国》,这是一部电影,它的分类标签可以是动作、科幻、爱情、灾难。
在上一个例子中已经建立了一些文件夹,不必重复建立,现在只需要在movie文件夹中新建名为 [黑客帝国]{动作}{科幻}{爱情}{灾难} 的文件夹,在其中新建名为 1 的文件夹,再放入视频文件。如果想把黑客帝国三部曲都放在一起,也都只放在 1 文件夹里就好,无需再新建文件夹。
在项目的 public/imgs/imgs/movie 文件夹中放入名为 黑客帝国.webp 的海报图片。
- 例如:《进击的巨人》,这是一部动漫,共有4季,它的分类标签可以是机战、热血、战斗、致郁(视频的分类标签在最后有说明)。
-
在项目根目录下打开命令行,执行
node utils/scandir.js
-
然后执行
npm start
或者node server.js
开启服务器。 -
分类标签
- 电影(movie)的分类标签:动作、科幻、爱情、奇幻、喜剧、恐怖、冒险、灾难、现实、武士、西部。
- 动漫(animation)的分类标签:科幻、机战、剧场、后宫、搞笑、热血、日常、战斗、推理、治愈、致郁、校园、原创、改编
- 电视剧(tv)的分类标签:国产、欧美、日韩