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

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. 导致的问题

  1. 输入框无反应 - 修改了src目录的代码,但运行时加载的是根目录的旧代码
  2. 代码冗余 - 两套代码会被打包,增加包体积
  3. 版本不一致 - 不知道该修改哪个目录的代码
  4. 维护困难 - 开发时容易修改错目录

🎯 优化方案

方案目标

  1. 统一使用src/目录作为源代码目录
  2. 清理根目录下的旧代码
  3. 修正pages.json配置
  4. 建立标准的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: 验证修复

  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