fix(微信订阅): 用微信真实关键词修正歌曲排期模板(thing1/phrase2/time3/character_string4),并修掉字段认领顺序导致的校准失效

This commit is contained in:
2026-10-24 11:56:50 +08:00
parent dc2565da34
commit f5a43b37cc
7 changed files with 192 additions and 56 deletions
+6 -2
View File
@@ -125,7 +125,9 @@ WECHAT_MINI_SECRET=
# 微信「订阅消息」模板(可选:**留空也能用**,代码里内置了站长选好的模板)
# 内置模板(唯一来源:server/utils/wechatSubscribeTemplates.ts 的 BUILTIN_TEMPLATES):
# SONG_SELECTED「歌曲排期通知」—— 管理员把歌排进排期/发布排期时发
# thing2→songTitle, date4→playDate, time1→playTime, character_string3→sequence, phrase5→status
# thing1→songTitle, phrase2→status, time3→playTime, character_string4→sequence
# (微信侧真实关键词,模板原文:歌曲名称/排期状态/播放时间/排期序号;**没有日期字段**,
# 日期含在 playTime 的 'YYYY-MM-DD HH:mm' 里)
# SONG_REJECTED「审核驳回通知」—— 投稿被驳回时发
# thing6→songTitle, thing4→reason
# 下面这条环境变量**只用来覆盖内置映射**(比如站长在公众平台选了别的模板或字段名)。
@@ -134,7 +136,9 @@ WECHAT_MINI_SECRET=
# {"SONG_SELECTED":{"id":"模板ID"}} ← 只换 ID,沿用内置字段映射
# {"SONG_REJECTED":{"id":"模板ID","fields":{"thing6":"songTitle"}}} ← 同时换字段映射
# {"SONG_PLAYED":{"id":"模板ID","fields":{"thing1":"songTitle"}}} ← 也可以补一张内置表里没有的模板
# fields 的键是模板里的字段名(thing2/date4/time1/character_string3/phrase5,公众平台选用模板时能看到),
# fields 的键是模板里的字段名(thing1/phrase2/time3/character_string4,公众平台选用模板时能看到;
# **编号是微信自动分配的,不能靠命名规律猜** —— 猜错一位就是整条 47003。核不准就别写,
# 服务端会自动调 /wxaapi/newtmpl/gettemplate 读模板原文来校准),
# 值是变量名(可用:songTitle / message / time / playDate / playTime / sequence / status / reason)。
# ⚠️ 平台限制:一次性订阅=一次授权只能发一条;只有绑定了微信的账号才有 openid;
# 模板 ID 变了老用户要**重新点一次「开启微信通知」**才有额度(旧授权按模板 ID 记账,直接作废)。