feat(融资): 新增产品对比页面及相关接口实现

新增产品对比页面 compare/compare,支持同一评估下最多3个产品的横向对比,展示额度、期限、利率、适用条件等核心指标及匹配详情。
新增 matches.uts 服务层,封装匹配列表、详情、公共产品查询接口。
新增 account 分包的 latest-report.uts 服务,用于查找用户最新成功报告。
调整个人中心页面,将“评估记录”改为“开始评估”,新增最近报告直达功能。
更新文档,标记匹配相关接口及原型07、09页面已实现,调整页面数量至26页。
移除 finance 分包中旧的 fetchMatches、fetchProduct 模拟数据接口,统一使用正式API。
This commit is contained in:
hujun
2026-09-28 14:56:46 +08:00
parent 26da91b337
commit 7c252fc730
20 changed files with 1605 additions and 403 deletions
+21 -5
View File
@@ -1,10 +1,14 @@
# AI 融资移动端
基于 uni-app x、Vue 3、UTS 的移动端原型,包含 25 个页面。使用 HBuilderX(VDOM 模式)开发,已验证 5.24 和 5.26 的本地编译;本项目没有独立的 npm 构建入口。
基于 uni-app x、Vue 3、UTS 的移动端原型,包含 26 个页面。使用 HBuilderX(VDOM 模式)开发,已验证 5.24 和 5.26 的本地编译;本项目没有独立的 npm 构建入口。
2026-09-28:原型07产品对比已接通,匹配列表/本次产品详情可选择2—3项历史产品,支持补选、移除、刷新恢复、失败列重试及手机横向滚动。复用本人冻结匹配详情,不新增表或模型调用;当前26页,真实产品与跨平台验收仍待完成。见[开发进度6.16](docs/开发进度.md)。
2026-09-28:原型09报告已改为“评估概况/匹配结果/改善建议”,支持栏目URL刷新、最多3项历史候选、分组产品依据与局部重试;重新评估进入空白个人/企业表单,旧报告不补算。PDF、上下文助手与行动页继续独立开发。验证见[开发进度6.17](docs/开发进度.md)。
## 本地运行
2026-09-24:本地产品库已按用户要求上架6条演示产品(ID22—27)。新评估会冻结目录、计算三态及证据并保存匹配结果;报告已展示实际统计和演示标记,旧报告不补算。匹配列表/详情API及04—10页面仍待改造,不能把现有模拟产品页面作为本次真实结果入口。数据、脚本与参数见[产品规则契约第7节](docs/产品匹配规则开发契约.md),验收进度见[开发进度6.12](docs/开发进度.md)。
2026-09-24:本地产品库已按用户要求上架6条演示产品(ID22—27)。新评估会冻结目录、计算三态及证据并保存匹配结果;报告已展示实际统计和演示标记,旧报告不补算。匹配列表/详情API和03/04/05/06基础已接通,可从新报告进入本次匹配;07—10扩展待开发。数据、脚本与参数见[产品规则契约第7节](docs/产品匹配规则开发契约.md),验收进度见[开发进度6.12](docs/开发进度.md)。
本地评估分析还需要启动后端队列进程;仅启动 phpStudy、Redis 和前端页面不会执行模型任务。在 PowerShell 中运行下列命令,并保持终端运行(重启电脑后需重新启动):
@@ -15,7 +19,7 @@ Set-Location 'D:\AAdesk\202609\airz'
提交后一直“分析中”时,先检查此进程是否运行;未运行时任务会保留在队列中,启动后继续处理,无需重复提交。运行会调用已配置的真实模型并产生用量。生产环境需要独立的进程守护;本地手动启动不代表已配置开机自启。
在 HBuilderX 中导入当前目录,选择“运行 → 运行到浏览器”。共享请求配置位于 `services/api.uts`,账户、融资服务分别位于对应分包的 `services/`。现已接入本地后端密码登录、账户资料、头像、退出及改密,以及融资需求v2录入、正式提交、历史、DeepSeek自填报告与失败重试;完整度/准备状态及报告v2自填支线已接入;短信与真实产品匹配仍待接入。无草稿;金额显示万元、接口传元字符串。最新状态和验证范围见[开发进度](docs/开发进度.md)0.6及6.6。
在 HBuilderX 中导入当前目录,选择“运行 → 运行到浏览器”。共享请求配置位于 `services/api.uts`,账户、融资服务分别位于对应分包的 `services/`。现已接入本地后端密码登录、账户资料、头像、退出及改密,以及融资需求v2录入、正式提交、历史、DeepSeek自填报告与失败重试;完整度/准备状态及报告v2自填支线已接入;短信与真实机构产品资料仍待接入。无草稿;金额显示万元、接口传元字符串。最新状态和验证范围见[开发进度](docs/开发进度.md)0.6及6.6。
也可使用 HBuilderX CLI。以下 PowerShell 命令中的安装路径应按本机环境调整;在项目根目录执行:
@@ -67,7 +71,7 @@ $projectPath = (Get-Location).Path
资产与负债包含 `creditLoanCount`(信用贷款笔数)、`totalDebtBalance`(欠款总余额)、`monthlyLoanPayment`(贷款月还款金额)、`creditCardCount`(银行信用卡张数)、`creditCardTotalLimit`(总额度)、`creditCardUsedLimit`(已使用总额度)、`house` / `car`(有 / 无)。移动端所有金额统一以万元输入和展示,最多六位小数;提交接口前精确换算成元的两位小数字符串,范围为 0–999999999.99 元(DECIMAL(11,2))。数量为非负整数;资产负债保持原来的可跳过规则。企业经营时间使用实际经营月数,不从区间猜测。启动时清理旧评估草稿缓存,不导入、不恢复。
新闻与课程的数据定义位于 `packages/content/services/content.uts`,产品定义位于 `packages/finance/services/finance.uts`。产品列表与详情共用 ID;预留 `GET /matches`(`items` 数组)及 `GET /products/:id`(单个产品),字段见 `FinanceProduct`,其中视图模型的 `amount` 为万元数值、`rate` 为年化百分比数值。真实接口应返回 `amountYuan`(元的两位小数字符串),由适配层转换;旧 `amount`(万元)仅保留兼容。后端产品表使用独立的额度、期限和利率范围字段,匹配分数与理由属于评估结果。申请入口目前仅引导准备资料,不向金融机构提交申请。
新闻与课程的数据定义位于 `packages/content/services/content.uts`。正式匹配与产品适配位于 `packages/finance/services/matches.uts`;GET /assessments/:id/matches及结果详情返回冻结的产品范围、判定和证据;GET /products/:id返回当前公共资料。金额范围使用元的十进制字符串,在适配层精确转换为万元。旧无评估GET /matches和模拟fetchProduct入口已移除。后端产品表使用独立的额度、期限和利率范围字段,匹配分数与理由属于评估结果。申请入口目前仅引导准备资料,不向金融机构提交申请。
首页搜索进入内容分包的 `search/search`,支持全部、新闻、融资课堂筛选及对应详情跳转。搜索服务位于 `packages/content/services/search.uts`,当前匹配本地标题、简介、分类和正文;空格分隔的多个关键词需同时命中。预留 `GET /content/search`,参数为 `keyword` 与 `type`(`all` / `news` / `lesson`),返回 `{ items: ContentSearchResult[] }`,每项包含 `id`、`type`、`title`、`summary`、`category`、`meta`、`image`。后端接入时需同步接入新闻和课程详情的数据源,确保返回的 ID 可查询详情。
@@ -80,7 +84,7 @@ $projectPath = (Get-Location).Path
| 目录 | 内容 | 页面数 |
| --- | --- | --- |
| `pages/home` | 首页 | 1 |
| `packages/finance` | 融资入口、评估、确认、分析、报告、匹配、产品、助手、档案 | 9 |
| `packages/finance` | 融资入口、评估、确认、分析、报告、匹配、产品、对比、助手、档案 | 10 |
| `packages/account` | 启动引导、登录、个人中心、修改资料、账户安全、修改密码、更换手机号、积分、消息 | 9 |
| `packages/content` | 搜索、帮助与反馈、新闻、文章、融资课堂、课程详情 | 6 |
@@ -129,3 +133,15 @@ $projectPath = (Get-Location).Path
迁移 `database/migrate_analysis_tasks.py --apply` 已执行,仅增补fa_user_info的task_requests/task_stage/attempt_count/lease_until/dispatched_at及idx_task_dispatch;无新表。执行前0条评估,备份为 `D:/AAdesk/202609/airz-backups/analysis-tasks-20260923-172957-846359/user_info.sql`。回退需先停worker并关闭分析,核对新增业务数据后再用备份恢复,不能直接覆盖后来评估;优先保留兼容字段、回退代码。
验证:先停全部worker,运行 `php tests/analysis_tasks.php --worker-stopped`(29项)和 `php tests/analysis_http.php --worker-stopped`(15项),使用合成数据与假模型;恢复扫描可能发现任意queued测试行,不能只依赖随机Redis队列隔离。任务测试可显式追加`--live`真实调用一次;`tests/deepseek_smoke.php --live`真实调用两个模型。常规正式评估HTTP回归需分析关闭,开启时会SKIP。当前真实个人自填报告及企业H5重试→worker→报告均通过,普通Chromium与Android编译通过;生产、微信内H5、Safari/真机、外部数据及真实产品匹配未验收。
## 2026-09-24 匹配读取与页面接入
新增GET /api/v1/assessments/:id/matches、GET /api/v1/assessments/:id/matches/:productId、GET /api/v1/products/:id,均需会员Bearer;前两者还校验评估归属及成功状态。匹配使用已存快照,当前可用性另查,不重跑规则或模型。报告→匹配三态列表→解释/详情/条件三栏已接通,金额显示万元;演示产品明确标识,旧报告不补算。产品对比已完成本地接口联调,报告三栏已完成本地联调;单产品AI解释、PDF和行动页仍待开发。
后端tests/match_records.php --worker-stopped验证62项接口/快照边界(先停止正式worker,合成账户/假模型自动清理,产品变动回滚);前端Web/Android本地编译通过,H5验证记录见前端docs/开发进度.md第6.13节。无新增表或迁移。
## 2026-09-28 融资档案界面
“我的融资档案”恢复个人/企业切换、完整度与四组资料卡;默认读取该类型最新提交,支持历史分页选择与只读展开。完整度使用所选成功报告中的冻结结果,旧版/未完成/无记录显示未评定说明;底部可查看同次报告或发起空白新评估。不恢复草稿,不编辑历史资料。后端沿用GET /assessments的type过滤及详情/报告接口,验证范围见docs/开发进度.md第6.14节。
2026-09-28:个人中心入口去重,顶部为“开始评估”(选择个人/企业)和“最近报告”(本人最近提交且已完成的报告直达),下方“我的融资档案”管理历史资料。无报告但有任务时可查看进度,无记录时明确提示;不重新提交或调用模型。验证范围见开发进度6.15。