# 开发历程

# 萌生想法

当我从事 Web 开发工作第一个年头时(2017年上半年),就开始有了写这个项目的想法了。原因呢,我平日里喜欢看电影,看完还喜欢收藏,有些松鼠囤积症,后来就萌生了建个本地影视库的想法,后续在了解到自建家庭 nas 的成本后,我把这想法搁置了,打算先建个本地影视信息库吧,这个只要花时间,不用花啥钱就能做。

# 项目起步

当时正好是微信小程序起步的时候,国内的豆瓣网与时光网就做影视资料库的,而它们都还未涉足微信小程序,于是我就用豆瓣网的公开 api ,历时半年,开发了一个叫 冰橙电影 的小程序,并在微信上架了,源码地址 https://github.com/NameLi/wechat-app-movie。由于小程序的审核愈加严格,个人开发者不能涉及这块领域,所以最终我在服务器到期后,停掉了这个无法更新的小程序。
当然,非软件专业的我,凭借着这个小程序,找到了一份在当时看来还不错的前端开发者工作。

# 再起步

中间大概停了有半年时间吧,我觉着我前端开发的项目经验还是不足,我又拾起了这个项目,既然小程序无法运营,那就用 Vue 技术栈去实现个 WebApp 吧,名字叫 ice_orange_movie_h5 即 冰橙电影H5版。限制于当时的技术能力(纯前端开发经验只有半年),代码质量挺低的,在经过数次优化后,我又搁浅了这个项目,做其它项目了(期间使用有道云笔记,感觉功能不错,但文件夹目录结构不喜欢,就做了个类似的网页版自用,后来又增加了一些不实用的功能,前前后后折腾了大半年吧)。

# 插曲

时间来到了 2019 年年末,疫情来了。那个春节,在家百无聊赖,读了一周 Vue 源码,受不了了,我又去折腾微信小程序,打算写一套小程序的组件库提升下自己(为什么不是 vue 的组件库?我也忘了,大概是我不死心,还是想做个影视信息类的小程序吧)。前前后后又折腾了两个多月(还是要在家远程上班的,只是晚上与周末也无法出门,就在家折腾这些),写了三十来个组件吧,之后又写了组件示例小程序并在微信小程序上架了。组件库名称叫 mind-ui ,要说这名字的意义吧,好像也没啥,大体是有思想的、聪明的 UI 吧。
在做完这个组件库与示例小程序后,总得有个使用文档吧?于是我又着手写文档,比较一番后,选择了 vuepress 工具。这工具用起来是挺方便的。大约是半个月吧,文档写好了。于是我又买了台云服务器,把文档放了上去。
等等,总觉得少了点什么,如何让用户在不打开小程序的情况下,能边看文档边预览呢?再做个 vue 版的组件库!说干就干,ctrl + cv 大法好,小程序代码一复制,两者只相差亿点点细节,改吧。自此,我又折腾了个把月时间,实现了一个低质量代码的 vue 移动端组件库。自此,小程序的文档有了实时的预览功能,并且两边是能联动的,点组件会跳到对应文档,点文档菜单会进入对应的组件预览。
这一年,已是我作为前端开发者的第二个年头。

# 重拾项目

mind-ui-vue 发布后,看着往日的 Vue 版本的影视 WebApp,我又想着优化它了。折腾几天后,我把它丢进了回收站,并建了个 ice_orange_movie_h5-v2 项目。
从建项目到现在,已经两年多的时间了,直到今年的5月1日才开源出来一个测试版。可能你会问,这么久时间,就写了这?其实这个项目的内容还是蛮多的。

  • 数据的整理:这个项目可能40%的时间,花在了数据整理与维护上了。
  • 管理端的开发:该项目还有个 后台管理端 (opens new window) ,通过这个后台去管理这些数据。这个后台管理也是在3年前就开始做了,直到最近才初步完善它。当然,最近也开源了出来。
  • 数据接口的开发:这么多丰富的数据,网上很难找到来源,根据前端展示的需要,我对自己整理的数据,开发出了相关的接口,一个是给浏览器客户端使用的 70+ 个接口;一个是给管理端使用的 240+ 个接口。接口使用 phplumen 框架进行开发,数据库为 MySQL,期间也重构过一次。
  • 接口文档的开发:接口有了,但还缺少个接口文档,实际我的接口连注释都没多少。于是我在补全接口注释后,因为未找到可本地化部署且界面简洁美观、使用方便的接口文档工具,就自己着手实现了接口管理工具。目前项目接口文档在自己的 https://doc.ixook.com/home (opens new window) 网站上,就测试便捷方便来讲,我感觉还是挺不错的。

# 写在最后

这两年,前端的发展挺快的,期间折腾了段时间 electronflutter,但也只是玩玩,并未花多少时间在上,而 vue 已经大版本升级到了 3.0 了,TypeScript 的发展势头也猪突猛进。但这些我却都还未曾涉及。下半年时间,我还是会将精力主要放在 慕影网 项目上吧,把缺的地方补齐了。也会留下一点时间,在学习新东西上面。

最后,希望疫情,能早日结束吧。

上次更新: 1/31/2023, 6:11:55 PM
示例展示,因PC端无touch事件,请在手机上进行浏览