DocHub.V2.4开源文库免费下载
逆流成河
阅读:525
2023-06-20 21:33:02
评论:0
DocHub 文库系统是使用 Go 语言的 Beego 框架开发实现的类百度文库解决方案,使用对商业友好的 Apache2.0 开源协议进行开源,支持 office (全部类型)、PDF、TXT、EPUB、MOBI 等多种文档格式的在线阅读浏览。
高清图看这里: https://www.processon.com/view/link/5b29103ae4b0d4a19d7c67f1
高清图看这里:https://www.processon.com/view/link/5cd63503e4b0bab9097b9ef2
前端技术方案主要用

升级日志
- 修复
group by title
查询文档列表失败的问题: - https://stackoverflow.com/questions/34115174/error-related-to-only-full-group-by-when-executing-a-query-in-mysql
- 导航栏标识大小写导致选中的时候无法高亮的问题
- 修复上一版本增加虚拟目录导致的 sitemap 找不到的问题
- 面包屑导航链接不正确的问题
- 文档上传过程中临时文件命名出现重名的问题
- 后台配置了备案号前台无法显示的问题 (不知道是什么时候写死在模板里了)
- 是否允许上传重复文档(管理后台 -> 系统设置 进行设置)
- 每天凌晨 2:00 自动更新站点地图 (sitemap)
相关链接
源码仓库
下载地址
https://gitee.com/truthhun/DocHub/releases文档地址
https://www.bookstack.cn/books/dochub演示站点
文库之家:https://www.wenkuzhijia.cn手机端和 PC 端都可以直接点开访问,手机用户会自动显示为手机版。
重构规划
DocHub 项目之所以在码云和 GitHub 收到的 star 比较高,那是因为项目切中了大多人的需求,以及前端页面设计的比较简洁好看,且用户体验也尚可。 但真实情况却是代码写的很渣,这个真不是自谦。尽管我已经尽了很大努力去优化,但是一个不合理的数据库设计以及不规范的代码写作,导致了后续功能扩展和代码维护困难重重。 所以,还是决定对项目全部推翻了进行重构。现有分支仍会持续维护和修复 Bug,但不会再增加新功能。重构会在新分支上进行,对于不兼容问题,届时会出一个迁移工具,以帮助从旧版迁移到重构的新版本上来。服务架构
完整的服务架构图如下,按 100 万的 IP 访问量来进行设计的。
- DocHub 将采用前后端完全分离的技术方案,一套 API 接口,供 PC 前端和移动端 APP 和小程序使用
- 文档转换服务是比较耗费服务器资源的,属于计算密集型,该功能将独立成一个文档转换服务
moredoc
(也就是魔刀
),以便可以独立部署到另外的服务器上 CloudStore
是一个云存储服务中介,支持将文档等文件数据存储到各大云存储上。
moredoc(魔刀文档转换服务)

moredoc
的技术构成和转换原理,如上图所示。
该服务将支持全部 office 文档类型和 epub 等文档类型转为可在前端页面展示的图片以提供用户阅读。
现有 dochub
文库系统目前文档转换依赖的软件基本上就是上面这些了(除了 pdftohtmlex
)。
由于这部分软件的安装部署,对于小白用户以及不同系统用户来说,比较复杂,所以整成 moredoc
文档转换服务之后,整个都将打包到 docker
容器中,moredoc
只提供文档转换的 resetful 接口给 dochub
进行调用。
技术栈

Vue
,考虑到 SEO
的需要,配合 Nuxt
使用,UI 使用 ElementUI
。
移动端使用 uni-app
的解决方案,一次开发,多端分发。
后端选用 Go
语言,至于群友问为什么不用 PHP
和 Python
…
我也是做过三年 PHP 开发的,好不容易跳脱出来,又想骗我回去,怎么可能…Python
的话,在公司也就写写脚本做做运维,并没用真正实现过一个产品的开发,对这门语言还是不熟练。
所以综合考虑选用 Go 语言,Go 语法简洁,性能和开发效率都很高,编译成二进制可执行文件之后,直接丢到服务器就能跑了,还不需要安装环境依赖,部署简单。
源码下载地址:
点击这里下载
高速下载地址: 声明
温馨提示:
欢迎您来到小站
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;
2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;
3.作者投稿可能会经我们编辑修改或补充;
4.网页广告仅为维持服务器 请谅解;
5.QQ:1103606138 无其它联系方式。