116 Commits

Author SHA1 Message Date
root 2cfca3553c fix: 移除support命名空间的composer配置,使用官方默认方式
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 18:15:53 +08:00
root 66b61eada4 refactor: 使用官方support\Db和support\Model
- 创建 support/Db.php 和 support/Model.php
- 在 bootstrap.php 中自动初始化数据库
- 移除 app/util/Db.php
- 更新所有模型和控制器使用官方类

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 18:15:17 +08:00
root 81cde28aa5 fix: 添加数据库初始化到AuthController
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 18:10:49 +08:00
root 582f454a5a refactor: 重构后端目录结构和命名规范
- 将后端目录名从大写改为小写 (Controller->controller 等)
- 将命名空间从 App\ 改为 app\ (符合 webman 官方规范)
- 移除不必要的 bootstrap 目录
- 完善出差审批业务功能:
  - 添加删除草稿功能
  - 添加审批操作功能(同意/拒绝)
  - 完善审批详情页,显示审批人和审批记录
- 前端优化:
  - 调整列表页行高
  - 隐藏底部导航栏
  - 仪表盘只显示3个快捷入口

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 18:09:04 +08:00
root 09d4cb8054 fix: 修复页面间状态丢失问题并优化选择页面
- 修复选择审批人后再选择抄送人导致状态丢失的问题
- 使用独立的 sessionStorage key (selectedApprovers, selectedCc)
- 组件每次挂载时从 sessionStorage 恢复状态
- 只在提交/保存成功后清除 sessionStorage
- 优化人员选择页面布局和样式
- 更新 CLAUDE.md 文档记录问题和解决方案

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 15:22:12 +08:00
root 49fa9c3f92 config: add Redis password and fix MySQL password
- Update backend/.env: REDIS_PASSWORD=redis_sSJJPb
- Update backend/.env.example: REDIS_PASSWORD=redis_sSJJPb
- Update docker-compose.yml: Add REDIS_PASSWORD and fix DB_PASSWORD to mysql_xEsdPa

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 21:30:45 +08:00
root 5aa7825f19 config: update all database references to xserver
- Update backend/.env: DB_DATABASE=xserver
- Update backend/.env.example: DB_DATABASE=xserver
- Update docker-compose.yml: DB_DATABASE=xserver
- Update backend/app/util/Db.php: default database=xserver

The old database name 'x_server_mobile' has been fully migrated to 'xserver'.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 21:29:45 +08:00
root 6e61d0adc7 feat: add complete database initialization script
- Add 008_complete_init.sql with all 10 tables
- Include approval workflow tables:
  - approval_flow (审批流程配置表)
  - approval_node (审批流程节点表)
  - approval_order (审批单表)
  - approval_record (审批记录表)
- Include business trip tables:
  - business_trip (出差申请表)
  - business_trip_itinerary (出差行程明细表)
- Include user_feishu_binding (用户飞书应用绑定表)

All tables use proper UTF-8 encoding with utf8mb4_unicode_ci collation.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 21:27:49 +08:00
root be9ae8a0d9 fix: switch to xserver database with UTF-8 data
- Change default database from x_server_mobile to xserver
- Add 007_xserver_init.sql initialization script
- Companies data now correctly encoded in UTF-8:
  - 合塑 (hesu)
  - 新友合 (xinyouhe)
  - 派卡 (paika)
  - 斯玛特 (simate)
  - magic bridge Auto (mbaf)
- Company Feishu apps properly configured

The key fix is to execute SQL directly inside the MySQL container
using heredoc to avoid charset conversion issues during transfer.

Usage:
docker exec 1Panel-mysql-409s mysql -uroot -p'mysql_xEsdPa' --default-character-set=utf8mb4 xserver < 007_xserver_init.sql

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 18:56:52 +08:00
root 5d989dfd86 fix: add UTF-8 encoding fix migration
- Add 006_fix_encoding_utf8.sql migration script
- Properly sets UTF-8 charset for table creation
- Recreates companies and users tables with correct Chinese comments
- Imports company data with correct UTF-8 encoding

Usage:
docker exec -i 1Panel-mysql-409s mysql -uroot -p'mysql_xEsdPa' --default-character-set=utf8mb4 x_server_mobile < 006_fix_encoding_utf8.sql

Fixes encoding issues where Chinese text appears as garbled characters
due to MySQL client using latin1 charset instead of utf8mb4.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 18:49:41 +08:00
root e748eba55b fix: add table structure migration with UTF-8 encoding
- Update .gitignore to allow backend database migrations
- Add 004_fix_table_structure.sql migration
- Rename tables to plural form (user->users, company->companies)
- Add missing fields to companies and users tables
- Create company_feishu_apps table for multi-app configuration
- Import company data and Feishu app configurations
- Set UTF-8 charset to fix encoding issues from MySQL 5.7 export

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 18:44:40 +08:00
root 8629f4a4ce refactor: fix directory structure and namespaces for webman conventions
- Rename directories to lowercase: Controller→controller, Model→model, Service→service, Util→util, Bootstrap→bootstrap
- Update all namespaces from App\Xxx to app\xxx (webman convention)
- Update all import statements across the codebase
- Update route.php to use lowercase namespaces
- Remove unused CompanyFeishuApp model
- Comment out unimplemented controller routes

Following webman 2.x framework conventions:
- Models: app\model\{ClassName}
- Controllers: app\controller\{ClassName}
- Services: app\service\{ClassName}
- Utils: app\util\{ClassName}
- Middleware: app\middleware\{ClassName}

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 18:28:23 +08:00
root 423a04a610 refactor: remove complex migration, keep simplified approach
- Remove 002_merge_old_data.sql (complex approach with temp tables)
- Keep 003_import_feishu_config.sql (simplified data import)

Follows principle: only import needed data, not full compatibility.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 18:16:53 +08:00
root 348885a51c feat: add simplified Feishu configuration and workflow docs
- Update .gitignore to exclude large SQL files except migrations
- Add GIT_WORKFLOW.md documenting branch strategy
- Update Company model with Feishu app retrieval methods
- Update User model with Feishu-related scopes
- Update FeishuService to support multi-app configuration

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 18:16:42 +08:00
root 1f6d346f6a feat: add multi-company Feishu integration and data migration
- Add companies table enhancements (abbr, tenant_key, feishu_enabled)
- Add users table enhancements (feishu fields, sn, report_to, etc.)
- Create company_feishu_apps table for multi-app per company
- Create user_sn_pool table for user number management
- Update FeishuService to support multiple Feishu apps per company
- Add data migration script (002_merge_old_data.sql)
- Add import script (scripts/import_old_data.php)
- Update User and Company models with new scopes and relationships
- Add CompanyFeishuApp model
- Add Git workflow documentation (GIT_WORKFLOW.md)

This supports:
- Multi-company architecture with Feishu integration
- Multiple Feishu apps per company (X-Server, Ticket, CRM)
- User number assignment system
- Data migration from old project

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 18:12:18 +08:00
root 8d78e18267 Initial commit: X-Server Mobile enterprise tool system
- Frontend: React 18 + TypeScript + Vite + Ant Design Mobile
- Backend: PHP 8.5 + Webman 2.x + MySQL + Redis
- i18n support: Chinese, English, Russian, Spanish, French
- Approval workflow engine
- Docker development environment
- Feishu integration

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 17:57:25 +08:00