Files
platforms/docs/开发日志_安全内容中心_20260911.md
czl231 3ef33b531d 已完成用户APP首期功能开发
交付用户端首期页面、配套接口、后台资源及测试文档。用户APP构建、静态分析和三个管理后台构建通过;完整测试仍有2项失败,后端模型注释检查未通过,详见交付记录。
2026-09-13 00:57:32 +08:00

3.4 KiB
Raw Blame History

安全内容中心开发记录

单篇详情接口

随后内置浏览器在contents=3新构建加载公告列表点击“模拟公告9”成功进入内容详情并显示远程正文真实阅读路径已验证。首轮超时未持续阻断仍不代表远程环境稳定性已验收。

新增GET /heqi/client/v1/user/public/contents/:identity使用identity、status=1、publish_status=published及notice/safety_article/law类型约束读取软删除沿用GORM过滤不存在返回1112。响应白名单仅identity/title/body/content_type/version_no。ClientRepository.safetyContent与页面详情加载接入该接口避免每次读取全部内容1112显示已下架说明其他错误保留重试。

content_detail.go/对应测试及routers/client.go为后端变更App仓储、页面和fixture测试同步更新。后端SQLMock覆盖发布约束和最小字段、无记录返回1112用户逻辑与路由测试通过三个Flutter页面测试、analyze及Web构建通过。API已更新至PID45776仍连接原远程数据库无迁移或数据写入。首次HTTP联调超时不以单元测试替代真实联调证据。

后续扩展:安全宣传与法律法规文本内容

后台resources.ts的cms_content新增safety_article安全宣传和law法律法规选项沿用已有varchar内容类型及发布/启用流程不改变原notice/agreement接口契约无数据库迁移。App安全内容中心支持这两类的筛选与独立正文协议仍不进入安全内容视频仍暂未开放。后台表单浏览器已看到新增选项未发布测试法规或安全知识。三个widget测试、后台类型检查、Flutter analyze与Web构建通过。

注意这仅补齐文本分类维护不代表图43-1/43-3视觉和完整功能通过宣传配图、法规级别/文号/施行日期/原文链接、内容分页和公开响应最小化仍待完成。正式发布内容需由运营提供,不能用自动编写的安全法律内容替代。

范围与实现

对照43-4-平台公告设计图新增安全内容中心与独立公告正文路由。当前后台仅支持notice、agreement因此仅开放真实公告搜索和阅读安全宣传、视频、法律法规保留入口并标“暂未开放”不自行归为二期。

核心文件apps/user_app/lib/ui/features/home/safety_contents_page.dart负责已发布公告筛选、标题搜索、正文、空状态及下架提示app/router.dart增加公开/contents及/contents/:identity路由首页新增查看更多并把公告弹窗改为独立详情设置增加安全内容入口。沿用PrimaryRepository与公开已发布内容接口无数据库结构或内容变更。刷新详情会重新读取发布状态协议不能通过公告详情标识被展示。

验证与缺项

Flutter analyze通过两项widget测试通过覆盖公告搜索、协议隔离和非公告详情拒绝。Web构建通过内置浏览器实测列表显示远程模拟公告搜索“公告 9”仅剩匹配记录。

此页未完成1:1验收缺少设计稿的公告子分类、置顶、摘要、已读状态、发布时间及配图后台字段和接口仍需补齐。当前列表为已发布内容全集本地搜索需后续增加分页与服务端筛选。无新增依赖不将测试公告当正式安全知识内容。图43及43-4只计新增部分实现不计验收完成。