10 KiB
10 KiB
项目结构优化方案
创建时间: 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. 导致的问题
- 输入框无反应 - 修改了src目录的代码,但运行时加载的是根目录的旧代码
- 代码冗余 - 两套代码会被打包,增加包体积
- 版本不一致 - 不知道该修改哪个目录的代码
- 维护困难 - 开发时容易修改错目录
🎯 优化方案
方案目标
- 统一使用
src/目录作为源代码目录 - 清理根目录下的旧代码
- 修正pages.json配置
- 建立标准的uniapp项目结构
优化步骤
步骤1: 备份当前配置
# 备份pages.json
copy peidu\uniapp\pages.json peidu\uniapp\pages.json.backup
步骤2: 修改pages.json配置
需要修改的subPackages配置:
// 修改前 → 修改后
// 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配置并修改:
{
"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目录:
# 创建归档目录
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: 清理编译缓存
# 删除编译输出
rmdir /s /q peidu\uniapp\dist
# 删除微信开发者工具缓存(如果存在)
rmdir /s /q peidu\uniapp\.hbuilderx
步骤5: 重新编译
在HBuilderX或命令行中重新编译项目:
cd peidu\uniapp
npm run dev:mp-weixin
步骤6: 验证修复
- 打开微信开发者工具
- 进入陪伴员个人资料页面
- 点击输入框(毕业学校、专业、居住地址等)
- 应该能正常弹出输入对话框
📋 修改清单
需要修改的文件
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目录是最新的
📝 执行记录
执行时请在此记录:
- 执行日期: ___________
- 执行人: ___________
- 备份位置: ___________
- 是否成功: ___________
- 遇到的问题: ___________
- 解决方法: ___________
🎯 预期效果
优化完成后:
- ✅ 陪伴员个人资料页面输入框正常工作
- ✅ 项目结构清晰,只有一套源代码
- ✅ 编译包体积减小
- ✅ 开发维护更方便
- ✅ 不会再出现"修改了代码但不生效"的问题
文档版本: v1.0
最后更新: 2026-01-29