# 保单PDF完整URL(OSS直链) **日期**: 2026-03-23 19:40 **影响**: 管理端 + 小程序端 **已部署**: 测试服务器 ✅ --- ## 核心变更:保单现在有完整的 `.pdf` OSS链接 每份保险保单投保成功后,系统自动下载PDF并上传到OSS,保存为 `policyPdfUrl` 字段。 **URL示例**: `https://hlgl-test.oss-cn-beijing.aliyuncs.com/test/insurance/policy/2026/03/23/policy_2036026235003478018.pdf` 前端直接用这个URL打开/下载PDF即可,**不需要调Base64接口**。 --- ## 管理端 ### 保险保障接口(已有) ``` GET /admin/insurance/coverage/{orderId} ``` 返回的 `insuranceOrders[]` 每条新增 `policyPdfUrl` 字段: ```json { "insuranceOrders": [ { "insuranceOrderId": "2036026309016166401", "productName": "保游未来星研学旅行保险", "planName": "30万计划", "extPolicyNo": "11209006600506820271", "startDate": "2026-04-03", "endDate": "2026-04-05", "status": "INSURED", "policyPdfUrl": "https://hlgl-test.oss-cn-beijing.aliyuncs.com/test/insurance/policy/2026/03/23/policy_2036026309016166401.pdf" } ] } ``` ### 前端展示建议 在每个保险卡片上加 **"查看保单"** 按钮: ```javascript window.open(item.policyPdfUrl) // 直接打开PDF ``` --- ## 小程序端 ### 订单详情出行人保险数据 订单详情 `travelers[].insurancePolicies[]` 每条包含: | 字段 | 类型 | 说明 | |------|------|------| | insuranceOrderId | String | 保险订单ID | | productName | String | 保险产品名称 | | planName | String | 保险计划名称 | | extPolicyNo | String | 保单号 | | startDate | String | 保障开始日期 | | endDate | String | 保障结束日期 | | status | String | INSURED=已承保, CANCELLED=已退保 | | statusLabel | String | 中文状态 | | totalPremium | String | 保费 | | **policyPdfUrl** | **String** | **保单PDF的OSS完整链接(.pdf结尾,直接可访问)** | | policyPdfApi | String | 备用:Base64下载接口路径 | ### 小程序展示建议 出行人信息下方展示保单卡片,点击"查看保单"用 `wx.downloadFile` + `wx.openDocument`: ```javascript wx.downloadFile({ url: item.policyPdfUrl, success(res) { wx.openDocument({ filePath: res.tempFilePath, fileType: 'pdf' }) } }) ``` ### 一个出行人多份保单 一个出行人可能有多份保单(覆盖不同日期段),`insurancePolicies` 是数组,按保障期间展示即可: ``` 米明光 ├── 保游未来星研学旅行保险 20万计划 │ 保障期间:2026-03-31 ~ 2026-04-02 [查看保单] └── 保游未来星研学旅行保险 30万计划 保障期间:2026-04-03 ~ 2026-04-05 [查看保单] ``` --- ## 旧数据 所有历史保单的PDF已补传完成,`policyPdfUrl` 已全部填充。