doublex001
|
82771bc103
|
fix(ui): 修复多处按钮绑定空函数导致点击无反馈
9 个页面存在 onPress={() => {}} 的死控件,用户点击后无任何反馈,无法区分「功能不存在」与「App 卡住了」。按项目既有约定分别处理:
- talent-recommendation:人才池快捷操作接入分发函数,「面试安排」改「面试评分」并跳 /interview-score(路由已存在),其余无对应页面者弹「功能开发中」
- hr-evaluation:「申诉」入口接 /appeal(路由已存在,此前是死按钮)
- chat/[id] / holland-result / interview / onboarding:右上角「更多 / 分享」无对应页面,统一弹提示
- progress:右上角漏斗按钮与页内 FilterTabs 功能重复且点击无响应,直接移除,保留同尺寸占位维持标题居中
- resume/export:「保存」仅在数据就绪后渲染,loading/error 态不再出现点了无反应的入口
- enterprise-chat:空状态文案「人才库」→「人才推荐」,与实际路由名对齐
|
1 month ago |
doublex001
|
b8d19d29cc
|
chore: 有职 App 多模块推进与配置同步(2026-09-10)
按每日 17:50 提交纪律,精确分阶段 git add(未用 -A / 未用 git rm),
tsc --noEmit 0 错误。涵盖本日及近期累积改动。
| 模块 | 主要文件 | 变更要点 | 状态 |
|---|---|---|---|
| 构建/发布 | eas.json, app.config.js | EAS 构建/OTA 骨架(runtimeVersion/updates/channel、iOS·Android 包名) | 完成·占位待注入 |
| 依赖治理 | package.json, yarn.lock, package-lock.json(删) | 移 web 脚本、统一 yarn、删陈旧 lock | 完成 |
| 微信登录 | wechat-sdk.ts, useWechatLogin.ts, useWechatBindPhone.ts, wechat-auth.ts, P2WechatCode.tsx, DeletedAccountModal.tsx | 三分支状态机(new/active/deleted)+注销不可复活 | mock 完成·真实SDK 待开放平台申请 |
| 企业端 | enterprise-chat.tsx, enterprise-overview.tsx, talent-recommendation.tsx | 快捷入口话术统一 + 沟通页快捷操作 onPress 接线 | 完成 |
| 通关小游戏 | src/api/api.ts | 7 关内容增厚至 22 题(单选/多选/输入混排) | 完成 |
| UI 技术债 | profile/audit-report/game/legal.tsx | as any → Ionicons 类型化、路由类型化 | 完成 |
| 滑块验证/注销 | SliderCaptcha.tsx, ScreenShell.tsx, settings/account-cancel.tsx, index.tsx | 滑块验证 + 账号注销流程接线 | 完成 |
| 注册链路 | register.tsx, P1Login.tsx, P2PhoneCode.tsx, AuthContext/RoleContext | 微信分支 + 手机号验证整合 | 完成 |
| 路由审计 | scripts/check-routes.mjs | 死链/失效跳转自检工具 | 完成 |
| 文档 | 项目开发状态.md, 微信登录接入方案.md | 状态盘点 + 接入路线图 | 完成 |
|
2 months ago |
doublex001
|
6637c0ef8c
|
fix(ui): 清理页面空交互,接真实逻辑与 Alert 兜底
- settings.tsx:退出登录按钮接 useAuth().logout() + 确认弹窗 + 跳登录页(修复登出失效)
- jobs/[id].tsx:「加入对比」接真实路由 /jobs/compare;分享/评分说明/发布评论接 Alert 兜底
- profile.tsx:「编辑」与偏好行接真实路由 /job-preference;「评分申诉」Alert 兜底
- chat/[id].tsx:面试/薪资卡片动作与输入框图标、加号按钮接 Alert 兜底
- job-management.tsx:筛选/排序/编辑/刷新/下架接 Alert 兜底
- login.tsx:微信/Apple 第三方登录占位接 Alert 兜底
- personal-data-export.tsx:导出下载与查看更多接 Alert 兜底
- salary-calculator.tsx:历史记录/城市选择/保存接 Alert 兜底
- settings/privacy.tsx:查看隐私报告接 Alert 兜底
- settings/account-cancel.tsx:注销前待办「去处理」接 Alert 兜底
(跳过 jobs.tsx 弹层内 filterPanel 空 onPress:属故意吸收点击防关闭弹窗)
|
2 months ago |
doublex001
|
0d4ee5b87c
|
fix(navigation): 修正双端(端口)切换的角色与入口问题
- 身份选项类型 hr→enterprise,与全局 AppRole 对齐(消除类型不一致)
- 两端 layout 将 setRole 由 useEffect 改为 useFocusEffect,
根治「从企业端返回求职端」后 role 残留 enterprise、菜单/数据串端的问题
- 企业端「我的」页补「切换到求职端」入口(setRole('candidate') + replace /(tabs)/jobs),
与求职端「切换到企业端」对称,避免经设置进入企业端后回不去
- 求职端「切换到企业端」卡片 onPress 显式 setRole('enterprise') 兜底
|
2 months ago |
doublex001
|
0431d84ad3
|
refactor(menu): 按角色拆分功能菜单,从根上消除角色混淆
- 类型层:AppRole('candidate'|'enterprise') 下沉至 src/types/user.ts,
RoleContext 改为复用并 re-export;types 桶导出补登记 AppRole
- 数据层:MOCK_MENU_ITEMS 拆为 MOCK_CANDIDATE_MENU_ITEMS(16 项求职者功能
+企业入驻入口) 与 MOCK_ENTERPRISE_MENU_ITEMS(6 项企业功能)
- fetchMenuItems(role) 按角色下发对应菜单
- 企业端总览 EnterpriseOverview 新增 menuItems 字段,接入 MOCK_ENTERPRISE_MENU_ITEMS
- useProfileData(role) 透传角色;profile.tsx 用 useRole() 传入
- 企业端「我的」新增「更多服务」区渲染 menuItems(与「管理后台」分区并列)
效果:求职者端不再出现发布岗位/岗位管理等企业功能,企业端不再混排
求职者功能,角色隔离从根上解决后台术语/企业功能暴露给 C 端的问题
|
2 months ago |
doublex001
|
5022ff2842
|
refactor(menu): 后台管理入口迁至企业端,清理 C 端菜单重复 id
- MOCK_MENU_ITEMS 移除「运营规则配置」「数据审计报告」:后台管理术语不再
暴露给求职者端菜单(这两个页面在企业端「我的-管理后台」重新落地,非孤儿页)
- 修复 MOCK_MENU_ITEMS 中 enterprise-certification 重复出现两次导致
React key 警告的问题(保留「企业入驻」)
- EnterpriseOverview 类型新增 manageActions 字段;新增
MOCK_ENTERPRISE_MANAGE_ACTIONS 并接入企业总览
- 企业端「我的」页新增 ManageList「管理后台」分区:纵向列表,不挤占
快捷入口已有的 6 项横排布局
|
2 months ago |
doublex001
|
b8462676a5
|
fix: 修复企业端 P0 逻辑断裂(聊天跳转 + 人才详情路由参数)
- enterprise-chat ChatRow 增加 onPress,点击进入 /chat/[id] 会话详情
- talent-recommendation 详情按钮跳转携带 ?id= 参数
- candidate-detail 从 useLocalSearchParams 读取 id(兜底 candidate-1)
- fetchCandidateDetail 按 id 回填候选人身份字段,避免不同候选人显示同一份资料
|
2 months ago |
doublex001
|
a55799490e
|
test: 补齐 ESLint+jest 工程化配置,治理 shadowColor 硬编码为 colors.shadow,tsconfig 排除测试目录
|
2 months ago |
doublex001
|
ab7cc7102e
|
refactor(enterprise): 企业端主色统一为 primary,我的页接入设置入口,统一菜单话术
|
2 months ago |
doublex001
|
e4324e585f
|
refactor(enterprise): 企业端底部导航改为 岗位/人才/沟通/我的,首屏落地岗位
|
2 months ago |
doublex001
|
39728cd1aa
|
fix: 修复 HR/企业端进不去(非 Tab 页误置于 Tabs 组内)
- 将 (enterprise) 组内 6 个非 Tab 屏企业页(enterprise-certification/audit-report/candidate-detail/hr-evaluation/job-publish/operation-rules)移回根目录 app/,与求职端 job-preference 结构对称
- 仅保留 4 个 Tab 屏(enterprise-overview/job-management/talent-recommendation/enterprise-chat)+ _layout 在组内
- 修正移回文件相对引用 ../../src → ../src
- 根因:enterprise-certification 被塞进 Tabs 组但非 Tab 屏,router.replace('/enterprise-certification') 进入后 Tab 导航器因 route 未声明而导航失败/白屏,导致『HR 进不去』;移出后成为干净栈页,身份认证→企业端链路通畅
|
2 months ago |
doublex001
|
756960b32e
|
fix: 修复选身份后『进不去』并补充分端必经步骤
- identity-select 卡片点击即跳转(原仅显示对勾无反应);按 candidateSetupDone/enterpriseVerified 分流到下一步
- 新增 app/job-preference.tsx 求职意向设置页(求职者必经,保存后置位标记进 /(tabs)/jobs,可稍后设置)
- enterprise-certification 提交/稍后认证均 completeEnterpriseVerify 并 replace 到 /(enterprise)/enterprise-overview(原为死胡同)
- index 闸门改用显式落地路由(/(tabs)/jobs、/(enterprise)/enterprise-overview),避免路由组无 index 导致空白
|
2 months ago |
doublex001
|
87ad5e629c
|
feat: 区分企业端与求职端导航
- 新增 RoleContext(会话级角色持久化),identity-select 进入时写入 role
- 新增 app/(enterprise) 路由组 + 企业端底部 Tab 栏(概览/岗位/人才/沟通,success 绿)
- 将 10 个企业端页面迁移至 (enterprise) 组(路由路径不变),修正相对引用
- (tabs) 求职端挂载时 setRole('candidate'),两端体感对称
|
2 months ago |