看看人家那高仿百度文库系统,那叫一个优雅
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猿 还有更多优质项目系统学习资源,欢迎分享给其他同学吧!
最后给读者整理了一份BAT大厂面试真题,需要的可扫码回复“面试题”即可获取。
「顶级架构师」建立了读者架构师交流群,大家可以添加小编微信进行加群。欢迎有想法、乐于分享的朋友们一起交流学习。
扫描添加好友邀你进架构师群,加我时注明【姓名+公司+职位】
版权申明:内容来源网络,版权归原作者所有。如有侵权烦请告知,我们会立即删除并表示歉意。谢谢。
猜你还想看
SpringBoot集成WebSocket,实现后台向前端推送信息