This commit is contained in:
2026-03-31 15:46:15 +08:00
parent 654724a213
commit 6d79836682
68 changed files with 3076 additions and 4488 deletions
+70
View File
@@ -6,3 +6,73 @@
- 用户确认:主力前端开发目录是 `frontend/ops_vue_js`JS 版,Tabler UI
- `frontend/ops_vue/`TypeScript 版)为旧目录已弃用
- MEMORY.md 已更新为正确的前端目录信息
## 前端整体重构 ✅
- **方案**:整体翻新(方案 C),新建文件替换旧代码
- **构建结果**6176 modules transformed, 0 errors, 7.23s
### 新建基础设施层
- `src/api/index.js` — axios 实例 + 请求/响应拦截器 + async/await 封装
- `src/api/auth.js` — 认证相关 API(登录/注册/修改密码/更新信息等)
- `src/api/purchase.js` — 采购相关 API
- `src/stores/user.js` — 精简的 user storecomputed getter、async actions
- `src/stores/toast.js` — 全局 Toast 通知 store
- `src/composables/usePageTitle.js` — 自动页面标题(一行搞定,替代三件套)
- `src/composables/index.js` — useValidation + isValidEmail
### 新建布局和组件
- `src/layouts/DefaultLayout.vue` — 带 Header + Footer 的主布局
- `src/layouts/AuthLayout.vue` — 登录/注册的全屏居中布局
- `src/components/AppHeader.vue` — 导航栏(Tabler Icons 替代内联 SVG
- `src/components/AppFooter.vue` — 页脚
- `src/components/AppToast.vue` — 全局 Toast 通知(替代 MyOffcanvas
- `src/components/SettingNav.vue` — 设置侧边导航
### 重写的页面
- 认证:LoginView / RegisterView / ForgotPasswordView
- 设置:AccountView / ContactView / SecurityView
- 采购:PurchaseList / AddOrder / ShowOrder
- 其他:HomeView / ScheduleView / WarehouseView / AdminView / NotFoundView
### 核心改进
1. **API 层**:回调地狱 → async/await,统一拦截器处理 cookie 注入和错误
2. **响应式**DOM 操作 `ref.value.classList.add()``v-model` + `is-invalid` class
3. **Auth guard**:每个页面手动检查 → Router beforeEach 统一守卫
4. **页面标题**:三件套复制5遍 → `usePageTitle(key)` 一行
5. **图标**:内联 SVG → `@tabler/icons-vue` 组件
6. **命名**HeardMain → AppHeader, myfunc → composables 等
7. **布局分离**:认证页和主站页使用不同 Layout
### 删除的旧文件
- `my_network_func.js`, `myfunc.js`
- `HeardMain.vue`, `FooterMain.vue`, `MyOffcanvas.vue`, `settingNavigation.vue`
- `HelloWorld.vue`, `TheWelcome.vue`, `WelcomeItem.vue`
- 所有旧视图文件(loginView/registerView/forgotPassword/adminView/warehouse/test/404/scheduleView 等)
## CSS 框架迁移:Bootstrap/Tabler → Tailwind CSS v4 ✅
- **安装**`tailwindcss` + `@tailwindcss/vite`Vite 插件方式)
- **卸载**`@tabler/core``bootstrap`
- **构建结果**6160 modules transformed, 0 errors, 8.84s
- CSS 总大小:~56 kB(之前 Tabler 整包 200+ kB),Tree-shaking 后更小
### 改动的文件(全部从 Bootstrap class 替换为 Tailwind class
- `vite.config.js` — 添加 tailwindcss 插件
- `src/assets/main.css``@import "tailwindcss"` 替换 Tabler CSS
- `src/main.js` — 移除 Tabler CSS 导入
- `src/layouts/` — DefaultLayout/AuthLayout
- `src/components/` — AppHeader/AppFooter/AppToast/SettingNav/imageCropper
- `src/views/` — 所有 15 个视图文件全部重写
- 主题切换改用 `document.documentElement.classList.toggle('dark')`
- 所有表单控件、按钮、卡片、表格、分页等均用 Tailwind class 重写
## 字符损坏修复(第二次) ✅
- 20 个 Vue 文件因批量字符替换脚本导致损坏(`a→n`, `i→l`, `s→n` 等偏移)
- 前一 session 已修复 4 个组件文件(dateTimePicker/tagadder/useDropzone/imageCropper
- 本次 session 修复了剩余 14 个视图文件:
- Auth: LoginView, RegisterView, ForgotPasswordView
- 基础: HomeView, NotFoundView
- 占位: WarehouseView, AdminView, ScheduleViewFullCalendar
- Settings: AccountView, ContactView, SecurityView
- Purchase: PurchaseList, AddOrder, ShowOrder
- **构建验证**6169 modules, 0 errors, 15.73s ✅
- 修复了 `IconFileTypeText` 不存在于 `@tabler/icons-vue` 的导入错误