feat: 完成原型04-10全链路功能开发,包括AI助手、PDF导出等

This commit is contained in:
hujun
2026-09-28 17:50:46 +08:00
parent 7c252fc730
commit 79feb03b19
27 changed files with 1083 additions and 180 deletions
+26 -12
View File
@@ -1,11 +1,11 @@
# 原型04—10页面改造与跳转方案
版本:1.3。日期:2026-09-28。依据:[原型图](原型.jpg)、[开发文档](开发文档.md)、[数据契约](需求与评估结果数据契约.md)。本轮用户明确要求补齐04—10页面并随后进入产品匹配开发;此前“对比/PDF另行排期”的范围限制,自本方案起由下列正式任务覆盖。
版本:1.7。日期:2026-09-28。依据:[原型图](原型.jpg)、[开发文档](开发文档.md)、[数据契约](需求与评估结果数据契约.md)。本轮用户明确要求补齐04—10页面并随后进入产品匹配开发;此前“对比/PDF另行排期”的范围限制,自本方案起由下列正式任务覆盖。
## 1. 范围与落地原则
- 04、05是同一产品匹配详情的不同判定状态,06是同一详情页的产品信息栏;复用现有product/product,不机械新增三个页面。
- 07产品对比、10下一步行动新增两个融资分包页面。compare已注册,当前pages.json共26页;next-step仍待开发注册,最终目标27页。
- 07产品对比、10下一步行动新增两个融资分包页面。compare与next-step均已注册,当前pages.json共27页。
- 08复用assistant/assistant;09复用report/report并改为“评估概况/匹配结果/改善建议”。03匹配列表作为04—10的必要入口一并改造。
- 保留蓝白主色、卡片、银行标识、正反理由分组和清晰底部行动区。数据必须来自本人本次评估;原型的92%/B+不作为默认值。
- 首版使用既有三态准入:符合已知条件、条件不符、待核实。score=null,不展示匹配百分比;稳定顺序采用productId升序并注明不代表优劣。真实评分、运营优先级另发版本化策略。
@@ -17,13 +17,13 @@
| 原型 | 页面实现 | 页面内容与行为 | 任务 | 当前状态 |
| --- | --- | --- | --- | --- |
| 04 单家银行AI解释 | product/product,tab=explanation,eligible状态 | 银行/产品名、条件判定、已满足条件、注意事项、证据来源、AI解释、对比/准备申请 | PRODUCT-004 | 基础已接规则理由/证据/历史快照及对比;单产品AI解释和行动页待开发 |
| 05 其他银行不推荐解释 | 同一页面,ineligible或unknown状态 | 不符条件与待核实项分组;已满足部分称“已满足条件”;查看资料/询问AI,不建议直接申请 | PRODUCT-004 | 已接不符/待核实及证据;AI咨询待接;服务端判定决定状态 |
| 04 单家银行AI解释 | product/product,tab=explanation,eligible状态 | 银行/产品名、条件判定、已满足条件、注意事项、证据来源、AI解释、对比/准备申请 | PRODUCT-004 | 布局按原型还原;逐条DeepSeek解释/持久任务/失败重试本地验证通过;准备入口已接10,真实产品/平台待验收 |
| 05 其他银行不推荐解释 | 同一页面,ineligible或unknown状态 | 不符条件与待核实项分组;已满足部分称“已满足条件”;查看资料/询问AI,不建议直接申请 | PRODUCT-004 | 已接不符/待核实、逐条解释和证据;AI咨询已接08上下文;服务端判定决定状态 |
| 06 产品详情 | product/product,tab=details或conditions | 额度/期限/年化利率范围、还款方式、材料、渠道、适用对象、来源及版本;独立显示当前可用性 | PRODUCT-003、PRODUCT-004 | 已接三栏、公共/历史双模式及当前可用性;真实机构资料待录入 |
| 07 同类产品对比 | 新增compare/compare | 同一评估2—3个产品列式对比,首列指标固定,移动端横向滚动;条件判定、金额/利率/期限、材料、差异依据 | PRODUCT-005 | 基础完成,本地联调通过;真实产品及平台待验收 |
| 08 AI助手延伸问答 | assistant/assistant | 本次评估及选定产品上下文卡、按实际判定生成快捷问题、持久会话、分页、重试、返回报告/产品 | CHAT-001—004 | 页面已有;真实上下文问答待接 |
| 09 我的融资报告 | report/report | 三栏内容、资料准备状态、完整度、最多三个候选及查看更多、改善项、PDF下载、重新评估、下一步行动 | REPORT-004、REPORT-005 | 三栏/历史候选/改善证据基础已联调;PDF及行动入口待独立任务 |
| 10 下一步行动 | 新增next-step/next-step | 准备申请、查看已保存报告、下载PDF、优化资料、咨询AI、回首页;依结果决定可用行动 | REPORT-006 | 新增任务,未开始 |
| 08 AI助手延伸问答 | assistant/assistant | 本次评估及选定产品上下文卡、按实际判定生成快捷问题、持久会话、分页、重试、返回报告/产品 | CHAT-001—004 | 页面已有;持久上下文/异步问答/分页重试已本地联调,真实语义与真机待验收 |
| 09 我的融资报告 | report/report | 三栏内容、资料准备状态、完整度、最多三个候选及查看更多、改善项、PDF下载、重新评估、下一步行动 | REPORT-004、REPORT-005 | 三栏/历史候选/改善证据基础已联调;行动入口已接10,PDF普通H5基础完成,跨浏览器/真机待验收 |
| 10 下一步行动 | 新增next-step/next-step | 准备申请、查看已保存报告、下载PDF、优化资料、咨询AI、回首页;依结果决定可用行动 | REPORT-006 | 本地联调完成,38项H5检查与Android/微信编译通过;真实产品与平台待验收 |
### 03 匹配列表入口(必要配套)
@@ -41,7 +41,7 @@
产品快照中的额度/利率/期限保持评估时版本。读取时发现当前产品下架/过期,另加状态条并禁用准备申请;查询当前状态失败也不能假定可用。允许查看历史解释、参与带状态标识的历史对比或咨询AI。
金额以万元范围展示,期限以月、年化利率以百分比范围展示。缺还款方式/审批时长/渠道等资料时显示“未提供”,不得采用原型示例值。银行Logo只使用已提供或可合法使用的真实素材;缺失时用文字简称,不生造银行标志。
金额以万元范围展示,期限以月、年化利率以百分比范围展示。缺还款方式/审批时长/渠道等资料时显示“未提供”,不得采用原型示例值。银行Logo只使用已提供或可合法使用的真实素材;缺失时用文字简称或既有通用机构图标,不生造银行标志。
“准备申请”仅当eligible且currentAvailability=available时进入10的准备区域;“查看同类产品对比”进入07并保留当前产品选择;“我有疑问,咨询AI”进入08,展示上下文而不自动发送消息或调用模型。
@@ -58,7 +58,7 @@
- 有assessmentId时,只使用本人已成功报告和指定产品的冻结理由;可不指定产品、指定单项或指定对比的2—3项。
- 快捷问题按实际状态生成,例如“这些条件为什么符合”“哪些条件不满足”“还需要核实哪些资料”“两项产品有哪些差异”;无匹配时不出现“为什么推荐这家银行”。
- 输入问题后由用户发送;仅打开页面不创建模型请求。失败重试保持消息requestId,切换账号清理页面内容。
- 普通会话继续使用scene=assistant,assessment_id=NULL;计划随CHAT-001增量迁移新增context_assessment_id及context_data,前者保存本人评估引用,后者保存产品ID及报告摘要引用。当前库尚无这两列,本轮不迁移;已有普通会话两列为NULL,新增归属索引/约束需先检查历史数据,不复用或覆盖正式评估的analysis_context。
- 普通会话继续使用scene=assistant,assessment_id=NULL;CHAT-001已增量迁移新增context_assessment_id及context_data,前者保存本人评估引用,后者保存产品ID及报告摘要引用。2026-09-28已获用户授权完成两列、归属索引/外键及场景约束迁移;原有记录新增列为NULL,不复用或覆盖正式评估的analysis_context。
- chatId恢复时以服务端已保存上下文为准;URL与会话上下文冲突拒绝,不静默改绑定。失效上下文提示重新选择,不能回答成另一份报告。
### 09 报告三栏与PDF
@@ -136,9 +136,9 @@ flowchart TD
| GET /api/v1/assessments/:id/matches | 已实现 | 03/09,三态分页、默认limit=3;既有契约字段不变 |
| GET /api/v1/assessments/:id/matches/:productId | 已实现 | 04/05/06,以及07每次最多读取三项;本人成功记录、本次冻结产品,404不得回退公共数据 |
| GET /api/v1/products/:id | 已实现,会员Bearer | 06公共模式;不含个人判定及理由,当前资料与历史快照分开 |
| POST /api/v1/assistant/chats | 计划新增 | contextAssessmentId:string或null、contextProductIds:string[]、requestId;服务端校验同一评估和产品快照,不接客户端报告正文 |
| GET/POST /api/v1/assistant/chats/:id/messages | 计划新增 | 08消息分页、提交与幂等;上下文由会话固定 |
| GET /api/v1/assessments/:id/report.pdf | 计划新增,REPORT-005 | Bearer鉴权;成功application/pdf,Content-Disposition安全文件名、no-store;401/404/409/503为JSON错误;失败不生成报告或调用模型 |
| POST /api/v1/assistant/chats | 已实现,见助手契约 | contextAssessmentId:string或null、contextProductIds:string[]、requestId;服务端校验同一评估和产品快照,不接客户端报告正文 |
| GET/POST /api/v1/assistant/chats/:id/messages | 已实现,见助手契约 | 08消息分页、提交与幂等;上下文由会话固定 |
| GET /api/v1/assessments/:id/report.pdf | 已实现,REPORT-005待验收 | Bearer鉴权;成功application/pdf,Content-Disposition安全文件名、no-store;401/404/409/503为JSON错误;失败不生成报告或调用模型 |
PDF接口owner校验先于渲染,未完成返回409 REPORT_NOT_READY,格式不支持409 REPORT_FORMAT_UNAVAILABLE,能力不可用503 REPORT_EXPORT_UNAVAILABLE。仅由受控模板渲染,用户文本转义,禁止任意HTML/外部图片URL触发文件或网络读取。客户端按状态码和Content-Type区分PDF与JSON,不把错误响应另存为PDF。
@@ -205,3 +205,17 @@ report/report的overview/matches/improvements已接现有报告与匹配只读
匹配栏默认eligible前3项,改善栏分别读取ineligible/unknown前3项,各有完整列表和产品详情入口,不把摘要当全部结果。关联产品证据直接展示规则理由、字段值和来源;AI改善文字保留报告中的字段/准备依据标签。读取时核对报告与列表的版本、目录标识及三态统计,异常保留其他可用区块并单独重试。
“重新评估”选择主体后清空流程内存进入空白表单,历史报告不编辑。PDF、下一步行动及上下文问答按钮待对应能力完成后接入。26页、63任务编号和历史估时不变;REPORT-004整体保持开发中,具体验证/剩余边界见[开发进度6.17](开发进度.md)。
## 8. 2026-09-28 原型04/05还原记录
- 已实现:白底、紧凑机构头部、状态标签、三栏蓝色选中线、绿色/橙色编号、理由标题和灰色解释、双按钮底栏。将重复“资料尚需核验”从长标题移至说明和证据,避免窄屏标题折断;全部原始证据仍可展开。
- 数据差异:无匹配百分比;只展示有依据的真实数量,不凑三正三反;不符/未知产品的绿色标题使用“已满足的条件”;机构资料尚为明确标注的演示数据,使用通用图标。
- 操作差异:立即申请暂用“查看资料准备”,只切申请条件栏;05的咨询按钮待08上下文问答完成后接入,当前为可用的产品对比入口。生成AI解释为独立明确点击,成功后逐条补充且重新打开不重复生成。
- 栏目切换替换当前路由,保留assessmentId/productId/productIds/from;刷新停留原栏,退出页面停止轮询并清理个人数据。默认每三秒读状态,最多六十次,失败或停止后可手动重新查询;不发起新模型任务。
- 视觉/功能验证:Chromium 390×844、390×1000、1280×900;参考图原始单页约220×568像素,已查看原图和放大局部,并用接近其纵横比的390×1000屏幕检查。记录见开发进度6.18,不代表微信内浏览器或真机验收。
2026-09-28原型08实施补充:创建/详情/历史/上下文预览和消息API、重试序号及迁移恢复以[上下文AI助手开发契约](上下文AI助手开发契约.md)为准。CHAT-001—003本地联调后待验收,CHAT-004真实语义/生产容量仍开发中。
### 2026-09-28 PDF落地补充
09顶部与10页共用鉴权下载组件,服务端内存生成并输出二进制,无公开文件。Dompdf3.1.6及Noto Sans SC中文字体独立锁定;逐字段脱敏、转义和远程读取禁用。普通H5真实下载,微信内/原生/小程序提示使用普通浏览器。29项模板、20项HTTP、24项受控浏览器检查通过,平台/容量待验收;详见进度6.21。