282 Commits

Author SHA1 Message Date
root 614d633739 docs: 更新用户使用说明文档
- 移除对不存在功能的描述(首页待办事项、最新动态)
- 更新工作台首页说明,描述实际存在的功能
- 添加语言切换位置的说明
- 完善常见问题
2026-02-28 12:01:06 +08:00
root 27e59c6a5e feat: 首页添加待办事项和最新动态
- 待办事项:显示待审批的申请(最多显示3条)
- 最新动态:显示已审批/已提交的动态(最多显示3条)
- 支持点击跳转到详情页
- 显示相对时间(刚刚、X分钟前、X小时前等)
- 空状态提示暂无动态

优化首页布局,提供更丰富的信息展示
2026-02-28 11:55:59 +08:00
root 5160522eab Merge branch 'develop' 2026-02-28 11:49:31 +08:00
root 3581788aa1 Merge feature/mzl-dev: 添加用户帮助中心 2026-02-28 11:49:08 +08:00
root 13e963e012 feat: 添加用户帮助中心
- 新增帮助页面 /help,分类展示使用说明
- 新增用户使用说明文档
- 在个人中心添加帮助入口

**开发规范**:新增功能需同时更新:
1. 模块技术文档 (docs/modules/)
2. 用户使用说明 (frontend/public/docs/)
3. i18n 翻译
2026-02-28 11:49:02 +08:00
root 0053e87a77 Release: merge develop into master - 重组文档结构 2026-02-28 11:43:00 +08:00
root 7dcb1a6d16 Merge feature/mzl-dev into develop: 重组文档结构 2026-02-28 11:42: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 d37d82bc13 docs: 更新 CLAUDE.md 添加 Git 分支模型说明
- 更新环境对比表,增加测试环境
- 添加 Git 分支模型说明
- 更新文档引用链接
2026-02-28 11:35:43 +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 daa576ba19 docs: 更新 CLAUDE.md 添加环境配置说明引用 2026-02-28 11:25:22 +08:00
root 4617eae0b1 docs: 添加环境配置说明文档
包含:
- 开发环境与生产环境对比
- 域名使用说明
- Git 工作流程
- 飞书开放平台配置
- 常见操作错误(避免混淆)
- 部署检查清单
2026-02-28 11:24:32 +08:00
root d2caeb8d12 docs: 更新 CLAUDE.md 项目文档
- 添加飞书登录完整说明(免登 + 扫码登录)
- 更新核心接口列表
- 添加 URL 参数说明
- 添加 Token 自动刷新说明
- 更新当前开发状态(飞书登录已完成)
- 更新文档列表和快速参考
2026-02-28 11:22:55 +08:00
root 7b4bf36188 docs: 添加飞书登录实现经验总结文档
包含:
- 飞书内免登完整流程和代码
- 飞书外扫码登录完整流程和代码
- Token 过期自动刷新机制
- 常见错误和解决方案
- 最佳实践和调试技巧
- 检查清单和快速调试命令
2026-02-28 11:20:31 +08:00
root 7c6a8fc247 feat: 实现飞书环境 token 过期自动刷新
- 当 API 返回 401 时,在飞书环境中自动调用免登刷新 token
- 刷新成功后自动重试原始请求,用户无感知
- 飞书外环境仍跳转到登录页
- 防止死循环:请求只重试一次
- 登录页支持从 redirect 参数中提取 company 参数

流程:
1. API 返回 401
2. 飞书环境:调用 tt.requestAuthCode 获取新授权码
3. 用新授权码登录获取新 token
4. 用新 token 重试原始请求
5. 失败或非飞书环境:跳转登录页
2026-02-28 11:12:26 +08:00
root d13484c0f3 fix: 移除本地token检查,由后端处理授权验证
- 移除 localStorage token 检查,避免与飞书免登并行执行
- 在飞书环境中始终尝试免登,由后端判断登录状态
- 解决'飞书应用配置错误'误导性提示
2026-02-28 11:08:29 +08:00
root 6b76135374 fix: 移除误导性的'飞书应用配置错误'提示
- 免登功能实际正常,但显示误导性错误
- 移除不必要的错误提示,改善用户体验
2026-02-28 10:53:17 +08:00
root dca1f45e2a fix: 添加 redirectUri 参数到 tt.requestAuthCode
- 使用当前域名 + /login/callback 作为重定向地址
2026-02-28 10:41:34 +08:00
root 7e7534ec13 fix: 添加更详细的调试日志 2026-02-28 10:38:27 +08:00
root b0fd009eb1 fix: 在调用 tt.requestAuthCode 前先调用 h5sdk.config
- 预先获取 appId 并配置 h5sdk
- 避免 'invalid url' 错误
2026-02-28 10:35:03 +08:00
root 6f7ac6c40b fix: 重新添加 H5 JSSDK 并使用 h5sdk.ready() 等待 tt 对象
- H5 JSSDK 是飞书网页应用免登必需的
- 使用 h5sdk.ready() 确保 tt 对象被注入后再调用 API
2026-02-28 10:25:04 +08:00
root fdb030cba0 fix: 移除 H5 JSSDK,直接使用飞书客户端注入的 tt 对象
- H5 JSSDK 与 tt 对象冲突,导致警告
- tt 对象由飞书客户端自动注入,无需额外 SDK
- 使用 tt.requestAuthCode 进行免登
2026-02-28 10:19:33 +08:00
root 12eeab6d2d fix: 使用 tt.requestAccess 替代 tt.requestAuthCode
根据飞书官方文档,网页应用免登应使用 tt.requestAccess 而非 tt.requestAuthCode
参数名从 appId 改为 appID
2026-02-28 09:24:41 +08:00
root d8644cac1e refactor: 简化登录页面逻辑,移除冗余调试代码
- 保留三种登录方式核心功能
- 飞书外:邮箱密码登录 + 飞书扫码登录
- 飞书内:静默授权登录
- 移除大量调试日志和测试页面引用
2026-02-28 09:21:15 +08:00
root 7cd2aacd7b fix: 添加 redirectUri 参数和详细调试日志 2026-02-28 09:12:47 +08:00
root 9e84db3faf Merge feature/mzl-dev: 修复飞书免登功能 2026-02-28 09:03:58 +08:00
root 4667590feb fix: 修复飞书免登功能,添加 H5 JSSDK 和 appId 自动获取
后端改动:
- 新增 /api/v1/auth/feishu-config 接口,根据 company 参数返回对应 appId

前端改动:
- 添加飞书 H5 JSSDK (h5-js-sdk-1.5.19.js)
- 修改登录页免登逻辑:先从后端获取 appId,再调用 tt.requestAuthCode
- 新增飞书环境检测测试页面 (/feishu-env-test)
- 移除测试页面的自动轮询逻辑

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 08:58:51 +08:00
root 4c3b750884 fix: 优化飞书内免登功能,移除外部 JSBridge SDK 加载
- tt 对象由飞书客户端自动注入,无需加载外部 SDK
- 增加轮询超时时间到 10 秒
- 添加更详细的调试日志
- 超时时降级到扫码登录

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 23:05:43 +08:00
root 5d581201e7 Merge branch 'feature/mzl-dev' 2026-02-27 22:34:03 +08:00
root 5855546a7c fix: 修复飞书内免登功能
- 动态加载飞书 JSBridge SDK(多 CDN 备用)
- 等待 tt 对象加载后尝试免登
- 超时后降级为二维码登录

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 22:34:03 +08:00
root 58acb574d8 Merge branch 'feature/mzl-dev' 2026-02-27 22:30:37 +08:00
root ba9b1f9d2b fix: 飞书内环境自动显示二维码登录
- 移除 JSBridge SDK(URL 不可用)
- 飞书内环境自动触发二维码登录

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 22:30:36 +08:00
root e5bca85402 Merge branch 'feature/mzl-dev' 2026-02-27 22:21:31 +08:00
root ea86a4d68c fix: 修复飞书 JSBridge SDK URL
正确的路径: /lark/passport/h5-jsbridge-1.0.3.js

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 22:21:26 +08:00
root 17623042ee Merge branch 'feature/mzl-dev' 2026-02-27 22:14:23 +08:00
root 40234a1d90 fix: 使用数据库中的 mobile_callback_url 作为回调地址
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 22:14:18 +08:00
root 5f255fb91f Merge branch 'feature/mzl-dev' 2026-02-27 22:12:51 +08:00
root 103da81a5c fix: 移除硬编码的开发环境域名
- 使用动态域名配置(从 request 或 config 读取)
- 添加 FEISHU_BASE_URL 环境变量支持
- 修复回调地址为当前站点域名

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 22:12:46 +08:00
root c414b32ed1 Merge branch 'feature/mzl-dev' 2026-02-27 21:47:42 +08:00
root 3b5107d4cd fix: 移除过期的飞书 JSBridge SDK
JSBridge 仅用于飞书内免登,扫码登录不需要
QRCode SDK 已包含所需功能

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 21:47:34 +08:00
root e460cfd94b Merge branch 'feature/mzl-dev' 2026-02-27 19:17:49 +08:00
root 40fbba9f61 feat: 添加最新的数据库导出文件
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 19:17:43 +08:00
root 2b8845357e Merge branch 'feature/mzl-dev' 2026-02-27 19:05:07 +08:00
root f1162e6958 fix: 移除后端代码挂载(避免覆盖容器内 vendor)
生产环境代码已打包到镜像中,无需挂载

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 19:05:07 +08:00
root 22a35e2cd0 Merge branch 'feature/mzl-dev' 2026-02-27 19:03:12 +08:00
root 3f47b6080c fix: 在 composer install 前创建 config 目录
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 19:03:11 +08:00
root 92fb050dd6 Merge branch 'feature/mzl-dev' 2026-02-27 19:01:04 +08:00
root 9619f916f9 fix: 移除 opcache 扩展安装(PHP 8.5 内置)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 19:01:04 +08:00
root 6e1d0f62fb Merge branch 'feature/mzl-dev' 2026-02-27 18:58:35 +08:00
root 9cbf5627d3 fix: 移除 php-prod.ini 依赖(文件不在构建上下文中)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 18:58:30 +08:00