编辑Bug 3059添加小程序订阅通知提示,让用户进行授权后进行消息推送
Bug标题
重现步骤

[需求]

file-read-9142.png

[方案]

前端只需要先接入这一个小程序订阅模板:

模板名称:停车月卡到期提醒

模板 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' })

}

}

交互建议

按钮文案:

开启车辆到期提醒

说明文案:

开启后,将在车辆长租到期或过期时提醒你处理续费。

注意点

小程序订阅消息是一次性授权,不是永久订阅。用户点一次“允许”,后端通常只能成功推送一次该模板消息。建议前端在续费成功、审核

通过、车辆详情这些强相关场景里再次引导用户授权。

后端不需要前端传业务参数。前端只负责让用户授权模板;真正发送时,后端会根据车辆、账单、有效期等数据自动组装消息内容并调用

微信发送。

[期望]

附件
备注
基本信息
所属产品
所属模块
所属计划
来源用例
Bug类型
严重程度
优先级
Bug状态
是否确认
指派给
截止日期
反馈者
通知邮箱
操作系统
浏览器
关键词
抄送给
项目/研发需求/任务
所属项目
所属执行
相关需求
相关任务
Bug的一生
由谁创建
影响版本
解决者
解决日期
解决版本
解决方案
由谁关闭
关闭日期
其他相关
相关Bug
测试单