本体协作平台
M 2 · R E V I E W

审核队列 · 1,415 条待审

出处硬校验:锚点须在 K0 命中;手填出处强制 inferred。批量通过:规则类直接入 rules.yaml(一个 commit); 定义类需人工归簇请单张过。

建模纪律 · 知识分类骨架(11 类)—— 判不准时点开对锚点

没通过实体四条的,不是扔掉,是归位。每类锚在不同的数据形态上——锚不对就是归错了。

知识分类骨架:两轴定住五个核心类型,下挂六个连接与派生类型横轴独立主体对附着于某主体,纵轴持续存在对瞬间发生,定位实体、属性、状态维、事件、动作;下方为关系、角色、枚举、流程、规则、指标。独立主体附着于某主体持续存在瞬间发生实体锚 · 一张实体表客户 · 账户 · 借据 · 账单属性锚 · 普通列额度 · 期限状态维锚 · 状态列管制码事件锚 · 一张流水表支用 · 还款 · 交易动作锚 · 触发事件并改状态冻结 · 解冻 · 核销连接与派生关系锚 · 外键 / 关联表借据 ↔ 账单角色锚 · 关联表角色列付款方 · 担保人枚举锚 · 码表 / 值域还款方式流程锚 · 多事件编排申请 → 清算 → 确认规则锚 · 规则库逾期 M2 冻结指标锚 · 聚合计算式逾期率 · 余额独立主体 · 自己占一份数据附着 · 挂在别人的列上连接与派生

速判:占一张实体表 → 实体;按时间追加流水 → 事件;某实体会流转的取值 → 状态维;静态描述值 → 属性; 一组可选值 → 枚举;连两个实体 → 关系;多事件编排 → 流程;「如果…就…」→ 规则;施加的操作 → 动作;算出来的量 → 指标。 全文见仓库 建模纪律.md「纪律 2」。

7/48上一页下一页
批量操作
#183动作条件DOC-2026-005#p24S01prompt v203_关系与铁律/rules.yaml

白名单校验命中(whitelistFlag='Y')且为 IOH 渠道(app_id∈{IM3,BIMA})时,走 IOH 专用 OTP(COMMON_IOH_OTP)。

"命中 `whitelistFlag='Y'`:IOH 渠道(`query.app_id ∈ {IM3, BIMA}`)→ `COMMON_IOH_OTP`"

#184动作条件DOC-2026-005#p24S01prompt v203_关系与铁律/rules.yaml

白名单命中的非 IOH 渠道:未设密(PASSWORD_STATUS='0')进入设密页,已设密进入验密页 COMMON_PASSWORD_VERIFY(scene=APPLY)。

"否则未设密(`PASSWORD_STATUS='0'`)→ 设密页,已设密 → 验密页 `COMMON_PASSWORD_VERIFY`"

#185动作条件DOC-2026-005#p24S01prompt v203_关系与铁律/rules.yaml

白名单校验未命中时,跳转到「currently not eligible」结果页。

"未命中 → 「currently not eligible」结果页"

#186规则DOC-2026-005#p26S01prompt v203_关系与铁律/rules.yaml

开户流程的下一步由后端 amsAccountCheckFlow 返回的 {flowId, status, nextAction, flowContext} 决定,前端按此分发(后端 flow 状态驱动,非前端写死链)。

"「下一步」由 **`amsAccountCheckFlow`**(`/ams/account/check/flow`,入参 `bizServiceId='OPEN_PAYLATER'`+`channel`+`sdkVersion`+`session`)返回的 `{flowId, status, nextAction, "

#187状态DOC-2026-005#p27S01prompt v201_名词表/states.yaml

本地 OPEN_STATUS='T017'(WAIT_VIDEO_BANKING)时直接进入 Video Banking 页面,不再调用 checkFlow。

"本地 `OPEN_STATUS='T017'`(WAIT_VIDEO_BANKING)| 直接 `_viewVideoBanking`(不调 checkFlow)"

#188动作条件DOC-2026-005#p27S01prompt v203_关系与铁律/rules.yaml

checkFlow 返回 status='0000' 时,直接进入申请表单 PAY_LATER_APPLY_FORM_LOAN。

"`status='0000'` | 直接进申请表单 `PAY_LATER_APPLY_FORM_LOAN`"

#189动作条件DOC-2026-005#p27S01prompt v203_关系与铁律/rules.yaml

checkFlow 返回 status='0002' 且 nextAction='OCR' 时进入 OCR 步骤(COMMON_OCR),OCR 厂商由 flowContext.ocrOrg 决定。

"`status='0002'` + `nextAction='OCR'` | `COMMON_OCR`(`flowContext.ocrOrg` 决定 OCR 厂商)"

#190动作条件DOC-2026-005#p27S01prompt v203_关系与铁律/rules.yaml

checkFlow 返回 status='0002' 且 nextAction='FACE_SCANNING' 时进入人脸活体步骤(COMMON_FACE)。

"`status='0002'` + `nextAction='FACE_SCANNING'` | `COMMON_FACE`"

#191边界DOC-2026-005#p28S01prompt v203_关系与铁律/rules.yaml

KYC 子步完成后回调 _queryPaylaterFlow 再次分发,只处理 FACE_SCANNING/QUESTION_VALIDATE 及 0000→表单,不会回退到 OCR。

"它只处理 FACE_SCANNING/QUESTION_VALIDATE 与 `0000`→表单,不会回退到 OCR"

#192边界DOC-2026-005#p28S01prompt v203_关系与铁律/rules.yaml

STEPS 常量(KTP→Face→Form)仅用于 UI 进度条展示,不驱动实际开户流程。

"`STEPS` 常量(KTP→Face→Form,:251)仅 UI 进度条用,不驱动流程"

#193流程步骤DOC-2026-005#p30S01prompt v203_关系与铁律/rules.yaml

典型 Prime/中级户开户主流程:落地页→勾选 TnC→点 Apply→白名单→(IOH OTP 或设密/验密)→checkFlow 触发 OCR KTP→queryFlow 触发人脸活体(可含安全问答)→(初级户先升中级)→表单→(非 Prime 满足条件先升高级)→(needVb 先 Video Banking)→提交授信→轮询→结果分流。

"落地页 PAY_LATER_APPLY → 勾选 TnC(PDF 协议页 COMMON_PDF_VIEWER)→ 点 Apply → 白名单 → [IOH OTP | 设密/验密 COMMON_PASSWORD_VERIFY(APPLY)] → checkFlow ⇒ OCR KTP(教育页→原生SDK→回填→Conf"

#194规则DOC-2026-005#p32S01prompt v203_关系与铁律/rules.yaml

提交授信 amsAccountApplyCredit 时,BIZ_TYPE 取值:跳过 Video Banking(skipVb)为 'FI',否则为 'VB_FI'。

"`BIZ_TYPE = skipVb ? 'FI' : 'VB_FI'`"

#195规则DOC-2026-005#p32S01prompt v203_关系与铁律/rules.yaml

授信结果轮询 amsAccountQueryApplyResult 以 2s 间隔进行,最多 10 次。

"`amsAccountQueryApplyResult`(`/ams/account/query/apply_result`,`BIZ_TYPE='APP'`+`APP_NO`),2s 间隔 × 最多 10 次"

#196状态DOC-2026-005#p32S01prompt v201_名词表/states.yaml

授信结果码分流:1006/1008 为拒绝进失败页,1016 为成功进入 _viewTarget,其余码进 processing 页。

"`1006`/`1008` 拒绝 → 失败页;`1016` 成功 → `_viewTarget`"

#197动作条件DOC-2026-005#p32S04prompt v203_关系与铁律/rules.yaml

授信成功后若 RISK_CODE 含 Y001,则进入 FlexLimit 结果页族,否则回 PAY_LATER_HOME。

"`RISK_CODE` 含 Y001 → FlexLimit 结果页族"

#198动作条件DOC-2026-005#p34S01prompt v203_关系与铁律/rules.yaml

触发 Video Banking 面签的条件:OPEN_STATUS='T017'(进场即 VB),或表单提交时 needVb 为真(currentPlaylaterStatus∈{'1022','1017'} 或 payLaterStatus='T022')。

"`OPEN_STATUS='T017'`(进场即 VB);或表单提交时 `needVb`:`currentPlaylaterStatus ∈ {'1022','1017'}` 或 `payLaterStatus='T022'`"

#199动作条件DOC-2026-005#p34S01prompt v203_关系与铁律/rules.yaml

初级户(mpcLevel='01')刷脸成功后触发升中级户 amsAccountUpgradeMiddleAccount,再续 queryFlow。

"初级户 `mpcLevel='01'` 刷脸成功后"

#200动作条件DOC-2026-005#p34S01prompt v203_关系与铁律/rules.yaml

表单提交时若非 Prime 且 flowContext.canOpenPrimeAcct='Y',则触发升高级户 amsAccountUpgradeHighAccount,成功后再提交授信,失败进失败页。

"表单提交时非 Prime 且 `flowContext.canOpenPrimeAcct='Y'`"

#201例外DOC-2026-005#p34S01prompt v203_关系与铁律/rules.yaml

存量 KTP 情形:OCR 提交后 ret_data.status='5000'(AnotherAccount)时,进入独立「e-KTP already registered」结果页,主按钮回申请落地页。

"OCR 提交后 `ret_data.status='5000'`(`FlowStatus.AnotherAccount`)"

#202动作条件DOC-2026-005#p34S01prompt v203_关系与铁律/rules.yaml

推荐码入口在落地页卡片 referralCodeSwitch='Y' 且 isAllo 时展示,推荐码需通过 6 位字母数字校验(/^[a-zA-Z0-9]{6}$/)后提交。

"落地页卡片 `referralCodeSwitch='Y' && isAllo`;校验 `/^[a-zA-Z0-9]{6}$/`"

#203状态DOC-2026-005#p38S01prompt v201_名词表/states.yaml

payLaterStatus 为 T211/T017/T022/T023(未开通或开到一半)时,统一续到申请落地页。

"`T211` NotOpened / `T017` NotOpened_VB / `T022` NotOpened_VB_form / `T023` NotOpened_form | 未开通/开到一半 | 申请落地页"

#204状态DOC-2026-005#p38S01prompt v201_名词表/states.yaml

payLaterStatus 为 T215(applying/审核中)时,续到 processing 页。

"`T215` applying | 审核中 | processing 页"

#205状态DOC-2026-005#p38S01prompt v201_名词表/states.yaml

payLaterStatus 为 T217(Controlled/被拒或管控)时,续到失败页。

"`T217` Controlled | 被拒/管控 | 失败页"

#206规则DOC-2026-005#p39S01prompt v203_关系与铁律/rules.yaml

流程内断点由 amsAccountCheckFlow 返回的 {status, nextAction} 决定(OCR 未过回 OCR、Face 未过回 Face),前端不本地存储进度。

"OCR 没过回 OCR、Face 没过回 Face),**前端不本地存进度**"

#207动作条件DOC-2026-005#p39S01prompt v203_关系与铁律/rules.yaml

表单断点续填:有本地 customerExtInfo 则回填,否则调用 amsAccountQueryExtCustInfo 拉取后端暂存(对应提交前的 amsAccountSaveExtInfo)。

"`Loan.vue:1157-1206` 有本地 `customerExtInfo` 则回填,否则 `amsAccountQueryExtCustInfo` 拉后端暂存"

#208动作条件DOC-2026-005#p41S01prompt v203_关系与铁律/rules.yaml

GPS 位置采集(reportLocation)触发需同时满足:sdk_version≥1.0.2、isAllo 为真、且当前 scene 属于后台配置的 locationReportScenes。

"门控三层:`sdk_version≥1.0.2` 且 `isAllo` 且 scene ∈ 后台 `locationReportScenes`"

#209动作条件DOC-2026-005#p41S01prompt v203_关系与铁律/rules.yaml

刷脸场景下弹出强制授权弹窗,另需满足 sdk_version≥1.0.6 且 openPaylaterScanFaceSwitch='Y'。

"强制授权弹窗另需 `sdk_version≥1.0.6` + `openPaylaterScanFaceSwitch='Y'`(刷脸场景)"

#210动作条件DOC-2026-005#p41S01prompt v203_关系与铁律/rules.yaml

刷脸场景的 GPS 采集事件按 isRealName 在 FACE_SCANNING_POSITION 与 REAL_NAME_FACE_SCANNING_POSITION 之间二选一。

"落地页 `LANDING_PAGE_POSITION`(:593)、OCR `OCR_POSITION`、刷脸 `FACE_SCANNING_POSITION`/`REAL_NAME_FACE_SCANNING_POSITION`(按 isRealName 二选一)"

#211流程步骤DOC-2026-005#p41S01prompt v203_关系与铁律/rules.yaml

OCR Confirm 提交前须先完成图灵校验:getTuringToken 后调用 amsAccountSubmitTuringToken(scene='OCR')。

"OCR Confirm 提交前有图灵校验(`getTuringToken` → `amsAccountSubmitTuringToken(scene='OCR')`)"

#212边界DOC-2026-005#p43S01prompt v203_关系与铁律/rules.yaml

OCR 识别、人脸活体、Video Banking 面签均由 App 原生 SDK 承载,H5 仅负责拉起与回填。

"OCR 识别、人脸活体、Video Banking 面签均由 App **原生 SDK** 承载,H5 仅做拉起与回填"