 adminandClaude Fable 5
|
0ec0e585f7
|
fix(mobile): distinguish auth failure from HR mismatch on position sync page
问题:登录态失效(token 冻结/无效,后端返 401)时,同步岗位页把认证错误
误显示成「人力系统中未匹配到当前手机号的在职岗位,请联系 HR」,员工被
困在该页无路可退。
修复:
- api.ts: 新增 ApiError(statusCode/bizCode) 类型化错误与 isAuthApiError,
readPayload/parsePayloadText/XHR 路径统一抛出带状态码的错误,消息不变
- position.ts: fetchOrgPositionResult 返回四态判别结果
matched/unmatched/unauthorized/error;hydratePositionFromOrg 行为不变
- position/index.vue: 按四态分支处理——
· unauthorized -> 清除登录态并自动回登录页(保留 redirect)
· error -> 提示「网络异常…请重试」,保留重试按钮
· unmatched -> 才显示联系 HR 文案
并新增「退出重新登录」链接(确认弹窗后清登录态回登录页),
避免任何异常场景下用户被困无退出路径
验证(构建产物 + 生产 API,Playwright 五场景全过,截图见
.data/visual-audit-20260718/position-fix/):
S1 固定码真实登录->今日页(保洁岗匹配) S2 无效token->自动回登录
S3 断网->网络异常提示留在本页 S4 有效token->自动通过
S5 退出链接->确认->回登录且登录态已清
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-18 03:39:20 +08:00 |
|
 adminandClaude Fable 5
|
3baed336c7
|
docs: add P0 pilot acceptance checklist with production test user list
基于生产库 TEST_PROJECT_001 实际名单起草 P0 试点验收执行清单:
试点名单:
- 管理侧10人(项目经理1+主管9),覆盖权限正例、切换学员、派发、考试、团队查看
- 员工侧10人(一线员工),覆盖权限正例、语音、图片、视频、字号、每日题、问题榜、问师傅
- 越权反例3人,验证员工访问主管功能被拦截
验收范围:
- P0-1 正式OTP权限正反例(固定验证码123456,无需真实短信)
- 员工/主管/项目经理登录流程
- 主管切换学员模式往返
- 主管功能访问(派发/考试/团队)
- 员工越权访问拦截(3个反例)
- 每日题去重与确定性轮换
- P0-2 真机能力验收(iOS+Android各2台)
- 语音录音+ASR转文字+TTS播报+降级
- 图片/视频上传(≤10MB/≤100MB)
- 总结卡下载PNG到相册/Downloads
- 全局字号三档(标准/大/超大)持久化+全局覆盖
- 键盘导航+读屏(VoiceOver/TalkBack)
- P0-3 严格试点窗口统计(2026-07-01至07-31)
- 完成率≥80%(≥16人完成≥10次训练)
- 人工校准样本≥20份,AI-人工分数段一致率≥70%
- SOP评审可用率稳定≥80%
- 满意度问卷≥15份,平均≥4/5分
时间表:
- 2026-07-19: P0-1权限+P0-2真机验证
- 2026-07-24: P0-3中期检查
- 2026-07-31: 试点窗口结束
- 2026-08-08: P0验收报告输出
风险应急:
- 完成率不达标 → 1对1催促+任务包+延长窗口
- 真机能力失败 → 切换备用提供方/降级/扩容
- 越权拦截失效 → 立即下线+修复+重新验证
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-18 02:43:50 +08:00 |
|
 adminandClaude Fable 5
|
680b4cf83c
|
fix: align aihr_practice_assignment.ext_party_id collation to utf8mb4_general_ci
根因:生产库 aihr_practice_assignment.ext_party_id 继承表级默认 utf8mb4_0900_ai_ci,
与 aihr_practice_question_feedback.ext_party_id (utf8mb4_general_ci) 冲突,
导致 AihrPracticeSeedService.assignments() 子查询抛 ERROR 1267,
/me 接口异常,员工端误报'人力系统未匹配'。
修复:
- ALTER TABLE 对齐 ext_party_id 列排序规则为 utf8mb4_general_ci
- 已在生产热修复并验证,查询恢复正常
- 本地 docker 容器复现+修复验证通过
- 前端无需改动,H5 重新构建确认流程无误
影响范围:
- 仅 aihr_practice_assignment 表单列 MODIFY
- 保留所有数据与索引,无业务中断
- 回滚材料在 /opt/wygj/backups/release-20260718005151
遗留:
- position 页异常场景退出入口待下轮补充(P1)
- schema 规范:后续 DDL 显式声明 COLLATE,不依赖表级默认
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-18 02:27:11 +08:00 |
|
admin
|
267bb3525f
|
docs: sync production release truth
|
2026-07-18 01:30:13 +08:00 |
|
admin
|
32fa376d63
|
fix: align release table collations
|
2026-07-18 01:04:17 +08:00 |
|
admin
|
6bdc86e3fc
|
feat: restore learning feedback and knowledge capabilities
|
2026-07-18 00:50:11 +08:00 |
|
admin
|
43974e3eea
|
docs: mark production UI Figma regression passed
|
2026-07-17 04:45:18 +08:00 |
|
admin
|
b3dd2c2cf1
|
fix(mobile): align supervisor profile workspace
|
2026-07-17 04:42:49 +08:00 |
|
admin
|
5d82ff7b21
|
fix(mobile): complete SOP focus regression
|
2026-07-17 04:29:32 +08:00 |
|
admin
|
0745d51e57
|
fix(mobile): focus SOP answers after search
|
2026-07-17 04:25:26 +08:00 |
|
admin
|
e93421ca1e
|
fix(aihr): close Figma UI regression gaps
|
2026-07-17 04:17:14 +08:00 |
|
admin
|
a822b22116
|
docs: add production UI Figma regression report
|
2026-07-17 02:29:21 +08:00 |
|
admin
|
6edff99b08
|
docs(aihr): sync organization rollout facts
|
2026-07-16 14:58:03 +08:00 |
|
admin
|
c85a1374f0
|
docs(planning): record organization schema rollout
|
2026-07-16 14:44:51 +08:00 |
|
admin
|
1fe91cc0f3
|
fix(aihr): adapt updated organization snapshot
|
2026-07-16 14:27:00 +08:00 |
|
admin
|
876a23a123
|
feat(knowledge): add application and principal space grants
|
2026-07-16 10:26:28 +08:00 |
|
admin
|
735e9a78c1
|
feat(knowledge): add multi-space platform schema
|
2026-07-16 10:21:35 +08:00 |
|
admin
|
f2f13987b7
|
docs(planning): clarify pilot roster scope
|
2026-07-15 21:38:08 +08:00 |
|
admin
|
c866ef2701
|
feat(aihr): support signed position mappings
|
2026-07-15 16:32:06 +08:00 |
|
admin
|
07a08cecde
|
docs(planning): prepare B11 position mapping input
|
2026-07-15 16:26:20 +08:00 |
|
admin
|
f57f4cf1c3
|
docs(audit): record release and supervisor gap
|
2026-07-15 16:19:32 +08:00 |
|
admin
|
58fddb409a
|
fix(release): support production demo preflight
|
2026-07-15 16:19:32 +08:00 |
|
admin
|
f01752539c
|
docs(release): record execution ownership
|
2026-07-15 16:00:05 +08:00 |
|
admin
|
09492db96a
|
chore(release): lock BRD alignment batch 20260715
|
2026-07-15 15:58:19 +08:00 |
|
admin
|
c861977ec0
|
fix(mobile): align mentor prompt with text input
|
2026-07-15 15:58:15 +08:00 |
|
admin
|
55ca4fa713
|
fix(frontend): simplify processing imports
|
2026-07-15 15:58:10 +08:00 |
|
admin
|
a42f42091c
|
fix(aihr): harden knowledge processing failures
|
2026-07-15 15:58:07 +08:00 |
|
admin
|
5a131b57ef
|
fix(frontend): hide empty failure warning
|
2026-07-15 14:01:36 +08:00 |
|
admin
|
3435663d69
|
docs: reconcile production release contracts
|
2026-07-15 13:54:22 +08:00 |
|
admin
|
c7208802ac
|
fix(release): support backend-only verification
|
2026-07-15 13:40:06 +08:00 |
|
admin
|
ab406e616a
|
fix(release): enforce AIHR tenant collation contract
|
2026-07-15 13:33:56 +08:00 |
|
admin
|
bd19cdd255
|
fix(aihr): harden zip upload queue
|
2026-07-15 13:06:47 +08:00 |
|
admin
|
5e89e4930c
|
docs(brd): record production organization data gate
|
2026-07-15 11:38:38 +08:00 |
|
admin
|
360067d5bf
|
docs(brd): record production release and zip ingestion evidence
|
2026-07-15 11:37:56 +08:00 |
|
admin
|
eacf1a0aea
|
feat(mobile): align employee practice screens for release
|
2026-07-15 11:23:08 +08:00 |
|
admin
|
3541aab3fe
|
fix(release): stabilize remote backend hash preflight
|
2026-07-15 08:44:37 +08:00 |
|
admin
|
41d223de3e
|
docs(release): record schema gate detection
|
2026-07-15 03:01:05 +08:00 |
|
admin
|
a2244c0a83
|
feat(release): add optional remote schema preflight
|
2026-07-15 03:00:10 +08:00 |
|
admin
|
41d37c508a
|
docs(brd): record migration regression evidence
|
2026-07-15 02:58:25 +08:00 |
|
admin
|
ce4ff716de
|
docs(brd): record production schema gap
|
2026-07-15 02:57:45 +08:00 |
|
admin
|
197014edf7
|
docs(release): record current artifact preflight
|
2026-07-15 02:54:22 +08:00 |
|
admin
|
7c8ba2b30c
|
docs(brd): record latest production resource drift
|
2026-07-15 02:53:01 +08:00 |
|
admin
|
a78784393d
|
docs(brd): sync onboarding task completion status
|
2026-07-15 02:51:25 +08:00 |
|
admin
|
82d93a1af1
|
feat(aihr): allow employees to complete onboarding tasks
|
2026-07-15 02:49:40 +08:00 |
|
admin
|
2f21895597
|
feat(aihr): add candidate voice interview answers
|
2026-07-15 02:45:00 +08:00 |
|
admin
|
40574c204d
|
fix(aihr): separate onboarding and candidate review states
|
2026-07-15 02:39:29 +08:00 |
|
admin
|
21a13d806c
|
docs(aihr): record release preflight drift
|
2026-07-15 02:27:47 +08:00 |
|
admin
|
14adc3e61a
|
docs(aihr): record BRD audit checkpoint
|
2026-07-15 02:25:01 +08:00 |
|
admin
|
e7611f701d
|
test(aihr): verify project scoped sop query
|
2026-07-15 02:21:20 +08:00 |
|
admin
|
799d91a32d
|
docs(aihr): record post-scope release drift
|
2026-07-15 02:19:07 +08:00 |
|