diff --git a/src/Client/doc/README.md b/src/Client/doc/README.md deleted file mode 100644 index 394197f0..00000000 --- a/src/Client/doc/README.md +++ /dev/null @@ -1,118 +0,0 @@ -# CasualtySightPlus 项目文档 - -本目录包含CasualtySightPlus项目的所有技术文档,按照功能分类组织。 - -## 文档目录结构 - -### 📋 planning/ - 项目规划文档 -项目规划、需求分析、架构设计等高层次规划文档 - -**当前文档**: -- `task.md` - 项目任务分解和进度跟踪 -- `project_structure_plan.md` - 项目结构重构规划 -- `refactor_impact_assessment.md` - 重构影响评估和风险分析 -- `code_refactor_plan.md` - 代码重构和模块化改造计划 -- `functional_modules_specification.md` - 功能模块详细规格说明 - -**后续文档**: -- `requirements_specification.md` - 系统需求规格说明 -- `architecture_design.md` - 系统架构设计 -- `ui_design_specification.md` - UI设计规范 - -### 🛠️ technical/ - 技术文档 -API文档、组件设计、技术实现细节等 - -**当前文档**: -- `phase3_ui_refactor_plan.md` - Phase 3界面重构技术设计文档 -- `system_log_design.md` - 系统日志功能设计文档 (Phase 5) - -**后续文档**: -- `api_documentation.md` - API接口文档 -- `component_design.md` - 组件设计文档 -- `coding_standards.md` - 编码规范 -- `build_instructions.md` - 构建说明 -- `deployment_guide.md` - 部署指南 - -### 🗄️ database/ - 数据库文档 -数据库设计、表结构、迁移脚本等 - -**当前文档**: -- `database_schema.sql` - 原始数据库表结构定义 -- `updated_database_schema.sql` - 更新的数据库表结构(统一设备表) -- `database_design.md` - 数据库设计详细说明 - -**后续文档**: -- `migration_scripts/` - 数据迁移脚本目录 -- `performance_optimization.md` - 数据库性能优化 - -### 📊 reports/ - 项目报告 -阶段性完成报告、测试报告、性能分析等 - -**当前文档**: -- `phase1_completion_report.md` - Phase 1完成报告 -- `code_refactor_summary.md` - 代码重构和模块化改造总结 -- `phase3_completion_report.md` - Phase 3界面重构完成报告 - -**计划文档**: -- `phase5_completion_report.md` - Phase 5功能增强完成报告 (进行中) -- `testing_report.md` - 测试报告 -- `performance_analysis.md` - 性能分析报告 -- `final_project_report.md` - 最终项目报告 - -### 🔄 git/ - 版本控制文档 -Git工作流程、分支策略、代码审查等 - -**当前文档**: -- `git_branch_strategy.md` - Git分支管理策略 - -**后续文档**: -- `code_review_guidelines.md` - 代码审查指南 -- `commit_message_standards.md` - 提交信息规范 -- `release_process.md` - 发布流程 - -## 文档维护规范 - -### 文档命名约定 -- 使用小写字母和下划线分隔:`file_name.md` -- 文档类型后缀:`.md`(Markdown)、`.sql`(SQL脚本)、`.json`(配置文件) -- 版本化文档:`document_name_v1.0.md` - -### 文档内容要求 -1. **标题层次**: 使用标准的Markdown标题层次(# ## ### ####) -2. **目录**: 长文档需要包含目录 -3. **更新日期**: 每次重要更新需要记录修改日期 -4. **作者信息**: 标明文档作者和维护者 -5. **版本信息**: 重要文档需要版本号 - -### 文档审查流程 -1. 新建或重大修改的文档需要经过代码审查 -2. 文档变更与代码变更同步进行 -3. 定期review文档的准确性和时效性 - -## 快速导航 - -### 新团队成员必读 -1. [项目任务分解](planning/task.md) -2. [项目结构规划](planning/project_structure_plan.md) -3. [Git分支策略](git/git_branch_strategy.md) - -### 开发者必读 -1. [数据库表结构](database/database_schema.sql) -2. [重构影响评估](planning/refactor_impact_assessment.md) - -### 项目经理必读 -1. [Phase 1完成报告](reports/phase1_completion_report.md) -2. [项目风险评估](planning/refactor_impact_assessment.md) - -## 文档更新日志 - -| 日期 | 文档 | 变更描述 | 作者 | -|------|------|----------|------| -| 2025-06-18 | 全部 | 初始化文档目录结构,迁移Phase 1文档 | Claude | -| 2024-12-21 | task.md | 更新Phase 5系统日志功能开发进展 | Qt UI Developer | -| 2024-12-21 | system_log_design.md | 创建系统日志功能技术设计文档 | Qt UI Developer | -| 2024-12-21 | README.md | 更新文档索引,添加新的技术文档链接 | Qt UI Developer | - ---- - -**注意**: 本文档目录遵循项目开发进度动态更新,请定期查看最新版本。 \ No newline at end of file diff --git a/src/Client/doc/database/database_design.md b/src/Client/doc/database/database_design.md deleted file mode 100644 index 3f6142ea..00000000 --- a/src/Client/doc/database/database_design.md +++ /dev/null @@ -1,240 +0,0 @@ -# 战场探索系统数据库设计 - -## 设计概述 - -根据"战场探索系统"的实际需求,重新设计了数据库结构: -- **移除了伤员记录表** - 不符合战场探索的核心功能 -- **合并设备表** - 无人机和地面机器人使用统一表结构,通过`device_type`字段区分 -- **增加探索相关功能** - 添加了探索任务等战场探索核心功能 - -## 数据库表结构 - -### 1. devices (统一设备表) ⭐ 核心表 - -**用途**: 存储所有无人设备(无人机 + 地面机器人) - -```sql -CREATE TABLE devices ( - id VARCHAR(50) PRIMARY KEY, -- 设备唯一ID - name VARCHAR(100) NOT NULL, -- 设备名称 - device_type VARCHAR(20) NOT NULL, -- 设备类型: 'uav'=无人机, 'dog'=地面机器人 - state INT DEFAULT 0, -- 设备状态: 0=离线, 1=在线, 2=工作中, 3=错误 - ip VARCHAR(15), -- 设备IP地址 - port INT, -- 通信端口 - longitude DOUBLE, -- 经度坐标 - latitude DOUBLE, -- 纬度坐标 - signal_strength INT DEFAULT 0, -- 信号强度 (0-100) - last_heartbeat TIMESTAMP NULL, -- 最后心跳时间 - battery_level INT DEFAULT 100, -- 电池电量 (0-100) - firmware_version VARCHAR(50), -- 固件版本 - created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP -); -``` - -**索引优化**: -- `device_type` - 按设备类型快速筛选 -- `state` - 按状态查询在线设备 -- `(longitude, latitude)` - 地理位置查询 -- `(device_type, state)` - 复合索引,查询特定类型的特定状态设备 - -### 2. exploration_tasks (探索任务表) 🎯 业务核心 - -**用途**: 管理战场探索任务 - -```sql -CREATE TABLE exploration_tasks ( - task_id VARCHAR(50) PRIMARY KEY, - task_name VARCHAR(200) NOT NULL, - task_type VARCHAR(50), -- 任务类型: patrol, reconnaissance, search - assigned_devices JSON, -- 分配的设备ID列表 - task_status VARCHAR(20) DEFAULT 'created', -- 任务状态 - start_time TIMESTAMP NULL, - end_time TIMESTAMP NULL, - target_area JSON, -- 目标区域坐标 - task_priority INT DEFAULT 1, -- 优先级: 1=低, 2=中, 3=高, 4=紧急 - created_by VARCHAR(50), - created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP -); -``` - -### 3. system_config (系统配置表) ⚙️ - -**用途**: 存储系统配置参数 - -```sql -CREATE TABLE system_config ( - config_key VARCHAR(100) PRIMARY KEY, - config_value TEXT, - config_type VARCHAR(20) DEFAULT 'string', - description VARCHAR(500), - created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP -); -``` - -### 4. device_operation_logs (设备操作日志表) 📝 - -**用途**: 记录所有设备操作日志 - -```sql -CREATE TABLE device_operation_logs ( - log_id BIGINT AUTO_INCREMENT PRIMARY KEY, - device_id VARCHAR(50), - device_type VARCHAR(20), - operation VARCHAR(50), -- 操作: connect, disconnect, control, move, takeoff, land - operation_result VARCHAR(20) DEFAULT 'success', - operator VARCHAR(50), - operation_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - details JSON, - FOREIGN KEY (device_id) REFERENCES devices(id) -); -``` - -### 5. user_sessions (用户会话表) 👤 - -**用途**: 管理用户登录会话 - -```sql -CREATE TABLE user_sessions ( - session_id VARCHAR(100) PRIMARY KEY, - user_name VARCHAR(50), - login_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - last_activity TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - ip_address VARCHAR(45), - user_agent TEXT, - status INT DEFAULT 1 -); -``` - -## 兼容性设计 - -### 视图映射 (保持现有代码工作) - -为了确保现有的`UAVDatabase`和`DogDatabase`类继续工作,创建了兼容性视图: - -```sql --- UAV设备视图 (兼容UAVDatabase) -CREATE VIEW uavdatabase AS -SELECT id, state, ip, port, longitude as lon, latitude as lat -FROM devices WHERE device_type = 'uav'; - --- Dog设备视图 (兼容DogDatabase) -CREATE VIEW dogdatabase AS -SELECT id, state, ip, port, longitude as lon, latitude as lat -FROM devices WHERE device_type = 'dog'; -``` - -## 设备类型管理 - -### device_type 枚举值 -- `'uav'` - 无人机设备 -- `'dog'` - 地面机器人设备 - -### state 状态值 -- `0` - 离线 -- `1` - 在线 -- `2` - 工作中 -- `3` - 错误 - -### 示例数据 - -```sql -INSERT INTO devices VALUES -('UAV001', '侦察无人机-01', 'uav', 1, '192.168.1.101', 8001, 116.4074, 39.9042, 85, 95), -('DOG001', '地面机器人-01', 'dog', 1, '192.168.1.201', 8101, 116.4064, 39.9032, 92, 88); -``` - -## 数据库查询示例 - -### 1. 获取所有在线设备 -```sql -SELECT id, name, device_type, signal_strength, battery_level -FROM devices -WHERE state = 1 -ORDER BY device_type, name; -``` - -### 2. 按设备类型分组统计 -```sql -SELECT - device_type, - COUNT(*) as total_count, - SUM(CASE WHEN state = 1 THEN 1 ELSE 0 END) as online_count, - AVG(battery_level) as avg_battery -FROM devices -GROUP BY device_type; -``` - -### 3. 查找信号弱的设备 -```sql -SELECT id, name, device_type, signal_strength, last_heartbeat -FROM devices -WHERE state = 1 AND signal_strength < 50 -ORDER BY signal_strength ASC; -``` - -### 4. 获取设备列表(用于界面显示) -```sql -SELECT - id, - name, - CASE device_type - WHEN 'uav' THEN '无人机' - WHEN 'dog' THEN '地面机器人' - END as type_name, - CASE state - WHEN 0 THEN '离线' - WHEN 1 THEN '在线' - WHEN 2 THEN '工作中' - WHEN 3 THEN '错误' - END as status_name, - signal_strength, - battery_level, - ip, - port -FROM devices -ORDER BY device_type, name; -``` - -## 优势分析 - -### 1. 统一管理 -- ✅ 无人机和机器狗使用相同的数据结构 -- ✅ 简化了数据库连接和管理代码 -- ✅ 界面可以统一显示设备列表 - -### 2. 扩展性强 -- ✅ 添加新设备类型只需增加`device_type`值 -- ✅ 字段统一,便于添加通用功能(如电池监控) -- ✅ 便于实现设备间的协同任务 - -### 3. 性能优化 -- ✅ 减少了表的数量,降低了JOIN操作 -- ✅ 合理的索引设计提升查询性能 -- ✅ JSON字段支持灵活的扩展信息存储 - -### 4. 兼容性保证 -- ✅ 通过视图确保现有代码继续工作 -- ✅ 渐进式迁移,降低风险 -- ✅ 新老代码可以并存 - -## 迁移策略 - -### Phase 1: 表结构迁移 ✅ 已完成 -- 创建新的统一`devices`表 -- 创建兼容性视图 -- 插入示例数据 - -### Phase 2: 代码适配 -- 更新数据库访问类,支持统一设备管理 -- 修改界面代码,实现统一设备列表 -- 添加设备类型筛选功能 - -### Phase 3: 功能增强 -- 实现探索任务管理 -- 添加设备协同功能 -- 完善日志记录系统 - -这个设计完全符合"战场探索系统"的定位,突出了设备管理和探索任务的核心功能,同时保持了与现有代码的兼容性。 \ No newline at end of file diff --git a/src/Client/doc/database/database_schema.sql b/src/Client/doc/database/database_schema.sql deleted file mode 100644 index 291dae50..00000000 --- a/src/Client/doc/database/database_schema.sql +++ /dev/null @@ -1,152 +0,0 @@ --- CasualtySightPlus 数据库表结构 --- 数据库: Client --- 创建日期: 2025-06-18 - -USE Client; - --- 1. UAV设备表 (无人机) -CREATE TABLE IF NOT EXISTS uav_devices ( - id VARCHAR(50) PRIMARY KEY, - name VARCHAR(100) NOT NULL DEFAULT 'UAV设备', - state INT DEFAULT 0 COMMENT '设备状态: 0=离线, 1=在线, 2=工作中, 3=错误', - ip VARCHAR(15), - port INT, - longitude DOUBLE, - latitude DOUBLE, - signal_strength INT DEFAULT 0 COMMENT '信号强度 0-100', - last_heartbeat TIMESTAMP NULL COMMENT '最后心跳时间', - created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - INDEX idx_state (state), - INDEX idx_location (longitude, latitude) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='无人机设备表'; - --- 2. Dog机器人表 (地面机器人) -CREATE TABLE IF NOT EXISTS dog_devices ( - id VARCHAR(50) PRIMARY KEY, - name VARCHAR(100) NOT NULL DEFAULT '地面机器人', - state INT DEFAULT 0 COMMENT '设备状态: 0=离线, 1=在线, 2=工作中, 3=错误', - ip VARCHAR(15), - port INT, - longitude DOUBLE, - latitude DOUBLE, - signal_strength INT DEFAULT 0 COMMENT '信号强度 0-100', - last_heartbeat TIMESTAMP NULL COMMENT '最后心跳时间', - created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - INDEX idx_state (state), - INDEX idx_location (longitude, latitude) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='地面机器人设备表'; - --- 3. 伤员记录表 -CREATE TABLE IF NOT EXISTS injury_records ( - id VARCHAR(50) PRIMARY KEY, - rank INT COMMENT '伤员等级', - longitude DOUBLE, - latitude DOUBLE, - flag INT DEFAULT 1 COMMENT '有效标志: 0=无效, 1=有效', - severity INT DEFAULT 0 COMMENT '严重程度: 0=轻微, 1=中等, 2=严重, 3=危重', - description TEXT COMMENT '伤情描述', - discovered_by VARCHAR(50) COMMENT '发现设备ID', - created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - INDEX idx_flag (flag), - INDEX idx_severity (severity), - INDEX idx_location (longitude, latitude) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='伤员记录表'; - --- 4. 系统配置表 -CREATE TABLE IF NOT EXISTS system_config ( - config_key VARCHAR(100) PRIMARY KEY, - config_value TEXT, - config_type VARCHAR(20) DEFAULT 'string' COMMENT '配置类型: string, int, float, boolean, json', - description VARCHAR(500), - created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='系统配置表'; - --- 5. 用户会话表 -CREATE TABLE IF NOT EXISTS user_sessions ( - session_id VARCHAR(100) PRIMARY KEY, - user_name VARCHAR(50), - login_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - last_activity TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - ip_address VARCHAR(45), - user_agent TEXT, - status INT DEFAULT 1 COMMENT '会话状态: 0=已注销, 1=活跃', - INDEX idx_user (user_name), - INDEX idx_status (status) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户会话表'; - --- 6. 设备操作日志表 -CREATE TABLE IF NOT EXISTS device_operation_logs ( - log_id BIGINT AUTO_INCREMENT PRIMARY KEY, - device_id VARCHAR(50), - device_type VARCHAR(20) COMMENT '设备类型: uav, dog', - operation VARCHAR(50) COMMENT '操作类型: connect, disconnect, control, move', - operation_result VARCHAR(20) DEFAULT 'success' COMMENT '操作结果: success, failed, timeout', - operator VARCHAR(50) COMMENT '操作员', - operation_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - details JSON COMMENT '操作详细信息', - INDEX idx_device (device_id), - INDEX idx_operation_time (operation_time), - INDEX idx_device_type (device_type) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='设备操作日志表'; - --- 插入默认系统配置 -INSERT INTO system_config (config_key, config_value, config_type, description) VALUES -('app.version', '2.0.0', 'string', '应用程序版本'), -('app.theme', 'military', 'string', '默认主题'), -('database.connection_timeout', '30000', 'int', '数据库连接超时时间(毫秒)'), -('ui.auto_refresh_interval', '5000', 'int', '界面自动刷新间隔(毫秒)'), -('ui.device_card_style', 'modern', 'string', '设备卡片样式'), -('map.default_center_lat', '39.9', 'float', '地图默认中心纬度'), -('map.default_center_lon', '116.4', 'float', '地图默认中心经度'), -('map.default_zoom', '12', 'int', '地图默认缩放级别'), -('device.heartbeat_interval', '10000', 'int', '设备心跳间隔(毫秒)'), -('device.connection_timeout', '30000', 'int', '设备连接超时(毫秒)') -ON DUPLICATE KEY UPDATE - config_value = VALUES(config_value), - updated_at = CURRENT_TIMESTAMP; - --- 为兼容现有代码,创建旧表名的视图 -CREATE OR REPLACE VIEW uavdatabase AS -SELECT - id, - state, - ip, - port, - longitude as lon, - latitude as lat -FROM uav_devices; - -CREATE OR REPLACE VIEW dogdatabase AS -SELECT - id, - state, - ip, - port, - longitude as lon, - latitude as lat -FROM dog_devices; - -CREATE OR REPLACE VIEW injurydatabase AS -SELECT - id, - rank as injuryrank, - longitude as lon, - latitude as lat, - flag -FROM injury_records; - --- 显示创建的表 -SHOW TABLES; - --- 显示表结构概要 -SELECT - TABLE_NAME as '表名', - TABLE_COMMENT as '说明', - TABLE_ROWS as '记录数' -FROM information_schema.TABLES -WHERE TABLE_SCHEMA = 'Client' -ORDER BY TABLE_NAME; \ No newline at end of file diff --git a/src/Client/doc/database/updated_database_schema.sql b/src/Client/doc/database/updated_database_schema.sql deleted file mode 100644 index 7bb80226..00000000 --- a/src/Client/doc/database/updated_database_schema.sql +++ /dev/null @@ -1,192 +0,0 @@ --- CasualtySightPlus 战场探索系统 - 更新的数据库表结构 --- 数据库: Client --- 更新日期: 2025-06-18 --- 变更: 合并UAV和Dog设备表,移除伤员记录表 - -USE Client; - --- 删除旧的分离表和视图(如果存在) -DROP VIEW IF EXISTS uavdatabase; -DROP VIEW IF EXISTS dogdatabase; -DROP VIEW IF EXISTS injurydatabase; -DROP TABLE IF EXISTS uav_devices; -DROP TABLE IF EXISTS dog_devices; -DROP TABLE IF EXISTS injury_records; - --- 1. 统一设备表 (无人机 + 地面机器人) -CREATE TABLE IF NOT EXISTS devices ( - id VARCHAR(50) PRIMARY KEY, - name VARCHAR(100) NOT NULL DEFAULT '无人设备', - device_type VARCHAR(20) NOT NULL COMMENT '设备类型: uav=无人机, dog=地面机器人', - state INT DEFAULT 0 COMMENT '设备状态: 0=离线, 1=在线, 2=工作中, 3=错误', - ip VARCHAR(15), - port INT, - longitude DOUBLE, - latitude DOUBLE, - signal_strength INT DEFAULT 0 COMMENT '信号强度 0-100', - last_heartbeat TIMESTAMP NULL COMMENT '最后心跳时间', - battery_level INT DEFAULT 100 COMMENT '电池电量 0-100', - firmware_version VARCHAR(50) COMMENT '固件版本', - created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - - -- 索引优化 - INDEX idx_device_type (device_type), - INDEX idx_state (state), - INDEX idx_location (longitude, latitude), - INDEX idx_type_state (device_type, state) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='统一设备表(无人机+地面机器人)'; - --- 2. 系统配置表 -CREATE TABLE IF NOT EXISTS system_config ( - config_key VARCHAR(100) PRIMARY KEY, - config_value TEXT, - config_type VARCHAR(20) DEFAULT 'string' COMMENT '配置类型: string, int, float, boolean, json', - description VARCHAR(500), - created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='系统配置表'; - --- 3. 用户会话表 -CREATE TABLE IF NOT EXISTS user_sessions ( - session_id VARCHAR(100) PRIMARY KEY, - user_name VARCHAR(50), - login_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - last_activity TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - ip_address VARCHAR(45), - user_agent TEXT, - status INT DEFAULT 1 COMMENT '会话状态: 0=已注销, 1=活跃', - INDEX idx_user (user_name), - INDEX idx_status (status) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户会话表'; - --- 4. 设备操作日志表 -CREATE TABLE IF NOT EXISTS device_operation_logs ( - log_id BIGINT AUTO_INCREMENT PRIMARY KEY, - device_id VARCHAR(50), - device_type VARCHAR(20) COMMENT '设备类型: uav, dog', - operation VARCHAR(50) COMMENT '操作类型: connect, disconnect, control, move, takeoff, land', - operation_result VARCHAR(20) DEFAULT 'success' COMMENT '操作结果: success, failed, timeout', - operator VARCHAR(50) COMMENT '操作员', - operation_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - details JSON COMMENT '操作详细信息', - INDEX idx_device (device_id), - INDEX idx_operation_time (operation_time), - INDEX idx_device_type (device_type), - FOREIGN KEY (device_id) REFERENCES devices(id) ON DELETE SET NULL -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='设备操作日志表'; - --- 5. 探索任务表 (战场探索系统的核心功能) -CREATE TABLE IF NOT EXISTS exploration_tasks ( - task_id VARCHAR(50) PRIMARY KEY, - task_name VARCHAR(200) NOT NULL, - task_type VARCHAR(50) COMMENT '任务类型: patrol=巡逻, reconnaissance=侦察, search=搜索', - assigned_devices JSON COMMENT '分配的设备ID列表', - task_status VARCHAR(20) DEFAULT 'created' COMMENT '任务状态: created, running, paused, completed, failed', - start_time TIMESTAMP NULL, - end_time TIMESTAMP NULL, - target_area JSON COMMENT '目标区域坐标', - task_priority INT DEFAULT 1 COMMENT '任务优先级: 1=低, 2=中, 3=高, 4=紧急', - created_by VARCHAR(50), - created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - INDEX idx_status (task_status), - INDEX idx_priority (task_priority), - INDEX idx_type (task_type) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='探索任务表'; - --- 插入默认系统配置 -INSERT INTO system_config (config_key, config_value, config_type, description) VALUES -('app.version', '2.0.0', 'string', '应用程序版本'), -('app.theme', 'military', 'string', '默认主题'), -('database.connection_timeout', '30000', 'int', '数据库连接超时时间(毫秒)'), -('ui.auto_refresh_interval', '5000', 'int', '界面自动刷新间隔(毫秒)'), -('ui.device_card_style', 'modern', 'string', '设备卡片样式'), -('map.default_center_lat', '39.9', 'float', '地图默认中心纬度'), -('map.default_center_lon', '116.4', 'float', '地图默认中心经度'), -('map.default_zoom', '12', 'int', '地图默认缩放级别'), -('device.heartbeat_interval', '10000', 'int', '设备心跳间隔(毫秒)'), -('device.connection_timeout', '30000', 'int', '设备连接超时(毫秒)'), -('exploration.max_concurrent_tasks', '5', 'int', '最大并发探索任务数'), -('exploration.default_patrol_speed', '2.0', 'float', '默认巡逻速度(m/s)') -ON DUPLICATE KEY UPDATE - config_value = VALUES(config_value), - updated_at = CURRENT_TIMESTAMP; - --- 插入示例设备数据 -INSERT INTO devices (id, name, device_type, state, ip, port, longitude, latitude, signal_strength, battery_level) VALUES -('UAV001', '侦察无人机-01', 'uav', 1, '192.168.1.101', 8001, 116.4074, 39.9042, 85, 95), -('UAV002', '侦察无人机-02', 'uav', 0, '192.168.1.102', 8002, 116.4084, 39.9052, 0, 78), -('DOG001', '地面机器人-01', 'dog', 1, '192.168.1.201', 8101, 116.4064, 39.9032, 92, 88), -('DOG002', '地面机器人-02', 'dog', 2, '192.168.1.202', 8102, 116.4054, 39.9022, 76, 65) -ON DUPLICATE KEY UPDATE - name = VALUES(name), - device_type = VALUES(device_type), - updated_at = CURRENT_TIMESTAMP; - --- 为兼容现有代码,创建视图 -CREATE OR REPLACE VIEW uavdatabase AS -SELECT - id, - state, - ip, - port, - longitude as lon, - latitude as lat -FROM devices -WHERE device_type = 'uav'; - -CREATE OR REPLACE VIEW dogdatabase AS -SELECT - id, - state, - ip, - port, - longitude as lon, - latitude as lat -FROM devices -WHERE device_type = 'dog'; - --- 创建统一的设备视图(用于新的界面代码) -CREATE OR REPLACE VIEW device_list AS -SELECT - id, - name, - device_type, - CASE device_type - WHEN 'uav' THEN '无人机' - WHEN 'dog' THEN '地面机器人' - ELSE '未知设备' - END as device_type_name, - CASE state - WHEN 0 THEN '离线' - WHEN 1 THEN '在线' - WHEN 2 THEN '工作中' - WHEN 3 THEN '错误' - ELSE '未知状态' - END as state_name, - state, - ip, - port, - longitude, - latitude, - signal_strength, - battery_level, - last_heartbeat, - created_at, - updated_at -FROM devices -ORDER BY device_type, name; - --- 显示创建的表 -SHOW TABLES; - --- 显示表结构概要 -SELECT - TABLE_NAME as '表名', - TABLE_COMMENT as '说明', - TABLE_ROWS as '记录数' -FROM information_schema.TABLES -WHERE TABLE_SCHEMA = 'Client' - AND TABLE_TYPE = 'BASE TABLE' -ORDER BY TABLE_NAME; \ No newline at end of file diff --git a/src/Client/doc/git/git_branch_strategy.md b/src/Client/doc/git/git_branch_strategy.md deleted file mode 100644 index 814a449d..00000000 --- a/src/Client/doc/git/git_branch_strategy.md +++ /dev/null @@ -1,301 +0,0 @@ -# Git 分支策略 - -## 分支结构 - -### 主要分支 - -#### main -- **用途**: 生产就绪的稳定代码 -- **保护**: 不允许直接推送,只能通过PR合并 -- **特点**: 始终保持可部署状态 - -#### develop -- **用途**: 开发集成分支,所有功能分支的合并目标 -- **更新频率**: 持续集成新功能 -- **特点**: 最新的开发进度,但可能不稳定 - -### 功能分支 - -#### feature/ui-redesign -- **用途**: 界面重设计相关开发 -- **基于**: develop分支 -- **包含**: - - 主界面布局重构 - - 设备卡片组件开发 - - 样式主题系统 - -#### feature/database-enhancement -- **用途**: 数据库优化和功能增强 -- **基于**: develop分支 -- **包含**: - - 数据库连接管理改进 - - 新表结构实现 - - 数据模型优化 - -#### feature/component-system -- **用途**: 可复用组件系统开发 -- **基于**: develop分支 -- **包含**: - - DeviceCard组件 - - StatusPanel组件 - - MapViewer组件 - -### 支持分支 - -#### hotfix/critical-fix -- **用途**: 紧急修复生产问题 -- **基于**: main分支 -- **合并到**: main 和 develop - -#### release/v2.0.0 -- **用途**: 版本发布准备 -- **基于**: develop分支 -- **包含**: bug修复、文档更新、版本号调整 - -## 分支命名规范 - -### 功能分支 -``` -feature/<功能描述> -feature/ui-redesign -feature/database-enhancement -feature/device-card-component -``` - -### 修复分支 -``` -bugfix/<问题描述> -bugfix/connection-timeout -bugfix/ui-layout-issue -``` - -### 热修复分支 -``` -hotfix/<紧急问题> -hotfix/database-crash -hotfix/security-vulnerability -``` - -### 发布分支 -``` -release/<版本号> -release/v2.0.0 -release/v2.0.1 -``` - -## 工作流程 - -### 1. 功能开发流程 - -```bash -# 1. 从develop创建功能分支 -git checkout develop -git pull origin develop -git checkout -b feature/ui-redesign - -# 2. 开发过程中定期提交 -git add . -git commit -m "feat: 实现设备卡片基础布局" -git commit -m "feat: 添加设备状态指示器" -git commit -m "style: 应用新的颜色主题" - -# 3. 推送到远程分支 -git push origin feature/ui-redesign - -# 4. 创建Pull Request -# 通过GitHub/GitLab界面创建PR -# 目标分支: develop -# 描述: 详细的功能说明和测试结果 -``` - -### 2. 代码审查流程 - -#### PR模板 -```markdown -## 功能描述 -简要描述此PR实现的功能 - -## 变更内容 -- [ ] UI界面重设计 -- [ ] 数据库结构优化 -- [ ] 新增组件开发 -- [ ] 性能优化 -- [ ] Bug修复 - -## 测试清单 -- [ ] 单元测试通过 -- [ ] 集成测试通过 -- [ ] 手动功能测试 -- [ ] 性能测试 -- [ ] 兼容性测试 - -## 截图/演示 -(如果有UI变更,请提供截图或GIF演示) - -## 相关Issues -Closes #123, Relates to #456 -``` - -### 3. 集成流程 - -```bash -# 1. 功能完成后合并到develop -git checkout develop -git pull origin develop -git merge feature/ui-redesign -git push origin develop - -# 2. 删除已合并的功能分支 -git branch -d feature/ui-redesign -git push origin --delete feature/ui-redesign -``` - -### 4. 发布流程 - -```bash -# 1. 从develop创建发布分支 -git checkout develop -git pull origin develop -git checkout -b release/v2.0.0 - -# 2. 版本准备工作 -# 更新版本号 -# 更新CHANGELOG.md -# 最后的bug修复 - -# 3. 合并到main和develop -git checkout main -git merge release/v2.0.0 -git tag v2.0.0 -git push origin main --tags - -git checkout develop -git merge release/v2.0.0 -git push origin develop - -# 4. 删除发布分支 -git branch -d release/v2.0.0 -``` - -## 提交信息规范 - -### 提交类型 -- **feat**: 新功能 -- **fix**: 修复bug -- **docs**: 文档更新 -- **style**: 代码格式调整(不影响功能) -- **refactor**: 重构代码 -- **test**: 测试相关 -- **chore**: 构建过程或辅助工具的变动 - -### 提交格式 -``` -(): - - - -