Releases: liudi2991/crms
Releases · liudi2991/crms
v1.0.2 — 一键安装包 + 生产环境修复
v1.0.2
一键安装包 + 一系列上线后的生产 bug 修复 + 大量 UI 美化。
亮点:开箱即用的部署体验
新增 install.sh 一键安装入口。在一台干净的 Ubuntu/Debian 云主机上:
curl -fsSL https://github.com/liudi2991/crms/releases/download/v1.0.2/crms-installer-v1.0.2.tar.gz \
-o crms-installer.tar.gz
tar xzf crms-installer.tar.gz && cd crms-installer-v1.0.2
sudo ./install.sh约 10 分钟后浏览器访问 http://<你的IP>/,默认账号 admin / Admin@123456。
install.sh 会自动:
- 装 Docker + docker compose(已装则跳过)
- 部署源码到
/opt/crms - 探测公网 IP,生成 32 字节 AES 主密钥与所有数据库密码写入
.env(权限 600) - 配置
MINIO_PUBLIC_ENDPOINT让浏览器能直接下载附件 - ufw 自动放行 80/9000,云安全组提示用户手动放行
- buildx 多阶段构建后端 + 前端镜像(不需要宿主机有 JDK / Node)
docker compose up -d拉起 MySQL / Redis / MinIO / 后端 / Nginx 全栈- 等待 healthcheck 通过后输出登录信息
支持 install / upgrade / status / uninstall 四个子命令,详见 INSTALL.md。
修复
- fix(minio): 附件下载在公网失败 — 后端拆
MinioClient双 bean,预签名 URL 走公网 endpoint(MINIO_PUBLIC_ENDPOINT),不再把容器内http://minio:9000写到浏览器 URL 里。 - fix(report): 报表中心 Excel 导出 401 — 前端
fetchheader 由废弃的satoken改为 Sa-Token 配置的Authorization: Bearer。 - fix(web): ElPagination 废弃警告 — 后端
total返回 string 时由响应拦截器自动转 number。 - fix(web): 报表中心切 tab 时 ECharts "缩在左侧很小",必须按 F12 才正常 — 用
ResizeObserver等容器有尺寸再 init,并在 tab 切换时chart.resize()。Dashboard / 账龄分析 同步加固。 - fix(deploy): 持久化
/app/uploads— 之前本地存储模式下容器重建会带走附件。 - fix(perm): 销售角色 R01 不再看到「账龄分析 / 报表中心」菜单,且 Dashboard 不再因后端 403 弹错误 toast。
- fix(detail-pages): keep-alive 下跨路由切换时 watcher 串到旧组件导致"详情页返回报错"、"附件页转圈圈"。
- fix(customer/contract): 列表页负责人/部门/客户列由数字 ID 改为枚举回填的中文名。
- fix(deploy-remote): 服务器
.env永远不被本地覆盖。
UI 美化
- 全局 list/detail 页 tier-A 视觉打磨:筛选条、按钮、tag、空态、时间格式
- 侧栏二级菜单缩进修正、菜单图标补齐、与顶部 logo 在同一垂直基线对齐
- 登录页重做、品牌一致化("合同回款管理系统")
- 综合看板 KPI 卡片重新分两行布局
- Dashboard / 账龄分析 / 报表中心 三处 ECharts 视觉语言统一
升级方法
已经在跑 v1.0.0 的实例,建议这样升级:
# 服务器上
cd /opt/crms && git pull
cd deploy && docker compose -f docker-compose.single.yml down
cd .. && ./scripts/build-images.sh 1.0.2
cd deploy && IMAGE_TAG=1.0.2 docker compose -f docker-compose.single.yml up -d或者直接:
sudo /opt/crms/install.sh upgrade注意:升级到 v1.0.2 后必须在 /opt/crms/deploy/.env 中配置 MINIO_PUBLIC_ENDPOINT=http://<你的公网IP>:9000 并放行 9000/tcp,否则附件下载仍然不可用。
完整 changelog
- 79fb652 feat(installer): 一键安装包 install.sh + GitHub Release 发布脚本
- 7ae3a6e fix(minio): 支持双 endpoint,让浏览器能下载预签名附件
- 1d429b5 fix(deploy): 持久化 crms-app 本地附件目录
- be89608 fix(report): 修复导出 Excel 401
- 42fa8df fix(web): 修复 ElPagination 废弃警告与报表中心图表渲染
- 7c224f4 style(charts): unify chart visual language
- 854292d style(dashboard): redesign KPI grid
- aee4e17 style(layout): align sidebar logo with menu items
- 8ce2b21 style(layout,login): unify branding
- 4beea99 style(layout): polish sidebar menu structure
- 4c7ca2d style(ui): tier-A polish across list/detail pages
- 0a2820f fix(perm): hide aging/report menus from R01 sales
- e68b8d8 fix(dashboard): gate panels by permission
- e24bbd9 fix(detail-pages): guard against keep-alive watcher leaks
- 4c78573 fix(customer/contract): show owner/dept/customer names
v1.0.0 · 合同回款管理系统首发
首个可交付版本,覆盖 SRS V1.1 全部 152 个任务、2 万+ 行代码、150+ 个文件、12 篇文档,70/70 自动化验收 PASS。
✨ 核心能力
- IAM:5 角色 / 30+ 权限点 / Sa-Token JWT / 三档数据范围(ALL / DEPT / SELF)
- 客户档案:CRUD / 合并去重 / 多联系人 / 变更日志
- 合同管理:状态机(DRAFT → EFFECTIVE → COMPLETED / TERMINATED / EXPIRED)+ 附件上传(最多 20 个 / 50MB)+ 到期提醒
- 回款全流程:计划生成 → 实际登记 → FIFO 自动核销 → 红冲 → 批量导入 → 账龄分析(0–30 / 31–60 / 61–90 / 90+)
- 看板与报表:KPI / 月度趋势 / TOP 客户 / 我的待办 / Excel 导出
- 通知中心:合同到期 / 回款临期 / 回款逾期
- 系统管理:参数 / 操作审计 / 硬删除二次密码 / 回收站
🛠️ 工程基础设施
- 后端 Spring Boot 3.2 + MyBatis-Plus + Sa-Token + Flyway + Redis + MinIO
- 前端 Vue 3 + TypeScript + Vite + Element Plus + ECharts + Pinia
- 公共能力:统一响应、全局异常、AES-256-GCM 字段加密、Snowflake ID、操作日志 AOP、Trace ID 透传
- 文件存储:本地磁盘 / MinIO 双实现,
crms.storage.type一键切换
🚀 5 分钟单机部署
git clone https://github.com/liudi2991/crms.git
cd crms/deploy && cp .env.example .env # 填密钥
./scripts/build-images.sh 1.0.0 # 本机打镜像
docker compose -f docker-compose.single.yml --env-file .env up -d
# 浏览器打开 http://localhost/ admin / Admin@123456完整指引见 docs/deploy-quickstart.md。
🧪 70+ 项自动化验收
scripts/acceptance.sh 7 段:A 烟测 / B E2E / C 回归 / D 权限 / E 算法 / F 安全 / G 可观测。本版本本机 5 容器闭环 70 PASS / 0 FAIL(5.6 秒)。
📚 文档(12 篇)
- 业务用户:用户操作手册 · FAQ
- 系统管理员:管理员手册 · 安全自查
- 测试 / UAT:验收指南 · 人工验收清单
- 研发:SRS V1.1 · DSS V1.1 · 任务拆分
- 运维:部署快速指南 · 运维手册
🔮 已知问题与下一步
- UC-03-04 封档合同越权可编辑(已记录,待 v1.0.1 修复)
- UC-04-08 P3 改进(计划纳入 v1.1)
- 计划接入 GitHub Actions CI 与 Sentry / Prometheus 监控
完整变更见 CHANGELOG.md。
License:Apache 2.0