# Go Desk 任务规划

## 阶段一：项目初始化

- [x] 安装 Wails CLI 和验证环境
- [x] 创建项目结构
- [x] 配置 `wails.json` 使用 `web` 目录
- [x] 初始化前端项目结构
- [x] 安装 Arco Design Vue 依赖
- [x] 安装 Go 依赖（GORM、MySQL 驱动）

## 阶段二：基础框架搭建

- [x] 配置前端构建工具（Vite）
- [x] 集成 Arco Design Vue
- [x] 设置全局样式和主题
- [x] 创建基础布局组件（查询区域 + 表格区域）
- [x] 配置数据库连接（MySQL lab_dev）

## 阶段三：数据库连接和模型

- [x] 创建数据库连接模块（参考 ops-kit）
- [x] 定义 MemberInfo 结构体（参考 ops-kit/internal/model/member_info.go）
- [x] 实现数据库连接池配置
- [x] 测试数据库连接

## 阶段四：后端接口开发

- [x] 实现 Go 后端基础结构（app.go）
- [x] 实现用户查询方法（QueryUsers）
  - [x] 支持关键字搜索（姓名、账号、电话）
  - [x] 支持状态筛选
  - [ ] 支持角色筛选（关联查询）- 待完善
  - [x] 支持机构筛选（关联查询）
  - [x] 支持分页（limit/offset）
  - [x] 支持排序
- [ ] 实现关联查询（机构名称、角色名称）- 待完善
- [x] 错误处理和日志记录

## 阶段五：前端界面开发

- [x] 创建用户查询页面组件
- [x] 实现查询表单（关键字、状态、角色、机构）
- [x] 实现数据表格展示（Arco Table）
- [x] 实现分页组件
- [x] 实现状态标签显示
- [x] 实现前端调用后端方法
- [x] 测试前后端通信

## 阶段六：功能完善和优化

- [ ] 完善查询功能
- [ ] 优化界面交互
- [ ] 添加加载状态提示
- [ ] 错误提示优化
- [ ] 性能优化（查询优化、分页优化）

## 阶段七：测试与打包

- [x] 功能测试（查询、筛选、分页）
- [x] 数据库连接测试（测试服连接成功）
- [x] 前后端通信测试
- [x] 打包构建（Windows）
- [x] 验证打包后的应用运行

## 阶段八：设备调用测试功能

- [ ] 系统信息获取（CPU、内存、磁盘、系统信息）
- [ ] 文件系统操作（读取、写入、列出目录、创建、删除）
- [ ] 环境变量获取
- [ ] 打开文件/目录功能
- [ ] 前端测试界面实现
- [ ] 错误处理和权限验证

## 阶段九：更新升级功能

- [ ] 版本定义和管理
- [ ] 版本检查接口实现
- [ ] 下载更新包功能
- [ ] 下载进度显示
- [ ] 文件替换和自动重启
- [ ] 前端更新提示界面
- [ ] 错误处理和回滚机制

## 阶段十：后续功能（可选）

- [ ] 用户修改功能
- [ ] 用户新增功能
- [ ] 用户删除功能
- [ ] 数据导出功能

## 技术要点

### 代码规范
- Go 方法参数不超过 3 个
- 代码风格保持简洁，便于维护
- 使用 Arco 基础样式，避免过度自定义
- 注意资源嵌入和构建流程

### 数据库相关
- 使用 GORM 连接 MySQL
- 数据库：lab_dev
- 表：member_info（主表）、organ_info（机构表）、sys_member_role（角色关联表）
- 连接配置：localhost:3306, root/123456

### 参考实现
- 前端参考：`lab-admin/src/views/member/index.vue`
- 后端参考：`lab-api/src/main/java/cn/casehub/member/MemberService.java`
- 数据模型：`ops-kit/internal/model/member_info.go`
- 数据库连接：`ops-kit/internal/database/db.go`

