[需求]

[方案]
前端只需要先接入这一个小程序订阅模板:
模板名称:停车月卡到期提醒
模板 ID:bd73U71GOvC7e4jkY1LihOpPy8RUPadbPkhJ2hIiHnw
覆盖通知:
1. 长租到期提醒
2. 车辆已过期提醒
接入位置
建议放在这些页面触发:
页面/操作 触发时机
━━━━━━━━━━━━━━━━━━━━━━━━━━ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
车辆详情页 用户进入长租车详情,且车辆未注销
────────────────────────── ──────────────────────────────────────
车辆续费成功页 用户续费成功后
────────────────────────── ──────────────────────────────────────
长租车申请审核通过结果页 用户查看审核通过结果时
────────────────────────── ──────────────────────────────────────
我的车辆列表 存在长租车时,展示“开启到期提醒”按钮
────────────────────────── ──────────────────────────────────────
消息设置页 固定放一个“车辆到期提醒”开关/按钮
前端调用
const PARKING_EXPIRE_TEMPLATE_ID = 'bd73U71GOvC7e4jkY1LihOpPy8RUPadbPkhJ2hIiHnw'
export function subscribeParkingExpireNotice() {
return new Promise((resolve, reject) => {
wx.requestSubscribeMessage({
tmplIds: [PARKING_EXPIRE_TEMPLATE_ID],
success(res) {
const result = res[PARKING_EXPIRE_TEMPLATE_ID]
resolve(result) // accept / reject / ban
},
fail(err) {
reject(err)
}
})
})
}
按钮示例
async function onOpenExpireNotice() {
try {
const result = await subscribeParkingExpireNotice()
if (result === 'accept') {
wx.showToast({ title: '已开启提醒', icon: 'success' })
} else if (result === 'reject') {
wx.showToast({ title: '未开启提醒', icon: 'none' })
} else if (result === 'ban') {
wx.showToast({ title: '请在小程序设置中开启通知', icon: 'none' })
}
} catch (e) {
wx.showToast({ title: '订阅失败,请稍后重试', icon: 'none' })
}
}
交互建议
按钮文案:
开启车辆到期提醒
说明文案:
开启后,将在车辆长租到期或过期时提醒你处理续费。
注意点
小程序订阅消息是一次性授权,不是永久订阅。用户点一次“允许”,后端通常只能成功推送一次该模板消息。建议前端在续费成功、审核
通过、车辆详情这些强相关场景里再次引导用户授权。
后端不需要前端传业务参数。前端只负责让用户授权模板;真正发送时,后端会根据车辆、账单、有效期等数据自动组装消息内容并调用
微信发送。
[期望]