doublex001
|
5d2b8996e1
|
refactor(auth): 登录落地与换端改以服务端角色为准
- 新增 useLoginLanding:验证码/密码/一键登录三入口共用的登录后落地判定,按后端 identitySelectionRequired 与服务器角色决定去身份选择还是对应端
- 新增 useIdentitySwitch:切换企业端改为调用 POST /auth/identity/select,不再本地改角色导致鉴权错位
- AuthContext/RoleContext/token-store 及微信、密码、注册各登录 Hook 与引导页适配新契约
- 移除废弃安卓自适应图标资源与根目录过期联调文档,归档 scripts/api.ts.bak
|
4 weeks ago |
doublex001
|
928c310c36
|
feat(theme): 新增间距设计令牌层并收敛 onboarding 非卡片间距
- 新增 src/theme/spacing.ts:标尺(xs4/sm8/md12/lg16/xl24) + 语义令牌(card8/gutter8/framework16/block12/section12),src/theme/index.ts 从 ./spacing 导出
- 扩展 scripts/check-spacing.mjs:resolveSpacing 解析 spacing./spacingTokens. 引用,令牌化卡片不再被静默跳过(修潜在 bug),输出新增令牌命中统计
- onboarding 35 文件非卡片间距令牌化+收敛(18→block/22→section/14→block/10→sm/12→block)
- 更新项目开发状态.md 4.21
- B5(app 框架 padding:16) 本批延期,spacing.framework 单一来源已就绪
|
1 month ago |
doublex001
|
3aa3c60004
|
feat: 软件改名「轻松聘」,引导页改为三屏满屏主题色
改名(带断言的白名单脚本,逐文件核对改前出现次数,对不上不写盘):
- 显示名「有职」→「轻松聘」:代码+配置 13 文件 50 处,文档 12 处
- 标识符 youzhi → qingsongpin:app.config.js 的 slug / scheme /
ios.bundleIdentifier / android.package、storage 键前缀、高德 URL 的 src、
screenshots 截图流水线 manifest 的 scheme
- 注意:storage 的 KEY_PREFIX 变更会让本机旧数据读不到(未上架、仅开发数据,
可接受;若已有线上用户数据必须写迁移而非直接换前缀)
引导页 app/guide.tsx 四屏 → 三屏(标题为产品文案):
求职开挂 AI护驾 / 真实能力 一测便知 / 一起解锁 职场秘籍
- 副标题只写仓库里查得到的已上线模块,未编造能力
- 整页底色改用新增 token onboardingGradient(primary → primaryBtn → primaryDark):
现成的 headerGradient 三支末端是青 #4FD1C5,白字仅约 1.9:1,只适合顶部深色区,
不能做整页底色;配 locations=[0,0.34,1] 使正文落在 5.2:1 以上
- 底部按钮反色为白底 + primaryText 蓝字;前两屏「下一步」、第三屏「开启体验」
- 状态栏加 style="light"(根布局是 dark,深蓝底上会黑压黑)
- 素材位 guideEvaluate/guideWeightDim/guideGameMap/guideLegalAI
→ guideAiCopilot/guideAbilityTest/guideGrowthUnlock
待补图(已逐张打开确认,非推测):assets/icon.png、splash-icon.png、
brand-logo.jpg、android-icon-{foreground,background,monochrome}.png 仍是有职字标
门槛:tsc 0 / eslint 0 / 26 套件 365 用例全过 / check:spacing 196 张卡片全 8px 全绿
真机:模拟器像素测量,CTA 按钮左边界 16.0dp、高 50.0dp,渐变三点与理论值吻合
|
1 month ago |
doublex001
|
00522d53f9
|
feat: 死控件清零并修复一键登录取号、重做引导页
一键登录(P2Q)取不到手机号的根因不在取号:页面读的是 data.phone,而该字段
只有短信通道才写入,且 loginByCarrier 返回的 phone 被直接丢弃,于是号码位恒为
占位「本机号码」。现改为进页面即预取(useCarrierPhone + fetchCarrierPhone),
失败时置灰按钮并给出「重新获取 / 改用验证码登录」,成功后把号码写回引导资料
(P2P/P2R 预填与 B3 联系人电话同源)。真实取号是运营商原生 SDK,Expo Go 跑不了,
接入路线图见新增文档《运营商一键登录接入方案.md》。
引导页重做四屏内容与配图,配图位走新增组件 ImageSlot:素材未到位时在页面上标注
「配图待补」+ 该放什么图,补图只改 assets.ts 的 source 一行;设置页补「查看引导页」
入口(此前只有首次启动能进,看过一次就再也进不去),并区分「首次启动」与
「已登录回顾」两种出口,避免把已登录用户甩回注册流程。
企业沟通 / 人才推荐两页的 Tab 与搜索真正生效:Tab 计数与待办数量改由列表推导
(原先写死的数字与示例数据对不上,会出现「Tab 写 3、列表 0 条」),无对应页面的
漏斗图标摘除,筛选复位不再只是弹提示;申诉举证接真实选图,候选人详情「发起沟通」
跳会话页,面试评分支持本地草稿与恢复,入职清单勾选落库并可增删自定义待办、导出文本,
薪资计算器「更多工具」改指真实路由(原先三项都指回自己),技能词云接搜索与学习路径生成。
测试新增 3 个文件 51 例(共 219 例全绿),存储 mock 由「恒返回 null」改为带状态 Map,
使「存了要能读回来」这类行为真正被验证;tsc / eslint / 三个审计脚本(0 失效跳转、
0 死控件、137 个接口预留)均 0 问题。
另:package-lock.json(本项目统一用 yarn.lock)与本地调试截图加入 .gitignore。
|
1 month ago |
doublex001
|
5fbb7222f0
|
feat(auth): 补齐密码登录通道并修复登录态从未写入的缺口
【严重缺口修复】P2(验证码)/ P2Q(一键登录)此前只 navigate('P3'),从不写登录态——
全项目唯一写 token 的地方是微信链路。微信入口一旦摘除,isTokenValid 恒为 false,
每次冷启动都会把用户打回登录页。现三条通道均接入 useAuth().login()。
【新增通道】P1 主通道改为「验证码登录」,「一键登录」为次,新增「密码登录」(P2P):
- P2P 手机号 + 密码登录;P2R 设置 / 重置密码(同页两阶段:验证手机号 → 设新密码,
成功后直接下发登录态,用户无需再登录一次)
- 设置页新增 /settings/password 修改密码,改完强制重登
【密码规则】8–20 位且需含字母和数字,规则计算统一放在 api.ts 的 validatePassword /
validatePasswordConfirm,错误码 → 文案映射放在 constants 的 PASSWORD_RULE_LABEL,
按联合类型 PasswordRuleError 建模,新增成员漏配文案会被测试拦下。
【微信入口摘除】按产品决定(丁总 2026-09-14)前端不做 QQ / 微信登录:
P1Login 移除微信按钮、滑块验证与注销弹窗;P2W / B1 页面、useWechatLogin 状态机、
wechat-sdk 及三个接口函数全部保留待启用,接入路线见 微信登录接入方案.md。
【去重公共件】新增 PasswordField(密码输入 + 明文切换)、useAgreementGate(协议门卫,
此前在 3 个页面被逐字复制)、utils/validators(手机号 / 验证码规则的单一来源)。
【测试】新增 src/__tests__/password.test.ts(24 例)。全套 6 套 45 例通过,
tsc --noEmit 0 错误,eslint . 0 问题,check-routes 67 路由 0 失效跳转。
|
1 month ago |
doublex001
|
731b4c9bac
|
feat(onboarding): 品牌更名「有职」并重构注册引导流程
- 品牌从「职来」更名为「有职」(slug: youzhi),同步 storage 前缀与全部文案
- 登录页与选择身份页合并重构为分步引导注册(register + onboarding 多屏 + UI 组件库)
- 新增品牌 logo,设置页「身份切换/退出登录」改跳注册页
- 更新 AGENTS.md 仓库地址与提交节奏说明
|
2 months ago |