Files
ops2/.workbuddy/memory/MEMORY.md
T
2026-03-31 15:46:15 +08:00

4.5 KiB
Raw Blame History

项目长期记忆 - OPS2

项目概况

  • 项目名称OpsOperations 运营管理系统)
  • 类型:前后端分离的工作流/运营管理系统
  • 工作区路径c:\Users\wuwen\Documents\prj\ops2

技术栈

后端(backend/

  • 语言Go
  • 框架GinHTTP 框架)+ GORMORM
  • 数据库:支持 SQLite / MySQL / PostgreSQL(通过配置切换)
  • 配置YAML 格式,路径 ./data/config.yaml,模板在 ./defConfig/configTemp.yaml
  • 静态文件:后端直接 serve ./dist 目录下的前端构建产物
  • TLS:支持 HTTPS(可配置)

前端(frontend/ops_vue_js/⬅️ 主力开发目录

  • 框架Vue 3 + JavaScript(非 TypeScript
  • 路由Vue RouterHash 模式)
  • 构建工具Vite 7
  • CSS 框架Tailwind CSS v4@tailwindcss/vite 插件)
  • 图标@tabler/icons-vue
  • 状态管理Pinia
  • 国际化vue-i18n
  • 日期选择flatpickr / litepicker
  • 文件上传FilePond
  • 图片裁剪CropperJS@cropper/elements
  • 日历FullCalendar(含 daygrid/timegrid/list/interaction
  • 其他组件imageCropper、tagadder、dateTimePicker、useDropzone 等
  • UI 框架TablerBootstrap 5 + @tabler/core 已弃用(2026-03-31 迁移至 Tailwind

注意:frontend/ops_vue/TypeScript 版)是旧目录,已弃用

前端页面路由(ops_vue_js

  • / — 首页(HomeView
  • /login — 登录(AuthLayout
  • /register — 注册(AuthLayout
  • /forgot_password — 找回密码(AuthLayout
  • /admin — 管理后台
  • /schedule — 日程/排班(FullCalendar
  • /purchase — 采购订单列表
  • /purchase/addorder — 新增采购订单
  • /purchase/showorder/:id — 查看采购订单详情
  • /warehouse — 仓库管理
  • /settings/account — 账户设置
  • /settings/contact — 联系信息设置
  • /settings/security — 安全设置
  • /404 — 404 页面

数据模型(GORM 表结构)

  • TabUser_ - 用户表(name 唯一索引,支持 md5/md5salt 密码哈希)
  • TabUserGroups_ - 用户组表
  • TabUserGroupBinds_ - 用户-组绑定关系表
  • TabUserInfo_ - 用户详情表(头像、性别、语言等)
  • TabCookie_ - Session Cookie 表(含过期时间、记住我功能)
  • TabFileInfo_ - 文件信息表(支持图片/视频/音乐/PDF)
  • APIRequestLog_ - API 请求日志表
  • TabPurchaseOrder - 采购订单表(含照片JSON、快递单号、订单状态)
  • TabPurchaseCosts - 采购费用明细表

API 路由结构

  • POST /api/users/... - 用户相关(登录、注册、鉴权)
  • POST /api/files/... - 文件上传管理
  • POST /api/purchase/getorders - 获取采购订单列表(分页)
  • POST /api/purchase/addorder - 新增采购订单
  • GET /api/static/... - 静态资源访问
  • 认证方式:请求体中携带 userCookieValue 字段

前端页面

  • 见上方"前端页面路由"章节

项目现状(2026-03-31

  • 后端基础架构完整,采购模块已有基础实现
  • 前端 ops_vue_js 目录是主力开发目录(Vue 3 + Tailwind CSS v4
  • 已完成前端整体重构API 层 async/await、Router 导航守卫、composables、布局分离
  • 已完成 Tabler → Tailwind CSS v4 迁移
  • 已修复所有字符损坏文件(20 个 Vue 文件,因批量脚本偏移错误)
  • 所有页面构建通过,6169 modules, 0 errors
  • 前端构建产物放在 backend/dist/ 供后端 serve
  • frontend/ops_vue/TypeScript 版)是旧目录,已弃用

经验教训

  • 批量字符替换脚本危险:需在源码上使用前先备份,并限定替换范围
  • @tabler/icons-vue 不包含所有图标:如 IconFileTypeText 不存在,使用前需确认

前端重构后架构(2026-03-31

  • API 层src/api/ — axios 实例 + 拦截器,async/await 封装
  • Composablessrc/composables/ — usePageTitle、useValidation、isValidEmail
  • Storessrc/stores/user.js(精简)、src/stores/toast.js(全局通知)
  • 布局src/layouts/DefaultLayout.vue(主站)、AuthLayout.vue(认证页)
  • 公共组件AppHeader、AppFooter、AppToast、SettingNav
  • 命名规范PascalCase 文件名,camelCase 函数名

开发规范

  • API 请求统一携带 userCookieValue 做身份验证
  • 响应统一用 ReturnJson(ctx, errorCode, data) 格式
  • 错误码定义在 ./defConfig/errorCodes.json