Showing
75 changed files
with
1250 additions
and
0 deletions
.DS_Store
0 → 100644
No preview for this file type
README.md
0 → 100644
| 1 | +## 产品RAG体系建设(归档入口) | ||
| 2 | + | ||
| 3 | +本目录用于沉淀「产品研发 RAG 知识库」相关的聊天记录与产物文件,避免散落在仓库各处或需要翻聊天。 | ||
| 4 | + | ||
| 5 | +### 目录结构 | ||
| 6 | + | ||
| 7 | +- `docs/`: 方案文档、模块定义、版本同步表 | ||
| 8 | +- `inputs/figma/<app_version>/links.txt`: 每个版本的 Figma 链接清单 | ||
| 9 | +- `build/<app_version>/`: 该版本的规则原子、视图、后续合并产物 | ||
| 10 | +- `chats/`: 聊天 transcript(jsonl) | ||
| 11 | + | ||
| 12 | +### 已归档(当前) | ||
| 13 | + | ||
| 14 | +- **v4.57.3** | ||
| 15 | + - Figma links: `inputs/figma/v4.57.3/links.txt` | ||
| 16 | + - rule_atoms: `build/v4.57.3/rule_atoms.jsonl` | ||
| 17 | + - rule_view: `build/v4.57.3/rule_view.md` | ||
| 18 | + - version sync: `docs/version_sync_v4.57.3.yaml` | ||
| 19 | + | ||
| 20 | +### 聊天记录 | ||
| 21 | + | ||
| 22 | +- 本次对话 transcript:`chats/e16793ce-e4b0-4497-8cda-b792d10c1eeb.jsonl` | ||
| 23 | + |
build/.DS_Store
0 → 100644
No preview for this file type
build/v4.20.5/requirements.md
0 → 100644
build/v4.20.5/rule_atoms.jsonl
0 → 100644
| 1 | +{"atom_id":"v4.20.5_1f20617a5c32","app_version":"v4.20.5","primary_module":"INQUIRY","modules":["INQUIRY","INCOME"],"feature_scope":"嵌套问诊:到账判断对齐正常问诊流程","touchpoints":["嵌套问诊","购买提示","收入到账提示","问诊开始提示"],"C":"嵌套问诊患者购买后未填写问诊单直接沟通","A":"判断问诊开始与收入到账","R":"嵌套问诊到账逻辑调整为同正常问诊流程,确保医生可收到购买提示与收入到账/问诊开始提示","canon_text":"C=嵌套问诊患者购买后未填写问诊单直接沟通|A=判断问诊开始与收入到账|R=嵌套问诊到账逻辑调整为同正常问诊流程,确保医生可收到购买提示与收入到账/问诊开始提示","merge_fingerprint":"1f20617a5c32","evidence":[{"source_type":"figma","file_key":"3K8VQpDzTmN3JUSp2IFi5H","node_id":"111:10","figma_url":"https://www.figma.com/design/3K8VQpDzTmN3JUSp2IFi5H/D-4-20.5?node-id=111-10&p=f&t=kkvJH8uFWKSt8vTC-0","raw_text":"背景:嵌套问诊很多患者购买后不填写问诊单直接沟通导致医生收不到费用;优化到账逻辑:嵌套问诊情况下用户问诊到账逻辑修改为同正常问诊流程。"}],"search_terms":["嵌套问诊","到账判断","正常问诊流程","医生收不到费用","购买提示","问诊开始","收入到账"]} | ||
| 2 | +{"atom_id":"v4.20.5_01cb53c658f5","app_version":"v4.20.5","primary_module":"INQUIRY","modules":["INQUIRY"],"feature_scope":"问诊设置:每日接诊上限","touchpoints":["问诊设置","每日接诊上限","患者端问诊选择页"],"C":"医生设置每日最大接诊上限","A":"患者购买问诊/发起咨询","R":"图文/电话/视频支持每日接诊上限(0-24点按付费计数)默认不限,可选不限/10/20/30/50并支持自定义正整数<=9999;达到上限当日该类型置灰不可选并提示已达上限;设置当日生效;提问不计入问诊上限","canon_text":"C=医生设置每日最大接诊上限|A=患者购买问诊/发起咨询|R=图文/电话/视频支持每日接诊上限(0-24点按付费计数)默认不限,可选不限/10/20/30/50并支持自定义正整数<=9999;达到上限当日该类型置灰不可选并提示已达上限;设置当日生效;提问不计入问诊上限","merge_fingerprint":"01cb53c658f5","evidence":[{"source_type":"figma","file_key":"3K8VQpDzTmN3JUSp2IFi5H","node_id":"5:343","figma_url":"https://www.figma.com/design/3K8VQpDzTmN3JUSp2IFi5H/D-4-20.5?node-id=5-343&p=f&t=kkvJH8uFWKSt8vTC-0","raw_text":"问诊设置中图文/电话/视频添加每日接诊上限(0-24点计算);按用户付费计算每日接诊量;达到上限当日不可再发起;默认不限,默认选项不限/10/20/30/50;支持自定义正整数最大9999;设置当日生效(达到/超过也限制);提问不加问诊上限;患者端问诊选择页该类型置灰并提示当日已达接诊上限。"}],"search_terms":["每日接诊上限","问诊设置","0-24点","默认不限","自定义9999","达到上限置灰","按付费计数","提问不计入"]} |
build/v4.21.5/requirements.md
0 → 100644
build/v4.21.5/rule_atoms.jsonl
0 → 100644
| 1 | +{"atom_id":"v4.21.5_0aafb152daa1","app_version":"v4.21.5","primary_module":"CLINIC","modules":["CLINIC"],"feature_scope":"预约挂号优化:定时放号/是否坐诊/周期坐诊","touchpoints":["放号设置","坐诊时间设置","公立医院预约挂号提示","患者端预约入口"],"C":"医生配置门诊预约挂号与放号/坐诊周期","A":"设置定时放号/是否坐诊/周期坐诊","R":"放号日期选项当天-提前13天默认13;放号时间24小时制精确到分默认10:00;坐诊可关闭并隐藏时间设置;外显放号日期+放号时间且坐诊关闭不展示;医生改预约时间不取消已预约;患者端未到可约时提示有号与可预约时间且立即预约不可点;公立医院预约挂号提示到院找医生加号且费用以医院设定为准;周期坐诊支持仅1次/每周/隔1周/隔2周/每月","canon_text":"C=医生配置门诊预约挂号与放号/坐诊周期|A=设置定时放号/是否坐诊/周期坐诊|R=放号日期选项当天-提前13天默认13;放号时间24小时制精确到分默认10:00;坐诊可关闭并隐藏时间设置;外显放号日期+放号时间且坐诊关闭不展示;医生改预约时间不取消已预约;患者端未到可约时提示有号与可预约时间且立即预约不可点;公立医院预约挂号提示到院找医生加号且费用以医院设定为准;周期坐诊支持仅1次/每周/隔1周/隔2周/每月","merge_fingerprint":"0aafb152daa1","evidence":[{"source_type":"figma","file_key":"Kn7j1dTE3QhtytwssMjE4P","node_id":"0:1","figma_url":"https://www.figma.com/design/Kn7j1dTE3QhtytwssMjE4P/D-21.5?node-id=0-1&p=f&t=rSxua3iAnr9wB1w8-0","raw_text":"放号设置添加定时放号:放号日期(当天-提前13天,默认提前13天)+ 放号时间(24小时制精确到分,默认10:00);坐诊时间设置增加是否坐诊选项,不坐诊则不显示坐诊时间设置;外显放号日期+放号时间且坐诊关闭不展示;医生修改预约时间不取消已预约;患者端未到可约时间显示“有号”并提示可预约时间,立即预约不可点;公立医院预约挂号提示到院找医生加号、费用以医院设定为准;周期坐诊支持仅1次/每周/隔1周/隔2周/每月。"}],"search_terms":["放号设置","定时放号","放号日期提前13天","放号时间10:00","是否坐诊","周期坐诊","有号提示","立即预约置灰","公立医院加号提示"]} | ||
| 2 | +{"atom_id":"v4.21.5_ed53e6497705","app_version":"v4.21.5","primary_module":"PATIENT","modules":["PATIENT"],"feature_scope":"评价管理:医生不再接收患者评价反馈","touchpoints":["评价详情页","不再接收患者评价反馈","公众号推送"],"C":"医生不想接收患者评价反馈","A":"开启不再接收患者评价反馈并确认","R":"确认后后续评价不在医生对话中提示;文案改为已不再接收患者评价反馈;取消公众号推送评价提醒","canon_text":"C=医生不想接收患者评价反馈|A=开启不再接收患者评价反馈并确认|R=确认后后续评价不在医生对话中提示;文案改为已不再接收患者评价反馈;取消公众号推送评价提醒","merge_fingerprint":"ed53e6497705","evidence":[{"source_type":"figma","file_key":"Kn7j1dTE3QhtytwssMjE4P","node_id":"2:257","figma_url":"https://www.figma.com/design/Kn7j1dTE3QhtytwssMjE4P/D-21.5?node-id=2-257&p=f&t=rSxua3iAnr9wB1w8-0","raw_text":"页面添加“不再接收患者评价反馈”,点击后弹窗提示;点击确定后之后的患者评价不在医生对话中提示;点击确定后文案修改为“已不再接收患者评价反馈”;取消公众号推送评价提醒。"}],"search_terms":["不再接收评价","患者评价反馈","弹窗确认","对话不提示评价","文案已不再接收","取消公众号推送"]} |
build/v4.24.0/requirements.md
0 → 100644
build/v4.24.0/rule_atoms.jsonl
0 → 100644
| 1 | +{"atom_id":"v4.24.0_00b4844518c1","app_version":"v4.24.0","primary_module":"AUTH","modules":["AUTH"],"feature_scope":"快速开通:推荐奖励与备案状态规则","touchpoints":["快速开通","推荐奖励","推荐人状态"],"C":"医生通过快速开通方式开通工作室","A":"计算推荐奖励与推荐人备案状态","R":"推荐人不获得推荐奖励,推荐人侧状态显示为未备案","canon_text":"C=医生通过快速开通方式开通工作室|A=计算推荐奖励与推荐人备案状态|R=推荐人不获得推荐奖励,推荐人侧状态显示为未备案","merge_fingerprint":"00b4844518c1","evidence":[{"source_type":"figma","file_key":"vcD3HStvr6ukAzyXmsS29K","node_id":"3029:4","figma_url":"https://www.figma.com/design/vcD3HStvr6ukAzyXmsS29K/4.24.0?node-id=3029-4&p=f&t=cMiYRpW3pAR99a7O-0","raw_text":"通过快速开通方式开通工作室的医生,推荐人不获得推荐奖励,且在推荐人的状态为“未备案”。"}],"search_terms":["快速开通","推荐人奖励","推荐奖励","未备案","开通工作室"]} |
build/v4.25.5/requirements.md
0 → 100644
| 1 | +--- | ||
| 2 | +app_version: v4.25.5 | ||
| 3 | +source: build/v4.25.5/rule_atoms.jsonl | ||
| 4 | +updated_at: 2026-03-13 | ||
| 5 | +--- | ||
| 6 | + | ||
| 7 | +一句话概述:专长医生认证与半开通规则、门诊预约优化(坐诊时间放开/预约通知/到院缴费)、综合绩效纳入规则调整(发货/特殊剂型)。 | ||
| 8 | + | ||
| 9 | +Figma链接: | ||
| 10 | +- `https://www.figma.com/design/8lCFnNbGhfaOcOGOTqQ66S/4.25.5%E9%9C%80%E6%B1%82?node-id=136-1244&p=f&t=oCnFO3Linqo5rsRX-0` |
build/v4.25.5/rule_atoms.jsonl
0 → 100644
| 1 | +{"atom_id":"v4.25.5_d7fc5af2b61e","app_version":"v4.25.5","primary_module":"AUTH","modules":["AUTH"],"feature_scope":"专长医生认证:资料与半开通规则","touchpoints":["认证类型选择","执业范围输入","后台审核","加入团队通知"],"C":"医师选择专长医生认证","A":"填写执业范围并上传资料提交审核","R":"展示执业范围输入(最多10字);需上传专长医师证(执业类别中医)/签名/身份且非军医;审核通过发送加入团队通知;与助理医师逻辑一致;认证成功后工作室为半开通","canon_text":"C=医师选择专长医生认证|A=填写执业范围并上传资料提交审核|R=展示执业范围输入(最多10字);需上传专长医师证(执业类别中医)/签名/身份且非军医;审核通过发送加入团队通知;与助理医师逻辑一致;认证成功后工作室为半开通","merge_fingerprint":"d7fc5af2b61e","evidence":[{"source_type":"figma","file_key":"8lCFnNbGhfaOcOGOTqQ66S","node_id":"136:1244","figma_url":"https://www.figma.com/design/8lCFnNbGhfaOcOGOTqQ66S/4.25.5%E9%9C%80%E6%B1%82?node-id=136-1244&p=f&t=oCnFO3Linqo5rsRX-0","raw_text":"选择“专长医生”后展示“执业范围”(最多10个字符);需上传专长医师证(执业类别:中医)、签名、身份(非军医);审核通过后发送加入团队通知;同助理医师逻辑;认证成功后工作室为半开通状态。"}],"search_terms":["专长医生","执业范围","专长医师证","中医执业类别","加入团队通知","后台审核","半开通"]} | ||
| 2 | +{"atom_id":"v4.25.5_a9797e48dd38","app_version":"v4.25.5","primary_module":"CLINIC","modules":["CLINIC"],"feature_scope":"预约优化:坐诊时间放开/预约通知/到院缴费","touchpoints":["患者预约提醒","坐诊时间设置","预约记录未读","挂号费展示"],"C":"医生设置门诊预约与坐诊时间段","A":"保存坐诊时间/开关相关设置","R":"上午/下午/晚上可选06:00-23:50且时间不可重复;三时间段最少间隔1小时否则toast;按设置时间段往前推1小时不可预约;预约记录未读红点与未读条数进入即已读;非公立机构可设置到院缴挂号费(费用仅展示,预约成功后到院缴费);预约成功推送展示患者姓名","canon_text":"C=医生设置门诊预约与坐诊时间段|A=保存坐诊时间/开关相关设置|R=上午/下午/晚上可选06:00-23:50且时间不可重复;三时间段最少间隔1小时否则toast;按设置时间段往前推1小时不可预约;预约记录未读红点与未读条数进入即已读;非公立机构可设置到院缴挂号费(费用仅展示,预约成功后到院缴费);预约成功推送展示患者姓名","merge_fingerprint":"a9797e48dd38","evidence":[{"source_type":"figma","file_key":"8lCFnNbGhfaOcOGOTqQ66S","node_id":"136:3432","figma_url":"https://www.figma.com/design/8lCFnNbGhfaOcOGOTqQ66S/4.25.5%E9%9C%80%E6%B1%82?node-id=136-3432&p=f&t=oCnFO3Linqo5rsRX-0","raw_text":"坐诊时间段:上午/下午/晚上均展示06:00-23:50可选,三段时间不可重复,最少间隔1小时否则toast;按设置时间往前推1小时不可预约。预约:增加App门诊预约通知与未读红点,预约记录展示未读条数进入列表即已读;非公立机构可设置到院缴挂号费(费用仅展示,患者预约成功后到院缴费);预约成功推送展示患者姓名。"}],"search_terms":["预约优化","坐诊时间放开","06:00-23:50","坐诊时间不可重复","间隔1小时","未读红点","到院缴挂号费","预约推送"]} | ||
| 3 | +{"atom_id":"v4.25.5_56b26f8d389f","app_version":"v4.25.5","primary_module":"INCOME","modules":["INCOME"],"feature_scope":"综合绩效纳入规则:发货与特殊剂型","touchpoints":["绩效明细","诊后服务","综合绩效未到账"],"C":"诊后服务产生综合绩效","A":"计算综合绩效纳入时间","R":"所有药品发货后纳入当月综合绩效;丸散膏等特殊剂型接单后24小时纳入(时间读取配置)","canon_text":"C=诊后服务产生综合绩效|A=计算综合绩效纳入时间|R=所有药品发货后纳入当月综合绩效;丸散膏等特殊剂型接单后24小时纳入(时间读取配置)","merge_fingerprint":"56b26f8d389f","evidence":[{"source_type":"figma","file_key":"W24tOomtFCBObPHjFVx2Dl","node_id":"48:539","figma_url":"https://www.figma.com/design/W24tOomtFCBObPHjFVx2Dl/4.25.5-xdy?node-id=48-539&p=f&t=oCnFO3Linqo5rsRX-0","raw_text":"综合绩效纳入规则:所有药品发货后即纳入当月综合绩效;其中丸散膏等特殊剂型接单后24小时即纳入(24小时读取配置)。"}],"search_terms":["综合绩效","纳入当月","药品发货后","丸散膏","接单24小时","特殊剂型","绩效明细"]} |
build/v4.26.0/requirements.md
0 → 100644
| 1 | +--- | ||
| 2 | +app_version: v4.26.0 | ||
| 3 | +source: build/v4.26.0/rule_atoms.jsonl | ||
| 4 | +updated_at: 2026-03-13 | ||
| 5 | +--- | ||
| 6 | + | ||
| 7 | +一句话概述:门诊预约一周最多 3 次限制、预约记录支持保存今日预约为图片、提现额度提升至 4×98000(税源地相关)、全面收税领取引导与税费测算、综合绩效提前预支/发放方式切换。 | ||
| 8 | + | ||
| 9 | +Figma链接: | ||
| 10 | +- `https://www.figma.com/design/DoOTIXq7HCqsipgO1LdAFL/D-4.26.0?node-id=27-58&p=f&t=zbQHSLfgBXY7eCIO-0` |
build/v4.26.0/rule_atoms.jsonl
0 → 100644
| 1 | +{"atom_id":"v4.26.0_6f6056452df2","app_version":"v4.26.0","primary_module":"CLINIC","modules":["CLINIC"],"feature_scope":"门诊预约优化:每周预约次数限制","touchpoints":["门诊预约","预约提示语","超过次数弹窗"],"C":"当前周同一患者对同一医生门诊预约次数超过3次(包含全部档案)","A":"患者发起门诊预约","R":"提示一周最多预约3次,超过次数弹窗提醒并禁止预约","canon_text":"C=当前周同一患者对同一医生门诊预约次数超过3次(包含全部档案)|A=患者发起门诊预约|R=提示一周最多预约3次,超过次数弹窗提醒并禁止预约","merge_fingerprint":"6f6056452df2","evidence":[{"source_type":"figma","file_key":"bUiTsivfAlCBy07qq7zIWu","node_id":"284:1178","figma_url":"https://www.figma.com/design/bUiTsivfAlCBy07qq7zIWu/4.26.0%E9%9C%80%E6%B1%82?node-id=284-1178&p=f&t=zbQHSLfgBXY7eCIO-0","raw_text":"一周最多预约3次反复预约会影响您下次预约;当前周如果超过了3次给予弹窗提醒且无法预约(同一医生+同一患者,包含全部档案)。"}],"search_terms":["门诊预约","每周最多预约3次","恶意占号","超过预约次数","弹窗提醒","同一医生同一患者","全部档案"]} | ||
| 2 | +{"atom_id":"v4.26.0_c32fec08a9df","app_version":"v4.26.0","primary_module":"INCOME","modules":["INCOME"],"feature_scope":"提现额度优化:支持 4*98000","touchpoints":["提现/领取","银行卡","税源地"],"C":"医生单张银行卡每月最多可领取98000导致余额无法全部领取","A":"医生发起提现/领取","R":"每张银行卡增加一个打款税源地,月可分两次提现(2*98000);两张银行卡可领取4*98000;税源地切换页面按规则跳转","canon_text":"C=医生单张银行卡每月最多可领取98000导致余额无法全部领取|A=医生发起提现/领取|R=每张银行卡增加一个打款税源地,月可分两次提现(2*98000);两张银行卡可领取4*98000;税源地切换页面按规则跳转","merge_fingerprint":"c32fec08a9df","evidence":[{"source_type":"figma","file_key":"bUiTsivfAlCBy07qq7zIWu","node_id":"427:188","figma_url":"https://www.figma.com/design/bUiTsivfAlCBy07qq7zIWu/4.26.0%E9%9C%80%E6%B1%82?node-id=427-188&p=f&t=zbQHSLfgBXY7eCIO-0","raw_text":"一张银行卡每月最多可领取98000导致余额无法全部领取;每张银行卡增加一个打款税源地,每月可分两次提现(2*98000),两张银行卡可领取4*98000;税源地页面切换返回再进入跳转规则见设计说明。"}],"search_terms":["提现","领取额度","98000","税源地","一张卡两次提现","4*98000","银行卡"]} | ||
| 3 | +{"atom_id":"v4.26.0_370aefbfede0","app_version":"v4.26.0","primary_module":"INCOME","modules":["INCOME"],"feature_scope":"全面收税:领取引导与税费测算","touchpoints":["提现","确认并领取","下载新版本提示","税费测算"],"C":"医生收入进入全面收税流程","A":"确认并领取/暂不领取/点击提现","R":"确认并领取则次月1日起收税并跳转领取老收入页;暂不领取跳转挽留页;按上月收入区间展示税费测算与建议;4.22.3之前未收税用户点提现提示下载新版本;已收税收入标记已为您合规完税;收入不足三个月按实际月数展示并支持详细了解/联系助理","canon_text":"C=医生收入进入全面收税流程|A=确认并领取/暂不领取/点击提现|R=确认并领取则次月1日起收税并跳转领取老收入页;暂不领取跳转挽留页;按上月收入区间展示税费测算与建议;4.22.3之前未收税用户点提现提示下载新版本;已收税收入标记已为您合规完税;收入不足三个月按实际月数展示并支持详细了解/联系助理","merge_fingerprint":"370aefbfede0","evidence":[{"source_type":"figma","file_key":"eS8POEKDuIaqjd1z5gP6m4","node_id":"1:32","figma_url":"https://www.figma.com/design/eS8POEKDuIaqjd1z5gP6m4/4.26.0-xdy?node-id=1-32&p=f&t=zbQHSLfgBXY7eCIO-0","raw_text":"点击确认并领取:下月1日起收税并跳转领取老收入页;暂不领取跳转挽留页;税费测算按上月收入分区间展示;4.22.3之前未收税用户点击提现跳下载新版本页;已收税收入加“已为您合规完税”标记;按前三个月收入情况跳转并展示,不足三个月按实际月数。"}],"search_terms":["全面收税","确认并领取","暂不领取","次月1日起收税","税费测算","下载新版本","合规完税","前三个月收入"]} | ||
| 4 | +{"atom_id":"v4.26.0_9a773c2d3a03","app_version":"v4.26.0","primary_module":"INCOME","modules":["INCOME"],"feature_scope":"综合绩效:提前预支与发放方式切换","touchpoints":["综合绩效发放方式","保存","绩效明细","通知"],"C":"医生设置综合绩效发放方式","A":"选择不提前预支/提前预支并保存","R":"修改次月1日起生效;未到6日10点综合绩效显示预估且不显示统一发放文案,到6日10点显示实际;提前预支则实时领取且不触发次月6日发放通知;本月/下月方式不同时文案区分","canon_text":"C=医生设置综合绩效发放方式|A=选择不提前预支/提前预支并保存|R=修改次月1日起生效;未到6日10点综合绩效显示预估且不显示统一发放文案,到6日10点显示实际;提前预支则实时领取且不触发次月6日发放通知;本月/下月方式不同时文案区分","merge_fingerprint":"9a773c2d3a03","evidence":[{"source_type":"figma","file_key":"eS8POEKDuIaqjd1z5gP6m4","node_id":"1:2864","figma_url":"https://www.figma.com/design/eS8POEKDuIaqjd1z5gP6m4/4.26.0-xdy?node-id=1-2864&p=f&t=zbQHSLfgBXY7eCIO-0","raw_text":"若切换发放方式点击保存后弹窗提示;下月与本月方式不同时文案区分(次月1日起调整,本月仍沿用);未到6日10点“综合绩效”显示预估且不显示统一发放文案,已到6日10点显示实际;选择提前支取则绩效明细实时出现一笔笔综合绩效且不触发次月6日发放通知;实时发放下未到6日10点预估下方显示“已提前预支以下绩效”,到点后不显示。"}],"search_terms":["综合绩效","提前预支","不提前预支","次月1日起生效","6日10点","预估","保存弹窗","不触发通知"]} | ||
| 5 | +{"atom_id":"v4.26.0_64242cf861ba","app_version":"v4.26.0","primary_module":"CLINIC","modules":["CLINIC"],"feature_scope":"预约记录:保存今日预约为图片","touchpoints":["预约记录","只看今日","保存图片","存储权限"],"C":"预约记录筛选为只看今日","A":"点击保存图片","R":"将今日预约保存为图片;无存储权限则申请授权;保存中loading;完成toast提示保存成功","canon_text":"C=预约记录筛选为只看今日|A=点击保存图片|R=将今日预约保存为图片;无存储权限则申请授权;保存中loading;完成toast提示保存成功","merge_fingerprint":"64242cf861ba","evidence":[{"source_type":"figma","file_key":"DoOTIXq7HCqsipgO1LdAFL","node_id":"27:58","figma_url":"https://www.figma.com/design/DoOTIXq7HCqsipgO1LdAFL/D-4.26.0?node-id=27-58&p=f&t=zbQHSLfgBXY7eCIO-0","raw_text":"预约记录中选择只看今日时显示“保存图片”;点击保存图片可把今日预约保存为图片;无存储权限需获取权限;保存中显示loading;下载完成toast“保存成功”。"}],"search_terms":["预约记录","只看今日","保存图片","保存成功","存储权限","loading","今日预约"]} |
build/v4.30.10/requirements.md
0 → 100644
build/v4.30.10/rule_atoms.jsonl
0 → 100644
| 1 | +{"atom_id":"v4.30.10_c03c6428da61","app_version":"v4.30.10","primary_module":"PATIENT","modules":["PATIENT"],"feature_scope":"患者管理优化:长按患者弹出操作面板(标签/分组/拉黑)","touchpoints":["全部患者","患者通讯录","长按","添加标签","新建标签分组","拉黑"],"C":"在【全部患者】或【患者通讯录】页面长按患者条目","A":"在侧边弹窗选择添加标签/新建标签分组/拉黑等操作","R":"点击「添加标签」进入该患者添加标签页;点击「新建标签分组」进入创建分组并将患者加入分组;点击「拉黑」弹二次确认,确认后患者被拉黑并从当前列表消失(尽量不改变列表位置);从添加标签页返回或保存后回到进入前页面","canon_text":"C=在【全部患者】或【患者通讯录】页面长按患者条目|A=在侧边弹窗选择添加标签/新建标签分组/拉黑等操作|R=点击「添加标签」进入该患者添加标签页;点击「新建标签分组」进入创建分组并将患者加入分组;点击「拉黑」弹二次确认,确认后患者被拉黑并从当前列表消失(尽量不改变列表位置);从添加标签页返回或保存后回到进入前页面","merge_fingerprint":"c03c6428da61","evidence":[{"source_type":"figma","file_key":"HVXhEIVgrZFH2AULsS29eD","node_id":"20:439","figma_url":"https://www.figma.com/design/HVXhEIVgrZFH2AULsS29eD/4.30.10?node-id=20-439&p=f&t=7eUy70Y1jGY8YWVq-0","raw_text":"长按患者弹出操作:添加标签/新建标签分组/拉黑(含二次确认、拉黑后列表消失、回退回原页)。"}],"search_terms":["全部患者","患者通讯录","长按","添加标签","新建标签分组","拉黑","患者管理优化:长按患者弹出操作面板(标签/分组/拉黑)"]} | ||
| 2 | +{"atom_id":"v4.30.10_fe16801e8d41","app_version":"v4.30.10","primary_module":"INQUIRY","modules":["INQUIRY"],"feature_scope":"问诊单必填时按患者类型做必填校验","touchpoints":["问诊单","必填","校验","性别","年龄≥14","女性","男性","六经辨证","肺炎辨证"],"C":"问诊单设置为必填,且部分题目需要根据患者性别/年龄决定是否必填","A":"患者在端内填写并提交问诊单","R":"肺炎辨证/女性通用:年龄≥14的女性时圈出部分必填;男性通用:男性时圈出部分必填;六经辨证:年龄<14女性或男性时圈出部分无需填写;圈出模块按条件为选填且不展示“当前为选填”文案","canon_text":"C=问诊单设置为必填,且部分题目需要根据患者性别/年龄决定是否必填|A=患者在端内填写并提交问诊单|R=肺炎辨证/女性通用:年龄≥14的女性时圈出部分必填;男性通用:男性时圈出部分必填;六经辨证:年龄<14女性或男性时圈出部分无需填写;圈出模块按条件为选填且不展示“当前为选填”文案","merge_fingerprint":"fe16801e8d41","evidence":[{"source_type":"figma","file_key":"HVXhEIVgrZFH2AULsS29eD","node_id":"342:2","figma_url":"https://www.figma.com/design/HVXhEIVgrZFH2AULsS29eD/4.30.10?node-id=342-2&p=f&t=7eUy70Y1jGY8YWVq-0","raw_text":"问诊单必填时根据患者类型(性别/年龄)决定圈出题目是否必填/选填,解决不该填也必须填的问题。"}],"search_terms":["问诊单","必填","校验","性别","年龄≥14","女性","男性","六经辨证","肺炎辨证","问诊单必填时按患者类型做必填校验"]} |
build/v4.31.10/requirements.md
0 → 100644
| 1 | +--- | ||
| 2 | +app_version: v4.31.10 | ||
| 3 | +source: build/v4.31.10/rule_atoms.jsonl | ||
| 4 | +updated_at: 2026-03-13 | ||
| 5 | +--- | ||
| 6 | + | ||
| 7 | +一句话概述:地推医师快速审核与工作室开通流程优化(待审核列表/待办推送、人脸识别+电子签名、备案入口拦截与各类校验/提示)。 | ||
| 8 | + | ||
| 9 | +Figma链接: | ||
| 10 | +- `https://www.figma.com/design/Um8LyeKg6IvD0vQhxYiy3H/4.31.10%E9%9C%80%E6%B1%82?node-id=6531-4&p=f&t=Yv80ToXi4SDRWoQU-0` |
build/v4.31.10/rule_atoms.jsonl
0 → 100644
| 1 | +{"atom_id":"v4.31.10_baa372765635","app_version":"v4.31.10","primary_module":"AUTH","modules":["AUTH"],"feature_scope":"地推医师快速审核/工作室开通流程优化","touchpoints":["地推快速审核","待审核列表","人脸识别","电子签名","互联网医院备案","toast"],"C":"地推快速开通/快速审核流程下,医师资料提交与工作室开通涉及客服待审核、备案与实人认证等环节","A":"用户提交地推快速开通审核并在关键节点触发校验/人脸识别","R":"提交后在客服【待审核】列表展示并给助理推送待办;工作室通过快速开通后,开方发送需先人脸识别再电子签名,识别通过后不再重复,未完成实人认证不可进入互联网医院备案;若认证资料在其它端已提交则提交时toast“认证审核中”;客服打开默认选中“地推快速认证”TAB,不通过需填写原因;工作室若曾被手动关闭则不自动开通,开通成功需通知","canon_text":"C=地推快速开通/快速审核流程下,医师资料提交与工作室开通涉及客服待审核、备案与实人认证等环节|A=用户提交地推快速开通审核并在关键节点触发校验/人脸识别|R=提交后在客服【待审核】列表展示并给助理推送待办;工作室通过快速开通后,开方发送需先人脸识别再电子签名,识别通过后不再重复,未完成实人认证不可进入互联网医院备案;若认证资料在其它端已提交则提交时toast“认证审核中”;客服打开默认选中“地推快速认证”TAB,不通过需填写原因;工作室若曾被手动关闭则不自动开通,开通成功需通知","merge_fingerprint":"baa372765635","evidence":[{"source_type":"figma","file_key":"Um8LyeKg6IvD0vQhxYiy3H","node_id":"6531:4","figma_url":"https://www.figma.com/design/Um8LyeKg6IvD0vQhxYiy3H/4.31.10%E9%9C%80%E6%B1%82?node-id=6531-4&p=f&t=Yv80ToXi4SDRWoQU-0","raw_text":"地推快速开通/审核:待审核列表展示+助理待办推送;开方发送触发人脸识别+电子签名;未完成人脸识别不可进备案;资料已提交toast“认证审核中”;客服默认地推TAB与不通过原因等。"}],"search_terms":["地推快速审核","待审核","人脸识别","电子签名","备案","认证审核中","工作室开通"]} |
build/v4.32.0/requirements.md
0 → 100644
| 1 | +--- | ||
| 2 | +app_version: v4.32.0 | ||
| 3 | +source: build/v4.32.0/rule_atoms.jsonl | ||
| 4 | +updated_at: 2026-03-13 | ||
| 5 | +--- | ||
| 6 | + | ||
| 7 | +一句话概述:医师预约支持配置患者预约时间间隔/放号拆分、收入缴税通知与阈值策略、内部员工推荐医师路径调整、地推快速审核补充人脸认证入口、患者问诊流程优化(支付前置+档案补充提醒等)。 | ||
| 8 | + | ||
| 9 | +Figma链接: | ||
| 10 | +- `https://www.figma.com/design/M3ww4T7FRqT5vjSHSsWF1a/4.32.0%E9%9C%80%E6%B1%82?node-id=4169-78&p=f&t=JSPeTBAzeLIGISkc-0` |
build/v4.32.0/rule_atoms.jsonl
0 → 100644
| 1 | +{"atom_id":"v4.32.0_91a1d3c80888","app_version":"v4.32.0","primary_module":"CLINIC","modules":["CLINIC"],"feature_scope":"医师预约:患者预约时间间隔可配置与拆分规则","touchpoints":["医师预约","患者预约时间间隔","放号","坐诊时间段"],"C":"医师在预约设置中配置患者预约时间间隔","A":"选择5~60分钟的预约间隔并保存生效","R":"默认30分钟;可选5/10/15/20/25/30/40/50/60分钟;患者端按该间隔拆分可预约时间段,若最后时间段不足间隔则合并/截止到坐诊结束;每个时间段最大可约人数N=向上取整(放号总数/时间段数);可预约时间调整为坐诊开始时间前均可预约(不再提前1小时不可约)","canon_text":"C=医师在预约设置中配置患者预约时间间隔|A=选择5~60分钟的预约间隔并保存生效|R=默认30分钟;可选5/10/15/20/25/30/40/50/60分钟;患者端按该间隔拆分可预约时间段,若最后时间段不足间隔则合并/截止到坐诊结束;每个时间段最大可约人数N=向上取整(放号总数/时间段数);可预约时间调整为坐诊开始时间前均可预约(不再提前1小时不可约)","merge_fingerprint":"91a1d3c80888","evidence":[{"source_type":"figma","file_key":"M3ww4T7FRqT5vjSHSsWF1a","node_id":"4169:78","figma_url":"https://www.figma.com/design/M3ww4T7FRqT5vjSHSsWF1a/4.32.0%E9%9C%80%E6%B1%82?node-id=4169-78&p=f&t=JSPeTBAzeLIGISkc-0","raw_text":"医师预约新增患者预约时间间隔(默认30,可选5~60);按间隔拆分预约时段与人数分配;可预约时间调整为坐诊开始前均可约。"}],"search_terms":["医师预约","患者预约时间间隔","放号","坐诊时间段","医师预约:患者预约时间间隔可配置与拆分规则"]} | ||
| 2 | +{"atom_id":"v4.32.0_fe6b5899303f","app_version":"v4.32.0","primary_module":"INCOME","modules":["INCOME"],"feature_scope":"医生收入缴税通知与阈值策略(700/800等)","touchpoints":["钱包收入","缴税通知","税收政策","签约入驻模式"],"C":"医生产生收入后,存在未签约/未提现/余额阈值等不同状态","A":"系统发送缴税通知并引导确认缴税信息/查看税收政策/选择签约路径","R":"收入入账后可暂不缴税;余额<700且未签约时首次提现点击领取触发提示;余额从<700变为>=700时发送通知;通知后T+2开始按劳务方式对累计收入缴税;支持查看税收政策与联系助理,提示缴税企业信息","canon_text":"C=医生产生收入后,存在未签约/未提现/余额阈值等不同状态|A=系统发送缴税通知并引导确认缴税信息/查看税收政策/选择签约路径|R=收入入账后可暂不缴税;余额<700且未签约时首次提现点击领取触发提示;余额从<700变为>=700时发送通知;通知后T+2开始按劳务方式对累计收入缴税;支持查看税收政策与联系助理,提示缴税企业信息","merge_fingerprint":"fe6b5899303f","evidence":[{"source_type":"figma","file_key":"M3ww4T7FRqT5vjSHSsWF1a","node_id":"8241:29","figma_url":"https://www.figma.com/design/M3ww4T7FRqT5vjSHSsWF1a/4.32.0%E9%9C%80%E6%B1%82?node-id=8241-29&p=f&t=JSPeTBAzeLIGISkc-0","raw_text":"医生收入缴税问题:余额阈值触发通知,通知后T+2开始缴税;可查看税收政策/联系助理/确认缴税信息。"}],"search_terms":["钱包收入","缴税通知","税收政策","签约入驻模式","医生收入缴税通知与阈值策略(700/800等)"]} | ||
| 3 | +{"atom_id":"v4.32.0_ad06bb350308","app_version":"v4.32.0","primary_module":"AUTH","modules":["AUTH"],"feature_scope":"内部员工推荐医师路径修改(按小程序邀请)","touchpoints":["内部员工","推荐中医师","小程序邀请","红包奖励"],"C":"内部员工点击「推荐中医师」","A":"按未开通用户路径跳转小程序发起邀请","R":"直接打开小程序走邀请医师流程,邀请成功后公众号直接发放50元红包奖励","canon_text":"C=内部员工点击「推荐中医师」|A=按未开通用户路径跳转小程序发起邀请|R=直接打开小程序走邀请医师流程,邀请成功后公众号直接发放50元红包奖励","merge_fingerprint":"ad06bb350308","evidence":[{"source_type":"figma","file_key":"M3ww4T7FRqT5vjSHSsWF1a","node_id":"8253:662","figma_url":"https://www.figma.com/design/M3ww4T7FRqT5vjSHSsWF1a/4.32.0%E9%9C%80%E6%B1%82?node-id=8253-662&p=f&t=JSPeTBAzeLIGISkc-0","raw_text":"内部员工点击推荐中医师:按未开通路径打开小程序邀请,成功后公众号发50元红包。"}],"search_terms":["内部员工","推荐中医师","小程序邀请","红包奖励","内部员工推荐医师路径修改(按小程序邀请)"]} | ||
| 4 | +{"atom_id":"v4.32.0_85d26c0bb357","app_version":"v4.32.0","primary_module":"AUTH","modules":["AUTH"],"feature_scope":"地推快速审核后新增人脸认证入口(永久开通工作室)","touchpoints":["地推快速审核","互联网医院备案","实人认证","前往人脸认证"],"C":"地推快速审核认证通过后进入互联网医院备案","A":"点击「前往人脸认证」完成实人认证","R":"完成后永久开通工作室","canon_text":"C=地推快速审核认证通过后进入互联网医院备案|A=点击「前往人脸认证」完成实人认证|R=完成后永久开通工作室","merge_fingerprint":"85d26c0bb357","evidence":[{"source_type":"figma","file_key":"M3ww4T7FRqT5vjSHSsWF1a","node_id":"9427:233","figma_url":"https://www.figma.com/design/M3ww4T7FRqT5vjSHSsWF1a/4.32.0%E9%9C%80%E6%B1%82?node-id=9427-233&p=f&t=JSPeTBAzeLIGISkc-0","raw_text":"地推快速审核:认证通过后在备案页提供前往人脸认证入口,人脸认证后永久开通工作室。"}],"search_terms":["地推快速审核","互联网医院备案","实人认证","前往人脸认证","地推快速审核后新增人脸认证入口(永久开通工作室)"]} | ||
| 5 | +{"atom_id":"v4.32.0_6147d6edd54e","app_version":"v4.32.0","primary_module":"INQUIRY","modules":["INQUIRY","PATIENT"],"feature_scope":"患者问诊流程优化(支付前置+档案补充提醒+问诊单本地保存)","touchpoints":["支付前置","问诊单","病史补充","弹窗提醒","本地保存"],"C":"患者发起付费问诊且问诊单/档案信息可能未完善","A":"先完成支付并进入后续问诊单/档案确认流程","R":"支付操作前置(免费时按钮变为「开始问诊」);顶部常驻提醒;若既往病史/过敏史等未填则红字提醒;提交下一步时若相关病史未补充弹窗提示“请先完善患者档案信息”,支持取消/去补充;退出后本地保存当前填写的问诊单内容;提示未提交问诊单可能影响接诊","canon_text":"C=患者发起付费问诊且问诊单/档案信息可能未完善|A=先完成支付并进入后续问诊单/档案确认流程|R=支付操作前置(免费时按钮变为「开始问诊」);顶部常驻提醒;若既往病史/过敏史等未填则红字提醒;提交下一步时若相关病史未补充弹窗提示“请先完善患者档案信息”,支持取消/去补充;退出后本地保存当前填写的问诊单内容;提示未提交问诊单可能影响接诊","merge_fingerprint":"6147d6edd54e","evidence":[{"source_type":"figma","file_key":"M3ww4T7FRqT5vjSHSsWF1a","node_id":"8081:5","figma_url":"https://www.figma.com/design/M3ww4T7FRqT5vjSHSsWF1a/4.32.0%E9%9C%80%E6%B1%82?node-id=8081-5&p=f&t=JSPeTBAzeLIGISkc-0","raw_text":"问诊流程:尽早支付;病史未补充提示与去补充弹窗;退出本地保存问诊单;未提交问诊单影响接诊提示。"}],"search_terms":["支付前置","问诊单","病史补充","弹窗提醒","本地保存","患者问诊流程优化(支付前置+档案补充提醒+问诊单本地保存)"]} |
build/v4.32.10/requirements.md
0 → 100644
| 1 | +--- | ||
| 2 | +app_version: v4.32.10 | ||
| 3 | +source: build/v4.32.10/rule_atoms.jsonl | ||
| 4 | +updated_at: 2026-03-13 | ||
| 5 | +--- | ||
| 6 | + | ||
| 7 | +一句话概述:多设备登录安全与有效期策略优化、患者提问新增档案选择、电子锦旗/赞赏支持自定义金额、指定医生费用上限 500 拦截提示。 | ||
| 8 | + | ||
| 9 | +Figma链接: | ||
| 10 | +- `https://www.figma.com/design/AzEHLrGUIlnopHsrCtVrV9/4.32.10?node-id=1-2566&p=f&t=MO5SzkBdnU7pqzoT-0` |
build/v4.32.10/rule_atoms.jsonl
0 → 100644
| 1 | +{"atom_id":"v4.32.10_ef0152b0a378","app_version":"v4.32.10","primary_module":"AUTH","modules":["AUTH"],"feature_scope":"多设备同时登陆安全优化(有效期延长/扣减)","touchpoints":["登录","有效期","多设备","风控"],"C":"用户登录默认有效期为7天且存在开方/学习/异常等行为触发有效期变化","A":"系统按用户行为延长或扣减有效登录时间","R":"开方被购药延长1个月;学习经典每2次有效行为延长7天(一天最多1次);有效期最长延长到3个月;异常行为(1分钟内3次输入1g药材并点查看药价)从每日第2次起扣减延迟时间3天","canon_text":"C=用户登录默认有效期为7天且存在开方/学习/异常等行为触发有效期变化|A=系统按用户行为延长或扣减有效登录时间|R=开方被购药延长1个月;学习经典每2次有效行为延长7天(一天最多1次);有效期最长延长到3个月;异常行为(1分钟内3次输入1g药材并点查看药价)从每日第2次起扣减延迟时间3天","merge_fingerprint":"ef0152b0a378","evidence":[{"source_type":"figma","file_key":"AzEHLrGUIlnopHsrCtVrV9","node_id":"1:2566","figma_url":"https://www.figma.com/design/AzEHLrGUIlnopHsrCtVrV9/4.32.10?node-id=1-2566&p=f&t=MO5SzkBdnU7pqzoT-0","raw_text":"登录方案:默认7天;开方被购药延长1个月;学习经典每2次有效行为延长7天(一天最多1次);最长3个月;异常行为扣减3天。"}],"search_terms":["多设备同时登陆安全优化(有效期延长/扣减)","登录","有效期","多设备","风控","用户登录默认有效期为7天且存在开方/学习/异常等行为触发有效期变化","系统按用户行为延长或扣减有效登录时间","开方被购药延长1个月","学习经典每2次有效行为延长7天(一天最多1次)","有效期最长延长到3个月","异常行为(1分钟内3次输入1g药材并点查看药价)从每日第2次起扣减延迟时间3天"]} | ||
| 2 | +{"atom_id":"v4.32.10_d2e2fd8f217a","app_version":"v4.32.10","primary_module":"PATIENT","modules":["PATIENT","INQUIRY"],"feature_scope":"患者发送提问时可选择档案","touchpoints":["提问","档案选择","会话"],"C":"患者在会话中发送提问消息","A":"选择实际咨询人的档案并提交提问","R":"默认选择主档案;同一会话内默认沿用上次提问选择的档案;可进入档案选择页切换;提问卡片展示患者档案信息","canon_text":"C=患者在会话中发送提问消息|A=选择实际咨询人的档案并提交提问|R=默认选择主档案;同一会话内默认沿用上次提问选择的档案;可进入档案选择页切换;提问卡片展示患者档案信息","merge_fingerprint":"d2e2fd8f217a","evidence":[{"source_type":"figma","file_key":"AzEHLrGUIlnopHsrCtVrV9","node_id":"1:2617","figma_url":"https://www.figma.com/design/AzEHLrGUIlnopHsrCtVrV9/4.32.10?node-id=1-2617&p=f&t=MO5SzkBdnU7pqzoT-0","raw_text":"提问添加选择档案:默认主档案/会话内沿用上次;可切换;提问卡片展示档案信息。"}],"search_terms":["患者发送提问时可选择档案","提问","档案选择","会话","患者在会话中发送提问消息","选择实际咨询人的档案并提交提问","默认选择主档案","同一会话内默认沿用上次提问选择的档案","可进入档案选择页切换","提问卡片展示患者档案信息"]} | ||
| 3 | +{"atom_id":"v4.32.10_5d246911e48e","app_version":"v4.32.10","primary_module":"CONTENT","modules":["CONTENT"],"feature_scope":"电子锦旗/赞赏支持添加金额(含自定义金额)","touchpoints":["电子锦旗","赞赏","自定义金额","支付"],"C":"用户赠送电子锦旗/赞赏时需要选择金额","A":"选择固定金额或自定义金额并发起支付","R":"锦旗可添加金额且底部按钮文案展示金额并走支付流程;自定义金额范围1~300正整数,超过300提示“感谢金额最大不能超过300元”;支付未完成则赠送不成功;展示文案“您感谢的金额将全属于医生”;电子锦旗不展示“免费”字样","canon_text":"C=用户赠送电子锦旗/赞赏时需要选择金额|A=选择固定金额或自定义金额并发起支付|R=锦旗可添加金额且底部按钮文案展示金额并走支付流程;自定义金额范围1~300正整数,超过300提示“感谢金额最大不能超过300元”;支付未完成则赠送不成功;展示文案“您感谢的金额将全属于医生”;电子锦旗不展示“免费”字样","merge_fingerprint":"5d246911e48e","evidence":[{"source_type":"figma","file_key":"AzEHLrGUIlnopHsrCtVrV9","node_id":"1:2065","figma_url":"https://www.figma.com/design/AzEHLrGUIlnopHsrCtVrV9/4.32.10?node-id=1-2065&p=f&t=MO5SzkBdnU7pqzoT-0","raw_text":"电子锦旗添加金额;自定义1-300;超出提示;按钮带金额走支付;未完成支付赠送失败;“您感谢的金额将全属于医生”;去掉“免费”。"}],"search_terms":["电子锦旗/赞赏支持添加金额(含自定义金额)","电子锦旗","赞赏","自定义金额","支付","用户赠送电子锦旗/赞赏时需要选择金额","选择固定金额或自定义金额并发起支付","锦旗可添加金额且底部按钮文案展示金额并走支付流程","自定义金额范围1~300正整数","超过300提示“感谢金额最大不能超过300元”","支付未完成则赠送不成功","展示文案“您感谢的金额将全属于医生”","电子锦旗不展示“免费”字样"]} | ||
| 4 | +{"atom_id":"v4.32.10_9fb76aa5b418","app_version":"v4.32.10","primary_module":"INQUIRY","modules":["INQUIRY","INCOME"],"feature_scope":"指定医生费用上限设置为500","touchpoints":["诊金","问诊费","费用设置","拦截提示"],"C":"针对指定医生配置诊金/问诊费(图文/电话/视频/提问)或诊金二维码/自定义诊金","A":"医生在相关入口设置费用金额","R":"费用上限为500(可等于500);超过时拦截并提示“费用设置不能超过500”;iOS取消提示范围说明","canon_text":"C=针对指定医生配置诊金/问诊费(图文/电话/视频/提问)或诊金二维码/自定义诊金|A=医生在相关入口设置费用金额|R=费用上限为500(可等于500);超过时拦截并提示“费用设置不能超过500”;iOS取消提示范围说明","merge_fingerprint":"9fb76aa5b418","evidence":[{"source_type":"figma","file_key":"AzEHLrGUIlnopHsrCtVrV9","node_id":"785:273","figma_url":"https://www.figma.com/design/AzEHLrGUIlnopHsrCtVrV9/4.32.10?node-id=785-273&p=f&t=MO5SzkBdnU7pqzoT-0","raw_text":"针对指定医生:诊金/问诊费/二维码/自定义诊金上限500,超过提示“费用设置不能超过500”。"}],"search_terms":["指定医生费用上限设置为500","诊金","问诊费","费用设置","拦截提示","针对指定医生配置诊金/问诊费(图文/电话/视频/提问)或诊金二维码/自定义诊金","医生在相关入口设置费用金额","费用上限为500(可等于500)","超过时拦截并提示“费用设置不能超过500”","iOS取消提示范围说明"]} |
build/v4.33.0/requirements.md
0 → 100644
| 1 | +--- | ||
| 2 | +app_version: v4.33.0 | ||
| 3 | +source: build/v4.33.0/rule_atoms.jsonl | ||
| 4 | +updated_at: 2026-03-13 | ||
| 5 | +--- | ||
| 6 | + | ||
| 7 | +一句话概述:患者侧次档案识别/手机号录入搜索优化、开方选择患者自动填充与发送、电子锦旗关闭赞赏费规则、问诊侧仅支付提醒/待接诊流转与视频问诊时间设置优化。 | ||
| 8 | + | ||
| 9 | +Figma链接: | ||
| 10 | +- `https://www.figma.com/design/rHy0N9bEEC17FUSaCWVXHO/4.33.0?node-id=2026-263&p=f&t=DYKWErl2M9vxZtYX-0` |
build/v4.33.0/rule_atoms.jsonl
0 → 100644
| 1 | +{"atom_id":"v4.33.0_4c3996ff6487","app_version":"v4.33.0","primary_module":"PATIENT","modules":["PATIENT","INQUIRY"],"feature_scope":"医生快速识别患者次档案(问诊中/待他人问诊)","touchpoints":["聊天对话列表","待接诊","待通话","待视频","待开方","患者通讯录","全部患者"],"C":"医生侧识别患者次档案(待他人问诊场景)","A":"在列表/对话/待接诊等位置展示问诊人档案信息","R":"聊天对话列表展示问诊人档案;多个问诊进行中按提交时间正序展示(含主档案);待接诊/待通话/待视频/待开方同样展示;患者通讯录/全部患者展示关联档案(除主档案外)且仅一排超出省略","canon_text":"C=医生侧识别患者次档案(待他人问诊场景)|A=在列表/对话/待接诊等位置展示问诊人档案信息|R=聊天对话列表展示问诊人档案;多个问诊进行中按提交时间正序展示(含主档案);待接诊/待通话/待视频/待开方同样展示;患者通讯录/全部患者展示关联档案(除主档案外)且仅一排超出省略","merge_fingerprint":"4c3996ff6487","evidence":[{"source_type":"figma","file_key":"rHy0N9bEEC17FUSaCWVXHO","node_id":"2056:2","figma_url":"https://www.figma.com/design/rHy0N9bEEC17FUSaCWVXHO/4.33.0?node-id=2056-2&p=f&t=DYKWErl2M9vxZtYX-0","raw_text":"待他人问诊(当前问诊档案不是本人):聊天对话列表添加显示问诊人档案;多个问诊进行中按提交时间正序展示(含主档案);待接诊/待通话/待视频/待开方同样展示;患者通讯录/全部患者添加“关联档案”(除主档案外所有档案姓名),只显示一排超出用...。"}],"search_terms":["次档案","问诊中","待他人问诊","问诊人档案","关联档案","聊天对话列表","待接诊列表"]} | ||
| 2 | +{"atom_id":"v4.33.0_055ca34cf27f","app_version":"v4.33.0","primary_module":"PATIENT","modules":["PATIENT"],"feature_scope":"手机号录入患者:搜索结果与列表入口规则","touchpoints":["全部患者","患者搜索","手机号录入患者列表"],"C":"患者搜索/全部患者检索","A":"增加手机号录入患者结果与列表入口","R":"搜索结果新增“手机号录入患者”分区且不影响原患者档案;任一分区为空不展示标题;若手机号录入患者后续已有档案则仅展示患者档案不再展示手机号录入患者;手机号重复仅保留一个;列表按添加时间倒序;长按可删除","canon_text":"C=患者搜索/全部患者检索|A=增加手机号录入患者结果与列表入口|R=搜索结果新增“手机号录入患者”分区且不影响原患者档案;任一分区为空不展示标题;若手机号录入患者后续已有档案则仅展示患者档案不再展示手机号录入患者;手机号重复仅保留一个;列表按添加时间倒序;长按可删除","merge_fingerprint":"055ca34cf27f","evidence":[{"source_type":"figma","file_key":"rHy0N9bEEC17FUSaCWVXHO","node_id":"2026:263","figma_url":"https://www.figma.com/design/rHy0N9bEEC17FUSaCWVXHO/4.33.0?node-id=2026-263&p=f&t=DYKWErl2M9vxZtYX-0","raw_text":"全部患者新增“手机号录入患者列表”入口;搜索结果新增手机号录入患者分区(原患者档案不变,手机号录入放下面);任一分区为空不展示标题;手机号录入患者后续已有档案则搜索仅展示患者档案不再展示手机号录入患者;手机号重复列表只显示一个;列表按添加时间倒序;长按删除。"}],"search_terms":["手机号录入患者","全部患者","搜索结果分区","列表入口","重复手机号","长按删除","倒序排序"]} | ||
| 3 | +{"atom_id":"v4.33.0_1d8ef1163de0","app_version":"v4.33.0","primary_module":"SOLUTION","modules":["SOLUTION","PATIENT"],"feature_scope":"开方选择患者:手机号录入患者的自动填充与发送","touchpoints":["开方","选择患者","发送给患者","草稿"],"C":"医生开方选择患者且使用手机号录入患者","A":"自动填充/绑定与发送交互","R":"若手机号已注册且档案姓名与医生记录一致则自动填充性别年龄并绑定为档案(方案关联档案);发送时已关注显示头像姓名,未注册显示手机号且点击可自动填充手机号;保存草稿再次编辑保留手机号;修改姓名会解绑手机号改回一致再绑定;问诊记录有手机号优先填入;添加患者短信通知有开关默认开且记忆上次状态,关闭不发短信;批量导入不发短信","canon_text":"C=医生开方选择患者且使用手机号录入患者|A=自动填充/绑定与发送交互|R=若手机号已注册且档案姓名与医生记录一致则自动填充性别年龄并绑定为档案(方案关联档案);发送时已关注显示头像姓名,未注册显示手机号且点击可自动填充手机号;保存草稿再次编辑保留手机号;修改姓名会解绑手机号改回一致再绑定;问诊记录有手机号优先填入;添加患者短信通知有开关默认开且记忆上次状态,关闭不发短信;批量导入不发短信","merge_fingerprint":"1d8ef1163de0","evidence":[{"source_type":"figma","file_key":"rHy0N9bEEC17FUSaCWVXHO","node_id":"2026:263","figma_url":"https://www.figma.com/design/rHy0N9bEEC17FUSaCWVXHO/4.33.0?node-id=2026-263&p=f&t=DYKWErl2M9vxZtYX-0","raw_text":"开方选择患者增加“手机号录入患者”;选择后自动填充姓名,性别年龄需补充(若导入带性别年龄则自动带入);若手机号已注册且档案姓名与记录一致则自动填充性别年龄并绑定为档案(方案关联档案)。发送:已关注显示头像姓名;未注册显示手机号且点击自动填充。草稿保留手机号;改名解绑手机号,改回一致再绑定;问诊记录有手机号优先;添加患者短信通知开关默认开且记忆状态,关闭不发;批量导入不发短信。"}],"search_terms":["开方","手机号录入患者","自动填充性别年龄","方案关联档案","发送手机号","草稿保留手机号","短信通知开关"]} | ||
| 4 | +{"atom_id":"v4.33.0_1cceb846e6a5","app_version":"v4.33.0","primary_module":"CONTENT","modules":["CONTENT"],"feature_scope":"电子锦旗:关闭赞赏费/费用展示规则","touchpoints":["工作室设置","送锦旗","医生个人主页"],"C":"工作室设置电子锦旗赞赏费开关","A":"医生关闭赞赏费","R":"默认开启;关闭后患者仅能送免费电子锦旗;所有费用默认0且不展示金额与自定义操作,底部按钮费用为0;医生个人主页电子锦旗赞赏费用默认0;关闭时不显示提示语“您感谢的金额将全属于医生”","canon_text":"C=工作室设置电子锦旗赞赏费开关|A=医生关闭赞赏费|R=默认开启;关闭后患者仅能送免费电子锦旗;所有费用默认0且不展示金额与自定义操作,底部按钮费用为0;医生个人主页电子锦旗赞赏费用默认0;关闭时不显示提示语“您感谢的金额将全属于医生”","merge_fingerprint":"1cceb846e6a5","evidence":[{"source_type":"figma","file_key":"rHy0N9bEEC17FUSaCWVXHO","node_id":"2305:8","figma_url":"https://www.figma.com/design/rHy0N9bEEC17FUSaCWVXHO/4.33.0?node-id=2305-8&p=f&t=DYKWErl2M9vxZtYX-0","raw_text":"工作室设置新增“患者赠送电子锦旗时可附带赞赏费”:默认开启,医生可关闭;关闭后患者仅能赠送免费电子锦旗,费用默认0且不展示金额与自定义,底部按钮费用显示为0;老师个人主页电子锦旗赞赏费用默认0;关闭时不显示提示语“您感谢的金额将全属于医生”。"}],"search_terms":["电子锦旗","赞赏费","工作室设置开关","自定义0-300","费用默认0","不展示金额","个人主页"]} | ||
| 5 | +{"atom_id":"v4.33.0_66e02aa2ec21","app_version":"v4.33.0","primary_module":"INQUIRY","modules":["INQUIRY"],"feature_scope":"仅支付提醒与待接诊列表流转","touchpoints":["待接诊","咨询列表","红点提醒"],"C":"仅支付(购买问诊但未提交问诊单/未说话)","A":"待接诊与列表提示规则","R":"购买任意类型问诊产生“仅支付”展示且无红点提醒;图文提交问诊单或说话后按原逻辑红点且“仅支付”消失;数据不合并分开展示,排序同待接诊;自动移出:退款到患者账户/图文到账/电话开始/视频累计1分钟;可手动移出;待通话/待视频/待开方逻辑不变","canon_text":"C=仅支付(购买问诊但未提交问诊单/未说话)|A=待接诊与列表提示规则|R=购买任意类型问诊产生“仅支付”展示且无红点提醒;图文提交问诊单或说话后按原逻辑红点且“仅支付”消失;数据不合并分开展示,排序同待接诊;自动移出:退款到患者账户/图文到账/电话开始/视频累计1分钟;可手动移出;待通话/待视频/待开方逻辑不变","merge_fingerprint":"66e02aa2ec21","evidence":[{"source_type":"figma","file_key":"rHy0N9bEEC17FUSaCWVXHO","node_id":"2041:24","figma_url":"https://www.figma.com/design/rHy0N9bEEC17FUSaCWVXHO/4.33.0?node-id=2041-24&p=f&t=DYKWErl2M9vxZtYX-0","raw_text":"仅支付:围绕患者只购买问诊未提交问诊单/未说话。待接诊+1:购买问诊(全部类型)但无红点且咨询列表无提醒;待接诊-1:退款到患者账户/图文到账/电话视频开始/手动移出。图文仅支付不提醒,提交问诊单或说话后按现逻辑红点。列表数据不合并分开展示,排序同待接诊,可手动移出;待通话/待视频/待开方逻辑不变。"}],"search_terms":["仅支付","待接诊+1","无红点提醒","自动移出","退款","图文到账","视频累计1分钟","手动移出"]} | ||
| 6 | +{"atom_id":"v4.33.0_ef5eeafa5a96","app_version":"v4.33.0","primary_module":"INQUIRY","modules":["INQUIRY","INCOME"],"feature_scope":"问诊开始与绩效到账节点(电话/视频/图文)","touchpoints":["对话页","tips","电话沟通","视频沟通"],"C":"问诊开始与问诊费到账节点(电话/视频/图文)","A":"医生主动说话/邀请或任一方说话触发节点","R":"患者支付后任一方说话视为问诊开始(系统自动消息不算);图文医生主动说话发送2条tip且开始即到账;电话医生发消息开始,电话接通到账;视频医生发消息开始,视频累计1分钟到账;若电话/视频仅支付场景医生回复满足到账则直接发到账tips否则发购买tip;问诊结束按工作室咨询时长","canon_text":"C=问诊开始与问诊费到账节点(电话/视频/图文)|A=医生主动说话/邀请或任一方说话触发节点|R=患者支付后任一方说话视为问诊开始(系统自动消息不算);图文医生主动说话发送2条tip且开始即到账;电话医生发消息开始,电话接通到账;视频医生发消息开始,视频累计1分钟到账;若电话/视频仅支付场景医生回复满足到账则直接发到账tips否则发购买tip;问诊结束按工作室咨询时长","merge_fingerprint":"ef5eeafa5a96","evidence":[{"source_type":"figma","file_key":"rHy0N9bEEC17FUSaCWVXHO","node_id":"2041:24","figma_url":"https://www.figma.com/design/rHy0N9bEEC17FUSaCWVXHO/4.33.0?node-id=2041-24&p=f&t=DYKWErl2M9vxZtYX-0","raw_text":"增加问诊开始及到账节点:患者支付后任意一方说话算问诊开始(系统自动消息不算)。图文:医生主动说话发2条tip,开始即到账;电话:医生发消息开始,电话接通到账;视频:医生发消息开始,视频累计1分钟到账。电话/视频仅支付场景:医生回复若满足到账则直接发到账tips否则发购买tips。问诊结束按工作室咨询时长。"}],"search_terms":["问诊开始","绩效到账","电话接通到账","视频1分钟到账","图文开始即到账","系统自动消息不算","仅支付tips"]} | ||
| 7 | +{"atom_id":"v4.33.0_3d7e326de48b","app_version":"v4.33.0","primary_module":"INQUIRY","modules":["INQUIRY"],"feature_scope":"视频问诊时间多次设置与修改拦截/通知","touchpoints":["视频问诊","设置视频时间","点击修改时间","短信/服务号通知"],"C":"视频问诊时间支持多次设置","A":"设置/修改视频时间并通知","R":"修改成功发送新消息通知患者,服务号/短信/订阅号通知(避免重复);按修改后时间提前5分钟发送通知;跨年月份校验;按选择时间区分上午/下午/晚上;距离可设置时间<5分钟toast提示;不可修改时机:付费到账/到达前5分钟/已到时间/退款或问诊结束,分别toast拦截;修改后需调整自动结束/退款时机与通知;工具栏设置时间也需发通知;不影响待视频/会话列表展示,仅作为通知","canon_text":"C=视频问诊时间支持多次设置|A=设置/修改视频时间并通知|R=修改成功发送新消息通知患者,服务号/短信/订阅号通知(避免重复);按修改后时间提前5分钟发送通知;跨年月份校验;按选择时间区分上午/下午/晚上;距离可设置时间<5分钟toast提示;不可修改时机:付费到账/到达前5分钟/已到时间/退款或问诊结束,分别toast拦截;修改后需调整自动结束/退款时机与通知;工具栏设置时间也需发通知;不影响待视频/会话列表展示,仅作为通知","merge_fingerprint":"3d7e326de48b","evidence":[{"source_type":"figma","file_key":"rHy0N9bEEC17FUSaCWVXHO","node_id":"2041:267","figma_url":"https://www.figma.com/design/rHy0N9bEEC17FUSaCWVXHO/4.33.0?node-id=2041-267&p=f&t=DYKWErl2M9vxZtYX-0","raw_text":"视频问诊时间支持多次设置:医生确认修改后再次发送消息给患者;修改后发送修改通知且按修改后时间提前5分钟发送通知;跨年月份校验;上午/下午/晚上区分;距离下次可设置时间<5分钟toast;不可点击修改时间时机:付费问诊费用已到账/到达设置时间前5分钟/已到时间/自动退费或问诊结束,toast拦截;修改后需调整自动结束/退款时机与患者通知;工具栏设置时间也需发送通知;不影响待视频/会话列表展示,仅作为通知。"}],"search_terms":["视频问诊时间","多次设置","点击修改时间","提前5分钟通知","跨年校验","不可修改toast","自动退费","工具栏设置视频时间"]} |
build/v4.35.0/requirements.md
0 → 100644
build/v4.35.0/rule_atoms.jsonl
0 → 100644
| 1 | +{"atom_id":"v4.35.0_6d6c66f9bdda","app_version":"v4.35.0","primary_module":"INCOME","modules":["INCOME"],"feature_scope":"工猫系统对接(签约/发放/后台切换/额度与表格)","touchpoints":["医师签约","后台医生详情","财务对账表","提现额度"],"C":"工猫系统对接上线","A":"配置签约协议/签约公司切换/额度与表格展示","R":"签约增加工猫服务协议;默认新用户签约发钱走工猫且后续上海工猫银川才燊;后台医生详情展示当前应用签约并支持每月一次切换且二次确认立即生效;切换刷新当月提现额度;表格按签约公司分行;二次签约失败客服待办;工猫无需人工打款提示调整","canon_text":"C=工猫系统对接上线|A=配置签约协议/签约公司切换/额度与表格展示|R=签约增加工猫服务协议;默认新用户签约发钱走工猫且后续上海工猫银川才燊;后台医生详情展示当前应用签约并支持每月一次切换且二次确认立即生效;切换刷新当月提现额度;表格按签约公司分行;二次签约失败客服待办;工猫无需人工打款提示调整","merge_fingerprint":"6d6c66f9bdda","evidence":[{"source_type":"figma","file_key":"8iwx2lM8wsY16lm53ogx4r","node_id":"214:5","figma_url":"https://www.figma.com/design/8iwx2lM8wsY16lm53ogx4r/4.35.0?node-id=214-5&p=f&t=tvIVAGKEJM6wzThn-0","raw_text":"工猫对接:签约服务协议添加工猫协议;默认新用户签约发钱走工猫(后期上海走工猫/银川走才燊);签约失败需再次上传资料时客服发待办;后台医生详情签约详情显示“当前应用签约:xxx”,已签约默认工猫,支持每月一次切换工猫/才燊并二次确认立即生效;切换刷新当月最大提现额度;109/113表格按签约公司展示(切换当月显示两行);工猫第二税源地不再人工打款提示改为正常提现等。"}],"search_terms":["工猫对接","服务协议","当前应用签约","切换为才燊","每月只能切换一次","提现额度刷新","财务对账表格","签约失败待办","上海工猫银川才燊"]} |
build/v4.37.0/requirements.md
0 → 100644
build/v4.37.0/rule_atoms.jsonl
0 → 100644
| 1 | +{"atom_id":"v4.37.0_35f9eb70a8e3","app_version":"v4.37.0","primary_module":"AUTH","modules":["AUTH"],"feature_scope":"小程序邀请医师认证状态展示规则","touchpoints":["小程序","邀请医师","医师状态"],"C":"小程序邀请医师列表","A":"展示医师备案状态","R":"仅当工作室正式开通且证件齐全时显示已备案;否则显示未备案;证件齐全包含身份证/资格证/执业证,非中医额外需要西学中;助理医师需正式开通","canon_text":"C=小程序邀请医师列表|A=展示医师备案状态|R=仅当工作室正式开通且证件齐全时显示已备案;否则显示未备案;证件齐全包含身份证/资格证/执业证,非中医额外需要西学中;助理医师需正式开通","merge_fingerprint":"35f9eb70a8e3","evidence":[{"source_type":"figma","file_key":"EVj75AxNpE77P0mLZ3mzw0","node_id":"2143:2","figma_url":"https://www.figma.com/design/EVj75AxNpE77P0mLZ3mzw0/D.37.0?node-id=2143-2&p=f&t=K1TgyJOHuBsdCTLy-0","raw_text":"小程序邀请医师下状态为已备案/未备案:已备案需满足工作室正式开通(非专业人士状态)且医师证件齐全(身份证/其他证件、资格证、执业证;非中医还需西学中;助理医师需正式开通)。其他情况均未备案。"}],"search_terms":["邀请医师","已备案","未备案","工作室正式开通","证件齐全","西学中","助理医师"]} | ||
| 2 | +{"atom_id":"v4.37.0_0d8ea779fde1","app_version":"v4.37.0","primary_module":"AUTH","modules":["AUTH"],"feature_scope":"助理医师分享页添加医师称谓","touchpoints":["工作室名片页","海报页","日签分享页"],"C":"助理医师分享名片/海报/日签","A":"展示医师称谓","R":"若开通工作室且证件齐全的助理医生则添加“医师”称谓;暂按绑定合规医且证件齐全判断为助理医师","canon_text":"C=助理医师分享名片/海报/日签|A=展示医师称谓|R=若开通工作室且证件齐全的助理医生则添加“医师”称谓;暂按绑定合规医且证件齐全判断为助理医师","merge_fingerprint":"0d8ea779fde1","evidence":[{"source_type":"figma","file_key":"EVj75AxNpE77P0mLZ3mzw0","node_id":"2585:1035","figma_url":"https://www.figma.com/design/EVj75AxNpE77P0mLZ3mzw0/D.37.0?node-id=2585-1035&p=f&t=K1TgyJOHuBsdCTLy-0","raw_text":"医生如果开通工作室且为证件齐全的助理医生,则在明医好方海报页/工作室名片页/日签分享页添加“医师”称谓;因无法获取执业类别,暂按绑定合规医且证件齐全判断为助理医师。"}],"search_terms":["助理医师","医师称谓","名片页","海报页","日签分享","绑定合规医","证件齐全"]} |
build/v4.38.0/requirements.md
0 → 100644
build/v4.38.0/rule_atoms.jsonl
0 → 100644
| 1 | +{"atom_id":"v4.38.0_972f8e8dddc9","app_version":"v4.38.0","primary_module":"CLINIC","modules":["CLINIC"],"feature_scope":"门诊预约序号与预约限制规则优化","touchpoints":["门诊预约","预约挂号","取消预约"],"C":"门诊预约序号优化","A":"优化挂号序号与预约限制规则","R":"提供挂号顺序计算方案(分时段/间隔变更保持序号等);超过预约开始时间取消预约提示不可取消;预约限制从自然周改为滚动7天内最多3次","canon_text":"C=门诊预约序号优化|A=优化挂号序号与预约限制规则|R=提供挂号顺序计算方案(分时段/间隔变更保持序号等);超过预约开始时间取消预约提示不可取消;预约限制从自然周改为滚动7天内最多3次","merge_fingerprint":"972f8e8dddc9","evidence":[{"source_type":"figma","file_key":"eUGJhmIIUtLxjJY27Bn15N","node_id":"6:345","figma_url":"https://www.figma.com/design/eUGJhmIIUtLxjJY27Bn15N/D-4.38.0?node-id=6-345&p=f&t=KVwBk5QR2ND76fvA-0","raw_text":"门诊预约挂号顺序优化提供多套方案(按上午/下午/晚上分段、间隔变更时维持已挂号序号等);患者预约挂号:超过预约开始时间点击取消预约提示“已超过预约问诊时间,不可取消挂号”;预约次数限制从自然周改为从当前预约开始日0点起未来7天24小时内不超过3次。"}],"search_terms":["预约序号","挂号顺序","时间间隔变更","取消预约限制","已超过预约问诊时间不可取消","7天最多3次"]} |
build/v4.39.0/requirements.md
0 → 100644
build/v4.39.0/rule_atoms.jsonl
0 → 100644
| 1 | +{"atom_id":"v4.39.0_14522a7c8abd","app_version":"v4.39.0","primary_module":"PATIENT","modules":["PATIENT"],"feature_scope":"患者搜索/档案手机号补齐与展示","touchpoints":["患者通讯录搜索","聊天对话搜索","档案编辑"],"C":"患者档案手机号为空","A":"刷新/创建/修改档案时默认填充手机号","R":"默认填充主档案手机号;主档案无则填注册手机号;搜索患者时展示档案手机号;手机号为默认来源时提交无需验证码且不显示验证码输入;切换主档案不影响已有手机号","canon_text":"C=患者档案手机号为空|A=刷新/创建/修改档案时默认填充手机号|R=默认填充主档案手机号;主档案无则填注册手机号;搜索患者时展示档案手机号;手机号为默认来源时提交无需验证码且不显示验证码输入;切换主档案不影响已有手机号","merge_fingerprint":"14522a7c8abd","evidence":[{"source_type":"figma","file_key":"uSPopyB76PGVPNEXflfFXI","node_id":"2080:3219","figma_url":"https://www.figma.com/design/uSPopyB76PGVPNEXflfFXI/D-4.39.0?node-id=2080-3219&p=f&t=DX0tTZ96Q7JMGNpI-0","raw_text":"对当前已有数据刷新:档案无手机号则刷为主档案手机号;主档案无手机号则刷为患者注册手机号;搜索患者时展示该档案手机号。创建档案/修改个人信息:手机号为空默认填充;手机号为主档案/注册手机号时提交无需验证码且不显示验证码输入;切换主档案已有手机号不变。"}],"search_terms":["子档案手机号","主档案手机号","注册手机号","默认填充手机号","无需验证码","搜索展示手机号"]} |
build/v4.40.0/requirements.md
0 → 100644
build/v4.40.0/rule_atoms.jsonl
0 → 100644
| 1 | +{"atom_id":"v4.40.0_1db67566575a","app_version":"v4.40.0","primary_module":"AUTH","modules":["AUTH"],"feature_scope":"App 认证流程优化与文案恢复","touchpoints":["认证流程","App 文案","医师体验"],"C":"app认证流程优化","A":"恢复/优化认证流程文案与体验","R":"医师在App内使用功能不再展示区开通/半开通文案,恢复为正常文案;认证流程体验优化","canon_text":"C=app认证流程优化|A=恢复/优化认证流程文案与体验|R=医师在App内使用功能不再展示区开通/半开通文案,恢复为正常文案;认证流程体验优化","merge_fingerprint":"1db67566575a","evidence":[{"source_type":"figma","file_key":"oDFlufpLEFz3e87CTEcU5Q","node_id":"4019:1065","figma_url":"https://www.figma.com/design/oDFlufpLEFz3e87CTEcU5Q/D-4.40.0?node-id=4019-1065&p=f&t=uWtyA9p6O9nfofxd-0","raw_text":"app认证流程优化:医师在App上自己使用功能不再展示区开通/半开通文案,全部恢复为正常文案(页面内包含“医师体验优化”等)。"}],"search_terms":["认证流程优化","半开通文案","文案恢复","医师体验优化"]} | ||
| 2 | +{"atom_id":"v4.40.0_739bcbd36675","app_version":"v4.40.0","primary_module":"INCOME","modules":["INCOME"],"feature_scope":"签约提现规则修改(公司切换+二次签约)","touchpoints":["签约","提现","第三方切换"],"C":"签约提现规则修改","A":"按医生公司切换签约第三方并处理二次签约","R":"上线后按医生所在公司决定第三方在指定时间统一切换(上海工猫/银川才燊);二次签约提现仍按首次签约第三方","canon_text":"C=签约提现规则修改|A=按医生公司切换签约第三方并处理二次签约|R=上线后按医生所在公司决定第三方在指定时间统一切换(上海工猫/银川才燊);二次签约提现仍按首次签约第三方","merge_fingerprint":"739bcbd36675","evidence":[{"source_type":"figma","file_key":"oDFlufpLEFz3e87CTEcU5Q","node_id":"4110:1609","figma_url":"https://www.figma.com/design/oDFlufpLEFz3e87CTEcU5Q/D-4.40.0?node-id=4110-1609&p=f&t=uWtyA9p6O9nfofxd-0","raw_text":"上线后按医生所在公司决定签约后发放综合绩效的第三方并在5月31日23:59:59统一切换:上海->工猫,银川->才燊;仅本次统一切换,后续公司变化不再更改。二次签约提现按第一个签约账户的第三方提现。"}],"search_terms":["签约提现规则","第三方切换","工猫","才燊","二次签约提现","统一切换时间"]} |
build/v4.42.0/requirements.md
0 → 100644
build/v4.42.0/rule_atoms.jsonl
0 → 100644
| 1 | +{"atom_id":"v4.42.0_cddb57b216cd","app_version":"v4.42.0","primary_module":"INCOME","modules":["INCOME"],"feature_scope":"财务提现逻辑修改(按收入发生时第三方拆分)","touchpoints":["钱包","提现","第三方合作方"],"C":"财务提现逻辑修改","A":"按收入发生时签约第三方拆分提现","R":"记录收入到账时签约企业,提现时按收入发生时合作第三方分别提现(余额可拆分到不同第三方账户)","canon_text":"C=财务提现逻辑修改|A=按收入发生时签约第三方拆分提现|R=记录收入到账时签约企业,提现时按收入发生时合作第三方分别提现(余额可拆分到不同第三方账户)","merge_fingerprint":"cddb57b216cd","evidence":[{"source_type":"figma","file_key":"hR9uThnGUFQkBTTlxp45tH","node_id":"1:15","figma_url":"https://www.figma.com/design/hR9uThnGUFQkBTTlxp45tH/D-4.42.0?node-id=1-15&p=f&t=3mX8G2K2Re9YYzyk-0","raw_text":"场景:当前提现按医生当前所在公司决定第三方合作方;需求:按照医生账户余额实际发生时所合作的第三方提现。示例:5月才燊收入300+6月工猫收入700,提现时300走才燊银川账户、700走工猫上海账户。"}],"search_terms":["提现逻辑","收入发生时签约企业","第三方拆分提现","才燊","工猫","余额拆分"]} | ||
| 2 | +{"atom_id":"v4.42.0_689491b8e743","app_version":"v4.42.0","primary_module":"PATIENT","modules":["PATIENT"],"feature_scope":"医生永久二维码优化处理(释放/分配/有效期)","touchpoints":["医生二维码","永久二维码","临时二维码","名片/日签"],"C":"医生永久二维码优化处理","A":"释放/分配永久二维码并区分临时码","R":"定期筛选符合条件的医生释放永久码并替换为临时码;新认证卫健委通过默认永久码,未通过默认临时码并展示有效期;永久码不足阈值提示;按规则分配/更换","canon_text":"C=医生永久二维码优化处理|A=释放/分配永久二维码并区分临时码|R=定期筛选符合条件的医生释放永久码并替换为临时码;新认证卫健委通过默认永久码,未通过默认临时码并展示有效期;永久码不足阈值提示;按规则分配/更换","merge_fingerprint":"689491b8e743","evidence":[{"source_type":"figma","file_key":"hR9uThnGUFQkBTTlxp45tH","node_id":"1:41","figma_url":"https://www.figma.com/design/hR9uThnGUFQkBTTlxp45tH/D-4.42.0?node-id=1-41&p=f&t=3mX8G2K2Re9YYzyk-0","raw_text":"问题:永久二维码用完,新认证医生只能用临时码。方案:定期(1个月)筛选满足条件的医生释放永久码;新认证卫健委通过默认永久码,未通过默认临时码并在App/保存图展示有效期;设阈值5000不足提示;按顺序释放渠道码并分配给需要永久码的医生,释放时再校验近1个月是否扫码/开方,满足则跳过。"}],"search_terms":["永久二维码","临时二维码","二维码有效期","释放二维码","阈值5000提示","卫健委审核","更换永久二维码","申请永久二维码"]} |
build/v4.43.0/requirements.md
0 → 100644
| 1 | +--- | ||
| 2 | +app_version: v4.43.0 | ||
| 3 | +source: build/v4.43.0/rule_atoms.jsonl | ||
| 4 | +updated_at: 2026-03-13 | ||
| 5 | +--- | ||
| 6 | + | ||
| 7 | +一句话概述:视频问诊结束时间计算与自动退款时间优化。 | ||
| 8 | + | ||
| 9 | +Figma链接: | ||
| 10 | +- `https://www.figma.com/design/gUAPBLci0IOGC6vHmlkQpw/D-4.43.0-%E9%97%AE%E8%AF%8A%E6%94%B6%E5%85%A5%E5%9F%9F?node-id=105-207&p=f&t=4vYqxPVPmJ0Ku0vU-0` |
build/v4.43.0/rule_atoms.jsonl
0 → 100644
| 1 | +{"atom_id":"v4.43.0_ba5f3ab0fb1d","app_version":"v4.43.0","primary_module":"INQUIRY","modules":["INQUIRY"],"feature_scope":"视频问诊结束时间与退款时间优化","touchpoints":["视频问诊","咨询时长","自动结束","自动退款"],"C":"视频问诊已设置视频时间或未设置视频时间","A":"视频问诊开始后计算自动结束时间与退款时间","R":"未设视频时间:结束=当前+咨询时长;已设视频时间:结束=max(当前+咨询时长,视频时间+2h);发消息重算结束时间;退款时间=问诊自动结束时间;咨询时长页提示超时结束与顺延规则","canon_text":"C=视频问诊已设置视频时间或未设置视频时间|A=视频问诊开始后计算自动结束时间与退款时间|R=未设视频时间:结束=当前+咨询时长;已设视频时间:结束=max(当前+咨询时长,视频时间+2h);发消息重算结束时间;退款时间=问诊自动结束时间;咨询时长页提示超时结束与顺延规则","merge_fingerprint":"ba5f3ab0fb1d","evidence":[{"source_type":"figma","file_key":"gUAPBLci0IOGC6vHmlkQpw","node_id":"105:207","figma_url":"https://www.figma.com/design/gUAPBLci0IOGC6vHmlkQpw/D-4.43.0-%E9%97%AE%E8%AF%8A%E6%94%B6%E5%85%A5%E5%9F%9F?node-id=105-207&p=f&t=4vYqxPVPmJ0Ku0vU-0","raw_text":"视频问诊开始后自动结束时间:未设置视频时间=当前+咨询时长;已设置视频时间=max(当前+咨询时长,视频时间+2h);发消息会重算结束时间。收费视频问诊未视频自动退款时间改为=问诊自动结束时间。咨询时长设置页增加提示:超时自动结束,视频时间较晚则结束顺延到视频时间2小时之后。"}],"search_terms":["视频问诊结束时间","自动结束","视频时间+2h","自动退款时间","咨询时长提示","发消息重算"]} |
build/v4.44.0/requirements.md
0 → 100644
| 1 | +--- | ||
| 2 | +app_version: v4.44.0 | ||
| 3 | +source: build/v4.44.0/rule_atoms.jsonl | ||
| 4 | +updated_at: 2026-03-13 | ||
| 5 | +--- | ||
| 6 | + | ||
| 7 | +一句话概述:认证流程优化(性别自动回填、人脸识别与实名一致性校验)、医患聊天页就诊人展示优化、iOS 会话支持置顶。 | ||
| 8 | + | ||
| 9 | +Figma链接: | ||
| 10 | +- `https://www.figma.com/design/Qy09PKVhSGh04A3XqIfquQ/D-4.44.0-%E9%97%AE%E8%AF%8A%E6%94%B6%E5%85%A5%E5%9F%9F?node-id=4-34&p=f&t=WVJ6Jg6lLmrgKruG-0` |
build/v4.44.0/rule_atoms.jsonl
0 → 100644
| 1 | +{"atom_id":"v4.44.0_89de00f16932","app_version":"v4.44.0","primary_module":"AUTH","modules":["AUTH"],"feature_scope":"医生认证第一步性别自动回填","touchpoints":["身份认证","人脸识别","性别字段"],"C":"医生认证第一步证件类型为身份证且完成人脸","A":"自动填写性别字段","R":"根据身份证号自动回填医生性别;存量已开通工作室且性别为空也按身份证号补齐","canon_text":"C=医生认证第一步证件类型为身份证且完成人脸|A=自动填写性别字段|R=根据身份证号自动回填医生性别;存量已开通工作室且性别为空也按身份证号补齐","merge_fingerprint":"89de00f16932","evidence":[{"source_type":"figma","file_key":"Qy09PKVhSGh04A3XqIfquQ","node_id":"4:34","figma_url":"https://www.figma.com/design/Qy09PKVhSGh04A3XqIfquQ/D-4.44.0-%E9%97%AE%E8%AF%8A%E6%94%B6%E5%85%A5%E5%9F%9F?node-id=4-34&p=f&t=WVJ6Jg6lLmrgKruG-0","raw_text":"医生在第一步身份信息认证,如果是身份证号,人脸完成时,会根据身份证号自动填写医生的性别;存量已开通工作室且性别未填写的根据身份证号处理性别字段。"}],"search_terms":["医生认证","身份证","人脸完成","性别自动填写","存量补齐"]} | ||
| 2 | +{"atom_id":"v4.44.0_d3909a170495","app_version":"v4.44.0","primary_module":"AUTH","modules":["AUTH"],"feature_scope":"身份证人脸识别与实名信息一致性校验","touchpoints":["开处方","人脸识别","实名信息同步"],"C":"证件类型为身份证且开处方时已实名通过但未做人脸","A":"触发开处方流程","R":"弹出人脸识别(不再限制第一次开方);人脸通过需同步更新后台实名信息;若与已审核信息不一致需驳回身份证照片","canon_text":"C=证件类型为身份证且开处方时已实名通过但未做人脸|A=触发开处方流程|R=弹出人脸识别(不再限制第一次开方);人脸通过需同步更新后台实名信息;若与已审核信息不一致需驳回身份证照片","merge_fingerprint":"d3909a170495","evidence":[{"source_type":"figma","file_key":"Qy09PKVhSGh04A3XqIfquQ","node_id":"4:34","figma_url":"https://www.figma.com/design/Qy09PKVhSGh04A3XqIfquQ/D-4.44.0-%E9%97%AE%E8%AF%8A%E6%94%B6%E5%85%A5%E5%9F%9F?node-id=4-34&p=f&t=WVJ6Jg6lLmrgKruG-0","raw_text":"证件类型为身份证:开处方时如姓名和身份证号已实名通过且未进行人脸识别则弹出人脸(不再限制第一次开方);认证第一步人脸通过需同步更新后台实名信息;若后台已审核信息与人脸信息不一致且身份证照片已审核通过,需要将身份证照片置为不通过并提示上传。"}],"search_terms":["开处方人脸","身份证实名","不再限制首次开方","后台实名同步","身份证照片驳回"]} | ||
| 3 | +{"atom_id":"v4.44.0_69e9e5721d75","app_version":"v4.44.0","primary_module":"PATIENT","modules":["PATIENT"],"feature_scope":"医患聊天页就诊人显示优化","touchpoints":["医患聊天","就诊人显示","问诊单位置"],"C":"医患聊天页存在多档案且本次问诊为非主档案","A":"展示聊天页顶部就诊人信息","R":"显示正在进行中问诊的实际就诊人姓名;多个问诊显示多个;问诊单展示在问诊已开始提示之后","canon_text":"C=医患聊天页存在多档案且本次问诊为非主档案|A=展示聊天页顶部就诊人信息|R=显示正在进行中问诊的实际就诊人姓名;多个问诊显示多个;问诊单展示在问诊已开始提示之后","merge_fingerprint":"69e9e5721d75","evidence":[{"source_type":"figma","file_key":"Qy09PKVhSGh04A3XqIfquQ","node_id":"4:50","figma_url":"https://www.figma.com/design/Qy09PKVhSGh04A3XqIfquQ/D-4.44.0-%E9%97%AE%E8%AF%8A%E6%94%B6%E5%85%A5%E5%9F%9F?node-id=4-50&p=f&t=WVJ6Jg6lLmrgKruG-0","raw_text":"文案调整展示正在进行中问诊的实际就诊人的姓名(多个问诊显示多个);问诊单显示在“问诊已开始”提示之后。"}],"search_terms":["聊天页就诊人","非主档案误解","正在问诊中","多个问诊","问诊单位置"]} | ||
| 4 | +{"atom_id":"v4.44.0_7291f029ba50","app_version":"v4.44.0","primary_module":"PATIENT","modules":["PATIENT"],"feature_scope":"iOS 会话支持置顶","touchpoints":["iOS","会话列表","置顶"],"C":"iOS会话列表","A":"执行置顶/取消置顶操作","R":"支持会话置顶与取消置顶","canon_text":"C=iOS会话列表|A=执行置顶/取消置顶操作|R=支持会话置顶与取消置顶","merge_fingerprint":"7291f029ba50","evidence":[{"source_type":"figma","file_key":"Qy09PKVhSGh04A3XqIfquQ","node_id":"8:5751","figma_url":"https://www.figma.com/design/Qy09PKVhSGh04A3XqIfquQ/D-4.44.0-%E9%97%AE%E8%AF%8A%E6%94%B6%E5%85%A5%E5%9F%9F?node-id=8-5751&p=f&t=WVJ6Jg6lLmrgKruG-0","raw_text":"IOS会话可以置顶和取消置顶。"}],"search_terms":["iOS会话置顶","取消置顶","会话列表"]} |
build/v4.46.0/requirements.md
0 → 100644
| 1 | +--- | ||
| 2 | +app_version: v4.46.0 | ||
| 3 | +source: build/v4.46.0/rule_atoms.jsonl | ||
| 4 | +updated_at: 2026-03-13 | ||
| 5 | +--- | ||
| 6 | + | ||
| 7 | +一句话概述:咨询页搜索与结果展示优化、患教文章置顶/排序优化、患者端医师详情页患教文章支持搜索。 | ||
| 8 | + | ||
| 9 | +Figma链接: | ||
| 10 | +- `https://www.figma.com/design/1p6CGiPE87xXjeY2MsnLsK/D-4.46.0-%E9%97%AE%E8%AF%8A%E5%9F%9F?node-id=15-85&p=f&t=qGjhK9AsGhxOv5Er-0` |
build/v4.46.0/rule_atoms.jsonl
0 → 100644
| 1 | +{"atom_id":"v4.46.0_67da2a39eb3d","app_version":"v4.46.0","primary_module":"PATIENT","modules":["PATIENT"],"feature_scope":"咨询页搜索优化与搜索结果展示规则","touchpoints":["咨询页","搜索","搜索结果"],"C":"咨询页搜索优化","A":"优化可搜索字段与结果展示","R":"支持主档案/就诊人名称及拼音、主档案手机搜索;就诊人手机不支持;会话聊天内容标红并显示命中消息时间;搜索结果主子档案关系展示规则;纯数字整体匹配、非纯数字可部分命中","canon_text":"C=咨询页搜索优化|A=优化可搜索字段与结果展示|R=支持主档案/就诊人名称及拼音、主档案手机搜索;就诊人手机不支持;会话聊天内容标红并显示命中消息时间;搜索结果主子档案关系展示规则;纯数字整体匹配、非纯数字可部分命中","merge_fingerprint":"67da2a39eb3d","evidence":[{"source_type":"figma","file_key":"1p6CGiPE87xXjeY2MsnLsK","node_id":"15:85","figma_url":"https://www.figma.com/design/1p6CGiPE87xXjeY2MsnLsK/D-4.46.0-%E9%97%AE%E8%AF%8A%E5%9F%9F?node-id=15-85&p=f&t=qGjhK9AsGhxOv5Er-0","raw_text":"一、搜索功能优化:支持主档案名称/就诊人名称/主档案手机/拼音搜索;就诊人手机不支持;会话聊天内容标红+位置截取并显示命中消息发送时间;关键字包含数字:纯数字整体匹配,非纯数字可部分命中。二、搜索结果主档案-子档案关系展示:命中主档案仅展示主档案;仅命中子档案展示主档案+命中子档案;同时命中主/子档案均标红;子档案不显示进入对话按钮等。"}],"search_terms":["咨询搜索","患者搜索","拼音搜索","主子档案展示","标红","纯数字整体匹配","部分命中"]} | ||
| 2 | +{"atom_id":"v4.46.0_c1a3be1f0108","app_version":"v4.46.0","primary_module":"PATIENT","modules":["PATIENT"],"feature_scope":"患教文章置顶与移动排序","touchpoints":["我的患教","个人主页","患教文章"],"C":"我的患教/个人主页患教文章列表","A":"支持文章置顶与排序调整","R":"文章增加移动选项含置顶/取消置顶/上下移动/移到最后;最多置顶20篇超限提示;置顶仅在置顶区内移动;置顶标签在医生端/患者端/搜索结果展示","canon_text":"C=我的患教/个人主页患教文章列表|A=支持文章置顶与排序调整|R=文章增加移动选项含置顶/取消置顶/上下移动/移到最后;最多置顶20篇超限提示;置顶仅在置顶区内移动;置顶标签在医生端/患者端/搜索结果展示","merge_fingerprint":"c1a3be1f0108","evidence":[{"source_type":"figma","file_key":"1p6CGiPE87xXjeY2MsnLsK","node_id":"38:304","figma_url":"https://www.figma.com/design/1p6CGiPE87xXjeY2MsnLsK/D-4.46.0-%E9%97%AE%E8%AF%8A%E5%9F%9F?node-id=38-304&p=f&t=qGjhK9AsGhxOv5Er-0","raw_text":"每条文章增加“...”按钮(仅1篇不显示);操作包含置顶/取消置顶/向上/向下/移到最后;最多置顶20篇,超限提示“最多支持置顶20篇文章”;置顶文章只在置顶区内移动;置顶标签在医生端与患者端展示,搜索结果也展示置顶标签但不显示“...”。"}],"search_terms":["患教文章置顶","置顶20条限制","移动排序","取消置顶","搜索结果置顶标签"]} | ||
| 3 | +{"atom_id":"v4.46.0_bae35f0db54a","app_version":"v4.46.0","primary_module":"PATIENT","modules":["PATIENT"],"feature_scope":"患者端医师详情页患教文章支持搜索","touchpoints":["患者端","医师详情页","患教文章搜索"],"C":"患者端医师详情页患教文章","A":"新增搜索入口与搜索页逻辑","R":"添加搜索进入搜索患教文章页;默认历史搜索最多10条为空提示;清空;检索范围文章名/内容患者可见文章;关键词高亮定位;输入联想搜索并记录历史","canon_text":"C=患者端医师详情页患教文章|A=新增搜索入口与搜索页逻辑|R=添加搜索进入搜索患教文章页;默认历史搜索最多10条为空提示;清空;检索范围文章名/内容患者可见文章;关键词高亮定位;输入联想搜索并记录历史","merge_fingerprint":"bae35f0db54a","evidence":[{"source_type":"figma","file_key":"1p6CGiPE87xXjeY2MsnLsK","node_id":"2036:389","figma_url":"https://www.figma.com/design/1p6CGiPE87xXjeY2MsnLsK/D-4.46.0-%E9%97%AE%E8%AF%8A%E5%9F%9F?node-id=2036-389&p=f&t=qGjhK9AsGhxOv5Er-0","raw_text":"患者端医师详情页增加“搜索”进入搜索患教文章页;默认显示历史搜索(最多10条),为空显示“暂无历史搜索”,可清空;检索范围为该医师所有患者可见文章的文章名/文章内容;匹配关键字高亮并定位;取消搜索按钮,输入后自动联想搜索并记录历史。"}],"search_terms":["医师详情页","患教文章搜索","历史搜索","暂无历史搜索","清空","关键词高亮","联想搜索"]} |
build/v4.47.0/requirements.md
0 → 100644
| 1 | +--- | ||
| 2 | +app_version: v4.47.0 | ||
| 3 | +source: build/v4.47.0/rule_atoms.jsonl | ||
| 4 | +updated_at: 2026-03-13 | ||
| 5 | +--- | ||
| 6 | + | ||
| 7 | +一句话概述:门诊侧医生手动标记就诊情况/预约挂号组件升级、患者搜索结果展示优化、问诊侧诊金收款码支持患者自定义金额。 | ||
| 8 | + | ||
| 9 | +Figma链接: | ||
| 10 | +- `https://www.figma.com/design/aPtAtRmQpqaoGbwfxpgcNk/D-4.47.0-%E9%97%AE%E8%AF%8A%E5%9F%9F?node-id=205-241&p=f&t=uUayPG6TBpo0ffVd-0` |
build/v4.47.0/rule_atoms.jsonl
0 → 100644
| 1 | +{"atom_id":"v4.47.0_2142e450d72d","app_version":"v4.47.0","primary_module":"CLINIC","modules":["CLINIC"],"feature_scope":"医生手动标记就诊情况","touchpoints":["门诊预约","预约详情","就诊状态"],"C":"门诊预约详情页","A":"医生标记就诊情况","R":"按钮改为标记就诊情况并弹窗切换未就诊/已就诊;累计3次未就诊提示并限制预约;确认后状态更新且不显示底部操作","canon_text":"C=门诊预约详情页|A=医生标记就诊情况|R=按钮改为标记就诊情况并弹窗切换未就诊/已就诊;累计3次未就诊提示并限制预约;确认后状态更新且不显示底部操作","merge_fingerprint":"2142e450d72d","evidence":[{"source_type":"figma","file_key":"aPtAtRmQpqaoGbwfxpgcNk","node_id":"93:240","figma_url":"https://www.figma.com/design/aPtAtRmQpqaoGbwfxpgcNk/D-4.47.0-%E9%97%AE%E8%AF%8A%E5%9F%9F?node-id=93-240&p=f&t=uUayPG6TBpo0ffVd-0","raw_text":"“标记未就诊”按钮改为“标记就诊情况”(已取消的不显示也不能改);点击弹框默认无选中,可切换未就诊/已就诊并确定生效;常显提示:累计3次未就诊(当前X次)患者将无法线上预约挂号(X随选择实时变化);确认后预约详情状态改为医师标记状态且底部不显示任何操作;原次日自动待就诊->已就诊逻辑不变。"}],"search_terms":["标记就诊情况","未就诊","已就诊","累计3次未就诊","预约详情页","线上预约挂号限制"]} | ||
| 2 | +{"atom_id":"v4.47.0_75bb90a8e5e8","app_version":"v4.47.0","primary_module":"CLINIC","modules":["CLINIC"],"feature_scope":"预约挂号组件/弹窗使用新组件","touchpoints":["预约挂号","开启坐诊弹窗","挂号费设置"],"C":"预约挂号相关弹窗","A":"替换为新组件并调整校验/文案","R":"开启坐诊/开启预约/挂号费设置弹窗使用新组件;放号数校验;挂号费到账文案","canon_text":"C=预约挂号相关弹窗|A=替换为新组件并调整校验/文案|R=开启坐诊/开启预约/挂号费设置弹窗使用新组件;放号数校验;挂号费到账文案","merge_fingerprint":"75bb90a8e5e8","evidence":[{"source_type":"figma","file_key":"aPtAtRmQpqaoGbwfxpgcNk","node_id":"205:241","figma_url":"https://www.figma.com/design/aPtAtRmQpqaoGbwfxpgcNk/D-4.47.0-%E9%97%AE%E8%AF%8A%E5%9F%9F?node-id=205-241&p=f&t=uUayPG6TBpo0ffVd-0","raw_text":"预约挂号-开启坐诊弹窗使用新的组件;开启预约弹窗使用新的组件;挂号费设置弹窗使用新的组件;放号数必须大于当前已挂号数;挂号费将在患者预约的线下门诊当天的24点到账。"}],"search_terms":["预约挂号组件优化","开启坐诊弹窗","开启预约弹窗","挂号费设置弹窗","放号数校验","挂号费到账24点"]} | ||
| 3 | +{"atom_id":"v4.47.0_e6bfd485d343","app_version":"v4.47.0","primary_module":"PATIENT","modules":["PATIENT"],"feature_scope":"患者搜索结果展示逻辑补充优化","touchpoints":["患者搜索","搜索结果","主子档案"],"C":"搜索逻辑补充优化","A":"按数字/文本匹配展示主子档案与备注","R":"数字匹配手机号:主档案优先主档案手机号;子档案仅匹配手机号才展示;文本匹配姓名/备注:命中备注则展示并标红,未命中则不展示,子档案姓名/备注都未命中不展示","canon_text":"C=搜索逻辑补充优化|A=按数字/文本匹配展示主子档案与备注|R=数字匹配手机号:主档案优先主档案手机号;子档案仅匹配手机号才展示;文本匹配姓名/备注:命中备注则展示并标红,未命中则不展示,子档案姓名/备注都未命中不展示","merge_fingerprint":"e6bfd485d343","evidence":[{"source_type":"figma","file_key":"aPtAtRmQpqaoGbwfxpgcNk","node_id":"4121:195","figma_url":"https://www.figma.com/design/aPtAtRmQpqaoGbwfxpgcNk/D-4.47.0-%E9%97%AE%E8%AF%8A%E5%9F%9F?node-id=4121-195&p=f&t=uUayPG6TBpo0ffVd-0","raw_text":"搜索数字匹配到患者手机号时:主档案展示(匹配到主档案手机号则展示主档案手机号;匹配到患者注册手机号则展示患者手机号;两者都匹配则展示主档案手机号);子档案展示(匹配到子档案手机号则展示子档案,未匹配则不展示)。搜索文本匹配到患者姓名/备注时:若匹配到备注则在患者档案下展示备注字段并标红;备注过长按优先展示匹配文本原则截断;未匹配备注则不展示备注;子档案姓名/备注都未匹配则不展示子档案。"}],"search_terms":["搜索逻辑","数字匹配手机号","主档案手机号","子档案展示","备注展示","匹配标红","未匹配不展示"]} | ||
| 4 | +{"atom_id":"v4.47.0_d75b7f4d94d3","app_version":"v4.47.0","primary_module":"INQUIRY","modules":["INQUIRY"],"feature_scope":"诊金收款码支持患者自定义金额","touchpoints":["诊金收款码","二维码","诊金支付"],"C":"诊金收款码","A":"支持患者自定义诊金支付","R":"默认不限金额可自定义输入,设置金额保持;自定义二维码永久有效,设置金额更新后旧码失效提示;金额最大9999超限提示","canon_text":"C=诊金收款码|A=支持患者自定义诊金支付|R=默认不限金额可自定义输入,设置金额保持;自定义二维码永久有效,设置金额更新后旧码失效提示;金额最大9999超限提示","merge_fingerprint":"d75b7f4d94d3","evidence":[{"source_type":"figma","file_key":"aPtAtRmQpqaoGbwfxpgcNk","node_id":"4022:3065","figma_url":"https://www.figma.com/design/aPtAtRmQpqaoGbwfxpgcNk/D-4.47.0-%E9%97%AE%E8%AF%8A%E5%9F%9F?node-id=4022-3065&p=f&t=uUayPG6TBpo0ffVd-0","raw_text":"诊金收款码修改逻辑:原来必须设置金额;改为进入后默认患者可自定义输入诊金;点击设置金额逻辑不变。自定义输入二维码有效期默认永久;设置金额并更新二维码后原二维码失效并提示“原收款码已失效,请及时替换新的二维码”(再次进入不再提示)。自定义金额页面:患者可输入金额最大9999,超过提示“诊金最大不可超过¥9999”;输入后点击付款进入现有支付弹窗。"}],"search_terms":["诊金收款码","不限金额","自定义输入诊金","二维码永久有效","原收款码已失效","9999上限提示"]} |
build/v4.48.0/requirements.md
0 → 100644
| 1 | +--- | ||
| 2 | +app_version: v4.48.0 | ||
| 3 | +source: build/v4.48.0/rule_atoms.jsonl | ||
| 4 | +updated_at: 2026-03-13 | ||
| 5 | +--- | ||
| 6 | + | ||
| 7 | +一句话概述:后台身份认证/待审核列表与卫健委模块优化、银川备案规则调整、收入侧报税管理费/个税与提现展示优化、提问消息支持加入补充病历。 | ||
| 8 | + | ||
| 9 | +Figma链接: | ||
| 10 | +- `https://www.figma.com/design/ujGJZpk2QTfRGIAZy2Zwlm/D-4.48.0-%E9%97%AE%E8%AF%8A%E5%9F%9F?node-id=104-235&p=f&t=tSUqwQfR1Mx2elVE-0` |
build/v4.48.0/rule_atoms.jsonl
0 → 100644
| 1 | +{"atom_id":"v4.48.0_6ad886127595","app_version":"v4.48.0","primary_module":"AUTH","modules":["AUTH"],"feature_scope":"客服处理-待审核列表展示规则","touchpoints":["业务后台","客服处理","待审核列表"],"C":"客服处理-待审核列表加载时","A":"筛选展示医生","R":"仅展示第一步身份认证状态为待审核的医生;2025-07-01之前提交的存量不展示","canon_text":"C=客服处理-待审核列表加载时|A=筛选展示医生|R=仅展示第一步身份认证状态为待审核的医生;2025-07-01之前提交的存量不展示","merge_fingerprint":"6ad886127595","evidence":[{"source_type":"figma","file_key":"ujGJZpk2QTfRGIAZy2Zwlm","node_id":"977:519","figma_url":"https://www.figma.com/design/ujGJZpk2QTfRGIAZy2Zwlm/D-4.48.0-%E9%97%AE%E8%AF%8A%E5%9F%9F?node-id=977-519&p=f&t=tSUqwQfR1Mx2elVE-0","raw_text":"“客服处理-待审核”列表需要展示第一步身份认证状态为待审核的医生,存量不用展示(2025.7.1日之前提交的存量数据不用刷状态,不需要在列表中显示出来)。"}],"search_terms":["待审核列表","身份认证","存量不展示","2025.7.1","客服处理"]} | ||
| 2 | +{"atom_id":"v4.48.0_37b769a88d22","app_version":"v4.48.0","primary_module":"AUTH","modules":["AUTH"],"feature_scope":"身份认证状态计算规则(证件+卫健委)","touchpoints":["业务后台","身份认证","审核"],"C":"身份认证状态计算","A":"根据证件状态①与卫健委状态②计算","R":"①未提交->未提交;①/②任一失败->失败;①/②都通过->已认证;否则->待审核","canon_text":"C=身份认证状态计算|A=根据证件状态①与卫健委状态②计算|R=①未提交->未提交;①/②任一失败->失败;①/②都通过->已认证;否则->待审核","merge_fingerprint":"37b769a88d22","evidence":[{"source_type":"figma","file_key":"ujGJZpk2QTfRGIAZy2Zwlm","node_id":"977:519","figma_url":"https://www.figma.com/design/ujGJZpk2QTfRGIAZy2Zwlm/D-4.48.0-%E9%97%AE%E8%AF%8A%E5%9F%9F?node-id=977-519&p=f&t=tSUqwQfR1Mx2elVE-0","raw_text":"开通工作室第一步身份认证状态说明:①表示4类身份证件状态;②表示卫健委审核状态。if ①未提交->未提交;elif ①②任一失败->失败;elif ①②都通过->已认证;else->待审核(身份证未认证,卫健委待审核)。"}],"search_terms":["身份认证状态","卫健委审核状态机","未提交","失败","已认证","待审核"]} | ||
| 3 | +{"atom_id":"v4.48.0_a8b40488035a","app_version":"v4.48.0","primary_module":"AUTH","modules":["AUTH"],"feature_scope":"审核详情页卫健委模块拆分与状态字段","touchpoints":["业务后台","审核详情","卫健委审核"],"C":"审核详情页展示卫健委审核模块","A":"展示卫健委审核状态字段","R":"状态包含未认证/已认证/待审核/审核失败;待审核提示医生重提后需重新审核","canon_text":"C=审核详情页展示卫健委审核模块|A=展示卫健委审核状态字段|R=状态包含未认证/已认证/待审核/审核失败;待审核提示医生重提后需重新审核","merge_fingerprint":"a8b40488035a","evidence":[{"source_type":"figma","file_key":"ujGJZpk2QTfRGIAZy2Zwlm","node_id":"977:519","figma_url":"https://www.figma.com/design/ujGJZpk2QTfRGIAZy2Zwlm/D-4.48.0-%E9%97%AE%E8%AF%8A%E5%9F%9F?node-id=977-519&p=f&t=tSUqwQfR1Mx2elVE-0","raw_text":"审核详情页面,将卫健委审核模块独立出来,增加卫健委审核状态字段:未认证、已认证、待审核(提示:医生重新提交身份资料后,卫健委审核也需要根据医生新资料重新审核)、审核失败。"}],"search_terms":["审核详情页","卫健委审核模块","状态字段","悬浮提示","重新审核"]} | ||
| 4 | +{"atom_id":"v4.48.0_53864f9654c2","app_version":"v4.48.0","primary_module":"AUTH","modules":["AUTH"],"feature_scope":"重提身份资料触发卫健委状态重置","touchpoints":["业务后台","身份认证","卫健委审核"],"C":"医生重新提交认证第一步且卫健委原失败","A":"提交新身份资料","R":"卫健委审核状态重置为待审核且保留审核图片","canon_text":"C=医生重新提交认证第一步且卫健委原失败|A=提交新身份资料|R=卫健委审核状态重置为待审核且保留审核图片","merge_fingerprint":"53864f9654c2","evidence":[{"source_type":"figma","file_key":"ujGJZpk2QTfRGIAZy2Zwlm","node_id":"977:519","figma_url":"https://www.figma.com/design/ujGJZpk2QTfRGIAZy2Zwlm/D-4.48.0-%E9%97%AE%E8%AF%8A%E5%9F%9F?node-id=977-519&p=f&t=tSUqwQfR1Mx2elVE-0","raw_text":"注:医生重新提交认证第一步,如果卫健委原是失败的需要重置为待审核(卫健委审核图片保留)。"}],"search_terms":["重新提交认证","卫健委失败","重置待审核","图片保留"]} | ||
| 5 | +{"atom_id":"v4.48.0_8c4b8021cfdf","app_version":"v4.48.0","primary_module":"AUTH","modules":["AUTH"],"feature_scope":"银川备案可备案规则调整","touchpoints":["业务后台","备案","银川"],"C":"银川猫头鹰医生备案判定","A":"判断是否可备案","R":"规则从中医或西学中+非军医+三证齐全+资格证满3年改为中医+非军医+三证齐全+资格证5年或执业证3年;西学中不可备案","canon_text":"C=银川猫头鹰医生备案判定|A=判断是否可备案|R=规则从中医或西学中+非军医+三证齐全+资格证满3年改为中医+非军医+三证齐全+资格证5年或执业证3年;西学中不可备案","merge_fingerprint":"8c4b8021cfdf","evidence":[{"source_type":"figma","file_key":"ujGJZpk2QTfRGIAZy2Zwlm","node_id":"104:235","figma_url":"https://www.figma.com/design/ujGJZpk2QTfRGIAZy2Zwlm/D-4.48.0-%E9%97%AE%E8%AF%8A%E5%9F%9F?node-id=104-235&p=f&t=tSUqwQfR1Mx2elVE-0","raw_text":"系统上原可备案规则:中医或西学中?+非军医+三证齐全+资格证满3年。更改为新可备案规则:中医+非军医+三证齐全+资格证5年或者执业证3年;另外西转中的改为不可备案。"}],"search_terms":["银川备案","可备案规则","资格证5年","执业证3年","西学中不可备案"]} | ||
| 6 | +{"atom_id":"v4.48.0_a357e1a722e1","app_version":"v4.48.0","primary_module":"AUTH","modules":["AUTH"],"feature_scope":"银川备案增量医生按新规则处理","touchpoints":["业务后台","备案","增量医生"],"C":"增量医生","A":"计算可备案状态","R":"按新可备案规则处理","canon_text":"C=增量医生|A=计算可备案状态|R=按新可备案规则处理","merge_fingerprint":"a357e1a722e1","evidence":[{"source_type":"figma","file_key":"ujGJZpk2QTfRGIAZy2Zwlm","node_id":"104:235","figma_url":"https://www.figma.com/design/ujGJZpk2QTfRGIAZy2Zwlm/D-4.48.0-%E9%97%AE%E8%AF%8A%E5%9F%9F?node-id=104-235&p=f&t=tSUqwQfR1Mx2elVE-0","raw_text":"增量医生按新规则处理。"}],"search_terms":["增量医生","按新规则","可备案状态"]} | ||
| 7 | +{"atom_id":"v4.48.0_930dc2b97f4d","app_version":"v4.48.0","primary_module":"AUTH","modules":["AUTH"],"feature_scope":"银川备案存量医生默认不刷新与手动刷新入口","touchpoints":["业务后台","备案","存量医生","医生详情"],"C":"存量医生(功能上线前已注册,非第6类)","A":"日常任务与手动修改信息","R":"可备案状态默认保持不变且每日任务不处理;手动修改不触发可备案状态变更;提供“存量医生备案状态刷新”按钮按新规则刷新","canon_text":"C=存量医生(功能上线前已注册,非第6类)|A=日常任务与手动修改信息|R=可备案状态默认保持不变且每日任务不处理;手动修改不触发可备案状态变更;提供“存量医生备案状态刷新”按钮按新规则刷新","merge_fingerprint":"930dc2b97f4d","evidence":[{"source_type":"figma","file_key":"ujGJZpk2QTfRGIAZy2Zwlm","node_id":"104:235","figma_url":"https://www.figma.com/design/ujGJZpk2QTfRGIAZy2Zwlm/D-4.48.0-%E9%97%AE%E8%AF%8A%E5%9F%9F?node-id=104-235&p=f&t=tSUqwQfR1Mx2elVE-0","raw_text":"存量医生(上线前已注册,非第6类)可备案状态保持不变(每日任务不处理);手动改变存量医生信息不触发可备案状态更改;医生详情增加“存量医生备案状态刷新”按钮,点击按新规则更新可备案状态。"}],"search_terms":["存量医生","可备案状态保持不变","备案状态刷新按钮","医生详情"]} | ||
| 8 | +{"atom_id":"v4.48.0_0996a8b74317","app_version":"v4.48.0","primary_module":"AUTH","modules":["AUTH"],"feature_scope":"第6类医生绑定合规医后重新分类","touchpoints":["业务后台","医生分类","合规医绑定"],"C":"第6类医生绑定合规医","A":"重新分类医生类型","R":"按新规则重新归为1~5类并按对应流程处理(含存量已绑定合规医)","canon_text":"C=第6类医生绑定合规医|A=重新分类医生类型|R=按新规则重新归为1~5类并按对应流程处理(含存量已绑定合规医)","merge_fingerprint":"0996a8b74317","evidence":[{"source_type":"figma","file_key":"ujGJZpk2QTfRGIAZy2Zwlm","node_id":"104:235","figma_url":"https://www.figma.com/design/ujGJZpk2QTfRGIAZy2Zwlm/D-4.48.0-%E9%97%AE%E8%AF%8A%E5%9F%9F?node-id=104-235&p=f&t=tSUqwQfR1Mx2elVE-0","raw_text":"第6类医生如果绑定了合规医之后:需要根据新规则重新归为1~5类,并按正常对应类型的医生流程走;存量已绑定合规医的也按上述逻辑处理。"}],"search_terms":["第6类医生","绑定合规医","重新归类1~5类","存量处理"]} | ||
| 9 | +{"atom_id":"v4.48.0_dd64b084ab3e","app_version":"v4.48.0","primary_module":"INCOME","modules":["INCOME"],"feature_scope":"报税管理费扣费规则调整(按纯药费阈值)","touchpoints":["收入","入账","报税管理费"],"C":"签约收入入账时","A":"计算并扣报税管理费","R":"纯药费<5000收0.5%;纯药费>=5000免收(替换旧阶梯费率)","canon_text":"C=签约收入入账时|A=计算并扣报税管理费|R=纯药费<5000收0.5%;纯药费>=5000免收(替换旧阶梯费率)","merge_fingerprint":"dd64b084ab3e","evidence":[{"source_type":"figma","file_key":"ujGJZpk2QTfRGIAZy2Zwlm","node_id":"1067:519","figma_url":"https://www.figma.com/design/ujGJZpk2QTfRGIAZy2Zwlm/D-4.48.0-%E9%97%AE%E8%AF%8A%E5%9F%9F?node-id=1067-519&p=f&t=tSUqwQfR1Mx2elVE-0","raw_text":"签约收入入账扣报税管理费规则更改:由原“纯药费<8000收4.5%;8000~3W收3%;>=3W免收”更改为“纯药费<5000收0.5%;>=5000免收”。"}],"search_terms":["报税管理费","纯药费5000","0.5%","免收","费率规则"]} | ||
| 10 | +{"atom_id":"v4.48.0_3aa5313675b0","app_version":"v4.48.0","primary_module":"INCOME","modules":["INCOME"],"feature_scope":"对公账户报税管理费规则","touchpoints":["收入","对公账户","报税管理费"],"C":"对公账户收入","A":"计算报税管理费","R":"对公不收报税管理费;纯药费计算不受对公/对私账户影响","canon_text":"C=对公账户收入|A=计算报税管理费|R=对公不收报税管理费;纯药费计算不受对公/对私账户影响","merge_fingerprint":"3aa5313675b0","evidence":[{"source_type":"figma","file_key":"ujGJZpk2QTfRGIAZy2Zwlm","node_id":"1067:519","figma_url":"https://www.figma.com/design/ujGJZpk2QTfRGIAZy2Zwlm/D-4.48.0-%E9%97%AE%E8%AF%8A%E5%9F%9F?node-id=1067-519&p=f&t=tSUqwQfR1Mx2elVE-0","raw_text":"注:对公不收报税管理费,纯药费计算不受对公对私账户影响。"}],"search_terms":["对公不收","报税管理费","纯药费计算","对公对私"]} | ||
| 11 | +{"atom_id":"v4.48.0_7c7ed34902a8","app_version":"v4.48.0","primary_module":"INCOME","modules":["INCOME"],"feature_scope":"报税管理费免收阈值达成后的次月返还","touchpoints":["收入","报税管理费","返还"],"C":"当月默认按0.5%代扣且月纯药费最终>=5000","A":"次月6-8日结算返还","R":"此前代扣的报税管理费全额返还","canon_text":"C=当月默认按0.5%代扣且月纯药费最终>=5000|A=次月6-8日结算返还|R=此前代扣的报税管理费全额返还","merge_fingerprint":"7c7ed34902a8","evidence":[{"source_type":"figma","file_key":"ujGJZpk2QTfRGIAZy2Zwlm","node_id":"1067:519","figma_url":"https://www.figma.com/design/ujGJZpk2QTfRGIAZy2Zwlm/D-4.48.0-%E9%97%AE%E8%AF%8A%E5%9F%9F?node-id=1067-519&p=f&t=tSUqwQfR1Mx2elVE-0","raw_text":"当月报税管理费默认按0.5%扣费,如纯药费达到5000免收后仍然次月返还。"}],"search_terms":["次月返还","6-8日","报税管理费返还","纯药费5000免收"]} | ||
| 12 | +{"atom_id":"v4.48.0_b953d241a092","app_version":"v4.48.0","primary_module":"INCOME","modules":["INCOME"],"feature_scope":"10月跨政策日期报税管理费计算口径","touchpoints":["收入","报税管理费","退费"],"C":"10月退费跨政策执行日期","A":"计算报税管理费","R":"10月1日到执行日前按旧规则计算;执行日后按新规则计算","canon_text":"C=10月退费跨政策执行日期|A=计算报税管理费|R=10月1日到执行日前按旧规则计算;执行日后按新规则计算","merge_fingerprint":"b953d241a092","evidence":[{"source_type":"figma","file_key":"ujGJZpk2QTfRGIAZy2Zwlm","node_id":"1067:519","figma_url":"https://www.figma.com/design/ujGJZpk2QTfRGIAZy2Zwlm/D-4.48.0-%E9%97%AE%E8%AF%8A%E5%9F%9F?node-id=1067-519&p=f&t=tSUqwQfR1Mx2elVE-0","raw_text":"特别的,10月退费:10月1日~政策执行日期的收入按旧规则,政策执行日期之后按新规则计算。"}],"search_terms":["10月退费","政策执行日期","旧规则","新规则","报税管理费计算"]} | ||
| 13 | +{"atom_id":"v4.48.0_4654bf747460","app_version":"v4.48.0","primary_module":"INCOME","modules":["INCOME"],"feature_scope":"医生档次与报税管理费文案调整","touchpoints":["收入","医生档次","文案"],"C":"计算医生档次与文案展示","A":"按当月纯药费分档","R":"纯药费<5000为A档;>=5000为AAA档;去除AA档;报税管理费文案为税前收入*0.5%","canon_text":"C=计算医生档次与文案展示|A=按当月纯药费分档|R=纯药费<5000为A档;>=5000为AAA档;去除AA档;报税管理费文案为税前收入*0.5%","merge_fingerprint":"4654bf747460","evidence":[{"source_type":"figma","file_key":"ujGJZpk2QTfRGIAZy2Zwlm","node_id":"1067:519","figma_url":"https://www.figma.com/design/ujGJZpk2QTfRGIAZy2Zwlm/D-4.48.0-%E9%97%AE%E8%AF%8A%E5%9F%9F?node-id=1067-519&p=f&t=tSUqwQfR1Mx2elVE-0","raw_text":"计算医生档次改为2档:纯药费<5000为A档,>=5000为AAA档(去除AA档);文案优化:A级别报税管理费改为“税前收入*0.5%”。"}],"search_terms":["A档","AAA档","去除AA","税前收入*0.5%","文案优化"]} | ||
| 14 | +{"atom_id":"v4.48.0_24cafde88ffe","app_version":"v4.48.0","primary_module":"INCOME","modules":["INCOME"],"feature_scope":"提现金额输入时个税预算与到账金额展示","touchpoints":["提现","个税","金额输入"],"C":"提现金额输入或修改时","A":"实时(延迟0.5秒)计算并展示预计个税与到账","R":"显示预计缴纳个税与提现到账金额;未输入/为0/非数字/个税为0时提示您的收入依法纳税,平台将为您代办","canon_text":"C=提现金额输入或修改时|A=实时(延迟0.5秒)计算并展示预计个税与到账|R=显示预计缴纳个税与提现到账金额;未输入/为0/非数字/个税为0时提示您的收入依法纳税,平台将为您代办","merge_fingerprint":"24cafde88ffe","evidence":[{"source_type":"figma","file_key":"ujGJZpk2QTfRGIAZy2Zwlm","node_id":"497:2","figma_url":"https://www.figma.com/design/ujGJZpk2QTfRGIAZy2Zwlm/D-4.48.0-%E9%97%AE%E8%AF%8A%E5%9F%9F?node-id=497-2&p=f&t=tSUqwQfR1Mx2elVE-0","raw_text":"输入/修改金额实时(延迟0.5S)显示预计缴税金额和到账金额;当未输入金额或金额为0或非数字或个税为0时提示:您的收入依法纳税,平台将为您代办。"}],"search_terms":["提现","预计缴纳个税","提现到账金额","金额输入","延迟0.5s","平台将为您代办"]} | ||
| 15 | +{"atom_id":"v4.48.0_5c8623e85839","app_version":"v4.48.0","primary_module":"INCOME","modules":["INCOME"],"feature_scope":"提现完成后展示实际个税与到账字段","touchpoints":["提现详情","个税缴纳","到账金额"],"C":"提现已完成","A":"展示提现详情字段","R":"增加显示实际个税缴纳与提现到账金额","canon_text":"C=提现已完成|A=展示提现详情字段|R=增加显示实际个税缴纳与提现到账金额","merge_fingerprint":"5c8623e85839","evidence":[{"source_type":"figma","file_key":"ujGJZpk2QTfRGIAZy2Zwlm","node_id":"497:2","figma_url":"https://www.figma.com/design/ujGJZpk2QTfRGIAZy2Zwlm/D-4.48.0-%E9%97%AE%E8%AF%8A%E5%9F%9F?node-id=497-2&p=f&t=tSUqwQfR1Mx2elVE-0","raw_text":"已完成的提现,增加显示实际【个税缴纳】和【提现到账金额】字段。"}],"search_terms":["已完成提现","个税缴纳","提现到账金额","字段展示"]} | ||
| 16 | +{"atom_id":"v4.48.0_00a970d921bd","app_version":"v4.48.0","primary_module":"INCOME","modules":["INCOME"],"feature_scope":"两种模式个税缴纳时点说明","touchpoints":["入账","提现","个税缴纳时间"],"C":"对比维度个税缴纳时间","A":"展示两种模式纳税时点","R":"劳务模式入账时已自动缴纳;入驻模式入账时不缴纳,提现时平台代缴并扣税后到账","canon_text":"C=对比维度个税缴纳时间|A=展示两种模式纳税时点|R=劳务模式入账时已自动缴纳;入驻模式入账时不缴纳,提现时平台代缴并扣税后到账","merge_fingerprint":"00a970d921bd","evidence":[{"source_type":"figma","file_key":"ujGJZpk2QTfRGIAZy2Zwlm","node_id":"497:2","figma_url":"https://www.figma.com/design/ujGJZpk2QTfRGIAZy2Zwlm/D-4.48.0-%E9%97%AE%E8%AF%8A%E5%9F%9F?node-id=497-2&p=f&t=tSUqwQfR1Mx2elVE-0","raw_text":"增加对比维度:个税缴纳时间。劳务模式:入账时已自动缴纳;入驻模式:入账时不缴纳,提现时由灵活用工平台代缴个税,扣除个税后的金额提现到账。"}],"search_terms":["个税缴纳时间","劳务模式","入驻模式","入账缴税","提现代缴"]} | ||
| 17 | +{"atom_id":"v4.48.0_7d0f6912e956","app_version":"v4.48.0","primary_module":"INCOME","modules":["INCOME"],"feature_scope":"个税补贴/免征规则","touchpoints":["个税","税率","补贴"],"C":"个税税率与补贴规则","A":"计算个税税额","R":"补贴税率16%以上部分税额;劳务模式月收入低于800免征个税;月收入超过25000部分个税平台补贴","canon_text":"C=个税税率与补贴规则|A=计算个税税额|R=补贴税率16%以上部分税额;劳务模式月收入低于800免征个税;月收入超过25000部分个税平台补贴","merge_fingerprint":"7d0f6912e956","evidence":[{"source_type":"figma","file_key":"ujGJZpk2QTfRGIAZy2Zwlm","node_id":"497:2","figma_url":"https://www.figma.com/design/ujGJZpk2QTfRGIAZy2Zwlm/D-4.48.0-%E9%97%AE%E8%AF%8A%E5%9F%9F?node-id=497-2&p=f&t=tSUqwQfR1Mx2elVE-0","raw_text":"补贴税率16%以上部分税额;劳务模式下,月收入低于¥800的部分免征个税;月收入超过¥25000的部分所产生的个税,平台补贴。"}],"search_terms":["税率16%补贴","月收入800免税","月收入25000补贴","个税补贴"]} | ||
| 18 | +{"atom_id":"v4.48.0_eb1925de8d84","app_version":"v4.48.0","primary_module":"INCOME","modules":["INCOME"],"feature_scope":"10月1日起个税政策变更说明(代扣代缴)","touchpoints":["个税","政策变更","代扣代缴"],"C":"10月1日起财税新政","A":"确定收入性质与代扣义务","R":"收入界定为劳务报酬所得并入综合所得,平台依法预扣预缴个税","canon_text":"C=10月1日起财税新政|A=确定收入性质与代扣义务|R=收入界定为劳务报酬所得并入综合所得,平台依法预扣预缴个税","merge_fingerprint":"eb1925de8d84","evidence":[{"source_type":"figma","file_key":"ujGJZpk2QTfRGIAZy2Zwlm","node_id":"497:2","figma_url":"https://www.figma.com/design/ujGJZpk2QTfRGIAZy2Zwlm/D-4.48.0-%E9%97%AE%E8%AF%8A%E5%9F%9F?node-id=497-2&p=f&t=tSUqwQfR1Mx2elVE-0","raw_text":"现在(10月1日起):收入明确界定为“劳务报酬所得”,并入个人综合所得;平台有法定义务为您预扣预缴税款。"}],"search_terms":["10月1日","劳务报酬所得","综合所得","预扣预缴","财税新政"]} | ||
| 19 | +{"atom_id":"v4.48.0_d2508ad0ea40","app_version":"v4.48.0","primary_module":"PATIENT","modules":["PATIENT"],"feature_scope":"提问消息支持添加到补充病历","touchpoints":["医患聊天","补充病历","长按"],"C":"医患聊天消息为提问消息","A":"长按消息","R":"支持添加至补充病历","canon_text":"C=医患聊天消息为提问消息|A=长按消息|R=支持添加至补充病历","merge_fingerprint":"d2508ad0ea40","evidence":[{"source_type":"figma","file_key":"ujGJZpk2QTfRGIAZy2Zwlm","node_id":"78:15","figma_url":"https://www.figma.com/design/ujGJZpk2QTfRGIAZy2Zwlm/D-4.48.0-%E9%97%AE%E8%AF%8A%E5%9F%9F?node-id=78-15&p=f&t=tSUqwQfR1Mx2elVE-0","raw_text":"目前医患聊天页面文本和图片消息,支持长按添加到补充病历。希望提问消息也可长按添加到补充病历中去。"}],"search_terms":["提问消息","长按","添加至补充病历","医患聊天"]} |
build/v4.57.3/requirements.md
0 → 100644
| 1 | +--- | ||
| 2 | +app_version: v4.57.3 | ||
| 3 | +source: build/v4.57.3/rule_atoms.jsonl | ||
| 4 | +updated_at: 2026-03-13 | ||
| 5 | +--- | ||
| 6 | + | ||
| 7 | +一句话概述:多钱包提现合并优化、问诊页「完善/更换就诊人」相关优化(含返回二次确认)、患者门诊预约优化(患者加号发送校验/提示等)。 | ||
| 8 | + | ||
| 9 | +Figma链接: | ||
| 10 | +- `https://www.figma.com/design/t1NWQ5VaeWAY1Dnnd6Z7sF/%E9%97%AE%E8%AF%8A%E9%9C%80%E6%B1%821?node-id=0-1&p=f&t=flSnCQGA4rDQcFRb-0` |
build/v4.57.3/rule_atoms.jsonl
0 → 100644
| 1 | +{"atom_id":"v4.57.3_d17999ccb778","app_version":"v4.57.3","primary_module":"INCOME","modules":["INCOME"],"feature_scope":"钱包提现优化:多钱包合并提现","touchpoints":["钱包","提现"],"C":"同一笔提现涉及多个钱包(上海/银川/成都等)会对应第三方多笔订单","A":"用户发起提现","R":"系统支持不同钱包合并提现不报错","canon_text":"C=同一笔提现涉及多个钱包(上海/银川/成都等)会对应第三方多笔订单|A=用户发起提现|R=系统支持不同钱包合并提现不报错","merge_fingerprint":"d17999ccb778","evidence":[{"source_type":"figma","file_key":"t1NWQ5VaeWAY1Dnnd6Z7sF","node_id":"298:37","figma_url":"https://www.figma.com/design/t1NWQ5VaeWAY1Dnnd6Z7sF/%E9%97%AE%E8%AF%8A%E9%9C%80%E6%B1%821?node-id=298-37&p=f&t=flSnCQGA4rDQcFRb-0","raw_text":"需求背景:用户在APP发起一笔提现,如果涉及(上海、银川、成都)多个钱包,实际会对应第三方平台的多笔订单,目前会报错;需求内容:希望不同钱包的可以一起提现,譬如上海才燊和银川才燊"}],"search_terms":["提现","多钱包提现","合并提现","上海钱包","银川钱包","第三方多笔订单","报错"]} | ||
| 2 | +{"atom_id":"v4.57.3_30b19465bc1e","app_version":"v4.57.3","primary_module":"PATIENT","modules":["PATIENT","INQUIRY"],"feature_scope":"问诊支付后提醒完善就诊人","touchpoints":["支付弹框","问诊","就诊人"],"C":"支付弹框展示时","A":"支付成功后打开支付弹框","R":"提示:支付成功后,请完善就诊人,以免耽误接诊时间","canon_text":"C=支付弹框展示时|A=支付成功后打开支付弹框|R=提示:支付成功后,请完善就诊人,以免耽误接诊时间","merge_fingerprint":"30b19465bc1e","evidence":[{"source_type":"figma","file_key":"t1NWQ5VaeWAY1Dnnd6Z7sF","node_id":"243:54","figma_url":"https://www.figma.com/design/t1NWQ5VaeWAY1Dnnd6Z7sF/%E9%97%AE%E8%AF%8A%E9%9C%80%E6%B1%821?node-id=243-54&p=f&t=flSnCQGA4rDQcFRb-0","raw_text":"支付弹框增加提示:支付成功后,请完善就诊人,以免耽误接诊时间。"}],"search_terms":["支付成功","支付弹框提示","完善就诊人","接诊时间"]} | ||
| 3 | +{"atom_id":"v4.57.3_dc06f241c24b","app_version":"v4.57.3","primary_module":"PATIENT","modules":["PATIENT","INQUIRY"],"feature_scope":"未选择就诊人时返回二次确认","touchpoints":["选择就诊人页","返回","二次弹框"],"C":"选择就诊人页面且本问诊未手动选择就诊人","A":"点击返回","R":"二次弹框提示:您尚未提交就诊人信息,医生将无法为您接诊;点击“仍要退出”才执行返回","canon_text":"C=选择就诊人页面且本问诊未手动选择就诊人|A=点击返回|R=二次弹框提示:您尚未提交就诊人信息,医生将无法为您接诊;点击“仍要退出”才执行返回","merge_fingerprint":"dc06f241c24b","evidence":[{"source_type":"figma","file_key":"t1NWQ5VaeWAY1Dnnd6Z7sF","node_id":"243:54","figma_url":"https://www.figma.com/design/t1NWQ5VaeWAY1Dnnd6Z7sF/%E9%97%AE%E8%AF%8A%E9%9C%80%E6%B1%821?node-id=243-54&p=f&t=flSnCQGA4rDQcFRb-0","raw_text":"选择就诊人页面,如果本问诊尚未选择就诊人(AI2C默认提交是的档案不算用户选择,手动绑定的才算),则点击返回增加二次弹框提示:您尚未提交就诊人信息,医生将无法为您接诊。点击“仍要退出”后才会执行返回操作。"}],"search_terms":["未选择就诊人","选择就诊人","返回拦截","仍要退出","医生无法接诊"]} | ||
| 4 | +{"atom_id":"v4.57.3_3f861763a3a5","app_version":"v4.57.3","primary_module":"PATIENT","modules":["PATIENT","INQUIRY"],"feature_scope":"从聊天入口完善就诊人返回二次确认","touchpoints":["医患聊天","完善就诊人信息","返回","二次弹框"],"C":"从医患聊天页底部“完善就诊人信息”进入创建就诊人页面且本问诊未手动选择就诊人","A":"点击返回","R":"二次弹框提示同上;点击“仍要退出”才执行返回","canon_text":"C=从医患聊天页底部“完善就诊人信息”进入创建就诊人页面且本问诊未手动选择就诊人|A=点击返回|R=二次弹框提示同上;点击“仍要退出”才执行返回","merge_fingerprint":"3f861763a3a5","evidence":[{"source_type":"figma","file_key":"t1NWQ5VaeWAY1Dnnd6Z7sF","node_id":"243:54","figma_url":"https://www.figma.com/design/t1NWQ5VaeWAY1Dnnd6Z7sF/%E9%97%AE%E8%AF%8A%E9%9C%80%E6%B1%821?node-id=243-54&p=f&t=flSnCQGA4rDQcFRb-0","raw_text":"如果点击医患聊天页面底部“完善就诊人信息”按钮进入创建就诊人页面,点击返回也需要二次弹框提示,同上"}],"search_terms":["医患聊天","完善就诊人信息","返回拦截","二次弹框"]} | ||
| 5 | +{"atom_id":"v4.57.3_63f8b5544b6b","app_version":"v4.57.3","primary_module":"PATIENT","modules":["PATIENT","INQUIRY"],"feature_scope":"搜索备注含字母+数字时支持纯数字命中","touchpoints":["患者列表搜索","咨询列表搜索","备注"],"C":"患者/咨询搜索目标存在备注为“大家321”等字母+数字组合","A":"仅输入数字(如321)进行搜索","R":"搜索应命中该备注内容(修复原先搜不出)","canon_text":"C=患者/咨询搜索目标存在备注为“大家321”等字母+数字组合|A=仅输入数字(如321)进行搜索|R=搜索应命中该备注内容(修复原先搜不出)","merge_fingerprint":"63f8b5544b6b","evidence":[{"source_type":"figma","file_key":"t1NWQ5VaeWAY1Dnnd6Z7sF","node_id":"164:2","figma_url":"https://www.figma.com/design/t1NWQ5VaeWAY1Dnnd6Z7sF/%E9%97%AE%E8%AF%8A%E9%9C%80%E6%B1%821?node-id=164-2&p=f&t=flSnCQGA4rDQcFRb-0","raw_text":"目前搜索如果是备注里面含有自符+数字,比如:大家321,搜索321的时候无法搜出。"}],"search_terms":["搜索","备注","数字搜索","大家321","患者列表","咨询列表"]} | ||
| 6 | +{"atom_id":"v4.57.3_6aa3d15413c1","app_version":"v4.57.3","primary_module":"INQUIRY","modules":["INQUIRY","PATIENT"],"feature_scope":"主诉页支持更换就诊人","touchpoints":["填写主诉","更换就诊人"],"C":"填写主诉页面","A":"提供“更换就诊人”入口","R":"用户可选择其他就诊人或添加新就诊人,原就诊人默认选中","canon_text":"C=填写主诉页面|A=提供“更换就诊人”入口|R=用户可选择其他就诊人或添加新就诊人,原就诊人默认选中","merge_fingerprint":"6aa3d15413c1","evidence":[{"source_type":"figma","file_key":"t1NWQ5VaeWAY1Dnnd6Z7sF","node_id":"301:92","figma_url":"https://www.figma.com/design/t1NWQ5VaeWAY1Dnnd6Z7sF/%E9%97%AE%E8%AF%8A%E9%9C%80%E6%B1%821?node-id=301-92&p=f&t=flSnCQGA4rDQcFRb-0","raw_text":"增加更换就诊人入口;用户可以选择其他就诊人(原就诊人默认选中),或添加新就诊人"}],"search_terms":["主诉","更换就诊人","选择其他就诊人","添加新就诊人"]} | ||
| 7 | +{"atom_id":"v4.57.3_942c20775bcd","app_version":"v4.57.3","primary_module":"INQUIRY","modules":["INQUIRY","PATIENT"],"feature_scope":"更换就诊人确认后返回主诉页","touchpoints":["更换就诊人","确认更换","主诉"],"C":"更换就诊人弹窗/页面已选中目标就诊人","A":"点击“确认更换”","R":"更换成功并返回主诉填写页面(可再次修改/更换)","canon_text":"C=更换就诊人弹窗/页面已选中目标就诊人|A=点击“确认更换”|R=更换成功并返回主诉填写页面(可再次修改/更换)","merge_fingerprint":"942c20775bcd","evidence":[{"source_type":"figma","file_key":"t1NWQ5VaeWAY1Dnnd6Z7sF","node_id":"301:92","figma_url":"https://www.figma.com/design/t1NWQ5VaeWAY1Dnnd6Z7sF/%E9%97%AE%E8%AF%8A%E9%9C%80%E6%B1%821?node-id=301-92&p=f&t=flSnCQGA4rDQcFRb-0","raw_text":"选中就诊人,点击确认更换后,更换成功并返回主诉填写页面(用户可以再次修改或更换就诊人);按钮:确认更换"}],"search_terms":["确认更换","更换成功","返回主诉","再次修改","再次更换"]} | ||
| 8 | +{"atom_id":"v4.57.3_4f9091bd6b05","app_version":"v4.57.3","primary_module":"PATIENT","modules":["PATIENT","INQUIRY"],"feature_scope":"更换就诊人时姓名/身份证可编辑规则","touchpoints":["更换就诊人","姓名","身份证"],"C":"更换就诊人流程中编辑姓名/身份证","A":"当姓名和身份证都有值时尝试修改","R":"不可修改;当姓名/身份证任一未填写时可修改","canon_text":"C=更换就诊人流程中编辑姓名/身份证|A=当姓名和身份证都有值时尝试修改|R=不可修改;当姓名/身份证任一未填写时可修改","merge_fingerprint":"4f9091bd6b05","evidence":[{"source_type":"figma","file_key":"t1NWQ5VaeWAY1Dnnd6Z7sF","node_id":"301:92","figma_url":"https://www.figma.com/design/t1NWQ5VaeWAY1Dnnd6Z7sF/%E9%97%AE%E8%AF%8A%E9%9C%80%E6%B1%821?node-id=301-92&p=f&t=flSnCQGA4rDQcFRb-0","raw_text":"【0311】当姓名、身份证都有值的时候不可修改;当姓名、身份证有任一个未填写的时候可以修改"}],"search_terms":["姓名不可修改","身份证不可修改","字段编辑规则","0311"]} | ||
| 9 | +{"atom_id":"v4.57.3_f84696d6381e","app_version":"v4.57.3","primary_module":"PATIENT","modules":["PATIENT","INQUIRY"],"feature_scope":"更换就诊人时隐藏关系字段","touchpoints":["更换就诊人","就诊人关系"],"C":"更换就诊人流程","A":"展示就诊人信息表单","R":"隐藏“就诊人关系”字段","canon_text":"C=更换就诊人流程|A=展示就诊人信息表单|R=隐藏“就诊人关系”字段","merge_fingerprint":"f84696d6381e","evidence":[{"source_type":"figma","file_key":"t1NWQ5VaeWAY1Dnnd6Z7sF","node_id":"301:92","figma_url":"https://www.figma.com/design/t1NWQ5VaeWAY1Dnnd6Z7sF/%E9%97%AE%E8%AF%8A%E9%9C%80%E6%B1%821?node-id=301-92&p=f&t=flSnCQGA4rDQcFRb-0","raw_text":"【0310】隐藏就诊人关系字段"}],"search_terms":["隐藏字段","就诊人关系","0310"]} | ||
| 10 | +{"atom_id":"v4.57.3_2b0add749564","app_version":"v4.57.3","primary_module":"CLINIC","modules":["CLINIC"],"feature_scope":"患者加号发送前校验时间段","touchpoints":["加号","发送给患者","坐诊时间段"],"C":"加号/加班门诊发送给患者前未选择坐诊时间段","A":"点击“发送给患者”","R":"提示:请选择坐诊时间段","canon_text":"C=加号/加班门诊发送给患者前未选择坐诊时间段|A=点击“发送给患者”|R=提示:请选择坐诊时间段","merge_fingerprint":"2b0add749564","evidence":[{"source_type":"figma","file_key":"t1NWQ5VaeWAY1Dnnd6Z7sF","node_id":"397:922","figma_url":"https://www.figma.com/design/t1NWQ5VaeWAY1Dnnd6Z7sF/%E9%97%AE%E8%AF%8A%E9%9C%80%E6%B1%821?node-id=397-922&p=f&t=flSnCQGA4rDQcFRb-0","raw_text":"未选择时间段,点击「发送给患者」提示:请选择坐诊时间段"}],"search_terms":["加号","发送给患者","未选择时间段","请选择坐诊时间段"]} | ||
| 11 | +{"atom_id":"v4.57.3_15c53aa02d81","app_version":"v4.57.3","primary_module":"CLINIC","modules":["CLINIC"],"feature_scope":"患者加号发送校验当天排班","touchpoints":["加号","发送给患者","排班"],"C":"当天无坐诊排班","A":"点击“发送给患者”","R":"提示:您当天没有坐诊排班","canon_text":"C=当天无坐诊排班|A=点击“发送给患者”|R=提示:您当天没有坐诊排班","merge_fingerprint":"15c53aa02d81","evidence":[{"source_type":"figma","file_key":"t1NWQ5VaeWAY1Dnnd6Z7sF","node_id":"397:922","figma_url":"https://www.figma.com/design/t1NWQ5VaeWAY1Dnnd6Z7sF/%E9%97%AE%E8%AF%8A%E9%9C%80%E6%B1%821?node-id=397-922&p=f&t=flSnCQGA4rDQcFRb-0","raw_text":"点击「发送给患者」提示:您当天没有坐诊排班"}],"search_terms":["无排班","坐诊排班","发送给患者","加号"]} | ||
| 12 | +{"atom_id":"v4.57.3_c2808896a76b","app_version":"v4.57.3","primary_module":"CLINIC","modules":["CLINIC"],"feature_scope":"患者加号发送校验坐诊时间是否结束","touchpoints":["加号","发送给患者","坐诊时间"],"C":"当天坐诊时间已结束","A":"点击“发送给患者”","R":"提示:您当天坐诊时间已结束","canon_text":"C=当天坐诊时间已结束|A=点击“发送给患者”|R=提示:您当天坐诊时间已结束","merge_fingerprint":"c2808896a76b","evidence":[{"source_type":"figma","file_key":"t1NWQ5VaeWAY1Dnnd6Z7sF","node_id":"397:922","figma_url":"https://www.figma.com/design/t1NWQ5VaeWAY1Dnnd6Z7sF/%E9%97%AE%E8%AF%8A%E9%9C%80%E6%B1%821?node-id=397-922&p=f&t=flSnCQGA4rDQcFRb-0","raw_text":"点击「发送给患者」提示:您当天坐诊时间已结束"}],"search_terms":["坐诊时间已结束","发送给患者","加号"]} | ||
| 13 | +{"atom_id":"v4.57.3_24c4d18cd590","app_version":"v4.57.3","primary_module":"CLINIC","modules":["CLINIC"],"feature_scope":"患者加号发送成功提示","touchpoints":["加号","发送给患者","toast"],"C":"选择了坐诊时间段且满足发送条件","A":"点击“发送给患者”","R":"提示:患者加号发送成功","canon_text":"C=选择了坐诊时间段且满足发送条件|A=点击“发送给患者”|R=提示:患者加号发送成功","merge_fingerprint":"24c4d18cd590","evidence":[{"source_type":"figma","file_key":"t1NWQ5VaeWAY1Dnnd6Z7sF","node_id":"397:922","figma_url":"https://www.figma.com/design/t1NWQ5VaeWAY1Dnnd6Z7sF/%E9%97%AE%E8%AF%8A%E9%9C%80%E6%B1%821?node-id=397-922&p=f&t=flSnCQGA4rDQcFRb-0","raw_text":"患者加号发送成功"}],"search_terms":["患者加号","发送成功","toast"]} | ||
| 14 | +{"atom_id":"v4.57.3_b2fbab9f6eb0","app_version":"v4.57.3","primary_module":"CLINIC","modules":["CLINIC"],"feature_scope":"加号已占用时预约提示名额已满","touchpoints":["预约挂号","加号","预约加班门诊"],"C":"患者预约加号时该加号已被本人或他人使用","A":"点击加号预约/确定预约加班门诊","R":"提示:加号名额已满,无法继续预约","canon_text":"C=患者预约加号时该加号已被本人或他人使用|A=点击加号预约/确定预约加班门诊|R=提示:加号名额已满,无法继续预约","merge_fingerprint":"b2fbab9f6eb0","evidence":[{"source_type":"figma","file_key":"t1NWQ5VaeWAY1Dnnd6Z7sF","node_id":"397:922","figma_url":"https://www.figma.com/design/t1NWQ5VaeWAY1Dnnd6Z7sF/%E9%97%AE%E8%AF%8A%E9%9C%80%E6%B1%821?node-id=397-922&p=f&t=flSnCQGA4rDQcFRb-0","raw_text":"患者预约时,如果加号已经被本人或其他人使用了,点击加号预约提示:加号名额已满,无法继续预约"}],"search_terms":["加号名额已满","无法继续预约","加号被使用","预约加班门诊"]} | ||
| 15 | +{"atom_id":"v4.57.3_0fed7ac69bb5","app_version":"v4.57.3","primary_module":"CLINIC","modules":["CLINIC"],"feature_scope":"小程序医生分享支持复制链接","touchpoints":["小程序","医生主页","分享","复制链接"],"C":"小程序医生主页分享面板","A":"点击“复制链接”","R":"复制医生主页/复诊链接到剪贴板(便于公众号文章置顶)","canon_text":"C=小程序医生主页分享面板|A=点击“复制链接”|R=复制医生主页/复诊链接到剪贴板(便于公众号文章置顶)","merge_fingerprint":"0fed7ac69bb5","evidence":[{"source_type":"figma","file_key":"t1NWQ5VaeWAY1Dnnd6Z7sF","node_id":"346:812","figma_url":"https://www.figma.com/design/t1NWQ5VaeWAY1Dnnd6Z7sF/%E9%97%AE%E8%AF%8A%E9%9C%80%E6%B1%821?node-id=346-812&p=f&t=flSnCQGA4rDQcFRb-0","raw_text":"小程序医生主页分享增加“复制链接”功能"}],"search_terms":["小程序","医生分享","复制链接","复诊链接","公众号文章置顶"]} | ||
| 16 | +{"atom_id":"v4.57.3_2cef4f9bf435","app_version":"v4.57.3","primary_module":"INQUIRY","modules":["INQUIRY"],"feature_scope":"iOS 资料库增加搜索入口","touchpoints":["iOS","患教文章","资料库","搜索栏"],"C":"iOS“患教文章-资料库”页面","A":"进入资料库","R":"增加搜索栏/搜索入口(与安卓一致,支持搜索资料库内容)","canon_text":"C=iOS“患教文章-资料库”页面|A=进入资料库|R=增加搜索栏/搜索入口(与安卓一致,支持搜索资料库内容)","merge_fingerprint":"2cef4f9bf435","evidence":[{"source_type":"figma","file_key":"t1NWQ5VaeWAY1Dnnd6Z7sF","node_id":"448:2","figma_url":"https://www.figma.com/design/t1NWQ5VaeWAY1Dnnd6Z7sF/%E9%97%AE%E8%AF%8A%E9%9C%80%E6%B1%821?node-id=448-2&p=f&t=flSnCQGA4rDQcFRb-0","raw_text":"ios“患教文章-资料库”没有搜索栏,和安卓不一致。需要增加此功能。"}],"search_terms":["iOS","患教文章","资料库","搜索栏","安卓一致"]} | ||
| 17 | +{"atom_id":"v4.57.3_cb6c0f657af8","app_version":"v4.57.3","primary_module":"CLINIC","modules":["CLINIC"],"feature_scope":"医生端预约记录按日期筛选","touchpoints":["预约记录","日期筛选","机构筛选"],"C":"医生端预约记录页面","A":"按日期筛选预约记录","R":"新增日期筛选按钮;日期与机构筛选为且关系;可查看历史日期不限制;“全部”更名为“近期”","canon_text":"C=医生端预约记录页面|A=按日期筛选预约记录|R=新增日期筛选按钮;日期与机构筛选为且关系;可查看历史日期不限制;“全部”更名为“近期”","merge_fingerprint":"cb6c0f657af8","evidence":[{"source_type":"figma","file_key":"t1NWQ5VaeWAY1Dnnd6Z7sF","node_id":"0:1","figma_url":"https://www.figma.com/design/t1NWQ5VaeWAY1Dnnd6Z7sF/%E9%97%AE%E8%AF%8A%E9%9C%80%E6%B1%821?node-id=0-1&p=f&t=flSnCQGA4rDQcFRb-0","raw_text":"预约记录页面增加按日期筛选的按钮,点击可以查看选定时间内的预约记录(日期和机构筛选是且关系)。可以查看历史日期的预约记录,不做限制。“全部”更名为“近期”"}],"search_terms":["预约记录","日期筛选","机构筛选","且关系","历史预约","近期"]} | ||
| 18 | +{"atom_id":"v4.57.3_64355e2184bc","app_version":"v4.57.3","primary_module":"CLINIC","modules":["CLINIC"],"feature_scope":"患者端预约成功页信息与入口优化","touchpoints":["预约成功","预约记录","取消预约","保存凭证"],"C":"患者端预约成功后页面","A":"展示预约成功结果页","R":"提示挂号成功并告知查看预约记录入口(支持点击跳转);强化“取消预约”“保存凭证”;突出序号/就诊时间/医生/机构字段","canon_text":"C=患者端预约成功后页面|A=展示预约成功结果页|R=提示挂号成功并告知查看预约记录入口(支持点击跳转);强化“取消预约”“保存凭证”;突出序号/就诊时间/医生/机构字段","merge_fingerprint":"64355e2184bc","evidence":[{"source_type":"figma","file_key":"t1NWQ5VaeWAY1Dnnd6Z7sF","node_id":"0:1","figma_url":"https://www.figma.com/design/t1NWQ5VaeWAY1Dnnd6Z7sF/%E9%97%AE%E8%AF%8A%E9%9C%80%E6%B1%821?node-id=0-1&p=f&t=flSnCQGA4rDQcFRb-0","raw_text":"患者端预约成功后,页面显示优化:提示挂号成功,告知查看预约记录的常规入口(支持点击跳转),加强“取消预约”和“保存凭证”按钮显示,突出挂号成功后最关心的字段(序号、就诊时间、医生、就诊机构)"}],"search_terms":["预约成功","挂号成功","查看预约记录入口","取消预约","保存凭证","序号","就诊时间"]} | ||
| 19 | +{"atom_id":"v4.57.3_4f4ac0066835","app_version":"v4.57.3","primary_module":"CLINIC","modules":["CLINIC"],"feature_scope":"患者端预约时间展示按时间点归属上中下分组","touchpoints":["预约时间","上午下午晚上","时间点"],"C":"患者端预约选择时间","A":"展示可预约时间段","R":"按预约时间点(如6:00)归属上午/下午/晚上展示,而非按医生端坐诊时段维度","canon_text":"C=患者端预约选择时间|A=展示可预约时间段|R=按预约时间点(如6:00)归属上午/下午/晚上展示,而非按医生端坐诊时段维度","merge_fingerprint":"4f4ac0066835","evidence":[{"source_type":"figma","file_key":"t1NWQ5VaeWAY1Dnnd6Z7sF","node_id":"0:1","figma_url":"https://www.figma.com/design/t1NWQ5VaeWAY1Dnnd6Z7sF/%E9%97%AE%E8%AF%8A%E9%9C%80%E6%B1%821?node-id=0-1&p=f&t=flSnCQGA4rDQcFRb-0","raw_text":"患者端预约时,不再按医生端每个坐诊时段维度去显示,而是按照每个预约时间点归属上午/下午/晚上来显示"}],"search_terms":["预约时间点","上午下午晚上","坐诊时段","展示优化","时间分组"]} |
build/v4.57.3/rule_view.md
0 → 100644
| 1 | +--- | ||
| 2 | +title: v4.57.3 规则视图(Figma -> rule_atoms) | ||
| 3 | +app_version: v4.57.3 | ||
| 4 | +source: figma | ||
| 5 | +updated_at: 2026-03-12 | ||
| 6 | +--- | ||
| 7 | + | ||
| 8 | +> 说明:本文件是 `build/v4.57.3/rule_atoms.jsonl` 的“人可读视图”,字段以 RAG 检索友好为主(C/A/R + 指纹 + 证据链接)。 | ||
| 9 | + | ||
| 10 | +## INCOME | ||
| 11 | + | ||
| 12 | +### v4.57.3_d17999ccb778(d17999ccb778) | ||
| 13 | +- **modules**: INCOME | ||
| 14 | +- **C**: 同一笔提现涉及多个钱包(上海/银川/成都等)会对应第三方多笔订单 | ||
| 15 | +- **A**: 用户发起提现 | ||
| 16 | +- **R**: 系统支持不同钱包合并提现不报错 | ||
| 17 | +- **evidence**: `node_id=298:37`(`https://www.figma.com/design/t1NWQ5VaeWAY1Dnnd6Z7sF/%E9%97%AE%E8%AF%8A%E9%9C%80%E6%B1%821?node-id=298-37&p=f&t=flSnCQGA4rDQcFRb-0`) | ||
| 18 | + | ||
| 19 | +## PATIENT / INQUIRY | ||
| 20 | + | ||
| 21 | +### v4.57.3_30b19465bc1e(30b19465bc1e) | ||
| 22 | +- **modules**: PATIENT, INQUIRY | ||
| 23 | +- **C**: 支付弹框展示时 | ||
| 24 | +- **A**: 支付成功后打开支付弹框 | ||
| 25 | +- **R**: 提示:支付成功后,请完善就诊人,以免耽误接诊时间 | ||
| 26 | +- **evidence**: `node_id=243:54`(`https://www.figma.com/design/t1NWQ5VaeWAY1Dnnd6Z7sF/%E9%97%AE%E8%AF%8A%E9%9C%80%E6%B1%821?node-id=243-54&p=f&t=flSnCQGA4rDQcFRb-0`) | ||
| 27 | + | ||
| 28 | +### v4.57.3_dc06f241c24b(dc06f241c24b) | ||
| 29 | +- **modules**: PATIENT, INQUIRY | ||
| 30 | +- **C**: 选择就诊人页面且本问诊未手动选择就诊人 | ||
| 31 | +- **A**: 点击返回 | ||
| 32 | +- **R**: 二次弹框提示「您尚未提交就诊人信息,医生将无法为您接诊」;点击「仍要退出」才执行返回 | ||
| 33 | +- **evidence**: `node_id=243:54`(同上链接) | ||
| 34 | + | ||
| 35 | +### v4.57.3_3f861763a3a5(3f861763a3a5) | ||
| 36 | +- **modules**: PATIENT, INQUIRY | ||
| 37 | +- **C**: 从医患聊天页底部“完善就诊人信息”进入创建就诊人页面且本问诊未手动选择就诊人 | ||
| 38 | +- **A**: 点击返回 | ||
| 39 | +- **R**: 二次弹框提示同上;点击「仍要退出」才执行返回 | ||
| 40 | +- **evidence**: `node_id=243:54`(同上链接) | ||
| 41 | + | ||
| 42 | +### v4.57.3_63f8b5544b6b(63f8b5544b6b) | ||
| 43 | +- **modules**: PATIENT, INQUIRY | ||
| 44 | +- **C**: 搜索目标备注为“大家321”等字母+数字组合 | ||
| 45 | +- **A**: 仅输入数字(如321)搜索 | ||
| 46 | +- **R**: 搜索应命中该备注内容(修复原先搜不出) | ||
| 47 | +- **evidence**: `node_id=164:2`(`https://www.figma.com/design/t1NWQ5VaeWAY1Dnnd6Z7sF/%E9%97%AE%E8%AF%8A%E9%9C%80%E6%B1%821?node-id=164-2&p=f&t=flSnCQGA4rDQcFRb-0`) | ||
| 48 | + | ||
| 49 | +### v4.57.3_6aa3d15413c1(6aa3d15413c1) | ||
| 50 | +- **modules**: INQUIRY, PATIENT | ||
| 51 | +- **C**: 填写主诉页面 | ||
| 52 | +- **A**: 提供“更换就诊人”入口 | ||
| 53 | +- **R**: 可选择其他就诊人或添加新就诊人,原就诊人默认选中 | ||
| 54 | +- **evidence**: `node_id=301:92`(`https://www.figma.com/design/t1NWQ5VaeWAY1Dnnd6Z7sF/%E9%97%AE%E8%AF%8A%E9%9C%80%E6%B1%821?node-id=301-92&p=f&t=flSnCQGA4rDQcFRb-0`) | ||
| 55 | + | ||
| 56 | +### v4.57.3_942c20775bcd(942c20775bcd) | ||
| 57 | +- **modules**: INQUIRY, PATIENT | ||
| 58 | +- **C**: 已选中目标就诊人 | ||
| 59 | +- **A**: 点击「确认更换」 | ||
| 60 | +- **R**: 更换成功并返回主诉页(可再次修改/更换) | ||
| 61 | +- **evidence**: `node_id=301:92`(同上链接) | ||
| 62 | + | ||
| 63 | +### v4.57.3_4f9091bd6b05(4f9091bd6b05) | ||
| 64 | +- **modules**: PATIENT, INQUIRY | ||
| 65 | +- **C**: 更换就诊人流程中编辑姓名/身份证 | ||
| 66 | +- **A**: 姓名和身份证都有值时尝试修改 | ||
| 67 | +- **R**: 不可修改;任一未填写时可修改 | ||
| 68 | +- **evidence**: `node_id=301:92`(同上链接) | ||
| 69 | + | ||
| 70 | +### v4.57.3_f84696d6381e(f84696d6381e) | ||
| 71 | +- **modules**: PATIENT, INQUIRY | ||
| 72 | +- **C**: 更换就诊人流程 | ||
| 73 | +- **A**: 展示就诊人信息表单 | ||
| 74 | +- **R**: 隐藏「就诊人关系」字段 | ||
| 75 | +- **evidence**: `node_id=301:92`(同上链接) | ||
| 76 | + | ||
| 77 | +## CLINIC | ||
| 78 | + | ||
| 79 | +### v4.57.3_2b0add749564(2b0add749564) | ||
| 80 | +- **modules**: CLINIC | ||
| 81 | +- **C**: 未选择坐诊时间段 | ||
| 82 | +- **A**: 点击「发送给患者」 | ||
| 83 | +- **R**: 提示「请选择坐诊时间段」 | ||
| 84 | +- **evidence**: `node_id=397:922`(`https://www.figma.com/design/t1NWQ5VaeWAY1Dnnd6Z7sF/%E9%97%AE%E8%AF%8A%E9%9C%80%E6%B1%821?node-id=397-922&p=f&t=flSnCQGA4rDQcFRb-0`) | ||
| 85 | + | ||
| 86 | +### v4.57.3_15c53aa02d81(15c53aa02d81) | ||
| 87 | +- **modules**: CLINIC | ||
| 88 | +- **C**: 当天无坐诊排班 | ||
| 89 | +- **A**: 点击「发送给患者」 | ||
| 90 | +- **R**: 提示「您当天没有坐诊排班」 | ||
| 91 | +- **evidence**: `node_id=397:922`(同上链接) | ||
| 92 | + | ||
| 93 | +### v4.57.3_c2808896a76b(c2808896a76b) | ||
| 94 | +- **modules**: CLINIC | ||
| 95 | +- **C**: 当天坐诊时间已结束 | ||
| 96 | +- **A**: 点击「发送给患者」 | ||
| 97 | +- **R**: 提示「您当天坐诊时间已结束」 | ||
| 98 | +- **evidence**: `node_id=397:922`(同上链接) | ||
| 99 | + | ||
| 100 | +### v4.57.3_24c4d18cd590(24c4d18cd590) | ||
| 101 | +- **modules**: CLINIC | ||
| 102 | +- **C**: 已选择坐诊时间段且满足发送条件 | ||
| 103 | +- **A**: 点击「发送给患者」 | ||
| 104 | +- **R**: 提示「患者加号发送成功」 | ||
| 105 | +- **evidence**: `node_id=397:922`(同上链接) | ||
| 106 | + | ||
| 107 | +### v4.57.3_b2fbab9f6eb0(b2fbab9f6eb0) | ||
| 108 | +- **modules**: CLINIC | ||
| 109 | +- **C**: 加号已被本人或其他人使用 | ||
| 110 | +- **A**: 点击加号预约/确定预约加班门诊 | ||
| 111 | +- **R**: 提示「加号名额已满,无法继续预约」 | ||
| 112 | +- **evidence**: `node_id=397:922`(同上链接) | ||
| 113 | + | ||
| 114 | +### v4.57.3_0fed7ac69bb5(0fed7ac69bb5) | ||
| 115 | +- **modules**: CLINIC | ||
| 116 | +- **C**: 小程序医生主页分享面板 | ||
| 117 | +- **A**: 点击「复制链接」 | ||
| 118 | +- **R**: 复制医生主页/复诊链接到剪贴板 | ||
| 119 | +- **evidence**: `node_id=346:812`(`https://www.figma.com/design/t1NWQ5VaeWAY1Dnnd6Z7sF/%E9%97%AE%E8%AF%8A%E9%9C%80%E6%B1%821?node-id=346-812&p=f&t=flSnCQGA4rDQcFRb-0`) | ||
| 120 | + | ||
| 121 | +### v4.57.3_cb6c0f657af8(cb6c0f657af8) | ||
| 122 | +- **modules**: CLINIC | ||
| 123 | +- **C**: 医生端预约记录页面 | ||
| 124 | +- **A**: 按日期筛选预约记录 | ||
| 125 | +- **R**: 新增日期筛选按钮;日期与机构筛选为且关系;可查看历史日期不限制;「全部」更名为「近期」 | ||
| 126 | +- **evidence**: `node_id=0:1`(`https://www.figma.com/design/t1NWQ5VaeWAY1Dnnd6Z7sF/%E9%97%AE%E8%AF%8A%E9%9C%80%E6%B1%821?node-id=0-1&p=f&t=flSnCQGA4rDQcFRb-0`) | ||
| 127 | + | ||
| 128 | +### v4.57.3_64355e2184bc(64355e2184bc) | ||
| 129 | +- **modules**: CLINIC | ||
| 130 | +- **C**: 患者端预约成功后页面 | ||
| 131 | +- **A**: 展示预约成功结果页 | ||
| 132 | +- **R**: 提示挂号成功并告知查看预约记录入口(可点击跳转);强化「取消预约」「保存凭证」;突出序号/就诊时间/医生/机构字段 | ||
| 133 | +- **evidence**: `node_id=0:1`(同上链接) | ||
| 134 | + | ||
| 135 | +### v4.57.3_4f4ac0066835(4f4ac0066835) | ||
| 136 | +- **modules**: CLINIC | ||
| 137 | +- **C**: 患者端预约选择时间 | ||
| 138 | +- **A**: 展示可预约时间段 | ||
| 139 | +- **R**: 按预约时间点归属上午/下午/晚上展示(非按医生端坐诊时段维度) | ||
| 140 | +- **evidence**: `node_id=0:1`(同上链接) | ||
| 141 | + | ||
| 142 | +## INQUIRY | ||
| 143 | + | ||
| 144 | +### v4.57.3_2cef4f9bf435(2cef4f9bf435) | ||
| 145 | +- **modules**: INQUIRY | ||
| 146 | +- **C**: iOS「患教文章-资料库」页面 | ||
| 147 | +- **A**: 进入资料库 | ||
| 148 | +- **R**: 增加搜索栏/搜索入口(与安卓一致,支持搜索资料库内容) | ||
| 149 | +- **evidence**: `node_id=448:2`(`https://www.figma.com/design/t1NWQ5VaeWAY1Dnnd6Z7sF/%E9%97%AE%E8%AF%8A%E9%9C%80%E6%B1%821?node-id=448-2&p=f&t=flSnCQGA4rDQcFRb-0`) | ||
| 150 | + |
This diff could not be displayed because it is too large.
docs/Figma链接索引_来自历史对话_v1.md
0 → 100644
| 1 | +--- | ||
| 2 | +title: Figma 链接索引(来自历史对话,v1) | ||
| 3 | +status: draft | ||
| 4 | +owner: xwk | ||
| 5 | +updated_at: 2026-03-12 | ||
| 6 | +--- | ||
| 7 | + | ||
| 8 | +> 用途:把你历史对话里发过的 Figma 链接 **按 app_version 汇总成索引**,后续你无需重复发送,我也可以按此索引做批量生成(rule_atoms / 规则视图 / 用例视图 / 对齐报表)。 | ||
| 9 | +> | ||
| 10 | +> 说明: | ||
| 11 | +> - 索引只负责“收录链接 + 版本归属 + 你当时标注的模块(若有)” | ||
| 12 | +> - **合并对齐不以模块为主键**,模块仅用于检索/路由/预评审元数据 | ||
| 13 | + | ||
| 14 | +--- | ||
| 15 | + | ||
| 16 | +## v4.57.3 | ||
| 17 | +- https://www.figma.com/design/t1NWQ5VaeWAY1Dnnd6Z7sF/%E9%97%AE%E8%AF%8A%E9%9C%80%E6%B1%821?node-id=298-37&p=f&t=flSnCQGA4rDQcFRb-0 | ||
| 18 | +- https://www.figma.com/design/t1NWQ5VaeWAY1Dnnd6Z7sF/%E9%97%AE%E8%AF%8A%E9%9C%80%E6%B1%821?node-id=243-54&p=f&t=flSnCQGA4rDQcFRb-0 | ||
| 19 | +- https://www.figma.com/design/t1NWQ5VaeWAY1Dnnd6Z7sF/%E9%97%AE%E8%AF%8A%E9%9C%80%E6%B1%821?node-id=164-2&p=f&t=flSnCQGA4rDQcFRb-0 | ||
| 20 | +- https://www.figma.com/design/t1NWQ5VaeWAY1Dnnd6Z7sF/%E9%97%AE%E8%AF%8A%E9%9C%80%E6%B1%821?node-id=301-92&p=f&t=flSnCQGA4rDQcFRb-0 | ||
| 21 | +- https://www.figma.com/design/t1NWQ5VaeWAY1Dnnd6Z7sF/%E9%97%AE%E8%AF%8A%E9%9C%80%E6%B1%821?node-id=0-1&p=f&t=flSnCQGA4rDQcFRb-0 | ||
| 22 | +- https://www.figma.com/design/t1NWQ5VaeWAY1Dnnd6Z7sF/%E9%97%AE%E8%AF%8A%E9%9C%80%E6%B1%821?node-id=397-922&p=f&t=flSnCQGA4rDQcFRb-0 | ||
| 23 | +- https://www.figma.com/design/t1NWQ5VaeWAY1Dnnd6Z7sF/%E9%97%AE%E8%AF%8A%E9%9C%80%E6%B1%821?node-id=346-812&p=f&t=flSnCQGA4rDQcFRb-0 | ||
| 24 | +- https://www.figma.com/design/t1NWQ5VaeWAY1Dnnd6Z7sF/%E9%97%AE%E8%AF%8A%E9%9C%80%E6%B1%821?node-id=448-2&p=f&t=flSnCQGA4rDQcFRb-0 | ||
| 25 | + | ||
| 26 | +## v4.48.0 | ||
| 27 | +- AUTH: https://www.figma.com/design/ujGJZpk2QTfRGIAZy2Zwlm/D-4.48.0-%E9%97%AE%E8%AF%8A%E5%9F%9F?node-id=977-519&p=f&t=tSUqwQfR1Mx2elVE-0 | ||
| 28 | +- INCOME: https://www.figma.com/design/ujGJZpk2QTfRGIAZy2Zwlm/D-4.48.0-%E9%97%AE%E8%AF%8A%E5%9F%9F?node-id=1067-519&p=f&t=tSUqwQfR1Mx2elVE-0 | ||
| 29 | +- INCOME: https://www.figma.com/design/ujGJZpk2QTfRGIAZy2Zwlm/D-4.48.0-%E9%97%AE%E8%AF%8A%E5%9F%9F?node-id=497-2&p=f&t=tSUqwQfR1Mx2elVE-0 | ||
| 30 | +- PATIENT: https://www.figma.com/design/ujGJZpk2QTfRGIAZy2Zwlm/D-4.48.0-%E9%97%AE%E8%AF%8A%E5%9F%9F?node-id=78-15&p=f&t=tSUqwQfR1Mx2elVE-0 | ||
| 31 | +- AUTH: https://www.figma.com/design/ujGJZpk2QTfRGIAZy2Zwlm/D-4.48.0-%E9%97%AE%E8%AF%8A%E5%9F%9F?node-id=104-235&p=f&t=tSUqwQfR1Mx2elVE-0 | ||
| 32 | + | ||
| 33 | +## v4.47.0 | ||
| 34 | +- CLINIC: https://www.figma.com/design/aPtAtRmQpqaoGbwfxpgcNk/D-4.47.0-%E9%97%AE%E8%AF%8A%E5%9F%9F?node-id=93-240&p=f&t=uUayPG6TBpo0ffVd-0 | ||
| 35 | +- CLINIC: https://www.figma.com/design/aPtAtRmQpqaoGbwfxpgcNk/D-4.47.0-%E9%97%AE%E8%AF%8A%E5%9F%9F?node-id=205-241&p=f&t=uUayPG6TBpo0ffVd-0 | ||
| 36 | +- PATIENT: https://www.figma.com/design/aPtAtRmQpqaoGbwfxpgcNk/D-4.47.0-%E9%97%AE%E8%AF%8A%E5%9F%9F?node-id=4121-195&p=f&t=uUayPG6TBpo0ffVd-0 | ||
| 37 | +- INQUIRY: https://www.figma.com/design/aPtAtRmQpqaoGbwfxpgcNk/D-4.47.0-%E9%97%AE%E8%AF%8A%E5%9F%9F?node-id=4022-3065&p=f&t=uUayPG6TBpo0ffVd-0 | ||
| 38 | + | ||
| 39 | +## v4.46.0 / v4.42.0 / v4.40.0 / v4.38.0(同批次提交) | ||
| 40 | +- v4.46.0 PATIENT: https://www.figma.com/design/1p6CGiPE87xXjeY2MsnLsK/D-4.46.0-%E9%97%AE%E8%AF%8A%E5%9F%9F?node-id=15-85&p=f&t=qGjhK9AsGhxOv5Er-0 | ||
| 41 | +- v4.46.0 PATIENT: https://www.figma.com/design/1p6CGiPE87xXjeY2MsnLsK/D-4.46.0-%E9%97%AE%E8%AF%8A%E5%9F%9F?node-id=38-304&p=f&t=qGjhK9AsGhxOv5Er-0 | ||
| 42 | +- v4.46.0 PATIENT: https://www.figma.com/design/1p6CGiPE87xXjeY2MsnLsK/D-4.46.0-%E9%97%AE%E8%AF%8A%E5%9F%9F?node-id=2036-389&p=f&t=qGjhK9AsGhxOv5Er-0 | ||
| 43 | +- v4.42.0 INCOME: https://www.figma.com/design/hR9uThnGUFQkBTTlxp45tH/D-4.42.0?node-id=1-15&p=f&t=3mX8G2K2Re9YYzyk-0 | ||
| 44 | +- v4.42.0 PATIENT: https://www.figma.com/design/hR9uThnGUFQkBTTlxp45tH/D-4.42.0?node-id=1-41&p=f&t=3mX8G2K2Re9YYzyk-0 | ||
| 45 | +- v4.40.0 AUTH: https://www.figma.com/design/oDFlufpLEFz3e87CTEcU5Q/D-4.40.0?node-id=4019-1065&p=f&t=uWtyA9p6O9nfofxd-0 | ||
| 46 | +- v4.40.0 INCOME: https://www.figma.com/design/oDFlufpLEFz3e87CTEcU5Q/D-4.40.0?node-id=4110-1609&p=f&t=uWtyA9p6O9nfofxd-0 | ||
| 47 | +- v4.38.0 CLINIC: https://www.figma.com/design/eUGJhmIIUtLxjJY27Bn15N/D-4.38.0?node-id=6-345&p=f&t=KVwBk5QR2ND76fvA-0 | ||
| 48 | + | ||
| 49 | +## v4.44.0(Qy09PKVh...) | ||
| 50 | +- INCOME: https://www.figma.com/design/Qy09PKVhSGh04A3XqIfquQ/D-4.44.0-%E9%97%AE%E8%AF%8A%E6%94%B6%E5%85%A5%E5%9F%9F?node-id=160-2&p=f&t=WVJ6Jg6lLmrgKruG-0 | ||
| 51 | +- AUTH: https://www.figma.com/design/Qy09PKVhSGh04A3XqIfquQ/D-4.44.0-%E9%97%AE%E8%AF%8A%E6%94%B6%E5%85%A5%E5%9F%9F?node-id=4-34&p=f&t=WVJ6Jg6lLmrgKruG-0 | ||
| 52 | +- CLINIC: https://www.figma.com/design/Qy09PKVhSGh04A3XqIfquQ/D-4.44.0-%E9%97%AE%E8%AF%8A%E6%94%B6%E5%85%A5%E5%9F%9F?node-id=4-4275&p=f&t=WVJ6Jg6lLmrgKruG-0 | ||
| 53 | +- PATIENT: https://www.figma.com/design/Qy09PKVhSGh04A3XqIfquQ/D-4.44.0-%E9%97%AE%E8%AF%8A%E6%94%B6%E5%85%A5%E5%9F%9F?node-id=4-50&p=f&t=WVJ6Jg6lLmrgKruG-0 | ||
| 54 | +- PATIENT: https://www.figma.com/design/Qy09PKVhSGh04A3XqIfquQ/D-4.44.0-%E9%97%AE%E8%AF%8A%E6%94%B6%E5%85%A5%E5%9F%9F?node-id=8-5751&p=f&t=WVJ6Jg6lLmrgKruG-0 | ||
| 55 | + | ||
| 56 | +## v4.43.0(gUAPBLci...) | ||
| 57 | +- INQUIRY: https://www.figma.com/design/gUAPBLci0IOGC6vHmlkQpw/D-4.43.0-%E9%97%AE%E8%AF%8A%E6%94%B6%E5%85%A5%E5%9F%9F?node-id=105-207&p=f&t=4vYqxPVPmJ0Ku0vU-0 | ||
| 58 | +- INCOME: https://www.figma.com/design/gUAPBLci0IOGC6vHmlkQpw/D-4.43.0-%E9%97%AE%E8%AF%8A%E6%94%B6%E5%85%A5%E5%9F%9F?node-id=32-10877&p=f&t=4vYqxPVPmJ0Ku0vU-0 | ||
| 59 | + | ||
| 60 | +## v4.44.0(gUAPBLci...,同一文件 key 但你当时标注为 v4.44.0) | ||
| 61 | +- AUTH: https://www.figma.com/design/gUAPBLci0IOGC6vHmlkQpw/D-4.43.0-%E9%97%AE%E8%AF%8A%E6%94%B6%E5%85%A5%E5%9F%9F?node-id=156-45&p=f&t=4vYqxPVPmJ0Ku0vU-0 | ||
| 62 | +- AUTH: https://www.figma.com/design/gUAPBLci0IOGC6vHmlkQpw/D-4.43.0-%E9%97%AE%E8%AF%8A%E6%94%B6%E5%85%A5%E5%9F%9F?node-id=236-318&p=f&t=4vYqxPVPmJ0Ku0vU-0 | ||
| 63 | +- PATIENT: https://www.figma.com/design/gUAPBLci0IOGC6vHmlkQpw/D-4.43.0-%E9%97%AE%E8%AF%8A%E6%94%B6%E5%85%A5%E5%9F%9F?node-id=147-695&p=f&t=4vYqxPVPmJ0Ku0vU-0 | ||
| 64 | + | ||
| 65 | +## v4.40.0 | ||
| 66 | +(已包含在“v4.46.0 / v4.42.0 / v4.40.0 / v4.38.0 同批次提交”) | ||
| 67 | + | ||
| 68 | +## v4.39.0 | ||
| 69 | +- PATIENT: https://www.figma.com/design/uSPopyB76PGVPNEXflfFXI/D-4.39.0?node-id=2080-3219&p=f&t=DX0tTZ96Q7JMGNpI-0 | ||
| 70 | + | ||
| 71 | +## v4.37.0 | ||
| 72 | +- AUTH: https://www.figma.com/design/EVj75AxNpE77P0mLZ3mzw0/D.37.0?node-id=2143-2&p=f&t=K1TgyJOHuBsdCTLy-0 | ||
| 73 | +- AUTH: https://www.figma.com/design/EVj75AxNpE77P0mLZ3mzw0/D.37.0?node-id=2585-1035&p=f&t=K1TgyJOHuBsdCTLy-0 | ||
| 74 | + | ||
| 75 | +## v4.35.0 | ||
| 76 | +- INCOME: https://www.figma.com/design/8iwx2lM8wsY16lm53ogx4r/4.35.0?node-id=214-5&p=f&t=tvIVAGKEJM6wzThn-0 | ||
| 77 | + | ||
| 78 | +## v4.33.0 | ||
| 79 | +- PATIENT: https://www.figma.com/design/rHy0N9bEEC17FUSaCWVXHO/4.33.0?node-id=2056-2&p=f&t=Gt4xg8VEAD3u8RFR-0 | ||
| 80 | +- PATIENT: https://www.figma.com/design/rHy0N9bEEC17FUSaCWVXHO/4.33.0?node-id=2026-263&p=f&t=Gt4xg8VEAD3u8RFR-0 | ||
| 81 | +- PATIENT: https://www.figma.com/design/rHy0N9bEEC17FUSaCWVXHO/4.33.0?node-id=2305-8&p=f&t=Gt4xg8VEAD3u8RFR-0 | ||
| 82 | +- INQUIRY: https://www.figma.com/design/rHy0N9bEEC17FUSaCWVXHO/4.33.0?node-id=2041-24&p=f&t=Gt4xg8VEAD3u8RFR-0 | ||
| 83 | +- INQUIRY: https://www.figma.com/design/rHy0N9bEEC17FUSaCWVXHO/4.33.0?node-id=2041-267&p=f&t=Gt4xg8VEAD3u8RFR-0 | ||
| 84 | + | ||
| 85 | +## v4.26.0 | ||
| 86 | +- CLINIC: https://www.figma.com/design/bUiTsivfAlCBy07qq7zIWu/4.26.0%E9%9C%80%E6%B1%82?node-id=284-1178&p=f&t=zbQHSLfgBXY7eCIO-0 | ||
| 87 | +- INCOME: https://www.figma.com/design/bUiTsivfAlCBy07qq7zIWu/4.26.0%E9%9C%80%E6%B1%82?node-id=427-188&p=f&t=zbQHSLfgBXY7eCIO-0 | ||
| 88 | +- INCOME: https://www.figma.com/design/eS8POEKDuIaqjd1z5gP6m4/4.26.0-xdy?node-id=1-32&p=f&t=zbQHSLfgBXY7eCIO-0 | ||
| 89 | +- INCOME: https://www.figma.com/design/eS8POEKDuIaqjd1z5gP6m4/4.26.0-xdy?node-id=1-2864&p=f&t=zbQHSLfgBXY7eCIO-0 | ||
| 90 | +- CLINIC: https://www.figma.com/design/DoOTIXq7HCqsipgO1LdAFL/D-4.26.0?node-id=27-58&p=f&t=zbQHSLfgBXY7eCIO-0 | ||
| 91 | + | ||
| 92 | +## v4.25.5 | ||
| 93 | +- INCOME: https://www.figma.com/design/W24tOomtFCBObPHjFVx2Dl/4.25.5-xdy?node-id=48-539&p=f&t=oCnFO3Linqo5rsRX-0 | ||
| 94 | +- AUTH: https://www.figma.com/design/8lCFnNbGhfaOcOGOTqQ66S/4.25.5%E9%9C%80%E6%B1%82?node-id=136-1244&p=f&t=oCnFO3Linqo5rsRX-0 | ||
| 95 | +- CLINIC: https://www.figma.com/design/8lCFnNbGhfaOcOGOTqQ66S/4.25.5%E9%9C%80%E6%B1%82?node-id=136-3432&p=f&t=oCnFO3Linqo5rsRX-0 | ||
| 96 | + | ||
| 97 | +## v4.24.0 | ||
| 98 | +- AUTH: https://www.figma.com/design/vcD3HStvr6ukAzyXmsS29K/4.24.0?node-id=3029-4&p=f&t=cMiYRpW3pAR99a7O-0 | ||
| 99 | + | ||
| 100 | +## v4.21.5 | ||
| 101 | +- CLINIC: https://www.figma.com/design/Kn7j1dTE3QhtytwssMjE4P/D-21.5?node-id=0-1&p=f&t=rSxua3iAnr9wB1w8-0 | ||
| 102 | +- PATIENT: https://www.figma.com/design/Kn7j1dTE3QhtytwssMjE4P/D-21.5?node-id=2-257&p=f&t=rSxua3iAnr9wB1w8-0 | ||
| 103 | + | ||
| 104 | +## v4.20.5 | ||
| 105 | +- INQUIRY: https://www.figma.com/design/3K8VQpDzTmN3JUSp2IFi5H/D-4-20.5?node-id=111-10&p=f&t=kkvJH8uFWKSt8vTC-0 | ||
| 106 | +- INQUIRY: https://www.figma.com/design/3K8VQpDzTmN3JUSp2IFi5H/D-4-20.5?node-id=5-343&p=f&t=kkvJH8uFWKSt8vTC-0 | ||
| 107 | + |
docs/version_sync_template.yaml
0 → 100644
| 1 | +app_version: vX.Y.Z | ||
| 2 | + | ||
| 3 | +# collecting | ready_to_merge | merged | ingested | done | ||
| 4 | +status: collecting | ||
| 5 | + | ||
| 6 | +owners: | ||
| 7 | + figma: 你 | ||
| 8 | + test: 黑豆 | ||
| 9 | + merge: 你 | ||
| 10 | + | ||
| 11 | +# 版本输入(你维护) | ||
| 12 | +figma: | ||
| 13 | + links_file: figma/vX.Y.Z/links.txt | ||
| 14 | + # 可选:用于快速定位/去重 | ||
| 15 | + file_keys: [] | ||
| 16 | + # 可选:你觉得的主模块/范围 | ||
| 17 | + module_hints: [] | ||
| 18 | + | ||
| 19 | +# 版本输入(黑豆交付) | ||
| 20 | +test: | ||
| 21 | + # 原始导出 XML(不要求修改 XML 内部字段) | ||
| 22 | + suite_xml_files: | ||
| 23 | + - tests/vX.Y.Z/xxx.testsuite-deep.xml | ||
| 24 | + # 推荐:黑豆或你用脚本/工作流生成的用例原子(提升对齐命中率) | ||
| 25 | + case_atoms_file: tests/vX.Y.Z/case_atoms.jsonl | ||
| 26 | + # 说明:XML <version> 常为“用例修订号”,不要当 app_version 使用 | ||
| 27 | + | ||
| 28 | +merge: | ||
| 29 | + # 你生成 | ||
| 30 | + rule_atoms_file: build/vX.Y.Z/rule_atoms.jsonl | ||
| 31 | + clusters_file: build/vX.Y.Z/rule_clusters.jsonl | ||
| 32 | + rule_view_md: build/vX.Y.Z/rule_view.md | ||
| 33 | + case_view_md: build/vX.Y.Z/case_view.md | ||
| 34 | + report_file: build/vX.Y.Z/merge_report.csv | ||
| 35 | + | ||
| 36 | +last_sync_at: "2026-03-12T00:00:00+08:00" | ||
| 37 | +notes: "" | ||
| 38 | + |
docs/version_sync_v4.57.3.yaml
0 → 100644
| 1 | +app_version: v4.57.3 | ||
| 2 | +# collecting | ready_to_merge | merged | ingested | done | ||
| 3 | +status: collecting | ||
| 4 | +owners: | ||
| 5 | + figma: 你 | ||
| 6 | + test: 黑豆 | ||
| 7 | + merge: 你 | ||
| 8 | +figma: | ||
| 9 | + links_file: figma/v4.57.3/links.txt | ||
| 10 | + file_keys: | ||
| 11 | + - t1NWQ5VaeWAY1Dnnd6Z7sF | ||
| 12 | + module_hints: [] | ||
| 13 | +test: | ||
| 14 | + suite_xml_files: | ||
| 15 | + - /Users/xwk/Downloads/患者加号.testsuite-deep (1).xml | ||
| 16 | + case_atoms_file: tests/v4.57.3/case_atoms.jsonl | ||
| 17 | +merge: | ||
| 18 | + rule_atoms_file: build/v4.57.3/rule_atoms.jsonl | ||
| 19 | + clusters_file: build/v4.57.3/rule_clusters.jsonl | ||
| 20 | + rule_view_md: build/v4.57.3/rule_view.md | ||
| 21 | + case_view_md: build/v4.57.3/case_view.md | ||
| 22 | + report_file: build/v4.57.3/merge_report.csv | ||
| 23 | +last_sync_at: "2026-03-12T00:00:00+08:00" | ||
| 24 | +notes: "Figma 节点已拉取并生成首版 rule_atoms;待黑豆交付该版本 XML + case_atoms 后做合并对齐。" |
docs/产品研发RAG_模块定义与协同交付说明_v1.md
0 → 100644
| 1 | +--- | ||
| 2 | +title: 产品研发 RAG:模块定义与协同交付说明(v1) | ||
| 3 | +status: draft | ||
| 4 | +owner: xwk | ||
| 5 | +updated_at: 2026-03-12 | ||
| 6 | +--- | ||
| 7 | + | ||
| 8 | +> 本文是 `docs/rag/产品研发RAG_规则-用例对齐与入库方案_v1.md` 的“协同落地补充件”,用于: | ||
| 9 | +> - **统一模块字典与仲裁规则**(让模块作为检索/路由元数据稳定可控) | ||
| 10 | +> - **明确你 vs 黑豆的交付接口**(按 app_version 维度可追踪) | ||
| 11 | +> - **给黑豆侧用例蒸馏的 Prompt 模板**(从 XML 产出 `case_atoms.jsonl`) | ||
| 12 | + | ||
| 13 | +--- | ||
| 14 | + | ||
| 15 | +## 1. 模块定义(真人标准) | ||
| 16 | + | ||
| 17 | +### 1.1 模块字典(枚举) | ||
| 18 | +当前建议枚举(后续可扩展,但不要轻易改动既有值): | ||
| 19 | +- `INCOME`:收入、提现、银行卡、签约 | ||
| 20 | +- `AUTH`:认证、备案、完善认证资料 | ||
| 21 | +- `INQUIRY`:图文/电话/视频问诊、随访 | ||
| 22 | +- `CLINIC`:门诊/排班/坐诊/加号/预约/挂号等 | ||
| 23 | +- `PATIENT`:就诊人/患者档案相关、患者列表/分组/拉黑、聊天/提问、添加患者等 | ||
| 24 | + | ||
| 25 | +> 模块的作用:**不是合并主键**,而是用于 **检索过滤、路由、预评审输出、责任边界**。 | ||
| 26 | + | ||
| 27 | +### 1.2 模块边界三件套(建议长期固化) | ||
| 28 | +每个模块建议配 3 类“稳定锚点”,便于 AI 自动标注且可解释: | ||
| 29 | +- **触点锚点(touchpoints)**:页面/入口/端(医生端/患者端/运营端) | ||
| 30 | +- **业务实体锚点(entities)**:提现、银行卡、就诊人、咨询单、排班… | ||
| 31 | +- **强规则信号(signals)**:toast/弹窗/禁用/默认选中/校验提示/错误码文案… | ||
| 32 | + | ||
| 33 | +### 1.3 跨模块仲裁:如何定 `primary_module` | ||
| 34 | +当同一条规则同时命中多个模块时,按顺序仲裁: | ||
| 35 | +1) **规则最终生效处/校验处** 属于哪个模块(更接近“责任边界”) | ||
| 36 | +2) **用户主要操作入口** 属于哪个模块(更接近“用户提问落点”) | ||
| 37 | +3) 若仍不确定:选择“更利于检索”的模块为主,同时保留 `modules[]` 全量 | ||
| 38 | + | ||
| 39 | +### 1.4 允许跨模块:`modules[]` 必须保留 | ||
| 40 | +为解决你担心的“你和黑豆分类标准不一致”,落库时建议: | ||
| 41 | +- **必须有**:`modules[]`(多选,聚合后的全量相关模块) | ||
| 42 | +- **可选**:`primary_module`(单选,服务于责任边界/路由) | ||
| 43 | + | ||
| 44 | +### 1.5 给 AI 的“模块字典块”(必须写进提示词/系统提示) | ||
| 45 | +> 这段内容的目的:让模型标注模块时**有明确、稳定、可复用的规则**,而不是靠常识猜。 | ||
| 46 | + | ||
| 47 | +你可以把下面整段直接粘到任何一个 LLM 节点/Prompt 的开头(Figma 抽取、XML 蒸馏、合并聚合阶段都可复用)。 | ||
| 48 | + | ||
| 49 | +```text | ||
| 50 | +模块字典(枚举值必须从以下列表中选择): | ||
| 51 | +- INCOME:收入、提现、银行卡、签约 | ||
| 52 | +- AUTH:认证、备案、完善认证资料 | ||
| 53 | +- INQUIRY:图文/电话/视频问诊、随访 | ||
| 54 | +- CLINIC:门诊/排班/坐诊/加号/预约/挂号等 | ||
| 55 | +- PATIENT:就诊人/患者档案相关、患者列表/分组/拉黑、聊天/提问、添加患者等 | ||
| 56 | + | ||
| 57 | +模块标注输出字段要求(可选但强烈建议): | ||
| 58 | +- primary_module: string(可空) | ||
| 59 | +- modules: string[](可空,但建议至少 1 个) | ||
| 60 | +- module_confidence: 0~1 | ||
| 61 | +- module_reason: 用 1~2 句说明为什么这么标(触点/实体/强规则信号) | ||
| 62 | + | ||
| 63 | +仲裁规则(确定 primary_module): | ||
| 64 | +1) 规则最终生效处/校验处 属于哪个模块 | ||
| 65 | +2) 用户主要操作入口 属于哪个模块 | ||
| 66 | +3) 若仍不确定:选更利于检索的模块为主,同时 modules 保留全量 | ||
| 67 | + | ||
| 68 | +允许跨模块:同一条规则可以同时属于多个模块(modules 多选)。 | ||
| 69 | +注意:模块不是合并主键;合并仍以 app_version + merge_fingerprint 为主。 | ||
| 70 | +``` | ||
| 71 | + | ||
| 72 | +--- | ||
| 73 | + | ||
| 74 | +## 2. 协同交付接口(按 app_version) | ||
| 75 | + | ||
| 76 | +### 2.1 版本同步记录(必须有) | ||
| 77 | +每个 `app_version` 一份同步记录文件(建议放仓库,便于自动化): | ||
| 78 | +- 模板:`docs/rag/version_sync_template.yaml` | ||
| 79 | +- 核心目标:让“该版本 Figma 是否齐、用例是否齐、是否已合并、是否已入库”一眼可追踪。 | ||
| 80 | + | ||
| 81 | +### 2.2 黑豆交付物(只做测试用例整理与蒸馏导出) | ||
| 82 | +每个 `app_version` 建议交付: | ||
| 83 | +- **必交** | ||
| 84 | + - `tests/<app_version>/*.testsuite-deep.xml`:原始导出 XML(不要求修改 XML 内容) | ||
| 85 | +- **强烈推荐** | ||
| 86 | + - `tests/<app_version>/case_atoms.jsonl`:从 XML 蒸馏得到的“用例原子” | ||
| 87 | + | ||
| 88 | +#### 2.2.1 `case_atoms.jsonl` 字段要求(最小可执行) | ||
| 89 | +每行 1 个 JSON 对象(JSONL),必填字段: | ||
| 90 | +- `app_version`:外部补齐(来自版本同步表,不从 XML 推断) | ||
| 91 | +- `suite_name` | ||
| 92 | +- `external_id`(如果有) | ||
| 93 | +- `internal_id`(如果有) | ||
| 94 | +- `case_revision_version`(来自 XML `<version>`,注意不是 app_version) | ||
| 95 | +- `C` / `A` / `R` | ||
| 96 | +- `canon_text`:固定格式 `C=<...>|A=<...>|R=<...>` | ||
| 97 | +- `merge_fingerprint`:`sha1(canon_text)` 取前 12 位 | ||
| 98 | +- `evidence`:建议包含 `xml_file` + `xpath_or_path` + `raw_text`(用于审计回溯) | ||
| 99 | + | ||
| 100 | +可选字段(但很有价值): | ||
| 101 | +- `module_hint`:黑豆基于测试集目录给的模块候选(不做强约束) | ||
| 102 | +- `touchpoints[]`:若能从用例标题/前置中识别到端与页面,可先给候选 | ||
| 103 | + | ||
| 104 | +### 2.3 你交付物(Figma/合并/入库/报表/词表) | ||
| 105 | +每个 `app_version` 建议交付: | ||
| 106 | +- `figma/<app_version>/links.txt`:该版本所有需求 Figma 链接 | ||
| 107 | +- `build/<app_version>/rule_atoms.jsonl`:Figma 规则原子(含 Figma evidence) | ||
| 108 | +- `build/<app_version>/case_atoms.jsonl`:黑豆交付(或你代跑得到) | ||
| 109 | +- `build/<app_version>/rule_clusters.jsonl`:合并后的规则簇 | ||
| 110 | +- `build/<app_version>/rule_view.md`:规则视图入库文档(给 Dify) | ||
| 111 | +- `build/<app_version>/case_view.md`:用例视图入库文档(给 Dify) | ||
| 112 | +- `build/<app_version>/merge_report.csv`:命中/未命中报表(便于协作迭代) | ||
| 113 | +- `docs/rag/synonyms.yaml`(或同等位置):同义词/占位符表(你主导迭代) | ||
| 114 | + | ||
| 115 | +#### 2.3.1 你侧批量交付口径(15 个 Figma 链接 → 1 个版本归一 rule_atoms.jsonl) | ||
| 116 | +以 `v4.57.3` 为例,你可能收集到 15 个需求/页面的 Figma 链接。交付时不需要 15 份规则文件,而是: | ||
| 117 | +- 保留 **1 份链接清单**:`figma/v4.57.3/links.txt`(15 行即可) | ||
| 118 | +- 额外生成 **1 个版本归一文件**:`build/v4.57.3/rule_atoms.jsonl` | ||
| 119 | + | ||
| 120 | +推荐跑法: | ||
| 121 | +- **跑法 A(推荐)**:逐个链接/节点解析 → 产出规则原子 JSONL → 汇总拼接为 1 个 `rule_atoms.jsonl` | ||
| 122 | + - 每行都写入 `app_version=v4.57.3` | ||
| 123 | + - `evidence.figma_url`(或 `file_key + node_id`)必须保留,便于追溯 | ||
| 124 | + - 如需去重:以 `canon_text` 作为去重键(同版本内去重即可) | ||
| 125 | + | ||
| 126 | +#### 2.3.2 `rule_atoms.jsonl` 字段要求(最小可执行) | ||
| 127 | +每行 1 个 JSON 对象(JSONL),必填字段: | ||
| 128 | +- `app_version` | ||
| 129 | +- `C` / `A` / `R` | ||
| 130 | +- `canon_text`:固定格式 `C=<...>|A=<...>|R=<...>` | ||
| 131 | +- `merge_fingerprint`:`sha1(canon_text)` 取前 12 位 | ||
| 132 | +- `modules[]`:可先为空数组,但建议给出候选(用于检索/路由/预评审) | ||
| 133 | +- `evidence`:至少包含 `figma_url`(或 `file_key/node_id`)+ `raw_text`(用于审计回溯) | ||
| 134 | + | ||
| 135 | +可选字段(建议尽量有): | ||
| 136 | +- `primary_module` | ||
| 137 | +- `touchpoints[]` | ||
| 138 | +- `feature_scope` | ||
| 139 | +- `ui_states[]`(例如:按钮禁用/默认选中/错误态/空态等) | ||
| 140 | + | ||
| 141 | +#### 2.3.3 你侧过滤规则(Figma 文本去噪) | ||
| 142 | +以下内容不要进入 `C/A/R`,也尽量不要进入 `evidence.raw_text`: | ||
| 143 | +- base64、`data:image`、长随机串(截图/附件/编码内容) | ||
| 144 | +- 纯占位符/无业务语义文本(如“按钮/标题/请输入/示例”且无规则信号) | ||
| 145 | +- 重复出现的装饰性文案(同一页面多处重复、无差异) | ||
| 146 | + | ||
| 147 | +保留优先级(强规则信号): | ||
| 148 | +- toast/弹窗文案 | ||
| 149 | +- 校验/错误提示 | ||
| 150 | +- 按钮可用/禁用、默认选中、缺省值 | ||
| 151 | +- 条件触发提示(“未选择xx点击提交 -> 提示xx”) | ||
| 152 | + | ||
| 153 | +--- | ||
| 154 | + | ||
| 155 | +## 3. 黑豆侧 Prompt 建议(从 XML 生成 `case_atoms.jsonl`) | ||
| 156 | + | ||
| 157 | +> 目标:让用例蒸馏“稳定可对齐”。核心不是写得漂亮,而是: | ||
| 158 | +> - C/A/R **可复用、可归一化** | ||
| 159 | +> - 能产出稳定的 `canon_text` 与 `merge_fingerprint` | ||
| 160 | +> - 能回溯到 XML 原文(evidence) | ||
| 161 | + | ||
| 162 | +### 3.0 批量交付口径(10 个 XML → 1 个版本归一 JSONL) | ||
| 163 | +以 `v4.57.3` 为例,黑豆可能会导出 10 个 `.testsuite-deep.xml`。交付时不需要 10 份 JSONL,而是: | ||
| 164 | +- 保留 **10 个原始 XML**(用于审计与复跑) | ||
| 165 | +- 额外生成 **1 个版本归一文件**:`tests/v4.57.3/case_atoms.jsonl` | ||
| 166 | + | ||
| 167 | +推荐跑法(两种都可以): | ||
| 168 | +- **跑法 A(更稳,推荐)**:逐个 XML 跑 Prompt → 得到 10 段 JSONL → 直接拼接为 1 个 `case_atoms.jsonl` | ||
| 169 | + - 每行都写入 `app_version=v4.57.3` | ||
| 170 | + - `evidence.xml_file` 写真实来源文件路径,便于追溯 | ||
| 171 | + - 如需去重:以 `canon_text`(或 `external_id + canon_text`)作为去重键 | ||
| 172 | +- **跑法 B(一次喂多文件)**:把 10 个 XML 一次性作为输入让模型输出 1 份 JSONL | ||
| 173 | + - 仅在“模型上下文足够大”的情况下可用;否则容易截断/漏用例 | ||
| 174 | + | ||
| 175 | +### 3.1 Prompt 模板(直接可用) | ||
| 176 | +把下面整段给到 LLM(或 Dify 工作流/脚本内的 LLM 节点),输入是一份 XML 文本(或解析后的结构化 JSON)。 | ||
| 177 | + | ||
| 178 | +```text | ||
| 179 | +你是资深测试分析师。请将给定的 testsuite XML 解析为 case_atoms.jsonl(JSON Lines)。 | ||
| 180 | + | ||
| 181 | +目标:将每个 testcase 拆解为 1~N 个“用例原子 case_atom”,每个 atom 只表达一个核心动作(A)与期望(R),并保留必要前置(C)。 | ||
| 182 | + | ||
| 183 | +强约束(必须遵守): | ||
| 184 | +1) 输出格式:JSONL,每行一个 JSON 对象,不要输出数组,不要输出多余解释。 | ||
| 185 | +2) 每个 JSON 对象必须包含字段: | ||
| 186 | + - app_version: 使用外部传入的版本号(不要从 XML 推断) | ||
| 187 | + - suite_name | ||
| 188 | + - external_id(若 XML 有则填,否则置空字符串) | ||
| 189 | + - internal_id(若 XML 有则填,否则置空字符串) | ||
| 190 | + - case_revision_version(来自 XML 的 <version>,若无置空) | ||
| 191 | + - C, A, R(字符串;允许 C 为空,但 A/R 至少一个非空) | ||
| 192 | + - canon_text: "C=<C>|A=<A>|R=<R>" | ||
| 193 | + - merge_fingerprint: sha1(canon_text) 前12位(小写 hex) | ||
| 194 | + - evidence: { xml_file, xpath_or_path, raw_text } 其中 raw_text 为你用于抽取本 atom 的原始片段(尽量短,能定位) | ||
| 195 | +3) (可选)模块提示字段: | ||
| 196 | + - module_hint: 从模块字典中选择 0~1 个最可能的模块;如果无法判断,输出空字符串 | ||
| 197 | + - 注意:module_hint 仅用于检索/路由辅助,不作为合并主键 | ||
| 198 | +4) 拆分规则: | ||
| 199 | + - 若一个 testcase 含多个步骤与多条期望,请按“一个 A 对应一个 R”为单位拆多个 atom。 | ||
| 200 | + - 避免把多个 toast/弹窗期望合并在同一个 atom。 | ||
| 201 | +5) 归一化规则(写入 C/A/R 前先处理): | ||
| 202 | + - 金额归一为 <MONEY>,数字归一为 <NUM>,日期时间归一为 <DATETIME>,卡号/订单号归一为 <ID> | ||
| 203 | + - 同义词归一:弹窗提示/提示语/Toast -> toast提示;不可点击/置灰 -> 禁用 | ||
| 204 | +6) 过滤规则(必须做,尤其是截图 base64): | ||
| 205 | + - 任何 base64、data:image、看起来像长随机串的内容都不要进入 C/A/R,也不要放进 evidence.raw_text | ||
| 206 | + - 如果 expectedresults 里只有截图/图片(无文字期望),则该步骤不要产 atom(或 atom 的 R 置空,但必须标记 evidence.raw_text="only_image_ignored") | ||
| 207 | + - raw_text 要尽量短:优先保留能定位的 1~2 句提示文案;超过 200 字请截断 | ||
| 208 | +7) 质量要求: | ||
| 209 | + - A 以“动作动词+对象”开头(点击/输入/选择/提交/发送等) | ||
| 210 | + - R 明确可观察结果(toast提示xx/弹窗显示xx/按钮禁用/页面跳转/列表刷新等) | ||
| 211 | + | ||
| 212 | +输入: | ||
| 213 | +- app_version = {APP_VERSION} | ||
| 214 | +- xml_file = {XML_FILE_PATH} | ||
| 215 | +- testsuite_xml = {XML_TEXT} | ||
| 216 | + | ||
| 217 | +现在开始输出 JSONL。 | ||
| 218 | +``` | ||
| 219 | + | ||
| 220 | +> 实操建议:如果模型对 “sha1(canon_text)” 计算不稳定,可以改成先输出 `canon_text`,`merge_fingerprint` 由脚本统一后处理计算(更可靠,也便于你们对齐算法版本)。 | ||
| 221 | + | ||
| 222 | +### 3.2 例子(便于黑豆对齐输出风格) | ||
| 223 | +> 下面只是示例结构,不要求与业务完全一致。 | ||
| 224 | + | ||
| 225 | +```json | ||
| 226 | +{"app_version":"v4.57.3","suite_name":"患者加号","external_id":"24256","internal_id":"","case_revision_version":"1","C":"患者加号弹窗已选择日期且未选择坐诊时间段","A":"点击发送给患者","R":"toast提示请选择坐诊时间段","canon_text":"C=患者加号弹窗已选择日期且未选择坐诊时间段|A=点击发送给患者|R=toast提示请选择坐诊时间段","merge_fingerprint":"<sha1前12位>","evidence":{"xml_file":"/path/患者加号.testsuite-deep.xml","xpath_or_path":"testsuite/testcase[externalid='24256']/expectedresults","raw_text":"请选择坐诊时间段"}} | ||
| 227 | +``` | ||
| 228 | + | ||
| 229 | +### 3.3 黑豆侧自检清单(交付前 2 分钟检查) | ||
| 230 | +- XML 可解析、`suite_name` 可取到 | ||
| 231 | +- `case_atoms.jsonl` 每行都是合法 JSON | ||
| 232 | +- 100% 的 atom 都有 `canon_text` 与 `merge_fingerprint` | ||
| 233 | +- 大多数 atom 的 `R` 都包含“强规则信号”(toast/弹窗/禁用/默认值/校验提示) | ||
| 234 | +- evidence 能定位回 XML(最少 xml_file + 一段 raw_text) | ||
| 235 | + | ||
| 236 | +--- | ||
| 237 | + | ||
| 238 | +## 4. 你侧验收(收到黑豆交付后怎么验) | ||
| 239 | + | ||
| 240 | +- **结构验收**:字段齐全、fingerprint 生成规则一致、JSONL 可读 | ||
| 241 | +- **命中率验收**:跑一次合并得到 `merge_report.csv` | ||
| 242 | + - 未命中优先看:是否没拆 atom / canon_text 不稳定 / 缺少 R 或 R 太泛 | ||
| 243 | +- **迭代入口**:把“未命中 Top 原因”沉淀进 `synonyms.yaml` 与占位符策略 | ||
| 244 | + |
docs/产品研发RAG_规则-用例对齐与入库方案_v1.md
0 → 100644
| 1 | +--- | ||
| 2 | +title: 产品研发 RAG:规则-用例对齐与入库方案(v1) | ||
| 3 | +status: draft | ||
| 4 | +owner: xwk | ||
| 5 | +updated_at: 2026-03-12 | ||
| 6 | +--- | ||
| 7 | + | ||
| 8 | +## 0. 最终目标(来自“实施方案最终版”) | ||
| 9 | + | ||
| 10 | +### 0.1 项目愿景 | ||
| 11 | +构建产品研发的 **“数字大脑”**,实现两类核心能力: | ||
| 12 | + | ||
| 13 | +- **飞书即时业务问答** | ||
| 14 | + 例:*医生提现失败的原因有哪些?* | ||
| 15 | + AI 可回答(示例):未完成签约 / 账户余额不足 / 提现金额超过限制 | ||
| 16 | + | ||
| 17 | +- **需求 AI 预评审** | ||
| 18 | + 例:产品提需求:*新增提现手续费* | ||
| 19 | + AI 自动提示(示例):影响模块 INCOME;涉及规则(提现金额校验 / 提现流程规则) | ||
| 20 | + | ||
| 21 | +### 0.2 核心理念(知识来源于真实资产) | ||
| 22 | +- **测试用例 → 业务规则** | ||
| 23 | +- **Figma 设计稿 → 交互规则** | ||
| 24 | +- **代码 → 技术参数** | ||
| 25 | + | ||
| 26 | +AI 负责把这些资产 **自动整理为产品知识规则**,最终形成: | ||
| 27 | +- **模块规则文档**(例如 `income_rules.md`)→ 进入 **RAG 知识库**(Dify) | ||
| 28 | + | ||
| 29 | +### 0.3 终态架构(数字大脑数据流) | ||
| 30 | + | ||
| 31 | +```mermaid | ||
| 32 | +graph TD; A["测试用例"] --> B["AI 规则蒸馏(业务规则)"]; C["Figma 设计稿"] --> D["Figma 解析(插件/API)"]; D --> E["AI 提取交互规则"]; J["代码/接口"] --> K["AI 提取技术参数"]; B --> F["规则合并/对齐"]; E --> F; K --> F; F --> G["模块规则文档 income_rules.md"]; G --> H["Dify 知识库"]; H --> I["飞书 AI 助手(业务问答/需求预评审)"]; note1["系统核心:自动知识生产"] --> F; | ||
| 33 | +``` | ||
| 34 | + | ||
| 35 | +### 0.4 当前试点范围(第一阶段) | ||
| 36 | +- **只做模块**:INCOME(可扩展到 AUTH / INQUIRY / CLINIC / PATIENT) | ||
| 37 | +- **输入资产**:测试用例(已蒸馏/或可蒸馏)+ Figma 历史版本链接(+ 可选代码/接口) | ||
| 38 | +- **输出**:`income_rules.md` | ||
| 39 | +- **目标**:让 AI 可以回答 INCOME 业务问题,并支撑 INCOME 需求预评审 | ||
| 40 | + | ||
| 41 | +--- | ||
| 42 | + | ||
| 43 | +## 1. 背景与目标 | ||
| 44 | + | ||
| 45 | +### 1.1 背景 | ||
| 46 | +- **Figma 视觉稿**能提供强规则信号(弹窗/Toast/校验/按钮文案/流程说明),但天然“碎片化” | ||
| 47 | +- **测试用例 XML**能提供“可验证”的步骤与期望,但与产品侧的模块分类可能不一致,且缺少 Figma `node_id` | ||
| 48 | + | ||
| 49 | +### 1.2 目标 | ||
| 50 | +- **按 app 版本维度**将 Figma 规则与测试用例对齐,形成可入库的“规则簇(Rule Cluster)” | ||
| 51 | +- 支持两种检索视图(你明确需要 C:两者都要): | ||
| 52 | + - **规则视图**:每条规则挂载证据(Figma 原文)+ 覆盖用例(XML) | ||
| 53 | + - **用例视图**:每条用例挂载对应规则 + 设计证据 | ||
| 54 | +- 解决协同问题:**黑豆只负责测试用例整理/蒸馏导出**,你负责其他所有内容;通过“版本同步表”实现可追踪、可回溯的交付与合并。 | ||
| 55 | + | ||
| 56 | +### 1.3 核心原则(关键) | ||
| 57 | +1) **合并不以模块为主键**(PATIENT/INQUIRY/CLINIC…都可能不一致) | ||
| 58 | +2) **合并主键 = app_version + 内容指纹(merge_fingerprint)** | ||
| 59 | +3) Figma `node_id`只做**证据追溯**与规则侧去重,不参与跨源主对齐 | ||
| 60 | + | ||
| 61 | +--- | ||
| 62 | + | ||
| 63 | +## 2. 总体架构(含设计图) | ||
| 64 | + | ||
| 65 | +### 2.1 端到端架构图(数据流) | ||
| 66 | + | ||
| 67 | +```mermaid | ||
| 68 | +graph LR; Figma["Figma 节点/页面(fileKey,nodeId)"] --> FigmaFetch["拉取 Figma 结构树"] --> AtomizeFigma["规则原子化(rule_atoms)"]; XML["TestSuite XML(概述/前置/步骤/期望/字段)"] --> XmlParse["解析 XML 用例结构"] --> AtomizeCase["用例原子化(case_atoms)"]; Code["(可选)代码/接口/日志"] --> Cluster["规则簇(rule_clusters)"]; AtomizeFigma --> Norm["文本归一化(占位符/同义词/去噪)"] --> Fingerprint["merge_fingerprint = sha1(canon_text) 前12位"] --> Strong["强合并(app_version + fingerprint)"] --> Cluster; AtomizeCase --> Norm --> Fingerprint --> Strong; Norm --> Embed["(可选)Embedding"] --> Weak["弱合并(语义相似 + 约束)"] --> Cluster; Cluster --> MD1["规则视图 Markdown"] --> KB["Dify Knowledge Base"]; Cluster --> MD2["用例视图 Markdown"] --> KB; Cluster --> Audit["审计/对齐报表"]; | ||
| 69 | +``` | ||
| 70 | + | ||
| 71 | +### 2.2 数据模型(ER 简图) | ||
| 72 | + | ||
| 73 | +```mermaid | ||
| 74 | +graph TD; RC["RULE_CLUSTER"] --> RA["RULE_ATOM"]; RC --> CA["CASE_ATOM"]; RA --> FE["FIGMA_EVIDENCE"]; CA --> CE["CASE_EVIDENCE"]; | ||
| 75 | +``` | ||
| 76 | + | ||
| 77 | +> 注:飞书对 Mermaid 的 `erDiagram` 支持不稳定,因此这里用「关系简图 + 字段表」替代 ER 图。 | ||
| 78 | + | ||
| 79 | +| 实体 | 关键字段(示例) | | ||
| 80 | +| --- | --- | | ||
| 81 | +| RULE_CLUSTER | `cluster_id`, `app_version`, `merge_fingerprint`, `canon_text`, `modules[]`, `feature_scope`, `touchpoints[]`, `confidence`, `created_at` | | ||
| 82 | +| RULE_ATOM | `atom_id`, `app_version`, `canon_text`, `merge_fingerprint`, `C`, `A`, `R`, `primary_module`, `secondary_modules[]` | | ||
| 83 | +| CASE_ATOM | `atom_id`, `app_version`, `canon_text`, `merge_fingerprint`, `C`, `A`, `R`, `suite_name`, `external_id`, `internal_id`, `case_revision_version` | | ||
| 84 | +| FIGMA_EVIDENCE | `file_key`, `node_id`, `figma_url`, `raw_text` | | ||
| 85 | +| CASE_EVIDENCE | `xml_file`, `xpath_or_path`, `raw_text` | | ||
| 86 | + | ||
| 87 | +--- | ||
| 88 | + | ||
| 89 | +## 3. 关键算法:原子化、归一化、内容指纹 | ||
| 90 | + | ||
| 91 | +### 3.1 原子化(Atomization) | ||
| 92 | + | ||
| 93 | +#### 3.1.1 Figma → rule_atoms | ||
| 94 | +- 输入:`fileKey + node-id` 获取结构树(文本节点、控件层级) | ||
| 95 | +- 输出:按“强规则信号”切分的 **rule_atom**: | ||
| 96 | + - Toast/弹窗文案 | ||
| 97 | + - 校验提示 | ||
| 98 | + - 按钮可用/不可用、默认选中 | ||
| 99 | + - 条件触发提示(例如“未选择时间段点击发送”) | ||
| 100 | + | ||
| 101 | +#### 3.1.2 XML → case_atoms(黑豆负责的输出之一) | ||
| 102 | +- 输入:测试用例 XML(概述/前置/步骤/期望) | ||
| 103 | +- 输出:将一条用例拆成若干 **case_atom**(一条 atom 只表达一个核心 A+R) | ||
| 104 | + - `C`:来自 preconditions + steps 中的前置描述(可为空) | ||
| 105 | + - `A`:关键操作(点击/输入/选择/提交/发送) | ||
| 106 | + - `R`:期望(Toast/页面变化/按钮状态) | ||
| 107 | + | ||
| 108 | +> 说明:同一 test case 常覆盖多个规则,不拆就会对齐困难;拆分是命中率的关键。 | ||
| 109 | + | ||
| 110 | +### 3.2 canon_text(可对齐文本) | ||
| 111 | + | ||
| 112 | +统一固定格式(两侧必须一致): | ||
| 113 | + | ||
| 114 | +```text | ||
| 115 | +C=<...>|A=<...>|R=<...> | ||
| 116 | +``` | ||
| 117 | + | ||
| 118 | +### 3.3 文本归一化(Normalization) | ||
| 119 | + | ||
| 120 | +#### 3.3.1 去噪 | ||
| 121 | +- 删除无语义的时间戳、重复 UI 列表项、纯装饰文本 | ||
| 122 | +- 图片/截图 base64 不入 canon_text,仅作为 evidence 附件引用(可选) | ||
| 123 | + | ||
| 124 | +#### 3.3.2 占位符(强烈建议两侧统一) | ||
| 125 | +- 金额 → `<MONEY>` | ||
| 126 | +- 数字(次数/天数/序号)→ `<NUM>` | ||
| 127 | +- 日期时间 → `<DATETIME>` | ||
| 128 | +- 手机/身份证/卡号/订单号 → `<ID>`/`<ORDER_ID>` | ||
| 129 | +- 姓名/机构/医生 → `<NAME>` | ||
| 130 | + | ||
| 131 | +#### 3.3.3 同义词归一(最小表,持续迭代) | ||
| 132 | +- Toast/弹窗提示/提示语 → `toast提示` | ||
| 133 | +- 禁用/置灰/不可点击 → `禁用` | ||
| 134 | +- 撤销/撤回 → `撤回` | ||
| 135 | +- 到账/入账 → `到账` | ||
| 136 | +-(问诊域词表:后续按你们业务补全) | ||
| 137 | + | ||
| 138 | +### 3.4 merge_fingerprint(主对齐键) | ||
| 139 | + | ||
| 140 | +```text | ||
| 141 | +merge_fingerprint = sha1(canon_text) 取前 12 位 | ||
| 142 | +merge_key = app_version + ":" + merge_fingerprint | ||
| 143 | +``` | ||
| 144 | + | ||
| 145 | +#### 3.4.1 强合并(主路径) | ||
| 146 | +- 只要 `merge_key` 一致,即认为是同一条规则(跨模块也合) | ||
| 147 | + | ||
| 148 | +#### 3.4.2 弱合并(可选增强) | ||
| 149 | +当 fingerprint 不一致但语义高度相似时: | ||
| 150 | +- embedding 相似度 ≥ 阈值 | ||
| 151 | +- 且满足约束之一:同 app_version / 同触点 / 关键实体一致(提现/就诊人/加号/坐诊…) | ||
| 152 | + | ||
| 153 | +--- | ||
| 154 | + | ||
| 155 | +## 4. Dify 工作流设计(可落地) | ||
| 156 | + | ||
| 157 | +### 4.1 工作流划分 | ||
| 158 | +建议按“版本”为单位跑批: | ||
| 159 | +- Workflow A:`figma_nodes_to_rule_atoms` | ||
| 160 | +- Workflow B:`xml_to_case_atoms`(黑豆侧也可在本地/脚本完成,再交付 JSONL) | ||
| 161 | +- Workflow C:`merge_atoms_to_clusters_and_render_md` | ||
| 162 | + | ||
| 163 | +### 4.2 Workflow C(合并 + 双视图渲染)示意图 | ||
| 164 | + | ||
| 165 | +```mermaid | ||
| 166 | +graph TB; Start["Start:app_version + rule_atoms + case_atoms"] --> Validate["校验:app_version 必填 + 字段完整性/去重"] --> Strong["强合并:merge_key"] --> Cluster["生成 rule_clusters(含 sources, coverage)"]; Validate --> Weak["弱合并:embedding + 约束(可选)"] --> Cluster; Cluster --> RenderRule["渲染:规则视图 MD"] --> End["End"]; Cluster --> RenderCase["渲染:用例视图 MD"] --> End; Cluster --> Report["输出:命中/未命中报表"] --> End; | ||
| 167 | +``` | ||
| 168 | + | ||
| 169 | +--- | ||
| 170 | + | ||
| 171 | +## 5. 协同与交付(你 vs 黑豆) | ||
| 172 | + | ||
| 173 | +### 5.1 分工边界 | ||
| 174 | + | ||
| 175 | +#### 黑豆(仅测试用例整理与蒸馏导出) | ||
| 176 | +交付物(每个 app_version 一份): | ||
| 177 | +- `testsuite_raw.xml`:原始导出 XML(不要求修改) | ||
| 178 | +- `case_atoms.jsonl`:蒸馏后的用例原子(推荐,命中率更稳定) | ||
| 179 | + - 必填字段:`external_id/internal_id/suite_name/C/A/R/canon_text/merge_fingerprint` | ||
| 180 | + - `case_revision_version`:取 XML `<version>`(注意:不是 app_version) | ||
| 181 | + | ||
| 182 | +#### 你(其他所有:Figma、合并、入库、检索、报表、迭代词表) | ||
| 183 | +交付物(每个 app_version 一份): | ||
| 184 | +- `figma_links.txt`:该版本所有需求 Figma 链接 | ||
| 185 | +- `rule_atoms.jsonl`:规则原子(含 evidence:fileKey/node-id/raw_text) | ||
| 186 | +- `rule_clusters.md`:规则视图入库文档 | ||
| 187 | +- `case_view.md`:用例视图入库文档 | ||
| 188 | +- `merge_report.csv/md`:命中率与未命中原因(缺少文案/缺少期望/语义不一致) | ||
| 189 | +- `synonyms.yaml`:同义词表(共同维护也可,但建议你主导) | ||
| 190 | + | ||
| 191 | +### 5.2 是否需要“基于版本号的同步表”?结论:**需要** | ||
| 192 | +原因: | ||
| 193 | +- XML 不包含 app_version;必须用外部元数据补齐 | ||
| 194 | +- 需要可追踪每个版本的“Figma/用例”是否齐备、是否已合并、是否已入库 | ||
| 195 | + | ||
| 196 | +### 5.3 模块定义与标注治理(真人标准 + AI 标注 + 人工兜底) | ||
| 197 | + | ||
| 198 | +> 目标:模块不再作为“合并主键”,但仍是 **检索/路由/预评审输出/责任边界** 的核心元数据,因此必须治理一致性。 | ||
| 199 | + | ||
| 200 | +#### 5.3.1 谁来定义模块? | ||
| 201 | +- **真人定义(强约束、长期稳定)** | ||
| 202 | + - 模块字典(枚举):`INCOME / AUTH / INQUIRY / CLINIC / PATIENT ...` | ||
| 203 | + - 模块边界与仲裁原则(见 5.3.4) | ||
| 204 | + - 模块 Owner(便于治理与验收) | ||
| 205 | +- **AI 只做“自动标注/候选推荐”**,并输出置信度与理由;最终以人工修正为准 | ||
| 206 | + | ||
| 207 | +#### 5.3.2 模块标注需要哪些字段(落库字段) | ||
| 208 | +建议每条 atom/cluster 都带下面字段(用于过滤/排序/报表): | ||
| 209 | +- `primary_module`:主模块(可空,可人工改) | ||
| 210 | +- `modules[]`:相关模块多选(合并后聚合;允许跨模块) | ||
| 211 | +- `module_confidence`:0~1 | ||
| 212 | +- `module_reason`:命中依据(关键词/触点/页面/控件/用例标题等) | ||
| 213 | +- `feature_scope`:功能域(例如:提现/签约/加号/就诊人/问诊状态流转) | ||
| 214 | +- `touchpoints[]`:触点(例如:医生端-门诊信息页 / 患者端-预约详情 / 医生端-钱包提现) | ||
| 215 | + | ||
| 216 | +> 说明:`modules[]` 是解决“分类标准不一致”的关键,能保证合并后跨模块检索不丢规则。 | ||
| 217 | + | ||
| 218 | +#### 5.3.3 AI 如何自动标注模块(推荐策略) | ||
| 219 | +AI 标注遵循“可解释、可回溯”的证据链策略: | ||
| 220 | +- **触点优先**:页面/入口归属(钱包提现页 → INCOME;认证流程页 → AUTH;问诊会话/咨询单 → INQUIRY;门诊预约/加号/坐诊 → CLINIC;患者档案/患者列表 → PATIENT) | ||
| 221 | +- **业务实体补强**:关键词与实体(提现/税源地/签约/银行卡/余额 → INCOME/AUTH;就诊人/档案 → PATIENT;主诉/咨询单/会话 → INQUIRY;加号/坐诊/预约/挂号费 → CLINIC) | ||
| 222 | +- **动作与结果补强**:如果触点不明确,用 A/R(动作/反馈)去判断(例如“提交提现/到账失败”强指向 INCOME) | ||
| 223 | + | ||
| 224 | +#### 5.3.4 冲突与仲裁(跨模块如何定主模块) | ||
| 225 | +当一条规则同时命中多个模块时,按以下优先级仲裁 `primary_module`: | ||
| 226 | +1) **规则最终生效处/校验处** 属于哪个模块(例如提现金额校验在提现流程内 → INCOME) | ||
| 227 | +2) **用户主要操作入口** 属于哪个模块(例如从问诊页触发,但实际改变的是患者档案 → primary 可能是 PATIENT,modules 同时包含 INQUIRY) | ||
| 228 | +3) 若仍不确定:选择“更有利于检索的模块”为主(通常是用户提问最可能落点的模块),并保留 `modules[]` 全量 | ||
| 229 | + | ||
| 230 | +#### 5.3.5 置信度阈值与人工兜底(最小可执行) | ||
| 231 | +- `module_confidence >= 0.80`:自动通过(默认不需要人工确认) | ||
| 232 | +- `0.50 ~ 0.80`:进入“待确认列表”(你批量确认;不要求逐条手改) | ||
| 233 | +- `< 0.50`:必须人工确认(通常是触点缺失/证据不足/跨模块强耦合) | ||
| 234 | + | ||
| 235 | +```mermaid | ||
| 236 | +graph TB; X["AI 输出:modules + confidence + reason"] --> Y["confidence >= 0.8 ?"]; Y --> A["自动落库"]; Y --> Z["confidence >= 0.5 ?"]; Z --> B["待确认列表(你批量确认/抽检)"]; Z --> C["必须人工确认(补充触点/规则拆分/同义词表)"]; B --> A; C --> A; | ||
| 237 | +``` | ||
| 238 | + | ||
| 239 | +#### 5.3.6 协同建议(你 vs 黑豆) | ||
| 240 | +- **黑豆交付侧**:可以“可选”提供 `module_hint`(基于用例所在测试集/目录),但不作为强约束 | ||
| 241 | +- **你交付侧**:你维护模块字典与仲裁规则;最终落库的 `primary_module/modules[]` 以你侧为准 | ||
| 242 | +- **版本同步表建议增加**(可选字段): | ||
| 243 | + - `module_hints[]`:该版本涉及的模块范围(便于预评审/验收) | ||
| 244 | + - `module_review_status`:`pending | partial | done`(模块标注是否已人工兜底) | ||
| 245 | + | ||
| 246 | +--- | ||
| 247 | + | ||
| 248 | +## 6. 版本同步表(推荐模板) | ||
| 249 | + | ||
| 250 | +建议每个版本一条记录,维护在仓库(或飞书表格也行,但建议落地成文件便于自动化)。 | ||
| 251 | + | ||
| 252 | +字段建议: | ||
| 253 | +- `app_version` | ||
| 254 | +- `status`:`collecting | ready_to_merge | merged | ingested | done` | ||
| 255 | +- `figma_links_file` | ||
| 256 | +- `figma_file_keys`(可选) | ||
| 257 | +- `test_suite_files[]` | ||
| 258 | +- `case_atoms_file`(可选,但强烈推荐) | ||
| 259 | +- `owners`:`{figma: 你, test: 黑豆, merge: 你}` | ||
| 260 | +- `last_sync_at` | ||
| 261 | +- `notes` | ||
| 262 | + | ||
| 263 | +模板文件见:`docs/rag/version_sync_template.yaml` | ||
| 264 | + | ||
| 265 | +--- | ||
| 266 | + | ||
| 267 | +## 7. 质量与验收(必须写清楚的“协同接口”) | ||
| 268 | + | ||
| 269 | +### 7.1 黑豆交付验收(你拿到后自动校验) | ||
| 270 | +- XML 可解析(结构完整) | ||
| 271 | +- `external_id` 存在(截图里你们已勾选导出 external id,则非常好) | ||
| 272 | +- 若交付 `case_atoms.jsonl`: | ||
| 273 | + - 每条 atom 都有 `canon_text` 与 `merge_fingerprint` | ||
| 274 | + - `A/R` 至少一个包含“强规则信号”(toast/弹窗/禁用/默认选中…) | ||
| 275 | + | ||
| 276 | +### 7.2 你侧验收(输出报表) | ||
| 277 | +- **命中率**:`matched_clusters / total_case_atoms` | ||
| 278 | +- **未命中分类**: | ||
| 279 | + - Figma 缺少文案/流程(只写了背景) | ||
| 280 | + - XML 缺少期望(只有截图 base64,无法抽取) | ||
| 281 | + - 语义不一致(需要同义词表/占位符增强) | ||
| 282 | + | ||
| 283 | +--- | ||
| 284 | + | ||
| 285 | +## 8. 附:v4.57.3 的“真实命中”样例(证明方案可跑通) | ||
| 286 | + | ||
| 287 | +在 `t1NWQ5VaeWAY1Dnnd6Z7sF` 的 `node-id=397-922` 中,Figma 文本包含: | ||
| 288 | +- `发送给患者` | ||
| 289 | +- `请选择坐诊时间段` | ||
| 290 | +- `您当天坐诊时间已结束` | ||
| 291 | +- `您当天没有坐诊排班` | ||
| 292 | +- `患者加号发送成功` | ||
| 293 | + | ||
| 294 | +与 XML 用例(如 `externalid=24256/24254/24255/24257`)能够通过 `merge_key = v4.57.3:<fingerprint12>` 自动对齐合并。 | ||
| 295 | + |
inputs/figma/v4.20.5/links.txt
0 → 100644
inputs/figma/v4.21.5/links.txt
0 → 100644
inputs/figma/v4.24.0/links.txt
0 → 100644
| 1 | +https://www.figma.com/design/vcD3HStvr6ukAzyXmsS29K/4.24.0?node-id=3029-4&p=f&t=cMiYRpW3pAR99a7O-0 |
inputs/figma/v4.25.5/links.txt
0 → 100644
| 1 | +https://www.figma.com/design/W24tOomtFCBObPHjFVx2Dl/4.25.5-xdy?node-id=48-539&p=f&t=oCnFO3Linqo5rsRX-0 | ||
| 2 | +https://www.figma.com/design/8lCFnNbGhfaOcOGOTqQ66S/4.25.5%E9%9C%80%E6%B1%82?node-id=136-1244&p=f&t=oCnFO3Linqo5rsRX-0 | ||
| 3 | +https://www.figma.com/design/8lCFnNbGhfaOcOGOTqQ66S/4.25.5%E9%9C%80%E6%B1%82?node-id=136-3432&p=f&t=oCnFO3Linqo5rsRX-0 |
inputs/figma/v4.26.0/links.txt
0 → 100644
| 1 | +https://www.figma.com/design/bUiTsivfAlCBy07qq7zIWu/4.26.0%E9%9C%80%E6%B1%82?node-id=284-1178&p=f&t=zbQHSLfgBXY7eCIO-0 | ||
| 2 | +https://www.figma.com/design/bUiTsivfAlCBy07qq7zIWu/4.26.0%E9%9C%80%E6%B1%82?node-id=427-188&p=f&t=zbQHSLfgBXY7eCIO-0 | ||
| 3 | +https://www.figma.com/design/eS8POEKDuIaqjd1z5gP6m4/4.26.0-xdy?node-id=1-32&p=f&t=zbQHSLfgBXY7eCIO-0 | ||
| 4 | +https://www.figma.com/design/eS8POEKDuIaqjd1z5gP6m4/4.26.0-xdy?node-id=1-2864&p=f&t=zbQHSLfgBXY7eCIO-0 | ||
| 5 | +https://www.figma.com/design/DoOTIXq7HCqsipgO1LdAFL/D-4.26.0?node-id=27-58&p=f&t=zbQHSLfgBXY7eCIO-0 |
inputs/figma/v4.30.10/links.txt
0 → 100644
inputs/figma/v4.31.10/links.txt
0 → 100644
| 1 | +https://www.figma.com/design/Um8LyeKg6IvD0vQhxYiy3H/4.31.10%E9%9C%80%E6%B1%82?node-id=6531-4&p=f&t=Yv80ToXi4SDRWoQU-0 |
inputs/figma/v4.32.0/links.txt
0 → 100644
| 1 | +https://www.figma.com/design/M3ww4T7FRqT5vjSHSsWF1a/4.32.0%E9%9C%80%E6%B1%82?node-id=4169-78&p=f&t=JSPeTBAzeLIGISkc-0 | ||
| 2 | +https://www.figma.com/design/M3ww4T7FRqT5vjSHSsWF1a/4.32.0%E9%9C%80%E6%B1%82?node-id=8241-29&p=f&t=JSPeTBAzeLIGISkc-0 | ||
| 3 | +https://www.figma.com/design/M3ww4T7FRqT5vjSHSsWF1a/4.32.0%E9%9C%80%E6%B1%82?node-id=8253-662&p=f&t=JSPeTBAzeLIGISkc-0 | ||
| 4 | +https://www.figma.com/design/M3ww4T7FRqT5vjSHSsWF1a/4.32.0%E9%9C%80%E6%B1%82?node-id=9427-233&p=f&t=JSPeTBAzeLIGISkc-0 | ||
| 5 | +https://www.figma.com/design/M3ww4T7FRqT5vjSHSsWF1a/4.32.0%E9%9C%80%E6%B1%82?node-id=8081-5&p=f&t=JSPeTBAzeLIGISkc-0 |
inputs/figma/v4.32.10/links.txt
0 → 100644
| 1 | +https://www.figma.com/design/AzEHLrGUIlnopHsrCtVrV9/4.32.10?node-id=1-2566&p=f&t=MO5SzkBdnU7pqzoT-0 | ||
| 2 | +https://www.figma.com/design/AzEHLrGUIlnopHsrCtVrV9/4.32.10?node-id=1-2617&p=f&t=MO5SzkBdnU7pqzoT-0 | ||
| 3 | +https://www.figma.com/design/AzEHLrGUIlnopHsrCtVrV9/4.32.10?node-id=1-2065&p=f&t=MO5SzkBdnU7pqzoT-0 | ||
| 4 | +https://www.figma.com/design/AzEHLrGUIlnopHsrCtVrV9/4.32.10?node-id=785-273&p=f&t=MO5SzkBdnU7pqzoT-0 |
inputs/figma/v4.33.0/links.txt
0 → 100644
| 1 | +https://www.figma.com/design/rHy0N9bEEC17FUSaCWVXHO/4.33.0?node-id=2056-2&p=f&t=DYKWErl2M9vxZtYX-0 | ||
| 2 | +https://www.figma.com/design/rHy0N9bEEC17FUSaCWVXHO/4.33.0?node-id=2026-263&p=f&t=DYKWErl2M9vxZtYX-0 | ||
| 3 | +https://www.figma.com/design/rHy0N9bEEC17FUSaCWVXHO/4.33.0?node-id=2305-8&p=f&t=DYKWErl2M9vxZtYX-0 | ||
| 4 | +https://www.figma.com/design/rHy0N9bEEC17FUSaCWVXHO/4.33.0?node-id=2041-24&p=f&t=DYKWErl2M9vxZtYX-0 | ||
| 5 | +https://www.figma.com/design/rHy0N9bEEC17FUSaCWVXHO/4.33.0?node-id=2041-267&p=f&t=DYKWErl2M9vxZtYX-0 |
inputs/figma/v4.35.0/links.txt
0 → 100644
| 1 | +https://www.figma.com/design/8iwx2lM8wsY16lm53ogx4r/4.35.0?node-id=214-5&p=f&t=tvIVAGKEJM6wzThn-0 |
inputs/figma/v4.37.0/links.txt
0 → 100644
inputs/figma/v4.38.0/links.txt
0 → 100644
| 1 | +https://www.figma.com/design/eUGJhmIIUtLxjJY27Bn15N/D-4.38.0?node-id=6-345&p=f&t=KVwBk5QR2ND76fvA-0 |
inputs/figma/v4.39.0/links.txt
0 → 100644
| 1 | +https://www.figma.com/design/uSPopyB76PGVPNEXflfFXI/D-4.39.0?node-id=2080-3219&p=f&t=DX0tTZ96Q7JMGNpI-0 |
inputs/figma/v4.40.0/links.txt
0 → 100644
inputs/figma/v4.42.0/links.txt
0 → 100644
inputs/figma/v4.43.0/links.txt
0 → 100644
| 1 | +https://www.figma.com/design/gUAPBLci0IOGC6vHmlkQpw/D-4.43.0-%E9%97%AE%E8%AF%8A%E6%94%B6%E5%85%A5%E5%9F%9F?node-id=105-207&p=f&t=4vYqxPVPmJ0Ku0vU-0 | ||
| 2 | +https://www.figma.com/design/gUAPBLci0IOGC6vHmlkQpw/D-4.43.0-%E9%97%AE%E8%AF%8A%E6%94%B6%E5%85%A5%E5%9F%9F?node-id=32-10877&p=f&t=4vYqxPVPmJ0Ku0vU-0 |
inputs/figma/v4.44.0/links.txt
0 → 100644
| 1 | +https://www.figma.com/design/Qy09PKVhSGh04A3XqIfquQ/D-4.44.0-%E9%97%AE%E8%AF%8A%E6%94%B6%E5%85%A5%E5%9F%9F?node-id=160-2&p=f&t=WVJ6Jg6lLmrgKruG-0 | ||
| 2 | +https://www.figma.com/design/Qy09PKVhSGh04A3XqIfquQ/D-4.44.0-%E9%97%AE%E8%AF%8A%E6%94%B6%E5%85%A5%E5%9F%9F?node-id=4-34&p=f&t=WVJ6Jg6lLmrgKruG-0 | ||
| 3 | +https://www.figma.com/design/Qy09PKVhSGh04A3XqIfquQ/D-4.44.0-%E9%97%AE%E8%AF%8A%E6%94%B6%E5%85%A5%E5%9F%9F?node-id=4-4275&p=f&t=WVJ6Jg6lLmrgKruG-0 | ||
| 4 | +https://www.figma.com/design/Qy09PKVhSGh04A3XqIfquQ/D-4.44.0-%E9%97%AE%E8%AF%8A%E6%94%B6%E5%85%A5%E5%9F%9F?node-id=4-50&p=f&t=WVJ6Jg6lLmrgKruG-0 | ||
| 5 | +https://www.figma.com/design/Qy09PKVhSGh04A3XqIfquQ/D-4.44.0-%E9%97%AE%E8%AF%8A%E6%94%B6%E5%85%A5%E5%9F%9F?node-id=8-5751&p=f&t=WVJ6Jg6lLmrgKruG-0 |
inputs/figma/v4.46.0/links.txt
0 → 100644
| 1 | +https://www.figma.com/design/1p6CGiPE87xXjeY2MsnLsK/D-4.46.0-%E9%97%AE%E8%AF%8A%E5%9F%9F?node-id=15-85&p=f&t=qGjhK9AsGhxOv5Er-0 | ||
| 2 | +https://www.figma.com/design/1p6CGiPE87xXjeY2MsnLsK/D-4.46.0-%E9%97%AE%E8%AF%8A%E5%9F%9F?node-id=38-304&p=f&t=qGjhK9AsGhxOv5Er-0 | ||
| 3 | +https://www.figma.com/design/1p6CGiPE87xXjeY2MsnLsK/D-4.46.0-%E9%97%AE%E8%AF%8A%E5%9F%9F?node-id=2036-389&p=f&t=qGjhK9AsGhxOv5Er-0 |
inputs/figma/v4.47.0/links.txt
0 → 100644
| 1 | +https://www.figma.com/design/aPtAtRmQpqaoGbwfxpgcNk/D-4.47.0-%E9%97%AE%E8%AF%8A%E5%9F%9F?node-id=93-240&p=f&t=uUayPG6TBpo0ffVd-0 | ||
| 2 | +https://www.figma.com/design/aPtAtRmQpqaoGbwfxpgcNk/D-4.47.0-%E9%97%AE%E8%AF%8A%E5%9F%9F?node-id=205-241&p=f&t=uUayPG6TBpo0ffVd-0 | ||
| 3 | +https://www.figma.com/design/aPtAtRmQpqaoGbwfxpgcNk/D-4.47.0-%E9%97%AE%E8%AF%8A%E5%9F%9F?node-id=4121-195&p=f&t=uUayPG6TBpo0ffVd-0 | ||
| 4 | +https://www.figma.com/design/aPtAtRmQpqaoGbwfxpgcNk/D-4.47.0-%E9%97%AE%E8%AF%8A%E5%9F%9F?node-id=4022-3065&p=f&t=uUayPG6TBpo0ffVd-0 |
inputs/figma/v4.48.0/links.txt
0 → 100644
| 1 | +https://www.figma.com/design/ujGJZpk2QTfRGIAZy2Zwlm/D-4.48.0-%E9%97%AE%E8%AF%8A%E5%9F%9F?node-id=977-519&p=f&t=tSUqwQfR1Mx2elVE-0 | ||
| 2 | +https://www.figma.com/design/ujGJZpk2QTfRGIAZy2Zwlm/D-4.48.0-%E9%97%AE%E8%AF%8A%E5%9F%9F?node-id=1067-519&p=f&t=tSUqwQfR1Mx2elVE-0 | ||
| 3 | +https://www.figma.com/design/ujGJZpk2QTfRGIAZy2Zwlm/D-4.48.0-%E9%97%AE%E8%AF%8A%E5%9F%9F?node-id=497-2&p=f&t=tSUqwQfR1Mx2elVE-0 | ||
| 4 | +https://www.figma.com/design/ujGJZpk2QTfRGIAZy2Zwlm/D-4.48.0-%E9%97%AE%E8%AF%8A%E5%9F%9F?node-id=78-15&p=f&t=tSUqwQfR1Mx2elVE-0 | ||
| 5 | +https://www.figma.com/design/ujGJZpk2QTfRGIAZy2Zwlm/D-4.48.0-%E9%97%AE%E8%AF%8A%E5%9F%9F?node-id=104-235&p=f&t=tSUqwQfR1Mx2elVE-0 |
-
Please register or login to post a comment