Disk日记3

乐云一
  • 开发日记
  • 开发日记
About 867 wordsAbout 3 min

Disk日记3

前言

如果你是看了本Disk的日记1和2的人,请你忘记他:(

重构

在2022年因为脑袋抽了的原因把这个项目丢掉了,到现在,因为一些资料的传输繁琐问题,感叹到:为什么我没有自己的网盘;

而突然想起,好像自己有这么一个项目,因此重新开启重构;

过程中

每一次的重构就真的是自己技术在这些年进步的实质展示:

因为这两年写框架,搭建底层模式,使用了许许多多的设计模式;

再看2年前的代码,感触很多,比如2年前竟然直接考虑了本地硬盘这一单独路线,非常简单的MVC流程:

  1. 页面上传,调接口
  2. 后台接收,保存文件到本地
  3. 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

完结

云盘在定义之初就是一个很简单的项目,更何况在两年前脑中就已经走过一遍设计流程;

最终这个云盘有了我想要的所有功能:

  1. 文件夹的灵活管理:跳转,返回,支持页面回退按钮...
  2. 文件的灵活管理:删除,类型,查看详情,下载...
  3. 上传:暂停,断点续传,秒传,上传中可随意切换文件夹...
  4. 简洁直观,如GIF图所示,一看就令人很想用是吧...

到目前云盘也已经在服务器中安全部署,稳定使用

最终

本DISK网盘项目到此终章了,在往后迭代,无非就是硬加用户管理,资源分享这种不利已使用的功能;

为此我的网盘项目END

Last update:
Contributors: LeYunone
Comments
  • Latest
  • Oldest
  • Hottest
Powered by Waline v2.14.7