daShangDao_psiWebApp/MAINTENANCE.md
2026-06-03 10:53:47 +08:00

7.0 KiB
Raw Blame History

cards_web 维护文档

📅 文档更新2026-04-27 📂 项目路径:D:\project\cards_web


一、项目概览

属性 详情
项目名称 cards图书进销存管理后台
版本 1.0.0
技术栈 Vue 3 + Vite 2 + Element Plus + Pinia + Vue Router 4
源码规模 32 个 JS 文件21 个 Vue 组件

核心业务模块

  • 波次管理wave — 核心流程:相机拍照 → 条码识别 → 书籍信息编辑
  • 出库管理outbound — 出库单管理API 层已按 shipping_order 表结构重写)
  • 盘库管理stock-check — 基于 stock_check / stock_check_item
  • 采购 / 销售 / 发货单 — 订单全链路
  • 商品、库存、供应商、仓库、库位 — 基础数据管理

二、技术架构

2.1 依赖版本

{
  "vue": "^3.2.8",
  "vue-router": "^4.0.11",
  "pinia": "^3.0.4",
  "element-plus": "^2.13.7",
  "axios": "^0.21.1",
  "crypto-js": "^4.2.0",
  "@zxing/library": "^0.21.3",
  "qrcode": "^1.5.4",
  "vite": "^2.5.2"
}

2.2 项目配置

文件 作用
vite.config.js Vite 构建配置dev server 代理
.env 环境变量API 密钥配置)
tsconfig.json TypeScript 配置(但项目实际以 JS 为主)

2.3 环境变量(.env

VITE_APP_API_KEY=psi
VITE_APP_CLIENT_ID=psi
VITE_APP_API_SECRET=psi_api_sign_secret

三、API 架构

3.1 后端服务地址

服务 地址 用途
主业务 API 192.168.101.213:9090 所有业务接口(已在 vite.config.js 中配置代理)
ES 搜索 192.168.101.162:9009 ⚠️ 已废弃,功能已合并到主业务 API

⚠️ 2026-04-27 更新/api/es 代理已从 vite.config.js 中移除,现仅保留 /api192.168.101.213:9090

3.2 请求封装(src/utils/request.js

  • baseURL:开发环境 /api,生产环境通过 VITE_API_BASE192.168.101.213:9090/api
  • 签名机制:所有非 mock 请求默认走签名(signUtil.generateSign
  • 鉴权 Token:从 localStorageadmin_token 读取,通过 Bearer 头部传递
  • 请求转换:自动将普通对象转为 FormDataobjectToFormData
  • 响应处理:统一处理 code≠200 的错误提示,按 HTTP 状态码跳转登录页
  • Mock 模式USE_MOCK = false(默认关闭),可通过环境变量控制

3.3 API 模块列表(src/api/

文件 对应接口前缀 备注
barcode.js /barcode/* 条码相关
inventory.js /inventory/* 库存记录
location.js /location/* 库位管理
outbound.js /outbound/* 出库管理
product.js /product/* 商品管理
purchase-order.js /purchase-order/* 采购订单
sales-order.js /sales-order/* 销售订单
shipping-order.js /shipping-order/* 发货单
stock-check.js /stock-check/* 盘库管理
supplier.js /supplier/* 供应商管理
warehouse.js /warehouse/* 仓库管理
wave-task.js /wave/* 波次任务

注意:wave-task.js.bak_20260426_172453 备份文件,建议清理。


四、路由与权限

4.1 路由模式

  • Hash 模式createWebHashHistory
  • URL 格式:http://host:port/#/path

4.2 路由守卫逻辑

路径 鉴权要求 说明
/login 登录页,已登录自动跳转 /dashboard
/dashboard admin_token 存在 仪表盘,入口页
其他业务页 admin_token + role=255 仅管理员可访问

4.3 角色权限

role 值 身份 权限
255 管理员 所有页面和操作
128 代理 降级为普通用户,仅限基础功能

五、业务数据模型(关键表结构)

5.1 盘库模块

表名 用途
stock_check 盘库单主表
stock_check_item 盘库明细
状态流程 1=待盘点 → 2=盘点中 → 3=已完成 / 4=已取消
盘点类型 1=全盘,2=抽盘

5.2 出库模块

  • 基于 shipping_order 表结构API 层已重写,接口路径 /shipping-order/*
  • 目前无后端 API前端先行开发待对接

5.3 波次模块

  • 波次任务/wave/task/list/wave/task/detail
  • 波次列表/wave/list
  • 支持按波次号扫码查询任务

六、已知问题与维护记录

6.1 遗留问题

# 问题 说明 建议
1 Vite 2 较旧 ^2.5.2,有安全更新 建议升级到 Vite 4+
2 Dashboard 为空 Dashboard.vue 未实现内容 待后端接口接入
3 库位管理路由隐藏 location 路由正常注册,但 UI 可能未展示入口 检查侧边栏组件
4 .bak 备份文件 wave-task.js.bak_20260426_172453 确认无问题后可删除
5 出库模块无后端 outbound.js API 已写好,后端尚未实现 等待后端对接
6 TypeScript 未启用 tsconfig.json 存在但项目使用 JS 统一规范或移除

6.2 维护日志

日期 操作
2026-04-26 首次读取项目,建立基础文档
2026-04-27 移除废弃的 ES 搜索服务代理 192.168.101.162:9009(功能已合并到主业务 API

七、开发指南

7.1 启动开发服务器

cd D:\project\cards_web
npm run dev
# 访问 http://localhost:3000

7.2 添加新业务模块

  1. API 层:在 src/api/ 下新建 xxx.js
  2. 视图层:在 src/views/ 下新建目录和 .vue 组件
  3. 路由注册:在 src/router/index.jschildren 中添加路由对象
  4. 权限控制:确保 meta 中正确设置 requiresAuth / requiresAdmin

7.3 API 签名机制

所有业务请求通过 signUtil.generateSign 生成签名参数:

  • GET 请求:params 签名
  • POST/PUT/DELETEbody 签名

如需跳过签名,可在请求头添加 X-Need-Sign: false

7.4 Mock 数据调试

如需启用本地 mock 数据,将 src/utils/request.js 中的 USE_MOCK 改为 true


八、文件清单

8.1 源码统计

src/
├── api/          12 个业务 API 模块 + 1 个 .bak 备份
├── assets/       静态资源
├── components/   公共组件AdminLayout 等)
├── router/       路由配置hash 模式)
├── store/        Pinia 状态管理
├── utils/        工具函数auth、request、sign、mock
└── views/        18 个业务页面目录

8.2 需要清理的文件

  • src/api/wave-task.js.bak_20260426_172453 — 备份文件,可删除

九、联系方式

  • 后端接口负责人192.168.101.213:9090
  • 主业务接口前缀:所有 API 通过 /api 代理

本文档随项目维护持续更新