 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 |
|
admin
|
6bdc86e3fc
|
feat: restore learning feedback and knowledge capabilities
|
2026-07-18 00:50:11 +08:00 |
|
admin
|
eacf1a0aea
|
feat(mobile): align employee practice screens for release
|
2026-07-15 11:23:08 +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
|
747112910c
|
feat(aihr): read formal position SOP mappings
|
2026-07-15 02:08:51 +08:00 |
|
admin
|
2f44e6b7d1
|
fix(aihr): close practice audio URL exposure
|
2026-07-15 01:32:02 +08:00 |
|
admin
|
09c3cbecb0
|
fix(aihr): protect case media playback
|
2026-07-15 01:23:41 +08:00 |
|
admin
|
e01378d9ad
|
fix(aihr): align case learning status copy
|
2026-07-14 23:46:27 +08:00 |
|
admin
|
0bfaee7d22
|
feat(aihr): complete case learning review loop
|
2026-07-14 23:41:59 +08:00 |
|
admin
|
493fd5361e
|
fix(mobile): align sop position label
|
2026-07-14 20:44:47 +08:00 |
|
admin
|
857092c2c6
|
fix(mobile): align practice position label
|
2026-07-14 20:35:28 +08:00 |
|
admin
|
a7938a77e4
|
fix(mobile): close employee supervisor deep links
|
2026-07-14 20:28:41 +08:00 |
|
admin
|
4d4d911bad
|
fix(aihr): add semantic daily drill scoring fallback
|
2026-07-14 15:53:04 +08:00 |
|
admin
|
77ef3c90f6
|
fix(aihr): bind review evidence to operator
|
2026-07-14 14:21:29 +08:00 |
|
admin
|
8bb43a2394
|
fix(aihr): align task labels and training duration
|
2026-07-14 14:15:02 +08:00 |
|
admin
|
23328f66ff
|
fix(aihr): clarify growth evidence labels
|
2026-07-14 14:09:45 +08:00 |
|
admin
|
ac7dfbe8a7
|
fix(aihr): preserve assignment source labels
|
2026-07-14 14:08:13 +08:00 |
|
admin
|
750e546e47
|
fix(aihr): align supervisor scenario options
|
2026-07-14 14:04:35 +08:00 |
|
admin
|
91544943d6
|
test(aihr): guard supervisor scenario coverage
|
2026-07-14 13:55:44 +08:00 |
|
admin
|
f0662bedcd
|
fix(aihr): expose enabled scenarios to supervisors
|
2026-07-14 13:55:09 +08:00 |
|
admin
|
1c0c47a757
|
fix(aihr): expose reviewed promotion evidence scores
|
2026-07-14 13:23:25 +08:00 |
|
admin
|
e834546d23
|
fix(aihr): clear stale candidate records on fetch failure
|
2026-07-14 12:44:44 +08:00 |
|
admin
|
9c35949984
|
fix(aihr): persist daily drill scores
|
2026-07-14 11:35:57 +08:00 |
|
admin
|
b8be1bb6e4
|
fix(aihr): align app case permissions with brd
|
2026-07-14 11:15:07 +08:00 |
|
admin
|
2cae83ff1b
|
fix(aihr): scope mobile home metrics by identity
|
2026-07-14 10:23:56 +08:00 |
|
admin
|
4cccf66f16
|
fix(aihr): clarify competency score semantics
|
2026-07-14 09:12:51 +08:00 |
|
admin
|
ac8cddbbee
|
feat(aihr): align competency profile with brd dimensions
|
2026-07-14 09:11:45 +08:00 |
|
admin
|
9832caa437
|
fix(aihr): clarify reference rating semantics
|
2026-07-14 07:29:41 +08:00 |
|
admin
|
9ace0cb5c9
|
feat(case): persist source audio for learning detail
|
2026-07-14 05:51:45 +08:00 |
|
admin
|
9bbfd575a3
|
feat(aihr): add voice answers to daily drills
|
2026-07-14 05:44:26 +08:00 |
|
admin
|
39352f1dec
|
fix(mobile): clarify ai score review boundary
|
2026-07-14 05:25:00 +08:00 |
|
admin
|
cd4e930832
|
fix(case): restrict mobile case writes
|
2026-07-14 05:16:42 +08:00 |
|
admin
|
153382cb57
|
feat(aihr): add scoped case detail view
|
2026-07-14 05:04:01 +08:00 |
|
admin
|
e4931753a3
|
fix(mobile): refresh official position on login
|
2026-07-14 04:59:30 +08:00 |
|
admin
|
afa99f1fec
|
docs(aihr): record mistake retry state
|
2026-07-14 04:50:24 +08:00 |
|
admin
|
75f0f0615f
|
fix(mobile): reflect completed mistake retries
|
2026-07-14 04:49:17 +08:00 |
|
admin
|
c5a6e677dd
|
feat(aihr): persist sop prompt version
|
2026-07-14 04:32:21 +08:00 |
|
admin
|
cd2c7fdd45
|
feat(aihr): add supervisor mistake aggregation
|
2026-07-14 04:27:10 +08:00 |
|
admin
|
07ab28fd7b
|
feat(aihr): trace sop feedback to search review
|
2026-07-14 04:18:09 +08:00 |
|
admin
|
d3552cc22d
|
feat(aihr): add pilot satisfaction evidence loop
|
2026-07-14 04:13:02 +08:00 |
|
admin
|
c392bb3768
|
feat(mobile): filter practice mistakes by cause
|
2026-07-14 03:38:20 +08:00 |
|
admin
|
5e3dfd0085
|
fix(mobile): fail closed on org role lookup errors
|
2026-07-14 03:32:44 +08:00 |
|
admin
|
f9bce8f0ef
|
feat(aihr): expose position SOP learning scope
|
2026-07-14 03:29:59 +08:00 |
|
admin
|
d98ff0ff8b
|
feat(aihr): add employee mistake book audit
|
2026-07-14 03:23:49 +08:00 |
|
admin
|
5c0f792f37
|
fix(mobile): prioritize supervisor dashboard alerts
|
2026-07-14 03:09:32 +08:00 |
|
admin
|
d1dd8b572d
|
fix(mobile): align supervisor dashboard with figma
|
2026-07-14 03:07:42 +08:00 |
|
admin
|
f60176c196
|
fix(mobile): align practice prep with figma
|
2026-07-14 03:01:26 +08:00 |
|
admin
|
fb86b4d328
|
fix(mobile): align employee home visual theme
|
2026-07-14 02:54:41 +08:00 |
|