root
|
7c7f8493c4
|
docs: 更新数据库文档,添加 feishu_message_log 表记录
- 添加 feishu_message_log 表结构文档(飞书消息日志表)
- 更新文档版本至 1.1.0
- 更新最后更新时间至 2026-03-01
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-03-01 14:21:48 +08:00 |
|
root
|
b90f901fd9
|
fix: 修复多公司多飞书应用消息卡片更新失败问题
- feishu_message 表新增 company_id 和 feishu_app_id 字段追踪消息发送者
- 修改 FeishuMessage::saveMessage() 支持保存公司和飞书应用信息
- 修改 FeishuNotificationService 使用原始发送者的飞书应用配置更新消息
- 新增 HttpClient::httpPatchJson() 方法支持 PATCH 请求
- 文档更新:PROJECT_ISSUES.md 添加问题31,APPROVAL_NOTIFICATION_ARCHITECTURE.md 添加多公司架构说明
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-03-01 12:29:29 +08:00 |
|
root
|
e13574f6f1
|
fix: 修复会签场景下消息卡片更新问题
- 添加 updateMessageCardsForPartialApprove 方法处理会签部分通过
- 会签一人通过后,其他人的消息卡片显示进度并保留按钮
- 修复 Dockerfile 构建顺序问题
- 修复前端类型定义问题
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-03-01 10:33:40 +08:00 |
|
root
|
7e88c28cc5
|
docs: 添加审批流程图汇总文档
包含:
1. 节点类型说明 (approver/and_approve/or_approve/notify)
2. 基础流程图 (完整审批流程)
3. 按节点类型的详细流程图
4. 特殊场景流程图 (拒绝/重复操作/撤销/多节点)
5. 状态流转图 (状态机)
6. 消息发送流程图
|
2026-03-01 09:24:57 +08:00 |
|
root
|
ed985ff40d
|
docs: 添加审批流程完整测试报告 (2026-03-01)
测试结果: 7/7 通过
测试场景:
1. 单人审批 (approver) - ✅ 通过
2. 会签流程 (and_approve) - ✅ 通过
3. 或签流程 (or_approve) - ✅ 通过
4. 拒绝场景 - ✅ 通过
5. 重复操作防护 - ✅ 通过
6. 撤销场景 - ✅ 通过
7. 多节点流转 - ✅ 通过
已知问题:
- 飞书消息 emoji 编码问题待修复
|
2026-03-01 09:21:38 +08:00 |
|
root
|
7598e363f2
|
docs: 添加审批流程测试报告 (2026-03-01)
- 测试环境: 生产环境 (45.153.130.80)
- 测试场景: 会签、拒绝、重复操作防护、撤销
- 测试结果: 4个场景全部通过
- 待解决问题: 飞书消息 emoji 编码问题
|
2026-03-01 09:18:44 +08:00 |
|
root
|
32719406a3
|
docs: 添加线上部署和调试步骤文档
|
2026-02-28 23:04:56 +08:00 |
|
root
|
0e2b3d05d0
|
docs: 添加生产环境配置文档
|
2026-02-28 23:01:27 +08:00 |
|
root
|
254f0073dc
|
docs: 添加审批与消息模块架构文档
|
2026-02-28 22:57:48 +08:00 |
|
root
|
1f72da9ec4
|
feat: 添加消息卡片更新功能,支持或签/单人审批场景
新增功能:
1. 创建 feishu_message 表,存储消息与审批订单/节点/用户的映射关系
2. 发送审批通知时保存 message_id
3. 审批完成后自动更新其他审批人的消息卡片
使用场景:
- 或签(or_approve):一人通过后,更新其他审批人的消息卡片
- 单人审批(approver):一人通过后,更新其他审批人的消息卡片
- 拒绝(reject):拒绝后更新所有其他审批人的消息卡片
技术细节:
- FeishuMessage 模型:管理消息映射
- FeishuNotificationService::updateMessageCards():更新消息卡片
- ApprovalService:审批完成后调用消息更新逻辑
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-02-28 18:06:40 +08:00 |
|
root
|
92ffaf2ef0
|
docs: 添加数据库结构文档(线上稳定版 v1.0.0)
记录主分支的完整数据库结构,包含12个表:
用户管理:
- users - 用户基本信息
- companies - 公司信息
- company_feishu_apps - 飞书应用配置
- user_feishu_apps - 用户飞书应用关联
- user_sn - 用户SN分配池
- feishu_login_session - 飞书扫码登录会话
审批流程:
- approval_flow - 审批流程定义
- approval_node - 审批节点定义
- approval_order - 审批订单
- approval_record - 审批记录
业务数据:
- business_trip - 出差申请
- business_trip_itinerary - 出差行程
变更规范:
- 数据库变更需落成文档
- 使用 migration 脚本管理
- commit message 需注明数据库变更
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-02-28 16:26:01 +08:00 |
|
root
|
d905de3830
|
docs: 添加用户使用指南
- 系统入口说明(UniService 飞书应用)
- 两种登录方式:密码登录(默认 SN 编号)、飞书扫码登录
- 首页功能介绍
- 出差申请流程说明
- 系统设置功能
- 常见问题解答
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-02-28 15:23:55 +08:00 |
|
root
|
e3fa7e86f3
|
docs: 重组文档结构,按模块分类
新的文档结构:
docs/
├── README.md # 文档中心导航
├── modules/ # 模块文档
│ ├── auth/ # 认证模块
│ │ ├── README.md
│ │ ├── feishu-login.md
│ │ ├── feishu-qrcode.md
│ │ └── feishu-notification.md
│ ├── approval/ # 审批流程模块
│ │ └── README.md
│ ├── business-trip/ # 出差申请模块
│ │ └── README.md
│ └── user/ # 用户管理模块
│ └── README.md
└── guides/ # 指南文档
├── deployment.md
├── environment.md
├── git-workflow.md
└── ...
每个模块都有独立的 README.md 说明概述、API、关键文件等
|
2026-02-28 11:42:51 +08:00 |
|
root
|
cf9c1fb272
|
docs: 更新 Git 工作流程文档
采用三分支模型:
- master: 生产环境
- develop: 开发集成分支(团队协作测试)
- feature/*: 个人功能分支
工作流程:
1. 从 develop 创建 feature/* 分支开发
2. 完成后合并到 develop 进行测试
3. 测试通过后合并到 master 发布
|
2026-02-28 11:34:02 +08:00 |
|
root
|
4617eae0b1
|
docs: 添加环境配置说明文档
包含:
- 开发环境与生产环境对比
- 域名使用说明
- Git 工作流程
- 飞书开放平台配置
- 常见操作错误(避免混淆)
- 部署检查清单
|
2026-02-28 11:24:32 +08:00 |
|
root
|
7b4bf36188
|
docs: 添加飞书登录实现经验总结文档
包含:
- 飞书内免登完整流程和代码
- 飞书外扫码登录完整流程和代码
- Token 过期自动刷新机制
- 常见错误和解决方案
- 最佳实践和调试技巧
- 检查清单和快速调试命令
|
2026-02-28 11:20:31 +08:00 |
|
root
|
9872191097
|
Merge branch 'feature/mzl-dev'
|
2026-02-27 18:50:58 +08:00 |
|
root
|
ebac0c8452
|
feat: 更新部署配置适应新的目录结构
- 后端代码在 server/ 目录(Git 仓库)
- docker-compose 在 deploy/ 目录
- 部署脚本路径更新
- 部署文档更新
目录结构:
/opt/1panel/www/sites/uniservice-mobile.hnxinyouhe.com/index/
├── index.html # 前端入口
├── assets/ # 前端静态资源
└── server/ # 整个项目(Git)
├── backend/
├── deploy/
└── logs/
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-02-27 18:50:44 +08:00 |
|
root
|
f82855141e
|
docs: 更新Git工作流程
- 明确开发分支和发布分支的职责
- 发布分支用于部署和打包
- 开发分支用于日常开发
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-02-27 18:41:11 +08:00 |
|
root
|
2df57fb5d5
|
feat: 更新部署配置和发布流程
- 修复前端 TypeScript 编译错误
- 更新部署文档(前端本地构建,后端 Git 部署)
- 新增服务器端部署脚本
- 优化部署流程
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-02-27 18:39:20 +08:00 |
|
root
|
5f110b6988
|
docs: 明确前端本地打包部署流程,优化部署脚本
更新内容:
- DEPLOY_ONLINE_GUIDE.md: 详细说明前端本地打包的优势和流程
- deploy-1panel.sh: 优化部署脚本,添加前端构建验证
- 强调前后端分离部署的架构差异
核心变更:
1. 明确说明前端必须本地打包(npm run build)
2. 上传的是打包后的静态文件,不需要服务器 Node.js
3. 添加前端构建验证步骤
4. 优化部署流程提示和输出
部署流程:
- 本地:前端构建 → 验证构建 → 上传静态文件
- 服务器:后端代码 → Docker 容器运行
- 1Panel:Nginx 托管静态文件 + 反向代理后端 API
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-02-27 18:24:42 +08:00 |
|
root
|
7bdd0850f5
|
feat: 添加 1Panel 静态站点部署配置和线上部署指南
新增文件:
- deploy/docker-compose.prod.yml - 配置线上数据库和 Redis 连接
- deploy/nginx-1panel.conf - 1Panel Nginx 完整配置参考
- deploy/deploy-1panel.sh - 适配 1Panel 的自动部署脚本
- deploy/.env.production - 线上环境变量模板
- docs/DEPLOY_ONLINE_GUIDE.md - 详细部署说明文档
线上环境信息:
- 域名: uniservice-mobile.hnxinyouhe.com
- MySQL: 1Panel-mysql-XyxS
- Redis: 1Panel-redis-pxdb
- Docker 网络: 1panel-network
特性:
- 前后端分离部署
- 前端静态文件由 1Panel Nginx 直接托管
- 后端运行在 Docker 容器中
- 1Panel 面板管理 Nginx 配置和 SSL 证书
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-02-27 18:21:22 +08:00 |
|
root
|
4ceb5eac7e
|
chore: 重组项目文件结构,文档和部署文件归档
文件结构优化:
- docs/ 归档所有项目文档(PROJECT.md, PROJECT_ISSUES.md 等)
- deploy/ 归档所有部署相关文件(docker-compose.prod.yml, nginx 配置等)
- scripts/ 归档脚本文件(deploy.sh, rollback.sh)
- tests/ 归档测试文件(test_data.php)
更新引用路径:
- CLAUDE.md 更新文档路径引用
- 部署文档更新配置文件路径引用
清理文件:
- 移除非必要的测试文件(TestController, 测试脚本等)
- 移除重复/错误的目录
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-02-27 18:01:17 +08:00 |
|
root
|
0489da5e40
|
refactor: 重构多飞书应用绑定架构和数据库清理
- 新增 user_feishu_apps 表支持用户绑定多个飞书应用
- users 表添加唯一约束(公司内邮箱/手机唯一)
- 迁移现有飞书数据到 user_feishu_apps 表
- 清理冗余表(users_bak, user_feishu_binding)
- 废弃 users 表中的 feishu_user_id/feishu_open_id/tenant_key 字段
- 更新 FeishuNotificationService 使用新的数据获取方式
- User 模型新增 getFeishuUserId() 等便捷方法
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-02-26 16:27:33 +08:00 |
|
root
|
04947ae52d
|
fix: 修复飞书通知模块API路径和卡片格式
- 修改API路径为 /open-apis/im/v1/messages (message/v4已废弃)
- 添加卡片config配置
- 修复content格式(直接传卡片对象,不需要包裹)
- 添加测试接口 /api/v1/test/notification
测试结果: 成功发送通知到李佳博(feishu_user_id: 481g947d)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-02-26 15:27:54 +08:00 |
|
root
|
2e5f570b40
|
feat: 完善鉴权和密码功能,添加飞书通知模块
- 完善Token过期/不存在时跳转登录重新认证
- 实现正常的账号密码登录验证(邮箱/手机号+密码)
- 用户初始化密码设为工号(sn)
- 添加修改密码功能(API+前端页面)
- 修复扫码登录后跳转问题(zustand persist格式)
- 创建飞书通知服务 FeishuNotificationService
- 设置页面添加修改密码入口
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-02-26 15:19:37 +08:00 |
|