Disk日记3
Disk日记3
前言
如果你是看了本Disk的日记1和2的人,请你忘记他:(
重构
在2022年因为脑袋抽了的原因把这个项目丢掉了,到现在,因为一些资料的传输繁琐问题,感叹到:为什么我没有自己的网盘;
而突然想起,好像自己有这么一个项目,因此重新开启重构;
过程中
每一次的重构就真的是自己技术在这些年进步的实质展示:
因为这两年写框架,搭建底层模式,使用了许许多多的设计模式;
再看2年前的代码,感触很多,比如2年前竟然直接考虑了本地硬盘这一单独路线,非常简单的MVC流程:
- 页面上传,调接口
- 后台接收,保存文件到本地
- dao接口记录数据
到现在,将云盘类型变成可扩展的,通过配置文件或是SPI
机制让代码变成配置的环境;
然后再将每种云盘类型的公共方法抽出,让一套MVC流程变得更抽象且通用扩展;
由此,直接将2年前的几乎所有代码都删掉了,包括表设计,包结构,接口等等。
不过这种思想上凌驾两年前自己的重构,是一个令人很愉悦的事
遇到的坑
意外的,在后台方面基本都是一次通,文件管理,分片,上传,业务等等都令人感到害怕的没有bug;
相反的,在前端开发上真的是走一步,停一天;
好在公司有一个前端的哥们私底下的帮忙,让我这种纯API
调用工程师写出了一个让人用得下去的页面:
但是在页面开发上遇到好多好多坑:
- Vue-uploader源码问题:https://github.com/simple-uploader/vue-uploader/issues/229
- 子路由跳转
- Vue3不兼容插件问题
- ...
很多都是对Vue知识不了解,毕竟是完全没有学过相关知识,而是直接查看官方API文档(百度+Gpt+真人一对一答问)
但是Vue-uploader的源码问题,几乎让我抓狂,甚至自我怀疑到了凌晨1点还未能解决:
最终在前端同事的一步步debug调试中,发现的源码bug
完结
云盘在定义之初就是一个很简单的项目,更何况在两年前脑中就已经走过一遍设计流程;
最终这个云盘有了我想要的所有功能:
- 文件夹的灵活管理:跳转,返回,支持页面回退按钮...
- 文件的灵活管理:删除,类型,查看详情,下载...
- 上传:暂停,断点续传,秒传,上传中可随意切换文件夹...
- 简洁直观,如GIF图所示,一看就令人很想用是吧...
到目前云盘也已经在服务器中安全部署,稳定使用
最终
本DISK网盘项目到此终章了,在往后迭代,无非就是硬加用户管理,资源分享这种不利已使用的功能;
为此我的网盘项目END