本地开发环境搭建

开发环境

JDK 17
Mysql 8.0.32 (支持8.x+)
Redis 7.2.4(支持5.x+)
Maven 3.8.7(支持3.8+)
Node 16.20.2(支持14+ - 16+)

基础环境请参考相关官方文档安装

下载代码

您可通过一下两种方式下载代码

后端运行

我们将项目代码下载到目录:E:/dev/workspace/ChestnutCMS,下面所有 {ProjectDir} 均指此目录。

  1. 导入 IDEA 项目

打开 IDEA 开发工具,在左上角菜单栏选择 File -> Open,然后选择项目目录 {ProjectDir} ,然后点击 OK 按钮即可。

IDEA 会自动加载Maven依赖包,初次加载会比较慢(根据自身网络情况而定,您可以设置MAVEN的国内镜像仓库加快下载速度)

  1. 导入数据库(以MySQL为例)

数据库文件所在目录:{ProjectDir}/chestnut-admin/src/main/resources/db/migration/mysql

// 创建数据库
create database `chestnut_cms` charset utf8mb4;

您可以通过一下两种方式初始化数据库

  • 使用flyway初始化数据库

项目可以使用flyway管理数据库版本,默认关闭,在 {ProjectDir}/chestnut-admin/src/main/resources/application-dev.yml 设置 spring.flyway.enabled = true 开启flyway初始化数据库,开启flyway后启动应用即可由flyway自动初始化数据库,后续的版本更新的sql也会在重启应用时自动更新。

  • 手动导入数据库

{ProjectDir}/chestnut-admin/src/main/resources/db/migration/mysql 目录下的所有sql文件按版本顺序依次导入,后续版本更新按版本顺序依次导入即可。

  1. 修改配置

打开配置文件:{ProjectDir}/chestnut-admin/src/main/resources/application-dev.yml

  • 找到xxl.job.enable配置修改为false(需要安装XXL-JOB服务)

  • 找到spring.data.redis.host配置,确保redis访问地址和端口与本地Redis环境配置一致,如果Redis没有设置访问密码,请注释掉或删掉spring.data.redis.password配置(注:修改为空字符串是不行的)

  • 找到spring.datasource.dynamic.datasource.master配置,确保数据库访问地址和用户名密码与本地安装的MySQL配置一致

  1. 运行项目

打开文件:{ProjectDir}/chestnut-admin/src/main/java/com/chestnut/ChestnutApplication.java

右键选择 Run 'ChestnutApplication.main()',当控制台显示如下图所示信息时系统启动成功。

启动信息

前端运行

使用 VSCode 打开{ProjectDir}/chestnut-ui目录,打开命令行,执行以下命令:

# 进入项目目录
cd {ProjectDir}/chestnut-ui

# 安装依赖
npm install

# 建议不要直接使用 cnpm 安装依赖,会有各种诡异的 bug。可以通过如下操作解决 npm 下载速度慢的问题
npm install --registry=https://registry.npmmirror.com

# 启动服务
npm run dev

浏览器访问 http://localhost:80 ,默认账号:admin / admin

网站静态资源

网站静态资源默认路径是当前项目应用同级的wwwroot_release目录。例如:项目目录为E:/dev/workspace/ChestnutCMS,那么网站静态资源目录应为:D:/dev/workspace/wwwroot_release

此路径可通过application-xx.yml文件修改, 配置chestnut.cms.resourceRoot,如下所示:

chestnut: 
  cms: 
    resourceRoot: E:/dev/workspace/wwwroot_release/

网站静态资源目录示例:(以演示站为例,演示站并没有swikoon_h5,此处仅示例目录结构)

# 应用目录
ChestnutCMS 
|--chestnut-admin
|--chestnut-cms
|--chestnut-common
|--......
# 网站静态资源目录
wwwroot_rlease 
|--swikoon # 站点动态资源目录,一般用来保存用户上传的资源文件
|----resources # 素材库资源目录,保存IResourceType实现相关类型文件,目前默认四种类型:图片、视频、音频、文件
|------image # 图片素材目录
|------video # 视频素材目录
|------audio # 音频素材目录
|------file # 其他文件素材目录
|--swikoon_pc # 发布通道目录,pc为后台发布通道编码,固定格式:站点目录_发布通道编码
|----img # 网站图片
|----js # 网站js
|----css # 网站css
|----template # 网站模板固定目录
|------index.template.html # 模板文件
|--swikoon_h5 # 发布通道目录,h5为后台发布通道编码,固定格式:站点目录_发布通道编码
|----img # 网站图片
|----js # 网站js
|----css # 网站css
|----template # 网站模板固定目录
|------index.template.html # 模板文件

导入站点主题包

主题包上传在QQ群共享,文件名 企业演示站主题.zip

  1. 后台新建站点(新建站点!!!主题包不能导入已存在数据的站点中!!!)

  2. 编辑站点页面点击 导入主题 按钮,上传群共享下载的主题包文件。