满心记 我在人间混日子

冰激凌内容管理系统

不知道是否你也有这种感觉,一开始只想搭一个博客,但是过一段时间后,又想搭一个论坛,然后再过段时间后又想整一个商城一类的,我就是这样的人,喜欢折腾,但是也不会轻易放弃,只是说更新的周期会随着时间慢慢变长

如果你想搭建我上面所说的东西之外,还想借鉴学习一下,那么下面我推荐的这一套源码(冰激凌内容管理系统),绝对适合你

先上截图

什么是冰激凌内容管理系统

是一款实现MacWK资源站,社区图片视频圈子CMS,支持网页端移动端小程序适合做:资讯商城,社区论坛,聊天交友 社区,博客,圈子,论坛,图片,视频,社交

可以说是一款综合性比较强的项目了,该项目一直在更新中,目前有一些问题也在持续处理,不过整体架子没什么问题

架构

基于 Spring Boot + Vue 前后端分离的内容管理系统

后端

基于 JDK8 开发,8以上要添加依赖:

<dependency>
    <groupId>javax.xml.bind</groupId>
    <artifactId>jaxb-api</artifactId>
    <version>2.3.0</version>
</dependency>

目录结构

iceCMS/
├── HELP.md
├── IceCMS-java.iml
├── IceCMS-main             --java主程序启动入口
│   ├── IceCMS-main.iml
│   ├── main.iml
│   ├── pom.xml
│   ├── src
│   └── target
├── IcePay-ment             --java支付模块
│   ├── IcePay-ment.iml
│   ├── pom.xml
│   ├── src
│   └── target
├── IceWk-ment              --java前端api模块
│   ├── IceWk-ment.iml
│   ├── pom.xml
│   ├── src
│   └── target
├── IceWk-uniApp            --h5Uniapp模块
│   ├── App.vue
│   ├── LICENSE
│   ├── components
│   ├── main.js
│   ├── manifest.json
│   ├── nPro
│   ├── package-lock.json
│   ├── package.json
│   ├── pages
│   ├── pages.json
│   ├── static
│   ├── store
│   ├── subPage
│   ├── template.h5.html
│   ├── theme
│   ├── uni.scss
│   ├── uni_modules
│   ├── utils
│   └── vue.config.js
├── IceWk-vues                --前端vue模块
│   ├── LICENSE
│   ├── README.md
│   ├── babel.config.js
│   ├── build
│   ├── dist
│   ├── jest.config.js
│   ├── jsconfig.json
│   ├── node_modules
│   ├── package-lock.json
│   ├── package.json
│   ├── postcss.config.js
│   ├── public
│   ├── serverless.yml
│   ├── src
│   ├── vue.config.js
│   └── yarn.lock
├── README.md
├── bin
│   ├── clean.bat
│   ├── package.bat
│   └── run.bat
├── doc
│   └── IceCMS环境使用手册.docx
├── mvnw
├── mvnw.cmd
├── pom.xml
└── sql                        --项目sql文件
├── icecms5.6.sql
└── icecms8.0.sql

前端

核心框架:Vue2.x、Vue Router、Vuex

Vue 项目基于 @vue/cli4.x 构建

JS 依赖及参考的 css:axios、moment、nprogress、v-viewer、prismjs、APlayer、MetingJS、lodash、mavonEditor、echarts、tocbot、iCSS

ElementUI:部分使用,一些小组件,更改了ui样式,便于快速实现效果

应用端

应用端有:前端、后端、Uni-app、H5

前端地址
后端地址 账号:admin 密码:123123

快速运行

MySQL JDK1.8或以上 Maven Nodejs 微信开发者工具

  1. Mysql创建数据库:IceCMS,执行/sql/IceCMS.sql初始化
  2. 修改配置文件IceCMS-main/src/main/resources/application.yml
  3. 配置Redis,不使用也可以
  4. 启动iceCMS-main管理后台的后端服务
  5. 运行前端(进入iceCMS-vues目录)

    # 克隆项目
    git clone https://github.com/PanJiaChen/vue-admin-template.git
    
    # 进入项目目录
    cd IceWk-VUE
    
    # 安装依赖
    npm install
    
    # 建议不要直接使用 cnpm 安装以来,会有各种诡异的 bug。可以通过如下操作解决 npm 下载速度慢的问题
    npm install --legacy-peer-deps --registry=https://registry.npm.taobao.org
    # 启动服务
    npm run dev
  6. 运行uniapp(HbuilderX中打开IceWK-uniApp)

部署

前端部署

# 构建测试环境
npm run build:stage

# 构建生产环境
npm run build:prod

后端部署

打开命令行,输入以下命令

cd iceCMS
mvn install
mvn clean package
java -Dfile.encoding=UTF-8 -jar iceCMS/iceCMS-main/target/iceCMS.jar
#在iceCMS.jar目录输入 java -jar iceCMS.jar

Docker部署

# 未安装docker的请先安装docker,已经安装的跳过此步
yum install docker-ce -y
#启动docker
systemctl start docker
# 配置国内源
# 创建docker目录
sudo mkdir -p /etc/docker
# 创建配置文件
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://registry.docker-cn.com"]
}
EOF
# 加载新的配置文件
sudo systemctl daemon-reload
# 重启docker服务
sudo systemctl restart docker

main-命令执行
Ps:按顺序执行

- 运行Mysql容器
docker run -d -p 0:3389 \
--name ice-sql \
--restart always \
thecosy/icemysql:v2.2.0

- 运行Spring容器
docker run -d -p 8181:8181 \
--name ice-api \
--restart always \
--link ice-sql:db \
thecosy/icecms:v2.2.0

- 运行Vue容器
docker run -d -p 3000:80 \
--name ice-vue \
--restart always \
--link  ice-api:iceApi \
thecosy/icevue:v2.2.0

#访问前端地址http://ip:3000

访问

前端地址:http://localhost:9528
后端地址:http://localhost:9528/admin

注意事项

  • MySQL 确保数据库字符集为utf8mb4的情况下通常没有问题("站点设置"及"文章详情"等许多表字段需要utf8mb4格式字符集来支持emoji表情,否则在导入sql文件时,即使成功导入,也会有部分字段内容不完整,导致前端页面渲染数据时报错)
  • 确保 Maven 能够成功导入现版本依赖,请勿升级或降低依赖版本
  • 数据库中默认用户名密码为root,123123,因为是个人项目,没打算做修改密码的页面,可在top.naccl.util.HashUtils下的main方法手动生成密码存入数据库
  • 注意修改IceCMS-main目录下的application-dev.properties的配置信息
  • Redis 若没有密码,留空即可
  • 注意修改token.secretKey,否则无法保证 token 安全性

总体上来说还不错,只不过有些细节待优化完善,不过供个人学习研究足够了

官网地址IceCMS使用文档演示

发表评论

提交评论