审核队列 · 1,415 条待审
出处硬校验:锚点须在 K0 命中;手填出处强制 inferred。批量通过:规则类直接入 rules.yaml(一个 commit); 定义类需人工归簇请单张过。
建模纪律 · 知识分类骨架(11 类)—— 判不准时点开对锚点
没通过实体四条的,不是扔掉,是归位。每类锚在不同的数据形态上——锚不对就是归错了。
速判:占一张实体表 → 实体;按时间追加流水 → 事件;某实体会流转的取值 → 状态维;静态描述值 → 属性; 一组可选值 → 枚举;连两个实体 → 关系;多事件编排 → 流程;「如果…就…」→ 规则;施加的操作 → 动作;算出来的量 → 指标。 全文见仓库 建模纪律.md「纪律 2」。
locationReportScenes 为「需要上报位置的场景」数组(如 CASH_POSITION、FACE_SCANNING_POSITION 等),由后台下发控制哪些场景开启 GPS 上报,与 cashLoanSceneSwitch/openPaylaterScanFaceSwitch 配合使用。
"`locationReportScenes`(`setting.js:21`,state 初值 `[]`)为「需要上报位置的场景」数组"
位置上报逻辑先判断 locationReportScenes.includes(scene),即场景须在 locationReportScenes 数组内才继续上报。
"`report.js:67` 先判 `locationReportScenes.includes(scene)`"
PayLater 的功能可见性由三类不同来源的门控叠加决定,三者口径与责任方各不相同。
"PayLater 的功能可见性由三类不同来源的门控**叠加**决定,三者口径与责任方不同"
原生事件上报由前端通过 reportToOutside 把事件上报给 Appsflyer / Insider / Firebase,再由宿主 Allo App 与营销平台 Insider 驱动原生 push 或营销触达。
"**原生事件上报**:前端通过 `reportToOutside` 把事件上报给 Appsflyer / Insider / Firebase,由宿主 Allo App 与营销平台(Insider)驱动原生 push / 营销触达"
邮件/OTP 由后端 API 下发,前端只触发接口并提示"已发送"。
"**邮件 / OTP**:由后端 API 下发,前端只触发接口并提示"已发送""
还款/逾期提醒为纯站内文案加 banner/popup,阈值在前端按账单页的 remainDays(dueDate 差值)与后端下发的 daysToDue/overdueTimes(首页)判定。
"**还款 / 逾期提醒**:纯站内文案 + banner/popup,阈值在前端按 `remainDays`(账单页 `dueDate` 差值)与后端下发的 `daysToDue` / `overdueTimes`(首页)判定"
reportToOutside 是触达的核心通道,把一个 event 同时上报给三家平台(Appsflyer、Insider、Firebase)。
"`reportToOutside` 是触达的核心通道,把一个 event 同时上报给三家平台"
三个底层上报方法均有 app_id === ALLO_APP_ID 门控,即仅对 ALLO 渠道上报。
"三个底层方法均有 `app_id === ALLO_APP_ID` 门控(`:145`/`:161`/`:178`),即**仅对 ALLO 渠道上报**"
事件 REJECTED_PAYLATER_BUT_UPGRADED 表示 PayLater 被拒绝但升级为 Prime。
"`REJECTED_PAYLATER_BUT_UPGRADED` (:101) | PL 拒绝但升级为 Prime"
开户成功或补报时,reportOpenAccount 先查后端配置 amsEventReportConfig(moduleId=OPEN_ACCT)取 eventNameList,逐个 reportToOutside,并带 PL_Level/value/currency:'IDR'/user_id,再调 amsAccountOpenAcctEventMarkReported 标记已报。
"开户成功/补报时,先查后端配置 `amsEventReportConfig`(moduleId=`OPEN_ACCT`)取 `eventNameList`,逐个 `reportToOutside`"
提额/质押锁额成功时,reportLockAmount 以 eventName=limit_lock_amount_success 调用 reportToOutside,并带 user_id。
"质押成功时 `reportToOutside` eventName=`limit_lock_amount_success`,带 `user_id`"
账单页 remainDays 定义为 dueDate 与当前日期的天数差 dayjs(dueDate).diff(currentDate,'days')。
"`remainDays = dayjs(dueDate).diff(currentDate, 'days')`"
账单页 isOverDue 为真时展示文案 your_bill_is_n_days_overdue_please_repay_now。
"`isOverDue` → `your_bill_is_n_days_overdue_please_repay_now`"
账单页当 remainDays > 3 时文案为空,不提醒。
"`remainDays > 3` → 空(不提醒)"
账单页当 remainDays === 0 时展示文案 please_repay_today_to_avoid_late_fee。
"`remainDays === 0` → `please_repay_today_to_avoid_late_fee`"
账单页当 remainDays === 1 时展示文案 dont_forget_to_repay_within_one_days。
"`remainDays === 1` → `dont_forget_to_repay_within_one_days`"
账单页当 remainDays 为 2–3 天时展示文案 dont_forget_to_repay_within_n_days(带 n)。
"2–3 天 → `dont_forget_to_repay_within_n_days`(带 n)"
首页到期分支按后端 daysToDue 判定:===0 展示 please_repay_by_today_to_avoid_the_late_fee;===1 展示 dont_forget_to_repay_within_day_by;2–3 展示 dont_forget_to_repay_within_days_by;否则展示 your_bill_is_ready_repay_by_etc。
"到期分支(`:175`):`daysToDue===0` → `please_repay_by_today_to_avoid_the_late_fee`;`===1` → `dont_forget_to_repay_within_day_by`;`2–3` → `dont_forget_to_repay_within_"
首页逾期分支:overdueTimes===1 且 IN_DUE 展示 you_have_overdue_bill_etc;否则展示 your_bill_is_overdue_with_late_fee(带罚息 penaltyBal);overdueTimes>1 展示 you_have_overdue_bills_etc。
"逾期分支(`:214`):`overdueTimes===1` 且 `IN_DUE` → `you_have_overdue_bill_etc`;否则 `your_bill_is_overdue_with_late_fee`(带罚息 `penaltyBal`);`overdueTimes>1` → `you_have_"
首页逾期改造 banner showOverdueRestructureBanner 展示时显示文案 adjust_repay_overdue_desc 与 CTA adjust。
"逾期改造 banner `showOverdueRestructureBanner`(computed `:596`,模板 `:217`)→ `adjust_repay_overdue_desc` + CTA `adjust`"
用户提交新邮箱触发改绑邮箱,由后端发送邮件并前端弹出 toast。
"改绑邮箱 | 提交新邮箱 | 邮件(后端发)+ toast"
邮箱验证发信接口 amsCommonVerifyEmailAddress 返回码:00 表示邮件已发送,01 表示邮箱已验证。
"mock code `00`=已发/`01`=已验证"
取现确认时通过 WhatsApp 下发 OTP(渠道标识 GET_CASH_WHATSAPP),接口 coreTransNotifyOtp 返回 OTP_RESULT 1/2 作为回执。
"取现 WhatsApp OTP | 取现确认 | OTP(WhatsApp 下发)+ 回执 | `coreTransNotifyOtp`(`api.js:2630`,OTP_RESULT 1/2),渠道 `GET_CASH_WHATSAPP`"
当账单处于逾期(overdue)且可改造时,站内展示逾期改造 banner。
"逾期改造 banner | overdue 且可改造"
根据 negotiateRepaymentPlan.promiseResult 触发站内新还款计划弹窗(NewRepaymentPlanPopup)。
"新还款计划弹窗 | `negotiateRepaymentPlan.promiseResult` | 站内 popup"
取现流程返回时触发站内取现挽留弹窗(InvestigationPopup)。
"取现挽留弹窗 | 取现返回 | 站内 popup"