第二时钟

你的药,开封后还能用多久

药盒上印着的是第一个时钟;药品开封后重新开始的倒计时,是第二个时钟。

使用手册

出品人:inoichi

▶ 打开应用(建议与本手册并排放,照着第二节点)

一、作品简介

一句话:把「开封那天起还能用多久」算清楚,并在快到期时用颜色和横幅提醒你。

「第二时钟」这个名字

每一盒药身上其实有两个时钟。

眼药水拆封 28 天、混悬液配好 14 天、碘伏棉签开罐 7 天、75% 酒精倒出使用 1 个月——这些数字只写在说明书里,看完就忘。本作品做的就是把这块看不见的表盘显示出来,所以叫「第二时钟」。

解决的真实问题

形态:单文件网页,打开即用,不需要注册、不需要登录。药品记录保存在你自己浏览器里(详见「数据与隐私」)。

二、30 秒快速体验路径(评委专用)

30 秒版:在「药品名称」输入 红霉素眼膏 → 点「确认添加」→ 展开页面最下方「⏱ 时间模拟」,连点 +20天 → +1天 → +7天。卡片依次由绿转黄转红,顶部弹出红色提示。就这三下。
下面是逐步版(约 90 秒),每一步会看到什么都写明了。

按下面的步骤,可以依次看到绿三档预警。请按顺序照做。

路径 A · 手动路径(离线可跑,推荐先看这条)

  1. 打开应用,向下找到 添加产品 区域,它默认就停在 手动填写 页签,无需切换。
  2. 产品名称 里输入 红霉素眼膏,稍等片刻(或点一下输入框外面)。 输入框下方会出现提示:「📚 已按内置药库预填:开封后可用 28 天,储存 阴凉 · 眼用制剂启用后最多使用4周(《中国药典》对眼用制剂的通用规定)」。开封后可用天数 自动变成 28,下方小字写「已根据产品规则填写,可修改」。
  3. 首次启用日期 保持默认的 今天启用,直接点最下方 确认添加上方的药品卡片区域立刻出现一张绿色卡片:当前剩余天数「剩余28天」,并列出「开封截止日期」与「实际停用日期」。
  4. 展开页面下方的 ⏱ 时间模拟 面板,依次点:+20天+1天+7天三次点击后的卡片状态见下表。
  5. 看完后点 恢复今天(或点顶部黄条上的「点此恢复今天」)即可回到真实日期。
操作剩余天数卡片颜色你会看到
刚添加28 天绿「剩余28天」
点 +20天8 天绿「剩余8天」,仍在绿档(绿档判据是 >7 天)
再点 +1天7 天「剩余7天」,卡片转黄——这一下正好压上 7 天黄线
再点 +7天0 天卡片写「今天到期,请停止使用」;页面顶部弹出红色横幅「红霉素眼膏已超期,请停止使用」
为什么不是直接点 +30天?28 天的药一步 +30 会直接跳到「已过期2天」,中间的黄档就看不到了。这也是本版新增 +20天 档的原因:让 28 / 30 天这类最常见的开封期限能被分段跨越,逐档看到颜色变化。若想看「已过期」文案,在第 4 步之后再点一次 +1天 即可(卡片变为「已过期1天」)。
另一条更快的看法:展开 ⏱ 时间模拟 后,也可以直接在 自定义日期 里选一个日期再点 应用日期,一步跳到任意档位。
怎么知道自己在不在模拟日期:只要快进过,页面最上方就会常驻一条黄色提示条「⏱ 当前处于模拟日期 YYYY-MM-DD(非真实日期),点此恢复今天」,点一下即可回到今天。刷新页面也会自动回到真实日期,所以不必担心把模拟状态留给下一个人。

路径 B · 拍照路径(需要网络)

这条路径会把照片发给第三方 AI 服务做识别,请在有网络时体验;离线时应用会提示改用手动填写。

  1. 拍照识别 页签,再点 📷 拍照或选择图片提示语原文:「可上传1—4张,建议至少包含一张有效期特写」。一次最多取前 4 张。
  2. 选好图后进入「图片预览」,确认无误点 开始识别识别中显示「正在识别产品……」,旁边有 取消识别 可随时中断。
  3. 识别完成后出现「识别结果」列表,逐条列出产品名称 / 产品类别 / 规格 / 印刷有效期 / 识别依据。 若有效期没拍清楚,该条会就地给出一个日期输入框让你人工核对,或选择 暂不填写
  4. 每条结果各带两个按钮:确认并添加 直接入库;修改信息 把该条内容灌进手动表单再改。 结果区底部还有 重新识别切换为手动填写

入库之后,颜色档与时间模拟的看法与路径 A 完全一致。

三、功能详解

3.1 两个时钟与颜色档

每张卡片同时跑两个时钟,谁先到期就听谁的:

卡片上的 实际停用日期 取两者中较早的一个,并注明停用原因,文案只有两种:「停用原因:因印刷有效期到期」或「停用原因:因开封后有效期到期」。颜色按这个较早的剩余天数判定:

剩余天数颜色档卡片文案
8 天及以上绿剩余 N 天
4 – 7 天剩余 N 天
1 – 3 天剩余 N 天
正好 0 天今天到期,请停止使用
已超过已过期 N 天 + 「已超过开封有效期,请停止使用」或「已超过印刷有效期,请停止使用」

只要药箱里存在剩余天数 ≤ 0 的药,页面顶端就会出现红色横幅,把这些药名连起来写「……已超期,请停止使用」。

3.2 添加产品:两个入口

「添加产品」面板上有两个页签:拍照识别手动填写,默认停在手动填写。两边内容都在,切换时若已有草稿或已选照片,会弹一个确认框(文案为「切换后将保留图片,但不再使用AI识别。」/「切换后将保留已填写内容。」),不会静默丢弃你填的东西。

手动填写的字段

校验规则(实际生效的三条):产品名称不能为空;印刷有效期与开封后可用天数至少填一项;选「选择日期」时该日期不能晚于当前(模拟)日期。此外,若药箱里已有同名且尚未到停用日期的药,保存时会先问一句「药箱里已有「XX」,仍要再添加一条吗?」。

3.3 内置药库预填(离线可用)

产品名称 里打字,停手约 0.4 秒(或失焦)就会去查内置药库,命中后自动填 开封后可用天数储存说明规则来源三个字段。药库共 1363 条药品条目(含 1030 条别名,例如打「美林」能命中「布洛芬混悬液」)与 23 条剂型通用规则(如「滴剂 28 天」)。匹配结果分四种,提示语各不相同:

匹配情况提示语是否自动填
药名精确命中📚 已按内置药库预填
近似命中📚 已按内置药库近似匹配预填(药名未完全一致,请核对)
只命中剂型规则📚 已按内置剂型规则预填
命中多个期限不一致的条目⚠️ 药库中有多个条目含该名称(……),开封期限不一致,未自动预填;请补全完整通用名(含剂型)或联网查询(宁可不填,也不猜)
完全没收录🔍 内置药库未收录「XX」,可点下方按钮联网查询开封效期
关于「自动填写会不会覆盖我改的值」——这里说实话:
  • 你亲手改过的开封天数不会被覆盖。只要你在 开封后可用天数 里输入过内容,该字段小字会变成「已手动修改」,此后药库预填不再动它。
  • 但由药库自动填进去的值,会随药名改动被清空并重新计算。这是有意为之:药名从 A 改成 B 之后,还留着 A 的天数会更危险。所以「填完就此永远不再变动」的说法并不成立,请以字段下方那行小字(「已根据产品规则填写,可修改」/「已手动修改」)为准。
  • 储存说明、规则来源同理:自动填的会随药名重算,你自己写过的不会被动。

3.4 联网查询开封效期

当药库没收录判为歧义、或只命中剂型规则时,产品名称下方会出现 🔍 联网查询开封效期 按钮(药库精确/近似命中时该按钮不出现,因为没必要花这一次请求)。点击后会把药名发给第三方 AI 服务检索并提炼,回填天数与储存条件,提示语以「🌐 联网查询结果,以说明书为准」开头。

3.5 按家人分类

手动表单里有一个 使用人 下拉框,预置选项为:未指定 / 爸爸 / 妈妈 / 爷爷 / 奶奶 / 我自己 / 其他…。选「其他…」会出现一个输入框,可自己写(占位提示「填写使用人(可留空)」)。它的实际作用只有两处:

请注意它不是什么:它只是记录上的一个文本标签,没有成员账号、没有多人共享、没有权限区分、没有按人推送提醒。所有记录仍然只存在你这一台设备的这一个浏览器里,换个人的手机看不到。

3.6 药品卡片上能做的事

3.7 时间模拟

页面下方 ⏱ 时间模拟(评审体验用:快进日期即可看到到期预警效果) 可展开,内含:当前模拟日期显示、+1天 +7天 +20天 +30天 恢复今天 五个按钮,以及一个自定义日期输入框配 应用日期

模拟日期会被保存、刷新后仍然生效,因此只要处于模拟状态,页面最顶端始终有一条黄色横条说明这一点,点它即可一键恢复真实今天。

四、数据与隐私

这一节按「哪些数据留在本机、哪些会离开本机」如实分开写。

留在本机的

会离开本机的(务必知悉)

本作品有两条功能会把数据发给第三方 AI 服务,且两条分属不同厂商:
  • 拍照识别阿里云百炼(dashscope.aliyuncs.com):点「开始识别」后,你选中的照片本身会被上传到该服务处理。若照片里拍到了药盒之外的东西(处方、姓名、家庭环境等),这些内容也会一并被上传。
  • 联网查询开封效期智谱 AI(open.bigmodel.cn):点该按钮后,你填写的药名文本会被发送到该服务用于检索与提炼。
两条链路都是你主动点击才会触发:不点拍照识别、不点联网查询,就没有任何数据离开本机;仅用「手动填写 + 内置 1363 条药库」时,应用完全离线可用。

部署在服务器上的版本,请求由本站的服务端代理分别转发给上述两家,浏览器不携带任何密钥;代理只记录请求方法、路径、状态码、耗时与来源 IP,不记录照片内容与药名内容

由此带来的取舍

五、常见问题

内置药库里没有我的药,怎么办?

提示会写「🔍 内置药库未收录「XX」……」。三个办法:①点 🔍 联网查询开封效期;②直接在 开封后可用天数 里按说明书手填;③若说明书没写开封期限,就只填 印刷有效期,卡片会只跑第一个时钟。

为什么提示说「有多个相近条目,未自动预填」?

因为你输入的名字同时像药库里好几条、而它们的开封天数并不一致(例如「碘伏」在库里就分蘸取使用、罐装棉签、独立包装单支三种,分别是 7 天、7 天、1 天)。这种情况下应用拒绝替你猜,请补全到完整通用名(最好带剂型),或改用联网查询。

我改了药名,开封天数怎么跟着变了?

这是有意设计。凡是药库自动填进去的值,都会随药名改动清空重算,以免把上一个药的天数留在新药身上。你自己手动输入过的天数不会被改——此时字段下方小字显示「已手动修改」。看这行小字就能分辨当前值的来路。

为什么点了 +30天,直接就「已过期」了?

因为大部分常见药的开封期是 28 或 30 天,加 30 天必然跨过终点。要逐档看到绿 → 黄 → 红,请按第二节的顺序点 +20天+1天+7天,或用自定义日期精确落在某一档。

顶部一直挂着红色横幅/黄色横条,是出错了吗?

不是。黄色横条表示你还停在模拟日期,且这个状态会跨刷新保留;红色横幅表示当前日期下确实有药已到期。点黄条上的「点此恢复今天」或时间模拟里的 恢复今天 即可回到真实日期,红色横幅通常随之消失。

没有网络还能用吗?

能。手动填写 + 1363 条内置药库 + 全部计时与提醒功能都不依赖网络。只有拍照识别联网查询需要联网;识别服务未配置时,拍照页会直接提示「未配置识别服务,可直接使用「手动填写」,内置药库离线可用」。

拍照识别认错了怎么办?

识别结果区每条都可就地改:有效期没拍清会给出日期输入框让你人工确认(也可以选 暂不填写),开封天数可直接改数字,或点 修改信息 把整条灌进手动表单再改。结果区底部写着「识别仅辅助录入,请确认包装信息后保存。」——请务必核对后再保存。

「使用人」能让家人各自登录、各看各的吗?

不能。使用人只是记录上的一个标签,用于卡片徽章和列表筛选。本作品没有账号、没有多人共享、没有云同步,所有记录只在本机浏览器内。

换手机 / 清了浏览器缓存,记录还在吗?

不在了,且无法恢复——数据只存在原设备的浏览器本地存储里,没有云端副本。这是「不需要注册、不上传数据」这一选择的代价。

为什么有的药显示「无需开封计时」?

因为药库对这类药本来就不给开封天数(独立铝箔袋、单支独立包装、按外盒效期使用等)。这类记录只跑印刷有效期一个时钟,所以添加时需要填印刷有效期,否则无法保存。

六、免责声明

开封后有效期为参考值,请以药品说明书为准。
本应用不构成用药建议,不判断药品是否变质。