shop-wx/doc/项目清理计划.md

437 lines
14 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 项目清理计划
## 项目概述
本项目基于 **uni-app + Vue 3** 技术栈的电商类应用。当前项目混合了技术栈代码和业务逻辑代码,需要进行清理,保留所有技术栈相关的配置和框架代码,删除所有业务逻辑相关的文件和代码。
---
## 一、技术栈分析
### 1.1 核心技术框架
- **前端框架:** Vue 3.4.21
- **多端框架:** uni-app (3.0.0)
- **构建工具:** Vite 5.2.8 + Uni插件系列
- **UI框架** UnoCSS 66.0.0 + uni-ui组件库
- **状态管理:** Pinia 2.0.36 + pinia-plugin-persistedstate 3.2.1
- **HTTP库** Alova 3.3.3 + @alova/adapter-uniapp 2.0.14
- **类型系统:** TypeScript 5.8.0
- **路由:** uni-app内置路由
### 1.2 开发工具链
- **代码规范:** ESLint 9.31.0 + @uni-helper/eslint-config
- **提交规范:** Husky 9.1.7 + @commitlint/cli
- **代码格式化:** unplugin-auto-import
- **构建分析:** rollup-plugin-visualizer
- **开发服务器:** Vite + proxy配置
### 1.3 主要依赖
- dayjs (时间处理)
- js-cookie (Cookie管理)
- html5-qrcode / vue-qrcode-reader (二维码)
- wot-design-uni (UI组件库)
- z-paging (分页组件)
- @tanstack/vue-query (数据状态管理)
- sass (CSS预处理)
---
## 二、保留的技术栈文件清单
### 2.1 根目录配置文件 ✅ 保留
```
✓ package.json # 依赖配置(保留技术栈依赖,删除业务依赖)
✓ pnpm-lock.yaml # 锁定文件
✓ tsconfig.json # TypeScript配置
✓ vite.config.ts # Vite构建配置保留简化业务相关配置
✓ uno.config.ts # UnoCSS配置
✓ manifest.config.ts # uni-app应用配置保留基础配置删除业务配置
✓ pages.config.ts # 页面配置(保留基础配置)
✓ eslint.config.mjs # ESLint配置
✓ .editorconfig # 编辑器配置
✓ .gitignore # Git忽略配置
✓ .npmrc # NPM配置
✓ .commitlintrc.cjs # 提交规范配置
```
### 2.2 环境配置目录 ✅ 保留
```
✓ env/ # 环境变量目录(保留技术栈相关配置)
- .env.development
- .env.production
- .env.test
- env.d.ts
```
### 2.3 源代码核心架构 ✅ 保留
```
✓ src/
✓ main.ts # 应用入口
✓ App.vue # 根组件
✓ uni.scss # 全局样式
✓ config/ # 基础配置
✓ setting.ts # 通用配置模板
✓ http/ # HTTP请求核心
✓ http.ts # HTTP封装保留核心功能
✓ interceptor.ts # 拦截器(保留技术栈拦截)
✓ types.ts # HTTP类型定义
✓ tools/
✓ queryString.ts # 工具函数
✓ hooks/ # 通用Hooks
✓ useRequest.ts # 请求Hook模板
✓ utils/ # 通用工具(保留技术栈工具)
✓ common.ts # 通用工具函数
✓ platform.ts # 平台检测
✓ systemInfo.ts # 系统信息
✓ bus.ts # 事件总线
✓ store/ # 状态管理(保留核心结构)
✓ index.ts # Pinia实例
✓ theme.ts # 主题管理
✓ components/ # 基础组件(保留通用组件)
✓ icons/ # 图标组件(保留技术栈图标)
✓ layouts/ # 布局组件(保留基础布局)
✓ default.vue # 默认布局模板
✓ router/ # 路由配置
✓ config.ts # 路由配置(保留基础配置)
✓ interceptor.ts # 路由拦截器
✓ tabbar/ # 底部导航(保留配置结构)
✓ config.ts # 导航配置模板
✓ store.ts # 导航状态
✓ types/ # 类型定义
✓ typings.ts # 全局类型
✓ auto-import.d.ts # 自动导入类型
✓ components.d.ts # 组件类型
✓ uni-pages.d.ts # 页面类型
✓ style/ # 全局样式
✓ index.scss # 全局样式入口
✓ iconfont.css # 图标字体
✓ uni_modules/ # Uni插件模块保留
✓ uni-icons/ # 图标组件
✓ uni-scss/ # SCSS工具
✓ static/ # 静态资源(保留基础资源)
✓ tabbar/ # 导航图标(保留基础图标)
```
### 2.4 脚本目录 ✅ 保留
```
✓ scripts/ # 构建脚本
✓ postupgrade.js # 升级后处理
✓ window-path-loader.js # 路径加载器
```
### 2.5 开发工具配置 ✅ 保留
```
✓ .husky/ # Git hooks
✓ .vscode/ # VS Code配置
```
---
## 三、需要删除的业务逻辑文件清单
### 3.1 API接口层 ❌ 删除
```
❌ src/api/ # 全部业务API
❌ foo.ts # 示例API
❌ goods/ # 商品相关API
❌ login/ # 登录相关API
❌ layout/ # 布局相关API
❌ me/ # 个人中心API
❌ order/ # 订单相关API
❌ system/ # 系统管理API
❌ types/ # 业务类型定义
```
### 3.2 页面组件层 ❌ 删除
```
❌ src/pages/ # 全部业务页面
❌ about/ # 关于页面
❌ index/ # 首页(商品、购物车)
❌ login/ # 登录注册页面
❌ me/ # 个人中心页面
❌ order/ # 订单相关页面
❌ QrScanner/ # 二维码扫描页面
```
### 3.3 业务组件层 ❌ 删除
```
❌ src/components/
❌ icons/ # 业务图标组件
❌ position-edit/ # 位置编辑组件
```
### 3.4 状态管理 ❌ 删除
```
❌ src/store/
❌ cart.ts # 购物车状态
❌ user.ts # 用户状态
```
### 3.5 业务工具类 ❌ 删除
```
❌ src/utils/
❌ dataTree.ts # 树形数据处理
❌ index.ts # 业务工具集合
❌ login-util.ts # 登录工具
❌ qrcode.ts # 二维码工具
❌ token-util.ts # Token工具
❌ updateManager.wx.ts # 更新管理
❌ uploadFile.ts # 文件上传
```
### 3.6 业务配置 ❌ 删除
```
❌ src/hooks/
❌ useUpload.ts # 上传Hook
❌ src/static/
❌ tabbar/ # 业务相关静态资源
```
### 3.7 根目录业务文件 ❌ 删除
```
❌ src/App.ku.vue # 业务根组件
❌ project.config.json # 微信小程序业务配置
❌ project.private.config.json # 私有配置
❌ thirdParty.zip # 第三方库压缩包
❌ vite.config.ts.timestamp-*.mjs # 构建缓存文件
❌ README.md # 业务说明文档(如需保留需重写)
❌ index.html # H5入口需要保留但删除业务内容
❌ favicon.ico # 业务图标
```
### 3.8 编译产物 ❌ 删除
```
❌ dist/ # 构建产物
```
---
## 四、package.json 依赖清理计划
### 4.1 计划保留的技术栈依赖
计划保留以下核心依赖,用于构建完整的技术栈:
**核心框架依赖**
- Vue 3.4.21 及相关 uni-app 核心包
- Vite 5.2.8 及 uni-app 相关插件系列
**UI和样式依赖**
- UnoCSS 66.0.0 及相关预设
- sass 样式预处理器
- @dcloudio/uni-components 基础组件库
**状态管理和HTTP依赖**
- Pinia 状态管理及持久化插件
- Alova HTTP请求库及uni-app适配器
- @tanstack/vue-query 数据状态管理
**类型系统依赖**
- TypeScript 及相关类型定义包
**代码质量工具**
- ESLint 代码规范检查
- @commitlint 提交规范检查
- Husky Git hooks 管理
**开发工具依赖**
- unplugin-auto-import 自动导入插件
- rollup-plugin-visualizer 构建分析工具
### 4.2 计划删除的业务依赖
以下业务相关依赖计划从项目中移除:
**业务功能依赖**
- dayjs (时间处理,可根据需要作为工具保留)
- js-cookie (Cookie处理业务相关)
- html5-qrcode、vue-qrcode-reader (二维码扫描功能)
- wot-design-uni (业务UI组件库可选保留)
- z-paging (分页组件,业务相关)
- abortcontroller-polyfill (网络请求polyfill可选保留)
---
## 五、配置简化计划
### 5.1 vite.config.ts 简化计划
计划对该配置文件进行以下调整:
- 移除业务相关的环境变量读取逻辑
- 保留核心构建配置和基础优化设置
- 精简业务插件配置
### 5.2 manifest.config.ts 简化计划
计划对该配置文件进行以下调整:
- 清理业务相关的应用名称、描述等配置
- 保留平台相关的核心配置项
- 优化应用图标路径配置
### 5.3 pages.config.ts 简化计划
计划对该配置文件进行以下调整:
- 移除所有业务页面路由定义
- 保留基础页面结构模板
- 建立示例页面路由
### 5.4 路由配置简化计划
计划对路由系统进行以下调整:
- 清理业务相关的路由规则
- 建立基础路由框架
- 创建示例路由配置
### 5.5 状态管理简化计划
计划对状态管理进行以下调整:
- 移除业务状态管理文件cart.ts, user.ts等
- 保留系统级状态管理theme.ts等
- 建立示例状态管理模板
---
## 六、清理后的项目结构预览
```
project-root/
├── doc/ # 项目文档
│ └── 项目清理计划.md # 本文档
├── env/ # 环境配置(保留)
├── src/
│ ├── components/ # 基础组件(保留)
│ ├── config/ # 基础配置(保留)
│ ├── http/ # HTTP核心保留
│ ├── hooks/ # 通用Hook保留
│ ├── layouts/ # 基础布局(保留)
│ ├── router/ # 路由配置(简化)
│ ├── static/ # 静态资源(保留)
│ ├── store/ # 状态管理(保留)
│ ├── style/ # 全局样式(保留)
│ ├── tabbar/ # 导航配置(简化)
│ ├── types/ # 类型定义(保留)
│ ├── uni_modules/ # Uni插件保留
│ ├── utils/ # 通用工具(保留)
│ ├── App.vue # 根组件(简化)
│ ├── main.ts # 应用入口(保留)
│ └── uni.scss # 全局样式(保留)
├── scripts/ # 构建脚本(保留)
├── package.json # 依赖配置(保留)
├── pnpm-lock.yaml # 锁定文件(保留)
├── tsconfig.json # TS配置保留
├── vite.config.ts # Vite配置简化
├── uno.config.ts # UnoCSS配置保留
├── manifest.config.ts # 应用配置(简化)
├── pages.config.ts # 页面配置(简化)
├── eslint.config.mjs # ESLint配置保留
└── 其他配置文件...
```
---
## 七、清理计划执行框架
### 阶段一:项目准备(已完成)
- ✅ 项目现状分析
- ✅ 清理目标确认
- ✅ 保留/删除清单制定
### 阶段二:业务文件移除计划
计划移除的文件类型及位置:
- **页面文件**`src/pages/` 目录下的所有业务页面
- **接口文件**`src/api/` 目录下的所有业务API
- **业务组件**`src/components/` 目录下的业务特定组件
- **业务状态**`src/store/` 目录下的业务状态管理文件
- **业务工具**`src/utils/` 目录下的业务工具类
### 阶段三:配置文件优化计划
计划优化的配置文件:
- `package.json` - 精简依赖项
- `vite.config.ts` - 简化构建配置
- `manifest.config.ts` - 清理业务配置
- `pages.config.ts` - 简化路由配置
- 根目录业务相关文件
### 阶段四:核心代码重构计划
计划重构的核心文件:
- `App.vue` - 简化为技术栈模板
- HTTP请求封装 - 移除业务拦截逻辑
- 状态管理 - 保留技术栈核心结构
- 路由配置 - 建立示例路由体系
### 阶段五:验证测试计划
计划进行的验证项目:
- 依赖重新安装测试
- 构建流程验证
- 开发模式测试
- 多平台兼容性检查
### 阶段六:文档更新计划
计划的文档工作:
- 更新技术栈说明文档
- 建立示例代码结构
- 编写基础使用指南
---
## 八、重要说明
⚠️ **风险提示:**
1. 本次清理计划将移除所有业务逻辑代码,执行前需要完整备份
2. 技术栈文件的保留需要根据实际需求进行评估和调整
3. 配置简化可能影响现有功能,需要谨慎评估
4. 建议在清理前明确需要保留的业务模块清单
5. 清理过程不可逆,请确保有完整的回滚方案
📝 **后续规划建议:**
1. 清理完成后,建立基于该技术栈的完整示例项目
2. 建立技术栈组件使用文档和规范
3. 制定基于该模板的开发最佳实践指南
---
## 九、工作量评估
基于当前项目状况,清理计划涉及的工作量如下:
**文件处理量**
- 业务文件数量:约 200+ 个文件
- 需要简化的配置文件5-10 个
- 需要重构的核心文件10-20 个
**工作内容分布**
- 文件清理与删除
- 配置文件简化与优化
- 核心代码重构
- 测试验证(多平台)
- 文档更新与完善
**时间成本估算**
- 根据工作量复杂程度,预计需要 3-5 个工作日完成全部清理工作
*注:以上为参考估算,实际工作量可能因项目细节和需求变化而调整*
---
## 十、总结
本计划旨在将现有项目从完整的电商应用转换为纯净的 uni-app + Vue 3 技术栈模板。通过系统性的清理和重构,目标是保留核心技术架构,移除业务逻辑,为后续项目提供干净的开发基础。
**计划价值**
- 提供标准化的技术栈模板
- 简化项目结构,提高可维护性
- 为新项目提供快速启动的基础框架
**实施建议**
建议在执行清理工作前,组织团队进行充分讨论,确认:
- 技术栈保留的完整性
- 业务模块清理的彻底性
- 配置简化的合理性
- 后续维护的可行性