外观
更新记录
这里列出已经写入项目更新记录的功能变化与问题修复。
本文件记录 healthy 的用户可见变更。格式参考 Keep a Changelog,版本号遵循三段式语义化版本。
[Unreleased]
[2.2.39] - 2026-08-06
Added
- 网站健康空间和微信小程序家庭成员管理新增直接可见的“删除成员”入口,并在“已删除成员”分区提供恢复操作。
Changed
- 删除家庭成员统一采用可恢复的安全删除:成员会退出日常选择且不占有效成员额度,既有健康数据继续保留;恢复时重新校验管理权限和会员人数上限。
- 小程序删除当前正在查看的成员后会自动切换到其他可用成员,避免继续停留在已删除档案。
- Docker Run 精确镜像版本更新为
2.2.39。
[2.2.38] - 2026-08-06
Changed
- 微信小程序的血压历史、血压趋势和血压统计页面改用共用自定义导航栏,根据状态栏与右上角胶囊位置自动留出安全区域,在系统大字体下仍完整显示页面名称。
- Docker Run 精确镜像版本更新为
2.2.38。
Fixed
- 修复部分手机微信打开血压模板或导出文件时看不到首行表头的问题:继续冻结首行,但把初始活动单元格和选择范围保留在
A1表头行,并继续使用默认行高。
[2.2.37] - 2026-08-06
Added
- 系统管理的法律文件发布新增合规保护:用户协议、隐私政策和敏感个人信息处理规则不得写入具体价格、折扣或推荐方案;升级前含商业文案的当前版本会安全回退到内置规则,历史同意快照保持不变。
- 小程序“关于本程序”新增医疗表述校验,阻止诊断、治疗和绝对疗效承诺;旧默认文案自动升级,管理员自定义正文保持不变。
Changed
- 网站与微信小程序统一使用健康空间唯一会员记录,同一账号在两端显示相同会员等级、开通时间、精确到期时间和权益;旧双轨权益升级时自动保留等级更高、有效期更长的一份。
- 会员等级统一为普通会员、体验会员、年会会员和永久会员;网站与小程序共用会员中心规则,剩余天数不足一天向上取整,绑定微信不会重置已有会员周期。
- 三份法律文件重写为网站与小程序共用的稳定权利义务和个人信息处理规则,不再维护实时价格;补充微信登录、可选头像昵称、健康信息、未成年人、保存期限、用户权利和安全措施说明。
- 网站和小程序注册均分别取得用户协议、隐私政策及敏感个人信息处理规则同意,其中敏感个人信息继续单独同意;注册提示不再写死体验期,以会员中心实际状态为准。
- 健康总览、小程序血压记录及“关于本程序”统一明确本产品不提供诊断、治疗建议或紧急医疗服务,并提示异常读数或身体不适时及时就医。
- Docker Run 精确镜像版本更新为
2.2.37。
Fixed
- 修复绑定同一网站账号后,网页和小程序可能显示不同会员等级或不同到期时间的问题。
- 修复体验会员剩余天数长期显示为 30 天,以及期限展示与服务端精确权益判断可能不一致的问题。
[2.2.36] - 2026-08-06
Added
- 系统管理新增微信小程序“关于本程序”公开文案设置;管理员复验密码后即可发布,修改会写入系统审计,小程序无需重新发版便可读取新正文。
Changed
- 网页和微信小程序新增家庭成员时必须填写性别和出生日期,服务端创建接口统一兜底校验;既有缺项档案仍可继续维护并在以后补齐。
- 微信小程序“关于健康血压记录”改为“关于本程序”,正文由后台即时提供,版本号继续从根
VERSION自动派生。 - Docker Run 精确镜像版本更新为
2.2.36。
[2.2.35] - 2026-08-05
Changed
- Docker Run 精确镜像版本更新为
2.2.35。
Fixed
- 修复微信内置文档预览器打开血压专用模板或导出文件时可能看不到首行表头的问题:恢复规范的冻结首行视图、把活动单元格固定在
A2,并取消表头自定义行高,使首行使用与普通数据行一致的默认高度。
[2.2.33] - 2026-08-05
Changed
- 微信小程序“我的”顶部资料卡不再重复显示会员等级,会员状态与权益集中在下方会员入口查看;“血压数据工具”同步简化为“数据工具”。
- 血压专用 Excel 模板与导出文件使用更紧凑的表头行高,减少首行占用并保持桌面表格软件中的清晰度。
- Docker Run 精确镜像版本更新为
2.2.33。
Fixed
- 修复微信内置 Excel 预览器可能把冻结的首行表头隐藏在可视区域之外的问题:血压专用模板与导出文件不再冻结首行,完整四子表工作簿仍保留原有冻结窗格体验。
[2.2.32] - 2026-08-05
Added
- 系统管理的大数据量列表统一增加服务端分页、总数、页码、每页数量和跳页;用户管理新增角色、账号状态、登录状态、微信绑定、注册日期、最近登录日期及关键词组合筛选,并支持按最近登录、注册时间对全量结果排序。
- 系统用户管理新增当前页批量启停账号和批量调整家庭会员,敏感操作继续复验管理员密码、保护当前账号与最后一位有效管理员,并逐项返回处理结果和写入审计。
Changed
- 系统审计、健康项目目录和备份文件列表复用统一分页交互,窄屏使用紧凑页码布局;相关数据库字段增加查询索引,改善用户和审计数据增长后的管理性能。
- 微信小程序全部文字与数字输入入口统一增加输入法避让:血压读数、设备、备注、微信昵称、登录注册、家庭成员和账号注销在键盘弹出时自动保留可见空间;固定底部成员表单按真实键盘高度抬升并可内部滚动。
- Docker Run 精确镜像版本更新为
2.2.32。
Fixed
- 修复部分微信真机预览器打开血压模板或导出文件时首行表头不可见的问题:下载改为防缓存二进制请求,写入前校验 XLSX 文件头,并生成兼容移动预览器的冻结首行视图。
[2.2.31] - 2026-08-05
Added
- 微信小程序首次登录支持快捷创建账号:用户填写本人档案姓名并分别同意三份当前规则后,服务端原子创建内部账号、健康空间、本人档案与微信绑定并立即登录;已有网站账号仍可选择绑定微信。
- 微信小程序“我的”新增分阶段账号注销:确认词与新的微信 code 双重复验后立即停用账号并撤销所有会话;后台标注注销待处理,并在物理删除前支持核验后撤销误操作,确认页明确物理删除完成后不可恢复。
- 系统管理新增法律文件发布:管理员复验密码后可发布用户协议、隐私政策或敏感信息的新版本,网站和小程序即时读取,历史同意快照保持不变。
- 系统用户管理新增安全微信绑定摘要和小程序昵称搜索,便于定位已绑定账号,不暴露微信号、OpenID、头像正文或令牌。
Changed
- 小程序血压历史把平均心率与收缩压、舒张压放在同一核心读数行并统一数字字号;心率复用正常绿、偏高红
↑、偏低蓝↓的方向状态,档案明确为未成年人时保持中性,缺出生日期时仅按通用成人范围提供家庭记录提示。 - 小程序血压历史把心率固定在核心读数行右侧,并复用网站的紫色姿势、青色服药状态和品红备注三套高对比强调色;保存后使用显式刷新版本、请求竞态保护和同测量时间的创建顺序,确保返回历史页立即看到最新记录。
- 小程序趋势明细的心率复用历史记录相同的服务端状态,正常显示绿色、超过 100 显示红色
↑、低于 60 显示蓝色↓。 - 小程序统计分布把分母改为首次加载即可响应的页面字段,修复初次进入时只显示斜杠、切换筛选后才出现总次数的问题,并让当前筛选总次数与类别次数使用协调的字号。
- 小程序启用
requiredComponents组件按需注入,减少无关组件进入启动代码包并满足开发者工具质量检查。 - 小程序历史与趋势页面增加初始化兜底和可见重试入口;趋势明细改为最近记录在前,图例居中并以圆点、菱形和圆点区分收缩压、舒张压与心率。
- 小程序统计说明移至页面底部,在保持单页紧凑布局的同时增加平均读数与分布卡片高度,改善较大字号下的阅读舒适度。
- 小程序统计分布进一步加高四类计数格,并按“类别次数 / 当前筛选总次数”展示;平均读数单位移到项目名称旁,减少无效纵向占用。
- 小程序“我的”统一显示“用户协议、隐私政策、敏感信息”;现有站点图标可直接适配微信圆形裁切,主体与提示圆点均位于安全区域。
- 小程序会员等级统一为普通会员、体验会员、年会会员和永久会员;新用户获赠体验会员,“我的”首页不再显示剩余天数,详细期限与四档权益区别集中在会员中心。
- 用户协议与隐私政策更新为
2026-08-05.6,明确微信快捷建号、已有账号绑定、小程序会员等级和分阶段账号注销规则。 - Docker Run 精确镜像版本更新为
2.2.31。
[2.2.30] - 2026-08-05
Added
- 新增原生微信小程序前端,专注血压记录、历史、趋势、统计和账号设置;复用网站后端的档案权限、容量限制、幂等写入、软删除和审计链路。
- 新增微信小程序登录、已有账号绑定和合规注册流程;小程序“我的”支持用户主动选择微信头像、填写昵称、管理当前健康空间的家庭成员,以及下载模板、预检导入和按会员权益导出血压数据。
- 小程序记录、历史、趋势和统计页面新增独立的当前成员卡片,可在页面顶部快速切换档案;血压日期范围与上午、下午、晚上、凌晨筛选继续由服务端统一计算。
- 新增独立的小程序会员权益:首次使用享受一次 30 天体验,体验期内开放趋势、统计和血压导出;到期后历史、记录、编辑、模板和批量导入继续可用。界面展示 30 天体验、年会员和永久会员三个方案,但在线支付完整联调前不会创建虚构订单。
Changed
- 小程序真机、体验版和正式版的生产 API 地址切换为
https://jk-wx-server.zhoujie218.top/api/v1;开发者工具继续直连本机8078端口。 - 自用 Docker Run 部署允许主站与小程序 API 两个 HTTPS 域名,并在重写私有环境文件时保留微信 AppID、AppSecret、独立身份摘要密钥和令牌有效期。
- 用户协议、隐私政策和敏感个人信息处理规则补充微信身份绑定、用户自愿设置昵称头像及小程序会员权益说明。
- Docker Run 精确镜像版本更新为
2.2.30。
Security
- 微信服务端只保存由独立
HEALTH_WECHAT_IDENTITY_KEY派生的 OpenID 摘要和短期访问令牌摘要;AppSecret、session_key、原始 OpenID 与明文令牌不会写入小程序、数据库、日志或审计。 - 微信头像仅允许用户主动选择并经过类型与大小校验,读取必须通过 Bearer 鉴权且使用
private, no-store;账号停用、改密、退出或管理员注销会话会同步撤销小程序令牌。 - 锁定已修复拒绝服务和源映射路径读取公告的
brace-expansion、postcss版本,前端依赖审计恢复为零已知漏洞。
[1.2.29] - 2026-07-31
Added
- 血压历史记录和血压统计新增上午、下午、晚上、凌晨和全部五个独立的日内测量时段筛选,与趋势筛选互不影响。
Changed
- 血压趋势、历史记录和统计统一复用五色紧凑时段按钮;手机窄屏保持单行,五档日期范围使用“7天、1月、3月、1年、全部”的简洁文字。
- 血压历史记录改为服务端在分页前按北京时间筛选,记录总数和“加载更早记录”始终与当前时段一致;切换历史筛选不会改变快速录入沿用的最近一次数据。
- 血压统计按所选日期范围和日内时段计算平均值、分布和累计记录,并继续排除未来、软删除及无有效读数的会话。
- Docker Run 精确镜像版本更新为
1.2.29。
[1.2.28] - 2026-07-31
Added
- 血压趋势新增上午、下午、晚上、凌晨和全部五个日内测量时段筛选,默认查看全部;时段按北京时间划分,并同时作用于趋势图及其展开明细。
Changed
- 日内时段按钮使用五种易区分颜色,并针对手机窄屏压缩为紧凑单行布局;血压统计继续独立汇总所选日期范围内的全部测量时段。
- Docker Run 精确镜像版本更新为
1.2.28。
[1.2.27] - 2026-07-28
Changed
- 体型历史记录中的备注改为与血压历史备注一致的品红强调色,并复用同一组视觉变量,便于在卡片中快速区分备注与健康状态。
- 血压快速录入移除自动时间的重复说明,并压缩“本次测量”卡片的留白和表单间距;手工补录历史时间的提示与手机触控尺寸继续保留。
- Docker Run 精确镜像版本更新为
1.2.27。
Fixed
- 补齐 Docker Run 与 Compose 部署说明中的运营者名称、运营者联系方式和支付配置加密密钥,避免升级会员与支付渠道预配置功能后遗漏必要的长期环境变量。
[1.2.26] - 2026-07-27
Added
- 新增家庭会员权益:基础免费版支持 2 位有效成员、完整模板和批量导入;年会员与永久会员支持 10 位有效成员,并开放个人四类健康数据的完整 Excel 批量导出。会员降级或到期不会删除、隐藏或冻结既有成员和健康数据。
- 注册流程新增用户协议、隐私政策和敏感个人信息处理规则的独立确认,并保存协议版本、正文快照与同意记录;敏感个人信息处理必须单独勾选后才能完成注册。
- 系统管理新增支付宝、微信支付渠道的安全预配置,可使用独立部署密钥加密保存接入资料并检查配置完整度;当前版本仍未开放在线下单、自动到账或退款。
- 新增统一会员信息页,可从电脑账号区、手机“更多”菜单和健康空间进入,集中查看账号注册时间、当前套餐、会员状态、开通与到期时间以及成员额度。
Changed
- 系统管理员可以在密码复验后为账号所属健康空间开通、续费或调整会员;会员权益绑定健康空间,年会员价格为 16.88 元/年,永久会员价格为 99.99 元。
- 健康空间的完整模板、预检与整包回导继续向所有用户开放;完整四子表批量导出仅在会员有效期内开放,并以清晰、克制的方式说明权益差异。
- Docker Run 精确镜像版本更新为
1.2.26。
Security
- 会员调整、支付渠道配置均执行管理员密码复验、敏感操作限流和结构化审计;管理员会员列表不读取空间名称、成员数量或健康数据。
- 支付私钥、APIv3 密钥等敏感字段使用独立的
HEALTH_PAYMENT_CONFIG_KEY进行 AES-256-GCM 加密,接口与审计只返回是否已配置,不回显凭据正文。
[1.1.25] - 2026-07-26
Added
- 新增统一文档索引,明确 README、部署运维、开发接手、系统架构、项目目录、协作规范和更新记录各自的受众与维护边界。
- Docker 构建新增项目文档隔离保护:构建上下文排除 Markdown、MDX、reStructuredText 和文档目录,最终镜像在构建阶段再次检查并拒绝残留项目文档。
- 发布检查新增文档打包回归测试,防止后续源码重新包含规则、Dockerfile 复制命令或构建目录调整把仓库说明误带入镜像。
Changed
- README 精简为面向使用者的产品简介、使用流程和常用部署入口,详细运维、实现、架构与检验目录资料统一链接到专题文档。
- 自用阿里云 ESA 部署将环境文件初始化与日常镜像升级分开,升级时为维护监督器保留 90 秒优雅退出时间;精确镜像版本更新为
1.1.25。 - 自动生成补丁版本时跳过补丁号中含数字
4的候选版本,并由发布检查阻止不符合约定的版本进入流水线。 - Compose 示例默认使用单 Gunicorn worker,降低小型部署的基础资源占用;需要更高并发时仍可按 PostgreSQL 服务器容量调整。
Security
- 根目录私有部署文件
healthy.env被明确排除在 Git 之外,避免本地密钥和站点配置误提交。
[1.1.23] - 2026-07-26
Added
- 健康空间新增单文件完整档案模板、完整导出和两阶段回导;工作簿固定包含检验数据、检查数据、血压数据和身体测量四个子表,导出文件可直接回导,四类数据在同一事务和单次审计中写入,任一类别失败都会整体回滚。
- 新增不读取业务数据的进程存活探针和轻量数据库就绪探针,Docker 与 Compose 健康检查统一使用就绪探针;新增不记录查询参数、档案标识或健康正文的慢请求日志。
Changed
- 普通用户的模板、导出和批量回导入口统一收口到健康空间;血压、体型和数据录入页面移除重复的 Excel 工具,旧分模块 API 继续保留兼容。
- SQLite 部署新增可配置锁等待时间,降低多线程手机录入和批量导入短暂竞争时直接出现
database is locked的概率;系统管理概览同步显示慢请求阈值与 SQLite 锁等待配置。 - 没有可绘制的未满 20 岁个人记录时,发育接口不再下发无意义的整套参考曲线数据,减少响应体和前端处理开销。
- 血压历史记录的平均心率四舍五入为整数;非坐姿、已服药或服药状态未记录及备注内容分别使用独立高对比强调色,同时避开血压正常、临界和异常状态色。
Security
- 完整档案回导继续执行档案写权限、同一文件哈希、短时预检令牌、计划摘要、容量和稳定去重校验;切换档案会清空旧预检状态,避免把上一位成员的导入计划误用于当前档案。
[1.1.22] - 2026-07-25
Added
- 体型记录在 BMI 曲线下方新增满 20 岁后的个人体重趋势,共用 90 天、1 年、3 年和全部记录范围;只连接服务端确认测量时已满 20 岁的记录,20 岁前数据继续留在发育曲线,避免重复展示。
Changed
- 自用 Docker Run 配置示例关闭 Django 应用层 HTTPS 强制跳转,继续信任反向代理传递的原始 HTTPS 协议;适配阿里云 ESA 回源公网
8078后再由宝塔代理到容器的部署方式,浏览器安全 Cookie 和 HSTS 配置保持启用。
Fixed
- 新增幂等升级迁移,再次扫描检验与检查目录中遗留的空字符串或纯空白首字拼音码并自动补齐,同时保留管理员手工修正值;修复部分已升级实例后台仍显示“未设置拼音码”、录入和记录页无法按拼音码搜索的问题。
[1.1.21] - 2026-07-25
Added
- 全局检验目录新增 3 个常用肿瘤标志物项目,并依据国家卫健委现行
WS/T 404、WS/T 645系列标准,为适合结构化表达的项目补充 111 条带年龄、性别或检测系统条件的单位与参考规则;录入时可明确选择适用规则并保存为本次记录快照,检测系统相关规则不会被自动猜选。 - 每个检验和检查目录项目新增可维护的首字拼音码,系统预设和既有项目在升级时自动回填;普通录入、历史项目索引和管理员目录均支持按拼音码快速搜索。
Changed
- 检验目录不再用单一默认范围表达存在人群或检测系统差异的权威参考值;医院报告原文和明确异常标记仍然优先,目录规则只辅助网页手工录入,不重算历史记录,也不用于推导检查报告结论。
- 检验和检查记录页永久显示项目快速搜索框,输入名称、代号或首字拼音码后自动切换到项目索引;手工录入的桌面分类树和手机项目列表同时显示默认拼音码,便于确认和快速选择。
Fixed
- 检验和检查目录默认把当前家庭私有项目稳定排在全局项目之前,修复全局预置目录超过单页容量后,PostgreSQL 可能把私有项目排到后续页面、影响快速选择的问题。
[1.1.19] - 2026-07-25
Added
- 未满 20 岁身高与体重发育曲线扩展为 P3、P25、P50、P75、P97 五条百分位参考线,使用不同颜色和线型突出 P50 中位数;未满 7 岁继续使用
WS/T 423—2022官方表,7~18 岁新增基于公开 LMS 参数离线计算并明确标记的中国城市儿童研究参考,体重曲线不再在 7 岁后中断。 - 系统管理概览新增备份健康、安全配置和风险提醒,集中显示最近备份、维护监督器、剩余空间、HTTPS 与安全 Cookie 等不含秘密的运行状态。
- 系统管理员可在密码复验后注销目标账号全部登录会话,或签发短期、单次有效的密码重置链接;重置成功后旧会话全部失效。
- 系统设置新增每天或每周的北京时间自动加密备份计划和自动备份保留期限,由受限维护监督器按固定任务协议执行。
- 系统设置新增健康记录与血压会话业务软上限;部署环境变量继续作为网页不能突破的硬上限,后台集中显示最终有效值和只读运行配置。
Changed
- 注册设置、账号启停和系统管理员角色变更统一增加当前管理员密码复验;目录、账号安全、自动备份和备份恢复事件在系统审计中使用完整中文类型及安全元数据。
- 用户管理在手机窄屏改为紧凑账号卡片,不再依赖宽表格横向滚动。
- 血压趋势的 7 天、1 月、3 月、1 年和全部记录五档选择器进一步压缩手机窄屏间距,同时保留桌面端完整的“全部”文字。
- 前端开发工具链锁定已修复
brace-expansion拒绝服务公告的安全补丁版本,依赖审计不再包含已知高危漏洞。 - 自用 Docker Run 文档改为阿里云 ESA 通过 CNAME 直接回源 ECS 公网
8078,并明确要求先按 ESA 回源 IP 建立端口白名单、规范化真实客户端 IP、传递原始 HTTPS 协议以及禁止全公网直连。
[1.1.18] - 2026-07-24
Added
- 未满 20 岁身高与体重发育曲线新增“最近一次发育观察”摘要,集中显示测量年龄、身高/身长、体重、BMI 参考分类及采用标准;点击曲线记录点或使用键盘可操作的历史选择器,即可固定核对任一次记录,手机端不再依赖悬浮提示。
Changed
- 血压临界值不再显示容易误认的
◆,仅保留深琥珀色和读屏状态;偏高↑、偏低↓的方向提示保持不变。 - 血压趋势与统计统一提供 7 天、1 月、3 月、1 年和全部记录五档时间范围,并压缩手机窄屏选择器,使范围按钮尽量与卡片标题保持同一行且不撑开页面。
- 健康空间成员卡片下方入口按“体形、血压、总览、录入”排列;桌面端使用等宽单行按钮,手机端自动调整为两行,录入入口继续严格服从档案编辑权限。
- 发育观察继续只使用服务端返回的版本化中国卫生行业标准:参考来源切换处保持断线,7 岁后的体重和标准未覆盖年龄仍只显示个人记录,不插值、外推或生成未经支持的百分位判断。
[1.1.17] - 2026-07-24
Changed
- 体型快速录入新增重复值保护:若自动带出的身高/身长、体重和腰围均未修改,保存前会再次确认,避免误把上次记录当成本次测量。
- 体型记录只在当前档案存在测量时未满 20 岁的历史数据时显示身高与体重发育曲线卡片;没有该年龄段数据时不再展示空卡片。
- 全站检查类页面统一使用“检查报告”和“检查记录”,替换容易与检验项目混淆的旧称;管理员目录、容量提示和内置分类说明同步更新。
- 修复体型发育曲线、BMI 趋势的图例、来源、说明和点选提示在手机窄屏无法断行并撑开页面的问题。
[1.1.16] - 2026-07-24
Added
- 新增独立“体型记录”页面与健康空间最近数据摘要,可按时间记录身高、体重和可选腰围;服务端自动计算两位小数 BMI,并提供独立历史、BMI 变化曲线及健康空间集中 Excel 导出。
- 健康档案填写出生日期和性别后,身体测量可按测量当日实足年龄自动显示中国官方 BMI 参考分类;每条结果同时说明当前应用采用的标准和参考边界,资料不足时安全降级为仅显示 BMI。
- 体型记录新增标准 Excel 模板与两阶段批量导入,可预检记录数、重复项、警告和阻断问题后再确认写入;健康空间导出的完整体型文件也可直接回导。
- 健康总览在血压卡片之前新增最近体型摘要,集中显示 BMI 参考分类、身高/身长、体重、可选腰围和测量时间,并把体型纳入四类累计记录。
- 体型记录新增未满 20 岁身高/身长与体重发育曲线:按每次测量日计算历史年龄,未满 7 岁使用
WS/T 423—2022,7~18 岁身高使用WS/T 612—2018;图下提供国家卫健委来源链接。
Changed
- 普通用户的档案级 Excel 导出统一收口到健康空间,血压记录、体型记录和数据录入页不再重复显示导出按钮;血压页底部保留模板、两阶段批量导入和刷新,体型页底部保留模板与两阶段批量导入并在页头提供刷新。同步精简血压重复提示,并修正体型参考分类、导出回导范围等不准确描述。
- 桌面导航在血压记录之前加入体型记录;手机底栏调整为总览、体型、血压、空间,数据录入继续从“更多”菜单进入。健康总览首卡改为体型、血压、检验、检查四个固定记录页入口,检验记录页顶部新增权限内的数据录入按钮。
- BMI 参考按测量当日年龄阶段使用当前应用内置的
WS/T 423—2022、WS/T 456—2014+WS/T 586—2018、WS/T 428—2013或WS/T 868—2025;历史曲线保留连续原始 BMI,参考边界按记录动态显示并在年龄阶段或标准版本切换处断开,不拿查看当天的成人范围覆盖儿童历史。以后更新官方表必须随软件版本、测试和更新记录明确发布,原始 BMI 不随参考表重算。 - BMI 参考分类从每条记录的原始身高、体重重新计算,标准要求一位小数时只舍入一次,避免已保存的两位小数再次舍入后在临界点产生错误分类;导出和页面会区分原始两位 BMI 与标准采用 BMI。
- BMI 状态统一表述为“中国标准参考分类”而非诊断;未满 2 岁要求平卧身长、2 岁至未满 7 岁要求站立身高,缺少出生日期、必要性别或合规测量方式时不自动分类,并提醒特殊人群的通用 BMI 参考可能不适用。
- 生长参考按标准来源分段绘制
-2 SD、中位数和+2 SD,不跨版本连接或外推;7 岁后的体重和 19 岁至未满 20 岁的身高只显示个人曲线。缺出生日期或性别资料时明确降级,测量方式暂不可比的身高点仍保留原值和原因。 - 生长参考线使用中性灰绿色,不套用正常/异常状态色,也不生成诊断;增长速度、Z 分数和幼儿头围仍作为后续扩展,不提前展示未实现结果。
HEALTH_MAX_RECORDS_PER_HOUSEHOLD的容量口径扩展为检验、文字检查和身体测量的组合记录数;部署变量、Docker 目录、端口和启动方式保持不变。
Security
- 身体测量列表、趋势、修改、删除、Excel 导入和导出均按健康空间与档案成员权限过滤;写入使用事务审计、成员级幂等标识或稳定导入指纹、数据库唯一约束和锁内容量复查。导入忽略并重算 BMI 与参考分类等派生列,导出备注按文本单元格处理以防公式注入。
[1.1.15] - 2026-07-23
Added
- 健康总览新增当前档案身份、最近血压、最新检验报告、最近文字检查和累计档案摘要;最新检验按报告日期成组展示,可直接进入该日期的完整报告,血压与检验状态继续使用全站统一颜色、方向符号和比对依据。
- “健康空间”新增空间概览、空间改名、档案新增与编辑、软归档与恢复、活跃/归档档案分区以及集中式 Excel 导出入口;所有操作都按服务端返回的档案能力开放。
- 新增独立“检查记录”页面:默认按北京时间检查日期倒序浏览,也可按分类、项目名称或代号定位已有记录;自定义项目不会遗漏,完整文字原文按需分页读取并支持权限内编辑和永久删除,不生成数值趋势或异常判断。
Changed
- 总览不再用大面积数字卡片铺开累计数量,也不再返回或展示完整文字检查原文;检查结果改为紧凑预览,手机和桌面都优先展示近期记录与高频入口。
- 数据录入支持通过页签参数直达文字检查,检验记录支持通过日期参数自动展开指定报告;桌面导航统一使用“健康空间”名称。
- 普通用户登录、注册和访问根路径后默认进入“健康总览”;桌面与手机站点标识都可返回角色首页,桌面导航按总览、血压记录、检验、检查、录入和健康空间排列,移动端将检验与检查历史收进“更多”菜单并保留四个高频底栏入口。健康总览只用主色底色突出可写档案的“记录血压”,检验/检查录入保持普通样式。
- 血压趋势的记录点和连接线改为复用全站单项状态色:正常绿、临界橙、偏高红、偏低蓝,悬停时同步显示中文状态;135/85 两条家庭参考虚线统一为中性灰绿色,绿色界值位于虚线起点外侧并与左轴刻度右对齐,图例改用中性线型和点形区分收缩压、舒张压。
- 检验趋势同步按最终显示状态为结果点和连接线分段着色;报告参考上限、下限统一为灰绿色虚线,缺失的历史参考快照保持断线,全部缺失时不绘制参考线且不使用当前目录范围回填。
[1.0.13] - 2026-07-23
Changed
- 血压趋势移除图下单独的心率曲线开关,改为直接操作图表顶部的收缩压、舒张压和心率三个图例;每条曲线都可独立显示或隐藏,对应的 135/85 参考虚线随血压曲线同步切换,图例同时支持触控、键盘和读屏操作。
- 精简血压管理页标题区,移除与快速录入卡片重复的操作提示;本次测量与编辑界面都将服药状态排在测量设备之前,手机录入顺序更自然。
- 血压趋势明细在手机端优先压缩为四列布局,仅在极窄屏下保留表格内的少量横向滚动,避免截断时间和数值;收缩压和舒张压数值新增临界
◆、偏高↑、偏低↓状态符号,正常值只显示绿色,并继续使用全站统一颜色和读屏说明。 - 血压历史记录的平均值与展开原始读数同步增加临界
◆、偏高↑、偏低↓方向符号;血压统计平均值也改用相同符号和四类状态色,并移除数值旁重复的“临界参考、异常参考”等文字徽标。
[1.0.12] - 2026-07-22
Added
- 血压趋势图新增收缩压
135 mmHg、舒张压85 mmHg两条家庭测量参考虚线,与记录颜色和统计共用同一组参考界值,只用于辅助观察,不作诊断或个人治疗目标。
Changed
- 血压趋势默认只显示收缩压和舒张压,心率曲线初始隐藏;点击图例“心率”或图下的键盘可用按钮即可显示,并在切换趋势时间范围后保留当前选择。心率隐藏时同步隐藏右侧纵轴,减少手机图表干扰。
[1.0.11] - 2026-07-22
Added
- “血压统计”新增平均收缩压和平均舒张压的独立参考状态颜色与中文徽标;正常、临界、高值和低值分布同时使用独立颜色及
◆、↑、↓辅助符号,便于分别核对两项数据。
Changed
- 检验录入、历史结果、趋势图、血压参考和统计统一使用高对比健康状态色:正常为深绿色、临界为深琥珀色、偏高为红色、偏低为蓝色、一般异常为深酒红色;临界与异常不再使用容易混淆的相近颜色。此次只调整展示,不改变既有异常标记、血压参考界值或统计口径。
- 登录与注册页面、桌面侧栏和手机顶部工作台不再显示临时字母
h,统一复用随版本发布的 healthy 站点图标,并通过版本参数避免边缘缓存继续显示旧图标。
Fixed
- 修复手机横屏和小平板宽度下,血压统计平均值、状态徽标和心率区域可能相互挤压或溢出卡片的问题;
820px及以下改为单列汇总布局。
[1.0.10] - 2026-07-21
Added
- 新增与 healthy 现有品牌配色一致的浏览器标签图标、ICO 兼容图标、Apple 主屏图标和 Android maskable 图标;Vite 构建与容器冒烟会校验全部图标随统一镜像正确提供。
- 所有登录账号均可在网页中复验当前密码后修改登录密码;修改成功会保留并轮换当前会话,同时使其他设备上的既有会话失效。
- 检验、文字检查和血压手工录入增加客户端提交标识、稳定载荷摘要及数据库唯一约束;网络响应丢失后可安全重试,不会重复占用容量或重复写入审计。
Changed
- 血压页面将“变化观察”放到历史记录上方;手机和桌面趋势横轴统一使用倾斜的
MM-DD日期,不再显示无意义的00:00,桌面缩放条继续显示可见范围两端日期。 - 血压快速录入默认使用自动校准的当前时间,页面常驻、恢复前台和提交前都会刷新;用户手工选择历史时间后则保持该时间,不再被自动覆盖。
Fixed
- 修复血压趋势或统计范围请求失败时,旧曲线和统计可能被错误标记成新范围的问题;页面现在会回退到真正对应当前数据的范围并保留错误提示。
- 修复检验、文字检查或血压保存请求已经写入但响应丢失时,用户重试可能生成重复健康记录的问题;明确的客户端错误仍会使用新的提交标识重新录入。
Security
- 修改密码接口强制 CSRF、当前密码复验、Django 密码策略和账号/IP 双重限流;密码更新与最小化系统审计处于同一事务,审计和响应均不包含密码正文或哈希。
Upgrade
- 本版本的
health.0013迁移只为三类手工记录增加可空幂等字段与约束,既有记录保持空值,Excel 导入指纹和健康正文不会被改写。SQLite 添加约束时会重建相关数据表,大数据量部署应预留维护时间和足够临时磁盘空间;升级前请从网站后台创建并异机下载.hbk、单独保存原HEALTH_BACKUP_KEY,迁移过程中不要强制中断容器。源码前后端分离部署应先升级后端并完成迁移,再上线新前端。
[1.0.9] - 2026-07-21
Added
- 新增系统管理员独立工作台,集中提供运行概览、注册设置、用户管理、全站备份/还原和可筛选的系统操作审计。
- 新增网站后台全站备份管理:可创建 SQLite 或 PostgreSQL 一致性加密备份、查看文件列表与完整性、下载归档、删除归档,并直接从已有备份还原。
- 新增数据库外签名维护任务和容器监督器;还原会自动停写、创建恢复前保护备份、执行迁移与系统检查,失败时回滚。
- 新增受信任运维命令,可在新实例中完整校验网页下载的单个
.hbk并重建签名索引,形成异机灾难恢复闭环。
Changed
- 系统管理员登录后不再加载或展示成员切换、血压、健康总览、数据录入、趋势和健康空间功能;普通用户仍使用原有健康管理界面。
- 检验与文字检查历史改为按需分页加载;检验趋势支持 90 天、1 年、3 年和全部历史范围,并限制单次趋势数据量,减少长期数据在浏览器和服务端的资源占用。
- 检验、检查与血压 Excel 导出改为分批读取和只写工作簿,并使用临时文件流式传输,降低大数据量导出的内存占用且不截断数据。
- 前端静态资源提供 gzip/Brotli 预压缩;哈希资源允许长期缓存,入口 HTML 始终重验证,健康与账号接口继续禁止共享缓存。
- Docker Run 将
/www/wwwroot/healthy/backups显式绑定到容器/backups;Compose 同样使用可配置的宿主机 bind mount,镜像包含与 PostgreSQL 17 匹配的备份客户端。
Security
- 管理员概览和普通健康接口仍不返回其他健康空间内容;全站备份有意包含所有账号与健康数据,因此系统管理员被明确视为全站备份数据保管角色。
- 备份归档采用 AES-256-GCM、签名元数据、不透明 ID、私有权限和容量限制;创建、下载、删除与还原均复验当前密码并限流,危险操作还要求输入备份 ID 确认词。
- 网页只提交固定签名任务,不接受 Shell、客户端路径或 Docker Socket;下载许可绑定管理员会话且单次短时有效,还原成功后注销全部会话,恢复或回滚状态不确定时保持 Web 停止。
- 明文快照只出现在容器的非持久化临时目录;独立备份密钥缺失、签名任务损坏、恢复保护标记异常或回滚未收敛时均失败关闭,不会带着状态不确定的数据库启动 Web。
[1.0.8] - 2026-07-21
Fixed
- Docker Run 不再强制使用宿主机
www的 UID/GID 启动整个容器;入口脚本会按/data绑定目录的实际属主完成初始化并立即降权,避免任意宿主 UID 无法访问镜像内静态文件,同时兼容宝塔默认的www:www、0755目录。
[1.0.7] - 2026-07-21
Changed
- 完善 Docker Run 文档:保留全新用户的通用首次部署示例,并更新项目所有者的自用部署示例,明确将固定域名加入允许主机,且使用该 HTTPS 域名作为 CSRF 与 CORS 受信任来源。
- 自用部署命令拆分为目录初始化、配置/容器启动和旧初始化令牌查看三个独立代码块,便于按需执行与核对。
[1.0.6] - 2026-07-21
Added
- 增加手机优先的血压快速录入:新记录自动带出最近一次的全部连续读数、手臂、姿势、设备和服药状态,同时使用当前时间并清空备注;读数完全未改时保存前二次确认,避免误把旧值录成新记录。
- 增加收缩压、舒张压彼此独立的三色家庭自测参考;记录卡片以数值颜色和无障碍标签表达状态,趋势数据表可展开查看逐项颜色、时间及原始平均值,并明确不作为诊断或个人治疗目标。
- 增加网页手工血压记录的精确回导去重:导出后重新导入同一成员时,可按测量时间、测量信息、备注和全部有序读数识别既有记录并安全跳过。
Changed
- 登录、注册完成和访问站点根路径后默认打开首个可用档案的血压页面;切换档案成员时保留当前成员模块,其他页面切换成员时进入血压管理。
- 血压页面重排为“快速录入、历史记录、趋势、数据工具”,历史记录合并为一个服务端分页列表,默认显示最近 10 组,每次继续加载 10 组;刷新、保存、修改、删除和导入后统一回到最新记录。
- 血压记录卡片改为紧凑移动端布局:时间和编辑/删除操作优先显示,测量上下文安全换行,平均收缩压、舒张压和心率使用同等醒目的字号,原始连续读数按需展开。
- 趋势图增强窄屏布局、双纵轴标题、序列点形和线型、提示框边界与减少动态效果支持;移动端取消难以操作的图内滑块,使用 7、30、90 天范围切换,趋势明细仅在展开后渲染。
- 血压趋势接口统一接受 1~365 天,只返回当前时间以前、确实含读数的有效会话;大数据量时截取测量时间最近的 2,000 个点后仍按时间升序返回。
- 血压 Excel 导出会跳过历史遗留的无读数异常会话,保证导出文件仍满足标准模板的回导要求。
Fixed
- 修复血压导出后回导可能把原网页手工记录重复写入的问题;字段或读数存在差异的相近记录,以及其他成员或健康空间的记录不会被误判为重复。
- 修复历史无读数会话可能导致趋势接口除零失败,或生成无法重新导入的空血压行的问题。
- 修复移动端趋势纵轴标题和图例拥挤、长设备或备注撑开记录卡片,以及历史分页在并发变化后可能静默显示不完整的问题;数据数量不一致时会明确提示刷新。
[1.0.5] - 2026-07-20
Added
- 系统升级为面向个人和家庭的多用户健康管理:默认开放公开注册,每位新用户自动获得相互隔离的健康空间、所有者权限和本人档案。
- 数据库中的首个账号自动成为系统管理员;系统管理页面支持开关注册、分页搜索账号、启停用户和维护系统管理员角色。
- 增加系统级账号操作审计,记录注册、注册开关和账号状态/角色变化,不保存密码或健康数据正文。
- 增加健康空间累计容量保护、Excel 导入账号级限流,以及检验、检查、血压和档案自由文本长度边界。
- 增加 Docker Run/SQLite 一致性加密备份与可回导的恢复前安全归档,并提供 Compose/PostgreSQL 备份、恢复和失败回滚脚本。
Changed
- 账号管理采用停用而不是删除;升级时若系统没有有效管理员,会优先把最早的启用账号提升为系统管理员;若旧库只有停用账号,则由下一位成功注册者补位,原账号和健康空间权限均保持不变。
- 产品页面和说明统一为“健康管理/健康空间”,原一次性初始化接口仅作为旧部署兼容入口,公开注册不依赖初始化令牌。
- 多健康空间切换、归档成员查看、只读权限提示和窄屏布局统一优化;趋势图使用北京时间与真实时间轴,血压图按收缩压/舒张压和心率分轴展示。
- 前端列表统一读取完整分页,并区分“写入失败”和“写入成功但刷新失败”,减少旧请求覆盖新结果或重复提交造成的误导。
- Python 运行依赖改为 Python 3.12 生成的完整哈希锁;CI 同时验证 SQLite、PostgreSQL、前端质量、Compose 拓扑和独立容器冒烟。
- Compose 默认使用 PostgreSQL、HTTPS 反向代理安全参数和精确版本镜像;自用 Docker Run 命令继续从根
VERSION读取版本。
Fixed
- 根据人工核对结果修正 3 个乙肝定量项目的
PEIU/mL单位,以及 EO、NRBC# 的10^9/L单位和错列参考值;表格中的×10^9/L作为等价写法处理。 - 将 Cr、UA 的
μmol/L从待确认状态固化为当前标准,并通过版本化目录迁移更新其余 5 项默认元数据;既有检验结果和原始单位不被改写。 - 修复血压局部更新缺字段可能返回 500、PostgreSQL 可空目录联表锁报错,以及跨家庭同时切换检验指标可能形成反向锁的问题。
- 修复 Excel 科学计数法极端指数、非整数血压被静默截断、横向表展开量和超长单元格可能绕过资源边界的问题。
- 修复多家庭页面上下文、系统用户快速搜索旧响应覆盖新结果,以及当前空间仅有归档成员时导航错误回退的问题。
Security
- 公开注册增加 CSRF、独立匿名限流、Django 密码策略和事务内注册开关复查;首位管理员认领、关闭注册及管理员变更使用系统状态锁串行化。
- 系统阻止管理员停用或撤销自己,也阻止移除最后一名有效管理员;停用账号的既有会话随即失效,账号与健康记录审计关系继续保留。
- 系统管理员角色不绕过健康空间和成员权限;用户管理接口只返回账号元数据,并将直连部署的代理信任层数默认设为
0。 - 应用系统管理员与 Django 超级用户解耦:首位注册用户不会自动获得全站运维后台权限;只有手工创建的受信任超级用户保留恢复和全站 Admin 能力。
- 健康数据和账号 JSON 响应统一禁止缓存,查询参数使用严格类型校验;所有写入按健康空间、成员、目录和记录的固定顺序加锁并在锁内重新鉴权。
- Excel 同时限制上传、ZIP 结构、展开大小、行列数、记录数、自定义目录增长和累计容量;重复导入仍可安全跳过且不能突破事务内额度。
- 备份目录、恢复前归档、数据库和导入导出文件均加入 Git/Docker 忽略保护;加密恢复不会在长期备份目录遗留明文 SQLite 副本。
[1.0.3] - 2026-07-20
Added
- 增加检验/文字检查和血压两套标准 Excel 模板、历史横向表兼容导入、逐项预检确认及 Excel 导出。
- 未知检验项目可在确认后创建为家庭私有标准项目,网页支持快速录入、修改和删除检验与文字检查记录。
- 增加检验项目代号和独立的文字检查项目预设目录;手工录入可按代号或名称搜索,并自动带出常用单位与参考值。
- 内置覆盖源 CSV 101 个项目的检验预设和 3 个文字检查预设,并保留原有空腹血糖预设;个人结果与原始工作簿不进入仓库。
Changed
- 当前产品完全移除 PDF 上传、OCR、报告候选复核、Celery Worker 与 Redis,文字检查结果只保留原文并独立展示。
- 血压编辑补齐设备、服药状态和全部读数约束,模板增加枚举下拉选项,导出日期改为可排序的 Excel 日期单元格。
- 检验与检查标准长表新增项目代号,检查表新增单位;导入继续兼容旧版表头,导出使用可回导的新契约。
- 趋势项目列表只显示当前成员已有检验数据的项目,文字检查即使包含数值也永不进入趋势。
- 单位标准化扩展到微单位、毫国际单位、秒和 pH 的等价写法;有歧义的源字段保持原文并提示人工核对,不执行医学换算。
- Excel 导入的文字检查锁定原项目身份,编辑时只提交实际变化字段,避免旧版空代号或别名被静默覆盖。
Fixed
- 修复连续录入时异常状态沿用、切换检验项目时单位与参考值串项、血压图表空数据切换和窄屏文字检查布局问题。
- 修复项目子串误匹配、科学计数法不能进入趋势、同一文件重复项预检不准确及导出回导时间精度丢失问题。
- 修复横向源表含“序号、项目代号/代码、单位”等字段时项目与日期列错位的问题,并保留旧版横向表兼容。
- 修复本地
8078开发页面登录被 CSRF 来源校验拒绝,并补齐 Excel 与总览接口的 OpenAPI 定义。 - 修复指标改名可能绕过重复导入、并发确认沿用旧单位映射,以及旧目录规范化冲突缺少明确升级提示的问题。
Security
- Excel 确认导入使用短时签名凭证绑定成员、文件哈希、导入类型和标准化计划,不能绕过预检或替换文件。
- 家庭私有指标按家庭隔离;三类导入使用数据库唯一约束保护的稳定指纹,指标身份不随名称变化,确认时在家庭事务锁内重新校验映射。
- 同一作用域的标准名与其他指标别名冲突会被拒绝;单位冲突、归档成员和异常 XLSX 均在写入前阻止。
- 本地 PDF、Excel、CSV 和输出目录默认不进入 Git 或 Docker 构建上下文,Excel 自由文本以文本单元格导出以防公式注入。
[1.0.2] - 2026-07-19
Added
- 医院报告正式区分“检验报告”和“检查报告”:检验类数据进入长期指标趋势,B 超、CT、磁共振、肝弹等检查结果独立保存所见、结论、部位、医生和日期。
- PDF 导入支持保守自动分类、人工选择报告类型、分类冲突复核,以及检验候选和检查候选两套确认流程。
- 检验结果增加正常、临界值、偏高、偏低、异常和未判断状态;页面与图表同步显示文字和颜色,偏高使用上标
↑,偏低使用下标↓。 - 趋势图按单位分别绘制,检测到混合单位时提供单位切换,避免不兼容数据被错误连接。
- 增加
ppocr-v5-mobile低内存 OCR 档位,便于 Windows 或资源有限的 CPU 环境使用本地中文识别。
Changed
- 医院报告列表、复核页、总览、导出和技术文档统一使用“检验报告/检查报告”业务术语。
- 完整 JSON 导出契约由
schema_version=1.0升级为1.1,新增报告类型和正式检查结果;同时增加检查结果 CSV,旧版导出消费者应按契约版本适配。 - Docker Run 文档固定使用
zhoujie218/healthy,并将宿主机/www/wwwroot/healthy-data直接绑定到容器/data。 - Docker 发布成功后自动创建对应 GitHub Release;精确版本、次版本、主版本和
latest标签均由同一VERSION生成。
Fixed
- 收紧报告分类证据,避免把病史中提及的既往检验报告或 CT 检查报告误判为当前报告。
- 修复异常文字后缀导致数值不能进入趋势图、单位中的
L被误识别为偏低,以及手机端检验趋势页横向溢出的问题。
Security
- 检验与检查候选写入均在报告事务和行锁内复查状态,避免取消、重试或确认并发覆盖。
- 转义趋势图提示框中的单位、参考范围等外部文本,防止持久化 HTML 注入。
[1.0.1] - 2026-07-18
Added
- 家庭、账号、健康档案成员和成员级访问控制。
- 医院电子 PDF 自动提取与扫描 PDF 本地 PaddleOCR 识别。
- 检查项目暂存、人工复核、手工补录、批量确认和整批撤销。
- 检查指标趋势、参考范围、异常状态和原始报告溯源。
- 血压多次读数录入、编辑、软删除、平均值和趋势图。
- JSON、检查指标 CSV、血压 CSV 导出及一致性备份脚本。
- 单条
docker run统一镜像和 PostgreSQL、Redis、异步 OCR 的 Docker Compose 部署方式。 - 根
VERSION单一发布源、全站版本展示和 Docker Hub 自动发布工作流。 - 项目开发规范、技术交接文档和版本发布检查工具。
Security
- 首次初始化使用一次性部署口令,并通过数据库锁防止并发抢占。
- PDF 文件仅可通过鉴权接口访问,列表、趋势和导出按家庭成员权限隔离。
- 报告状态变更使用事务与行锁,避免确认、取消、重试和修改之间的竞态。
- CSV 自由文本进行公式注入防护,代理 IP 只信任部署拓扑中的受控转发层。