# 2026-04-24 日志 ## 项目梳理 - 完整梳理了 ops2 项目的运行逻辑 - 涉及:后端 Go + Gin 架构、Web 前端 Vue 3 + Vite、移动端 uni-app 基础框架 ## 核心模块梳理 ### 用户认证 (apiUsers.go) - Cookie 认证机制,密码加盐哈希 - 各模块独立管理员组(purchase_admin / work_order_admin / schedule_admin / warehouse_admin) - 默认创建 admin 用户 ### 文件管理 (apiFiles.go) - SHA256 哈希去重存储(同一文件只存一份) - 支持图片/视频/音频/PDF 等类型 - 头像单独存储 ### 日程排班 (apiSchedule.go) - 日程表(软删除)+ 操作日志 - 日期范围查询 ### 仓库模块 (apiWarehouse.go) - 容器(树形,最多5层嵌套)+ 物品管理 - 支持工单关联、物品移动记录、操作日志 ### 采购模块 (apiPurchase.go) - 订单状态:pending → ordered → arrived → received / lost / returned - 费用明细(多币种)、图片上传、状态记录 - 可关联工单 ### 工单模块 (apiWorkOrder.go) - 工单状态:pending → checked → parts_ordered → repaired → returned / unrepairable - 可关联仓库物品和采购订单 - 特殊逻辑:送还时自动移除物品容器绑定 ## 移动端登录功能开发 ### 完成的功能 1. **api/index.js** - API 封装层 - uni.request 统一封装 - 自动注入 userCookieValue - Cookie 过期自动处理(-44 错误码) - 支持文件上传 2. **stores/user.js** - 用户状态管理 - userCookie / user / userInfo 状态 - isLoggedIn / cookieValue / username / avatarUrl 计算属性 - login(cookie) - 登录保存 - logout() - 清除状态 - restoreSession() - 启动时恢复会话 - fetchUserInfo() - 获取用户信息 3. **api/user.js** - 用户 API - login / register / getUserInfo / changePassword / changeEmail / updateInfo / updateAvatar 4. **pages/login/login.vue** - 登录页面(已完成 100%) - 表单验证 - 调用登录 API - 记住登录选项 - 登录成功跳转用户中心 - 错误提示(密码错误/用户名不存在) 5. **pages/user/user.vue** - 用户中心(已完成 100%) - 未登录状态:显示登录入口 - 已登录状态:显示用户信息卡片 + 功能菜单 + 退出登录 - 快捷入口:订单/工单/仓库/日程 - 退出登录确认对话框 ## 移动端工程分析 (ops2_uniapp) **技术栈**: uni-app + Vue 3 + Pinia + HBuilderX **已完成**: - 基础框架搭建 - Pinia 状态管理(config.js, user.js) - 自定义 Toast 组件 - 登录页(✅ 100%)+ 设置页(90%) - 用户中心(✅ 100%) **API 封装**: 已完善 Cookie 认证机制 **当前总完成度**: ~50% **待完成**: - 4个 TabBar 页面功能实现(index/order/message/work-order/schedule/warehouse) - 后端各模块对接 ## 下一步 移动端登录和用户中心已完成,可以: 1. ~~开发主页(index)仪表盘~~ ✅ 2. 开发订单列表(order) 3. 继续完善其他功能页面 --- ## 下午开发记录 ### 1. TabBar 导航修改 - 改为:主页 → 订单 → 仓库 → 用户 - 新增 `pages/warehouse/warehouse.vue` - 新增 `static/tabbar/warehouse*.png` ### 2. API 层完善 - **api/schedule.js** - 日程管理(getEvents/addEvent/editEvent/deleteEvent) - **api/purchase.js** - 采购订单(getOrders/getOrder/getOrderCount) ### 3. 主页功能开发 (pages/index/index.vue) - 欢迎语 + 今日日期显示 - 今日日程列表(调用 scheduleApi.getEvents) - 订单统计(待处理/已到达/已收件,调用 purchaseApi.getOrderCount) - 快捷入口卡片 ### 4. 主页页面交互 - 未登录时显示"欢迎使用 OPS 系统" - 登录后显示"用户名,您好!" - 日程按颜色标签显示 - 订单数量有状态提示(待处理>0时橙色高亮) - 点击统计和快捷入口跳转到对应 TabBar 页面 ### 5. TabBar 导航再次修改(增加工单) - 改为:主页 → 订单 → 工单 → 仓库 → 用户 - 新增 `pages/workorder/workorder.vue` - 工单列表页 - 顶部统计:待处理/已检查/已下单零件/已维修 - 状态下拉筛选 - 工单卡片列表(ID/状态/标题/描述/创建时间) - 状态颜色标签 - 分页加载 - 新增 `api/work_order.js` - 工单 API(list/get/getCount/add/update/delete/commit) - 新增 `static/tabbar/workorder*.png` - 工单图标(复制订单图标) ### 6. 仓库页面完善 (pages/warehouse/warehouse.vue) **新增功能**: - 容器卡片长按菜单(编辑/删除) - 新增容器弹窗完善: - 父容器选择(可选将容器添加到其他目录) - 颜色标签选择(8种预设颜色) - 图片上传(最多3张) - 备注输入 - 容器卡片显示颜色边框和图标背景色 - 删除容器前检查是否有子容器/物品 **后端更新** (apiWarehouse.go): - TabWarehouseContainer 添加 Color 字段 - add_container / update_container 接口支持 color 参数 **前端关键函数**: - onContainerLongPress() - 长按显示操作菜单 - showEditModal() / confirmDeleteContainer() - 编辑/删除 - openParentPicker() / selectParent() - 父容器选择 - selectColor() - 颜色选择 - chooseImage() / uploadImage() / removePhoto() - 图片管理