测试说明-重要.md 3.7 KB

测试说明 ⚠️ 重要

❌ 错误的启动方式

npm run dev  # 这个命令不存在!

✅ 正确的启动方式

npm start  # 这才是正确的命令

📝 测试地址

测试端口:4300(不是 4200)

1. 数据清理工具(必须先执行)

http://localhost:4300/test-data-cleanup

2. 激活页面测试

http://localhost:4300/wxwork/test/activation

⚠️ 重要:不要直接访问问卷页面,必须从激活页面点击按钮进入!


🎯 完整测试流程

步骤 1: 启动服务器

cd C:\Users\刚sir\yss-project
npm start

等待编译完成后,会提示:

Application bundle generation complete.
Initial chunk files | Names         |  Raw size
...

步骤 2: 清理测试数据(必须)

访问:

http://localhost:4300/test-data-cleanup

点击 "🗑️ 清理测试用户问卷数据" 按钮,等待"清理完成"提示。

步骤 3: 测试激活流程

访问激活页面:

http://localhost:4300/wxwork/test/activation
  1. ✅ 查看"待完成"状态
  2. ✅ 点击"开始填写问卷"按钮
  3. ✅ 填写 21 道问题
  4. ✅ 提交后自动返回激活页
  5. ✅ 点击"刷新状态"
  6. ✅ 查看"已完成"状态和问卷结果

🔧 常见问题

问题1:页面打不开

原因: 端口错误
解决: 使用 4300 端口,不是 4200

问题2:显示"问卷提交成功"但是旧数据

原因: 读取了旧的真实问卷数据
解决:

  1. 先访问清理工具: http://localhost:4300/test-data-cleanup
  2. 点击清理按钮
  3. 再从激活页面开始测试

问题3:刷新状态后还是"未完成"

原因: Profile.surveyCompleted 字段未正确更新
解决: 已修复,问卷提交时会同时更新 SurveyLog 和 Profile

问题4:Cannot set properties of null (setting 'cid')

原因: 测试模式下不应该初始化 WxworkAuth
解决: 已修复,测试模式下跳过企微认证,直接使用测试Profile


📊 预期结果

✅ 清理工具成功删除旧数据
✅ 激活页面显示"待完成"状态
✅ 可以正常填写问卷(21道题)
✅ 提交后返回激活页
✅ 刷新后显示"已完成"和问卷结果
✅ 控制台显示:🔍 查询 userid: test_user_001
✅ 控制台显示:📝 最新问卷状态: true


🧪 测试数据

测试用户

  • userid: test_user_001
  • 姓名: 测试员工
  • 角色: 组员

数据表

  • Profile: 存储激活状态和问卷完成标记
  • SurveyLog: 存储问卷答案详情

💡 重要提示

  1. 必须先清理数据,否则会读取旧的问卷数据
  2. 从激活页面进入,不要直接访问问卷页面
  3. 测试前可以清除浏览器缓存(可选)
  4. 确保 Parse Server 正常运行
  5. 查看浏览器控制台的日志信息
  6. 测试完成后可以再次使用清理工具清理数据

🔍 关键修复说明

修复1:测试模式下跳过 WxworkAuth

问卷组件在测试模式(cid === 'test')下,不再读取localStorage中的Profile ID,而是直接查询或创建 userid = test_user_001 的测试Profile。

修复2:统一使用 test_user_001

激活组件和问卷组件在测试模式下都使用固定的 test_user_001 作为userid,确保数据一致。

修复3:刷新状态使用 Parse.Query

替换 profile.fetch()Parse.Query,确保在测试环境下也能正确获取最新的问卷状态。

修复4:同时更新 Profile 和 SurveyLog

问卷提交时,同时更新 Profile 表的 surveyCompleted 字段和 SurveyLog 表的记录,保证数据一致性。