# 测试说明 ⚠️ 重要 ## ❌ 错误的启动方式 ```bash npm run dev # 这个命令不存在! ``` ## ✅ 正确的启动方式 ```bash npm start # 这才是正确的命令 ``` --- ## 📝 测试地址 ### 测试端口:`4300`(不是 4200) #### 1. 数据清理工具(必须先执行) ``` http://localhost:4300/test-data-cleanup ``` #### 2. 激活页面测试 ``` http://localhost:4300/wxwork/test/activation ``` ⚠️ **重要**:不要直接访问问卷页面,必须从激活页面点击按钮进入! --- ## 🎯 完整测试流程 ### 步骤 1: 启动服务器 ```bash 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 表的记录,保证数据一致性。