# 项目结构优化方案 **创建时间:** 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