跳转至

源码编译运行

请使用 v1.3.0 等已发布分支的代码运行 CordysCRM。请勿使用 main 分支,main 分支代码均处于开发或测试阶段,可能存在较明显功能缺陷。

目前支持的源码运行环境有: Windows (x86)、Linux(x86 & arm64)、MacOS(x86 & arm64)。

1 项目结构

├── backend                                  # 后端项目
│   ├── app                                  # 应用程序模块
│   ├── crm                                  # CRM 核心模块
│   └── framework                            # 通用框架模块
├── frontend                                 # 前端项目
│   ├── packages                             # 前端包管理
│   │   ├── lib-shared                       # 公共库模块
│   │   │   ├── api                          # API 封装
│   │   │   ├── assets                       # 静态资源
│   │   │   ├── enums                        # 枚举
│   │   │   ├── hooks                        # 钩子函数
│   │   │   ├── locale                       # 国际化封装
│   │   │   ├── method                       # 工具函数
│   │   │   ├── model                        # 数据模型
│   │   │   ├── types                        # 全局类型声明
│   │   ├── mobile                           # 移动端项目
│   │   ├── web                              # WEB端项目
├── installer                                # 安装脚本
├── conf                                     # 配置文件
│   ├── mysql                                # MySQL 配置
│   └── redis                                # Redis 配置
└── shells                                   # 脚本

2 安装基础 POM

该命令会将 parent pom 安装到本地 Maven 仓库,使其他外部子工程可以获取最新的 <properties> 配置。

./mvnw install -N

3 后端构建

📌 提示:确保已正确安装 JDK 21 及以上版本和 Maven 环境。

执行以下命令构建后端模块(如 frameworkcrmapp 等)并安装到本地仓库:

./mvnw clean install -DskipTests -DskipAntRunForJenkins --file backend/pom.xml
参数说明:

  • -DskipTests: 跳过测试用例执行。
  • -DskipAntRunForJenkins: 跳过 Jenkins 使用的 Ant 任务。

3.1 🧩 后端参数配置说明

在本地运行 Cordys CRM 项目时,需要在本地创建配置文件:

/opt/cordys/conf/cordys-crm.properties
💡 提示: 你也可以通过修改应用 ‘Application’ 启动参数,自定义配置文件的加载路径。

⚙️ 配置示例

# ==============================
# 数据库连接配置
# ==============================
# 数据库连接 URL,请根据实际环境修改 IP 与数据库名称
spring.datasource.url=jdbc:mysql://你的 MySQL IP:3306/cordys-crm?autoReconnect=false&useUnicode=true&characterEncoding=UTF-8&characterSetResults=UTF-8&zeroDateTimeBehavior=convertToNull&useSSL=false

# 数据库用户名
spring.datasource.username=root

# 数据库密码
spring.datasource.password=CordysCRM@mysql


# ==============================
# Redis 缓存配置
# ==============================
# Redis 服务器地址
spring.data.redis.host=你的 Redis IP

# Redis 端口
spring.data.redis.port=6379

# Redis 密码
spring.data.redis.password=CordysCRM@redis

# Redis Session 存储方式(indexed 推荐)
spring.session.redis.repository-type=indexed

# Session 过期时间(单位:秒,示例为 12 小时)
spring.session.timeout=43200s

4 前端构建

📌 提示:确保已正确安装 Node.js 和依赖环境。

工程初始化&运行

/packages目录下运行依赖安装命令:

pnpm i -w

统一构建工程:

npm run build

mobile 移动端工程包

移动端工程由 Vite+Vue3+TS+Vant-UI 基础框架组成。

运行移动端项目:

cd package/mobile

npm run dev

package/mobile下单独构建移动端项目:

npm run build

mobile 调试&开发

为了方便移动端项目的开发调试,可以通过模拟登录态:

1. 启动 `web` 项目并完成登录,登录后打开浏览器控制台,复制 `localStorage` 中的 `sessionId`  `csrfToken` 两个属性值。
2. 启动 `mobile` 项目,打开控制台,将第1步复制的 `localStorage` 属性值粘贴至控制台,刷新页面即可模拟登录。若登录过期,重新登录 `web` 项目并复制新的属性值替换即可。
3. 在手机端调试时,进入页面并完成授权登录后,快速点击 10 次用户名区域,切换到 `我的` 菜单,即可唤起 `Eruda` 调试工具。

WEB 端工程包

WEB 端工程由 Vite+Vue3+TS+Naive-UI 基础框架组成。

运行 WEB 端项目:

cd package/web

npm run dev

package/web下单独构建 WEB 端项目:

npm run build

5 整体打包

使用以下命令进行完整的构建与打包:

./mvnw clean package