一、简介
本网站是不凉域网络技术工作室的后台管理网站和旗下的网站(目前只有Java听潮阁),后台管理网站具有统计旗下所有网站的数据功能,并且能直接对旗下所有网站进行管理。
Java听潮阁网站是一个Java书籍网站,名字拟取自《雪中悍刀行》的听潮亭,剑神李淳罡(天不生我李淳罡,剑道万古如长夜)在听潮亭待了二十年,出来游历后实力直上陆地天人境,希望所有Java技术人员历经乏味的学习后都能有所突破,该项目主要具有微信支付、预览pdf电子书籍和下载pdf书籍的功能,祝各位码运昌隆!
二、项目搭建
1、MySQL数据库表
在sql文件夹中,包含有blywl.sql的数据库脚本,数据编码为utf-8,可自行导入navicat中。

一共有9个数据库表,每个表中都有一些初始数据,有需要的可自定义。

其中book_info中的书籍url数据是将电子书pdf文件数据上传到minio中,获取其文件访问路径,java电子书籍可以百度查找或者爬取,这里附带了几本pdf电子书可以测试用,还附带了使用python3.6截取pdf的脚本文件。

2、后端项目

在每个模块的yaml配置文件中需要修改自己的nacos配置中心地址。

导入nacos配置文件,其中的各个属性参数可以自行修改。

3、前端项目
两个都是Vue2项目,一个是后台管理的ui,一个是Java听潮阁的ui

三、后台管理系统
后台管理系统只有管理员可以登录,不仅能统计各个子网站数据,还能对各个子网站数据进行管理、处理和统计。

1、后端技术架构
(1)依赖版本
jdk | MySQL | spring-boot | spring-cloud-alibaba | spring-cloud-alibaba-dependencies | nacos-client | java-jwt |
---|---|---|---|---|---|---|
1.8 | 8.0 | 2.6.13 | 2021.0.5.0 | 2.2.0.RELEASE | 1.4.1 | 3.18.2 |
hutool-all | mybatis-plus | spring-cloud-starter-openfeign | spring-cloud-loadbalancer | minio |
---|---|---|---|---|
5.7.20 | 3.4.2 | 3.1.5 | 3.1.5 | 7.0.2 |
org.apache.poi | wechatpay-apache-httpclient |
---|---|
4.1.2 | 0.3.0 |
(2)功能架构
后台管理系统的功能架构:

2、前端开发
(1)依赖版本
node | npm | vue | element-ui | vue-router | axios |
---|---|---|---|---|---|
16.13.2 | 8.1.2 | ^2.6.14 | ^2.15.13 | ^3.5.1 | ^1.4.0 |
(2)项目展示

四、Java听潮阁

1、后端技术架构
(1) 依赖版本
jdk | MySQL | spring-boot | spring-cloud-alibaba | spring-cloud-alibaba-dependencies | nacos-client | java-jwt |
---|---|---|---|---|---|---|
1.8 | 8.0 | 2.6.13 | 2021.0.5.0 | 2.2.0.RELEASE | 1.4.1 | 3.18.2 |
hutool-all | mybatis-plus | spring-cloud-starter-openfeign | spring-cloud-loadbalancer | minio |
---|---|---|---|---|
5.7.20 | 3.4.2 | 3.1.5 | 3.1.5 | 7.0.2 |
spring-cloud-starter-gateway | wechatpay-apache-httpclient |
---|---|
3.1.6 | 0.3.0 |
(2) 功能架构
Java听潮阁系统的功能架构:

(3) 技术栈架构
SpringBoot+MySQL+MyBatis-plus+MD5加密+JWT+Redis+Nacos+gateway+Feign+Sentinel+Minio+微信支付Native的apiV3+QQ邮箱发送验证码

2、前端开发
(1)依赖版本
node | npm | vue | element-ui | vue-router | axios |
---|---|---|---|---|---|
16.13.2 | 8.1.2 | ^2.6.14 | ^2.15.13 | ^3.5.1 | ^1.4.0 |
core-js | vue-pdf | vue-qriously |
---|---|---|
^3.8.3 | ^4.2.0 | ^1.1.1 |
(2)项目展示
1.PC端

2.App端

五、项目部署
打包成jar包后使用linux系统的docker容器部署项目,详细可见:Docker部署jar包的方式及详解_docker build jar-CSDN博客
1、打包jar注意点
由于此项目分为多个模块,而且各模块之间有一定的关联,打包成jar包时要注意,必须先clean清除一遍缓存,再把共有模块common打包package后引入各个项目中,然后install父模块,再对子模块package,否则会出现 " 程序包XXX.XXX不存在 " 的情况。

当然,如果所有步骤都没问题,编译正常,就是运行和打包时识别不到某个包,这就是IDEA本身的问题了(特别是2023以前的版本常有),需要退出手动删除.idea文件夹后重新打开。

打包好后要先cmd运行一遍再去服务器部署,因为已经使用了nacos远程配置,可能会出现cmd编码和nacos远程配置文件的编码冲突,因此,cmd运行时要统一编码:
java -jar -Dfile.encoding=utf-8 ***.jar
2、docker部署jar注意点
其他的项目部署查看 Docker部署jar包的方式及详解_docker build jar-CSDN博客 即可,但是需要注意的是微信支付模块,它需要引入pem密钥文件,所以它的Dockerfile文件得多加一行引入密钥文件。

拒绝白嫖,需要的可以+V: buliangshuai01033