基于 Spring Boot + Vue 前后端分离的内容管理系统
本站UI来源于macwk但由于前者资金匮乏而倒闭。所以本项目想自建一个像macwk一样的内容管理站,目前已基本还原95%,现在免费供大家使用。
使用: (www.macwk.cc)
官网: (doc.snym.cn)
为方便相互学习和交流,建了个QQ群,加群请备注来自IceCMS
QQ交流群:(951286996)
该群是一个学习交流群,如果是程序相关问题,请直接提交issues
IceCMS 文档: (http://doc.snym.cn/books/icecms)
前台:www.macwk.cc
uniapp移动端:m.www.macwk.cc
后台:www.macwk.cc/admin 账号admin
密码123123
基于 JDK8 开发,8以上要添加依赖:
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.3.0</version>
</dependency>
核心框架:Vue2.x、Vue Router、Vuex
Vue 项目基于 @vue/cli4.x 构建
JS 依赖及参考的 css:axios、moment、nprogress、v-viewer、prismjs、APlayer、MetingJS、lodash、mavonEditor、echarts、tocbot、iCSS
后台 CMS 部分基于 vue-admin-template
UI 框架为 Element UI
Element UI:部分使用,一些小组件,更改了ui样式,便于快速实现效果
文章排版:基于 typo.css 修改
支持 Telegram Bot 快捷操作
增加标签功能
完善部分ui
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
1.运行Mysql容器
docker run -d -p 0:3389 \
--name MySQL \
--restart always \
thecosy/icemysql:v2.2.0
2.运行Spring容器
docker run -d -p 8181:8181 \
--name springboot-admin \
--restart always \
--link MySQL:db \
thecosy/icecms:v2.2.0
配置最小开发环境(开发而非部署)
MySQL JDK1.8或以上 Maven Nodejs 微信开发者工具
2.创建 MySQL 数据库IceCMS
,并执行/sql/IceCMS.sql
初始化表数据
3.启动小商场和管理后台的后端服务
3.1.修改配置信息IceCMS-main/src/main/resources/application.yml
3.2.安装 Redis 并启动
3.3.打开命令行,输入以下命令
cd iceCMS
mvn install
mvn clean package
java -Dfile.encoding=UTF-8 -jar iceCMS/iceCMS-main/target/iceCMS.jar
4.启动后台前端(后台地址http://localhost:9528/admin)
打开命令行,输入以下命令
# 克隆项目
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
# 构建测试环境
npm run build:stage
# 构建生产环境
npm run build:prod
5.启动前端
浏览器打开,访问 http://localhost:9528 , 此时进入前端页面。
6.启动uniapp移动端
下载HBuilderX
进入(https://ext.dcloud.net.cn/plugin?id=9261)uniapp移动端插件目录,点击导入,然后即可导入到本地。
打开IceWK-uniApp
目录,进行编译打包
一些常见问题:
utf8mb4
的情况下通常没有问题(”站点设置“及”文章详情“等许多表字段需要utf8mb4
格式字符集来支持 emoji 表情,否则在导入 sql 文件时,即使成功导入,也会有部分字段内容不完整,导致前端页面渲染数据时报错)root
,123123
,因为是个人项目,没打算做修改密码的页面,可在top.naccl.util.HashUtils
下的main
方法手动生成密码存入数据库application-dev.properties
的配置信息
token.secretKey
,否则无法保证 token 安全性spring.mail.host
及spring.mail.port
的默认配置为阿里云邮箱,其它邮箱服务商参考关键字spring mail 服务器
(邮箱配置用于接收评论提醒)/login
路径登录后,可以以博主身份(带有博主标识)回复评论,且不需要填写昵称和邮箱即可提交<meting-js server="netease" type="song" id="歌曲id" theme="#25CCF7"></meting-js>
(注意以正文形式添加,而不是代码片段)可以在文章中添加 APlayer 音乐播放器,netease
为网易云音乐,其它配置及具体用法参考 MetingJS
@@
包住文字,文字会被渲染成“黑幕”效果,鼠标悬浮在上面时才会显示;使用%%
包住文字,文字会被“蓝色覆盖层”遮盖,只有鼠标选中状态才会反色显示。例如:@@隐藏文字@@
,%%隐藏文字%%
感谢 JetBrains 提供的非商业开源软件 License
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。