一个很酷的高仿百度文库系统
The following article is from 程序员小乐 Author 小乐
推荐关注
责编:猿哥 | 来源:程序员小乐 整理
上次是谁要的高仿百度文库系统啊,猿哥帮你找到了。
📚 项目介绍
本项目系统是参考百度文库,使用Beego(Golang)开发的开源文库系统。
主要技术栈
后端
Go语言框架Beego
前端
基于Bootstrap的前端框架Flat-UI
数据库
MySQL,数据存储
功能特点
文档在线阅读
DocHub
文库通过svg
矢量图来实现文档阅读体验的,我知道的文库站点中,新浪爱问是通过png
等图片提供文档阅读体验的。扩展:接私活!
SVG
相比png
、jpeg
等图片格式有很大的优势,至少放大不会失真,而且与JPEG 和 GIF 图像比起来,svg尺寸更小,可压缩性更强,DocHub
通过gzip,将svg文件压缩,一般情况下,能减少70%的文件大小,比如200kb的svg,gzip压缩后,只有60kb左右的大小。
使用svg,大大提升了加载速度,优化了内容的阅读体验。
office文档在线阅读
这个需要经过两层转化:
office --> pdf --> svg之前有考虑过office文档不经过转化,然后直接在线浏览的,但是方案比较复杂,部署不容易,至少我没部署成功过...
PDF文档在线阅读
将PDF文档通过pdf2svg
转化,提供在线阅读
没有使用mozila的
pdf.js
作为PDF文档阅读的实现方案,主要是我没有解决pdf.js
分片分页加载的问题,每次都需要将整个PDF文档下载下来才能提供阅读。如果文档大的话,用户需要等待好长时间,而且也比较耗费服务器带宽资源。另外,搜索公众号Java后端栈后台回复“私活”,获取一份惊喜礼包。
mobi、epub、chm文档在线阅读
使用calibre
将文档转成PDF,然后pdf再转svg。
目前该功能还没实现,epub、mobi等文档,现在还是暂时不能在线阅读
积分功能
用户签到、上传分享文档,获得积分奖励;用户下载文档,需要消耗积分
阅读文档水印功能
在提供阅读的svg文件上添加水印
首页
文档阅读页
用户中心
管理后台
搜索结果
项目源码,怎么领取?
扫码下方二维码,后台回复【文库】即可获取所有系统
在 GitHub猿 还有更多优质项目系统学习资源,欢迎分享给其他同学吧!
猿哥个人微信
添加猿哥个人微信即送一份惊喜大礼包
→ 技术资料共享
→ 技术交流社群
最近,GitHub猿建了一个「GitHub猿交流群」,欢迎大家一起交流优秀开源项目,也可以宣传自己的开源项目,在 「GitHub猿」公众号后台回复【加群】邀请你入群。