乐趣区

关于微信公众号:微信公众号开放标签订阅通知的成功与失败

微信凋谢标签: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()}
退出移动版