微信凋谢标签:wx-open-subscribe
必须要提交到服务器上测试,比拟麻烦。否则就要搞个内网穿透能力搞,上面的代码能够间接复制拿去用。

<component :is="'wx-open-subscribe'"  id="subscribe-btn"  @success="handleSuccess"  @error="handleError"  :template="state.templateId"  style="width: 100%; display:block;">// 省略两头的内容</component>

次要来写handleSuccess

const handleSuccess = (e: any) => {  if (e.detail.errMsg === 'subscribe:ok') {    const status = JSON.parse(e.detail.subscribeDetails)    const tempStatus = JSON.parse(status[state.templateId]).status    if (tempStatus === 'accept') {      Toast.success('订阅胜利')    } else if (tempStatus === 'reject') {      Toast('回绝订阅音讯,请查看公众号设置!')    } else if (tempStatus === 'cancel') {      Toast('勾销订阅音讯,请查看公众号设置!')    } else if (tempStatus === 'filter') {      Toast('题目同名被后盾过滤!')    }  } else {    Toast.fail('订阅失败')  }}

handleError

const handleError = (e: any) => {  const mapError = new Map([    ['10001', '参数传空了'],    ['10002', '网络问题,申请音讯列表失败'],    ['10003', '网络问题,订阅申请发送失败'],    ['10004', '参数类型谬误'],    ['20001', '没有模板数据,个别是模板ID不存在或者和模板类型不对应导致的'],    ['20002', '模板音讯类型既有一次性的又有永恒的'],    ['20003', '模板音讯数量超过下限'],    ['20004', '用户敞开了主开关,无奈进行订阅'],    ['20005', '服务号被封禁']  ])  Dialog.alert({    title: '订阅失败',    message: `错误码:${e.detail.errCode},提醒:${mapError.get((e.detail.errCode).toString())}`,    confirmButtonColor: '#0081ff'  }).then()}