KB
站内搜 分享 X 🕐 -- 分
下载 .md

优孩计划 Kid Grow

在搭建
kid-grow.laowe.club ↗

0-22 岁分阶段成长卡片 · CF D1 + Astro + Resend 邮件推送 + Taro 微信小程序 + PushPlus 实时推送 · MVP 不做支付

📋 规划 🚧 在搭 ✅ 已上线 ⏸ 暂停 🗄 归档
⏰ 创建 2026-08-01 · 已 1 个月 更新 2026-09-19 #product #education #parenting #web #mini-program 📖 读完约 3 分钟 📝 640 字 · 15 段 🔗 0 外链 OPC #17 … ★ 优先级:high
技术栈: Astro · Cloudflare D1 · Resend · Taro · PushPlus

优孩计划 Kid Grow

0-22 岁分阶段成长卡片工具。

形态

  • Web: kid-grow.laowe.club(Astro + CF D1)
  • 微信小程序: 已有 Taro 脚手架,在迭代中
  • 推送: Resend 邮件订阅 + PushPlus 微信实时推送(R38 起,WxPusher 已被替代)
  • Dashboard: /dashboard?token=... 用户后台(mgmt + 多孩子 + cadence + 暂停)

核心功能

  • 6 个阶段(0-3 / 3-6 / 6-12 / 12-15 / 15-18 / 18-22)
  • 每阶段多子阶段,每个子阶段多个成长卡片
  • 卡片分三优先级:必做 / 推荐 / 可选
  • 搜索 / 标签筛选 / 收藏(★)
  • Drawer 详情页(markdown 折叠预览)
  • 多孩子支持(R42):单订阅可挂最多 4 个孩子,邮件按孩子分节,PushPlus 合并一条推送

近期迭代

R42 · 多孩子支持(2026-09-19 完工)

  • subscribers.children + push_subscribers.children JSON 列(migration 012)
  • worker/src/lib/children.ts:Child type + parseChildren(raw, fallbackDob) + MAX_CHILDREN = 4
  • DigestWeekly breaking props:childAgeText/subStageName → children: DigestChildSection[],subject 用前 2 孩子名 + 总卡数
  • 整户去重:沿用 UNIQUE(subscriber_id, card_id),跨孩子 Set 去重,INSERT OR IGNORE
  • cron-realtime 合并推送:每 deviceId 推一条,标题 ${labels} · ${n} 张新卡,body 多孩分段
  • Dashboard /dashboard 加 children chips + add_child form + archive 按钮,hero headLabel 用第一未归档孩子
  • 全归档语义:status 保持 active,cron 跳过本次推送但 next_send_at 仍推进
  • Mini-program subscribe 表单零改动(后端自动升级单 DOB → 单元素 children)
  • 顺手修 pre-existing bug:manage.ts deliveries SQL c.sub_stage_slug 列不存在 → 改 JOIN sub_stages
  • 验证:npm run typecheck 0 errors / npm test 28 全过 / smoke 全过 / commit 9c855c9

R41 · 0-12 月扣漏(2026-09-15)

  • 补 8 张卡:大运动/语言/出牙/辅食过敏/认生;newborn 6→8 small 4→6 sitter 5→9

R40 · PushPlus 年龄过滤(2026-09-12)

  • 按月龄 ±1 sub-stage 过滤推送,旧用户 NULL 跳过 + needs-profile 引导

R38 · 切换 PushPlus(2026-09-05)

  • WxPusher 服务不稳 → 切 pushplus.plus · 无服务端 secret · 沿用 R37 deviceId 解耦

微信订阅消息申请(已弃用)

  • 第一次申请被拒(标题”用于优孩计划订阅通知” + 关键词”名称/事项/状态”太宽泛)
  • 已切换策略:小程序服务类目 工具 → 备忘录 个人主体加不了 母婴亲子,找到 教育服务 → 教育信息展示 可用
  • 重写 3 个模板(新卡片上架 / 适龄月龄提醒 / 重要事项临期)
  • R36 决定弃用:模板消息审核被拒 + 类目资质不够,改走邮件 digest 主推送 + 应用内消息中心(/api/cards?since)

相关

  • [[kg R42 多孩子]] — children.ts 设计 + 整户去重 + cron-realtime 合并推送
  • [[kg R41 婴儿段扣漏]] — 8 张新卡 list
  • [[kg R40 pushplus age filter]] — 月龄过滤 + needs-profile 引导
  • [[kg R38 PushPlus]] — 切 PushPlus 决策 + deviceId 解耦
  • [[kg Taro 脚手架]]
  • [[kg Taro 应用内收藏]]
  • [[wechat-subscribe-message-template-rules]]

相关项目 (共享标签)