微信通知接入
来源:亲子成长记施工包
AI要怎么做.md §3.3 微信/企业微信通知,已抽离项目名,成为通用接入规范。
这是什么
通知是大多数小程序的标配。本技能给两种最常用方案的接入规范与生成脚本:企业微信机器人(最简单,5 分钟)、公众号模板消息(需用户关注)。并强制密钥保管规则。
脚本自带 --self-test:打桩 httpx 验证三种发送的 payload 结构正确(text / markdown 卡片 / 模板消息),证明生成模块可用——无需真实 Webhook、无需联网。
何时使用
- 用户说:"接入微信通知" / "企业微信机器人" / "公众号模板消息" / "微信消息推送"
- 任何需要把系统消息推到微信(群 / 用户)的场景:任务提醒、状态通知、告警
方案一:企业微信机器人 Webhook(推荐,5 分钟接入)
POST {webhook_url}发送 JSON:{"msgtype":"text","text":{"content":"消息内容"}}- 支持 markdown 格式,可带链接和图片
- 无需申请,群管理员即可创建(群 → 添加机器人 → 复制 Webhook 地址)
方案二:公众号模板消息
- 先获取
access_token(有效期 7200s,必须 Redis/内存缓存,禁止每次现取) POST https://api.weixin.qq.com/cgi-bin/message/template/send- 需要用户关注公众号,且模板需在公众号后台申请
安全要求(P0)
- 企业微信机器人 Webhook URL 视同密钥,只存
.env,不出现在代码中 - 公众号 AppSecret 只存服务端,不传给前端
- 凭证绝不提交 Git;配合
wechat-miniprogram-devrules安全边界使用
脚本用法(生成通知模块)
# 0) 先证明生成的发送结构正确(推荐第一次用前跑一次)
python gen_notify.py --self-test
# 1) 生成模块
python gen_notify.py --out ./notify_module
生成:
notify_module/wecom_bot.py—— 企业微信机器人发送(text / markdown,带限流重试,额外提供markdown_card()拼播报卡片)notify_module/mp_template.py—— 公众号模板消息(access_token 缓存 + 发送,带限流重试)notify_module/.env.example—— 需填写的密钥字段
注意事项
- 企业微信机器人适合"系统→群"告警/播报;公众号模板消息适合"系统→具体用户"的触达(如任务提醒、积分到账)
access_token缓存键带过期时间并提前刷新,避免并发下重复获取触发频率限制- 模板消息内容受公众号类目与模板字段约束,发送前确认字段名匹配
- 配合
ai-work-acceptance验收:重点查 Webhook URL / AppSecret 未硬编码、未入库