[lwptoc]
Novel-CMS是在小说精品屋的基础上,去除了漫画和弹幕模块,专注于小说,是一个多端(PC、WAP)阅读、功能完善的原创文学CMS系统,包含了作家专区供原创作者上传小说,支持会员充值、订阅模式、新闻发布和实时统计报表等功能。提供了爬虫工具定义规则多线程采集任意小说网站数据作为网站测试小说数据,新书自动入库,老书自动更新。
v3.0.4发布了,主要改进包括:
1. 爬虫管理系统session默认超时时间设置为1天,解决由于爬虫规则编写时间过长导致的提交失败问题。
2. 优化orange主题手机端首尾章节跳转逻辑。
演示站点
项目介绍
Novel-CMS是在小说精品屋的基础上,去除了漫画和弹幕模块,专注于小说,是一个多端(PC、WAP)阅读、功能完善的原创文学CMS系统,包含了作家专区供原创作者上传小说,支持会员充值、订阅模式、新闻发布和实时统计报表等功能。提供了爬虫工具定义规则多线程采集任意小说网站数据作为网站测试小说数据,新书自动入库,老书自动更新。
小说精品屋-plus重新进行了数据库设计、代码重构和功能增强,提升了程序整体的可读性和性能,增加了很多商用特性。主要增强如下:
- 数据库重新设计,结构调整。
- 服务端代码重构,MyBatis3升级为MyBatis3DynamicSql。
- 移动站与PC站站点分离,浏览器自动识别跳转。
- PC站UI更新。
- 新闻发布模块。
- 排行榜。
- 小说评论模块。
- 阅读主题模块。
- 作家专区。
- 充值。
- 订阅。
- 后台管理系统。
- 爬虫管理系统。
项目结构
novel-plus -- 父工程
├── novel-common -- 通用模块
├── novel-front -- 前台门户系统
├── novel-crawl -- 爬虫管理系统
└── novel-admin -- 后台管理系统
技术选型
技术 | 说明 |
---|---|
SpringBoot | Spring应用快速开发脚手架 |
MyBatis | 持久层ORM框架 |
MyBatis Dynamic SQL | Mybatis动态sql |
PageHelper | MyBatis分页插件 |
MyBatisGenerator | 持久层代码生成插件 |
Sharding-Jdbc | 代码层分库分表中间件 |
JJWT | JWT登录支持 |
SpringSecurity | 安全框架 |
Shiro | 安全框架 |
Ehcache | Java进程内缓存框架(默认缓存) |
Redis | 分布式缓存(缓存替换方案,默认关闭,一行配置开启) |
ElasticSearch | 搜索引擎(搜索增强方案,默认关闭,一行配置开启) |
RabbitMq | 消息队列(流量削峰,默认关闭,一行配置开启) |
OSS | 阿里云对象存储服务(图片存储方式之一,一行配置即可切换) |
FastDfs | 开源轻量级分布式文件系统(图片存储方式之一,一行配置即可切换) |
Redisson | 实现分布式锁 |
Lombok | 简化对象封装工具 |
Docker | 应用容器引擎 |
Mysql | 数据库服务 |
Thymeleaf | 模板引擎 |
Layui | 前端UI |
PC站截图
手机站截图
爬虫管理系统截图
#### 安装步骤
##### 数据库安装:
1. 安装MySQL软件。
2. 修改MySQL`max_allowed_packet `配置(建议100M)。
3. 新建数据库,设置编码为utf8mb4。
4. 执行doc/sql/novel_plus.sql脚本文件。
##### 爬虫管理系统安装:
1. 修改novel-common模块下application-common-dev.yml配置文件中的数据库配置。
2. 修改novel-crawl模块下application.yml文件中的管理员账号密码。
3. 启动程序,打开浏览器,默认8081端口访问。
4. 选择已有或新增爬虫源(支持自定义爬虫规则),点击`开启`按钮,开始爬取小说数据。
##### 前台小说门户安装(jar包形式部署时,需要复制templates文件夹到jar文件的相同目录下):
1. 修改novel-common模块下application-common-dev.yml配置文件中的数据库配置。
2. 修改novel-front模块下application-website配置文件中的网站信息。
![mini-code](https://s3.ax1x.com/2020/12/28/royaex.png)
3. 修改novel-front模块下application.yml配置文件中的模版名为你需要使用的模版名(templates文件夹下的模版文件夹名)(内置orange和dark两套模版)。
![mini-code](https://s3.ax1x.com/2020/12/26/r4uGM6.png)
4. 启动程序,打开浏览器,默认8080端口访问。