peixue-dev/Archive/[重要]项目结构优化方案-2026-01-29.md

363 lines
10 KiB
Markdown

# 项目结构优化方案
**创建时间:** 2026-01-29
**问题:** 陪伴员个人资料页面输入框点击无反应
**根本原因:** 项目存在双重目录结构,pages.json配置混乱
---
## 📊 问题诊断
### 1. 当前目录结构问题
项目中存在**两套完全相同的代码**:
#### ❌ 根目录下的旧代码 (不应该存在)
```
peidu/uniapp/
├── teacher-package/
├── user-package/
├── manager-package/
├── order-package/
├── distributor-package/
├── provider-package/
├── training-package/
├── service-package/
├── common-package/
├── api/
├── components/
├── pages/
├── utils/
└── ...
```
#### ✅ src目录下的新代码 (正确的开发目录)
```
peidu/uniapp/src/
├── teacher-package/
├── user-package/
├── manager-package/
├── order-package/
├── distributor-package/
├── provider-package/
├── training-package/
├── service-package/
├── common-package/
├── api/
├── components/
├── pages/
├── utils/
└── ...
```
### 2. pages.json配置混乱
当前配置中,subPackages的root路径**不统一**:
| 分包名称 | 当前配置 | 状态 | 加载的代码位置 |
|---------|---------|------|--------------|
| order-package | `src/order-package` | ✅ 正确 | src目录 |
| user-package | `user-package` | ❌ 错误 | 根目录(旧代码) |
| teacher-package | `src/teacher-package` | ✅ 正确 | src目录 |
| manager-package | `manager-package` | ❌ 错误 | 根目录(旧代码) |
| distributor-package | `src/distributor-package` | ✅ 正确 | src目录 |
| provider-package | `src/provider-package` | ✅ 正确 | src目录 |
| training-package | `src/training-package` | ✅ 正确 | src目录 |
| activity-package | `activity-package` | ❌ 错误 | 根目录(旧代码) |
| service-package | `src/service-package` | ✅ 正确 | src目录 |
| common-package | `src/common-package` | ✅ 正确 | src目录 |
### 3. 导致的问题
1. **输入框无反应** - 修改了src目录的代码,但运行时加载的是根目录的旧代码
2. **代码冗余** - 两套代码会被打包,增加包体积
3. **版本不一致** - 不知道该修改哪个目录的代码
4. **维护困难** - 开发时容易修改错目录
---
## 🎯 优化方案
### 方案目标
1. 统一使用`src/`目录作为源代码目录
2. 清理根目录下的旧代码
3. 修正pages.json配置
4. 建立标准的uniapp项目结构
### 优化步骤
#### 步骤1: 备份当前配置
```bash
# 备份pages.json
copy peidu\uniapp\pages.json peidu\uniapp\pages.json.backup
```
#### 步骤2: 修改pages.json配置
需要修改的subPackages配置:
```json
// 修改前 → 修改后
// user-package
"root": "user-package" "root": "src/user-package"
// manager-package
"root": "manager-package" "root": "src/manager-package"
// activity-package
"root": "activity-package" "root": "src/activity-package"
```
**完整的修改内容:**
在`peidu/uniapp/pages.json`中,找到这三个subPackages配置并修改:
```json
{
"root": "src/user-package", // 原: "user-package"
"name": "user",
"pages": [...]
},
{
"root": "src/manager-package", // 原: "manager-package"
"name": "manager",
"pages": [...]
},
{
"root": "src/activity-package", // 原: "activity-package"
"name": "activity",
"pages": [...]
}
```
#### 步骤3: 归档旧目录
将根目录下的旧package移动到Archive目录:
```bash
# 创建归档目录
mkdir Archive\old-packages-2026-01-29
# 移动旧目录
move peidu\uniapp\teacher-package Archive\old-packages-2026-01-29\
move peidu\uniapp\user-package Archive\old-packages-2026-01-29\
move peidu\uniapp\manager-package Archive\old-packages-2026-01-29\
move peidu\uniapp\order-package Archive\old-packages-2026-01-29\
move peidu\uniapp\distributor-package Archive\old-packages-2026-01-29\
move peidu\uniapp\provider-package Archive\old-packages-2026-01-29\
move peidu\uniapp\training-package Archive\old-packages-2026-01-29\
move peidu\uniapp\service-package Archive\old-packages-2026-01-29\
move peidu\uniapp\common-package Archive\old-packages-2026-01-29\
# 可选: 也可以移动其他旧目录
move peidu\uniapp\api Archive\old-packages-2026-01-29\
move peidu\uniapp\components Archive\old-packages-2026-01-29\
move peidu\uniapp\pages Archive\old-packages-2026-01-29\
move peidu\uniapp\utils Archive\old-packages-2026-01-29\
move peidu\uniapp\mixins Archive\old-packages-2026-01-29\
move peidu\uniapp\store Archive\old-packages-2026-01-29\
move peidu\uniapp\config Archive\old-packages-2026-01-29\
```
#### 步骤4: 清理编译缓存
```bash
# 删除编译输出
rmdir /s /q peidu\uniapp\dist
# 删除微信开发者工具缓存(如果存在)
rmdir /s /q peidu\uniapp\.hbuilderx
```
#### 步骤5: 重新编译
在HBuilderX或命令行中重新编译项目:
```bash
cd peidu\uniapp
npm run dev:mp-weixin
```
#### 步骤6: 验证修复
1. 打开微信开发者工具
2. 进入陪伴员个人资料页面
3. 点击输入框(毕业学校、专业、居住地址等)
4. 应该能正常弹出输入对话框
---
## 📋 修改清单
### 需要修改的文件
- [ ] `peidu/uniapp/pages.json` - 修改3个subPackages的root路径
### 需要移动的目录
- [ ] `peidu/uniapp/teacher-package/``Archive/old-packages-2026-01-29/`
- [ ] `peidu/uniapp/user-package/``Archive/old-packages-2026-01-29/`
- [ ] `peidu/uniapp/manager-package/``Archive/old-packages-2026-01-29/`
- [ ] `peidu/uniapp/order-package/``Archive/old-packages-2026-01-29/`
- [ ] `peidu/uniapp/distributor-package/``Archive/old-packages-2026-01-29/`
- [ ] `peidu/uniapp/provider-package/``Archive/old-packages-2026-01-29/`
- [ ] `peidu/uniapp/training-package/``Archive/old-packages-2026-01-29/`
- [ ] `peidu/uniapp/service-package/``Archive/old-packages-2026-01-29/`
- [ ] `peidu/uniapp/common-package/``Archive/old-packages-2026-01-29/`
- [ ] `peidu/uniapp/api/``Archive/old-packages-2026-01-29/` (可选)
- [ ] `peidu/uniapp/components/``Archive/old-packages-2026-01-29/` (可选)
- [ ] `peidu/uniapp/pages/``Archive/old-packages-2026-01-29/` (可选)
- [ ] `peidu/uniapp/utils/``Archive/old-packages-2026-01-29/` (可选)
- [ ] `peidu/uniapp/mixins/``Archive/old-packages-2026-01-29/` (可选)
- [ ] `peidu/uniapp/store/``Archive/old-packages-2026-01-29/` (可选)
- [ ] `peidu/uniapp/config/``Archive/old-packages-2026-01-29/` (可选)
### 需要删除的目录
- [ ] `peidu/uniapp/dist/` - 编译输出,重新编译会自动生成
---
## ✅ 优化后的项目结构
```
peidu/uniapp/
├── src/ # 所有源代码
│ ├── pages/ # 主包页面
│ ├── teacher-package/ # 陪伴员分包
│ ├── user-package/ # 用户分包
│ ├── manager-package/ # 管理师分包
│ ├── order-package/ # 订单分包
│ ├── distributor-package/ # 分销员分包
│ ├── provider-package/ # 服务商分包
│ ├── training-package/ # 培训分包
│ ├── service-package/ # 服务分包
│ ├── activity-package/ # 活动分包
│ ├── common-package/ # 公共分包
│ ├── api/ # API接口
│ ├── components/ # 组件
│ ├── utils/ # 工具函数
│ ├── mixins/ # 混入
│ ├── store/ # 状态管理
│ ├── config/ # 配置
│ ├── static/ # 静态资源
│ ├── App.vue # 应用入口
│ ├── main.js # 主入口
│ ├── pages.json # 页面配置
│ ├── manifest.json # 应用配置
│ └── uni.scss # 全局样式
├── dist/ # 编译输出(自动生成)
├── node_modules/ # 依赖包
├── Archive/ # 归档目录
│ └── old-packages-2026-01-29/ # 旧代码归档
├── package.json # 项目配置
├── vite.config.js # 构建配置
└── README.md # 项目说明
```
---
## ⚠️ 注意事项
### 1. 备份重要
执行前务必备份:
- pages.json配置文件
- 如果不确定,可以备份整个uniapp目录
### 2. 检查src目录完整性
确认`src/`目录下的代码是最新的、完整的。如果有疑问,可以对比两个目录的文件。
### 3. 重新编译
修改后必须重新编译,否则不会生效。
### 4. 清理缓存
如果修改后还是有问题,尝试:
- 删除dist目录
- 删除微信开发者工具的缓存
- 重启微信开发者工具
### 5. Git提交
如果使用Git,建议:
- 先提交当前代码
- 再执行优化
- 优化后单独提交,方便回滚
---
## 🔍 验证方法
### 1. 检查pages.json
打开`peidu/uniapp/pages.json`,确认所有subPackages的root都以`src/`开头。
### 2. 检查目录结构
确认根目录下没有package目录,所有代码都在`src/`下。
### 3. 测试功能
- 陪伴员个人资料页面输入框能正常弹出
- 其他页面功能正常
- 编译无错误
### 4. 检查包体积
优化后编译的包体积应该会减小(因为不会重复打包两套代码)。
---
## 📞 如果遇到问题
### 问题1: 编译报错找不到文件
**原因:** pages.json中的路径配置错误
**解决:** 检查pages.json中所有路径是否正确
### 问题2: 页面空白或报错
**原因:** 可能src目录的代码不完整
**解决:** 从Archive恢复旧代码,对比差异
### 问题3: 功能异常
**原因:** 可能src目录和旧目录的代码版本不一致
**解决:** 对比两个目录的代码,确保src目录是最新的
---
## 📝 执行记录
执行时请在此记录:
- [ ] 执行日期: ___________
- [ ] 执行人: ___________
- [ ] 备份位置: ___________
- [ ] 是否成功: ___________
- [ ] 遇到的问题: ___________
- [ ] 解决方法: ___________
---
## 🎯 预期效果
优化完成后:
1. ✅ 陪伴员个人资料页面输入框正常工作
2. ✅ 项目结构清晰,只有一套源代码
3. ✅ 编译包体积减小
4. ✅ 开发维护更方便
5. ✅ 不会再出现"修改了代码但不生效"的问题
---
**文档版本:** v1.0
**最后更新:** 2026-01-29