收藏
回答

请问怎么在查询数据库后再判断是否需要订阅消息?

如代码如下,在数据库查询的时候就已经执行wx.requestSubscribeMessage了,wx.requestSubscribeMessage放查询完成数据库里面会提示只能由用户手势调用

wx.showLoading({
  title: '验证中',
})
var is_add_send = false;
DB.where({
  _openid: openid
}).get().then(res => {
    wx.hideLoading();
  //console.log(res.data);
  for (var i = 0; i < res.data.length; i++) {
    if (t.start == res.data[i].time) {
      is_add_send = true;
      //console.log(is_add_send);
      wx.showToast({
        icon: 'error',
        title: '请勿重复添加',
      })
      //break;
    }
  }
})
if (is_add_send == false) {
  //订阅消息
  wx.requestSubscribeMessage({
    tmplIds: ['xxxxxxxxxx']
  })
}
回答关注问题邀请回答
收藏

1 个回答

  • 老张
    老张
    2022-01-02

    1、必须要用户点击某个按钮才能触发。

    2022-01-02
    有用
    回复 6
    • Young

























?
      Young ?
      2022-01-02
      用户点击,进行数据库判断是否需要订阅,我这样写数据库在判断中就弹窗订阅提示框了。
      2022-01-02
      回复
    • Young

























?
      Young ?
      2022-01-02
      我现在的解决方法是:点击按钮数据库判断是否需要订阅,如果需要就显示订阅按钮,单独写了一个按钮了
      2022-01-02
      回复
    • 老张
      老张
      2022-01-02回复Young ?
      你上面的代码有异步问题。目测不正确。
      2022-01-02
      回复
    • A黑色低调
      A黑色低调
      2022-01-02
      这玩意多点有好处,还判断啥数据库了,前端写个订阅时间间隔,时间到了直接展示给用户去订阅。
      2022-01-02
      1
      回复
    • Young

























?
      Young ?
      发表于移动端
      2022-01-02回复老张
      对,不同步,所以用了两个按钮
      2022-01-02
      回复
    查看更多(1)
登录 后发表内容