收藏
回答

订阅消息不按代码调用推送?

项目需要对一个数据库监控,Update某一字段时,推送消息,大概如下:

  onReady: function () {
    let that = this;
    dbApplyJiQiMaCollection
      .watch({
        onChange: function (snapshot) {
          if (snapshot.type === 'init') {
          } else {
            let docChageType = snapshot.docChanges[0].dataType
            switch (docChageType) {
              case "add":
              case "update":
                //推送订阅消息
                commonLib.SendTemp(OpenidT, CompanyName + 'OK')
                break;
            }
          }
        },
        onError: function (err) {
        }
      })
  },

现在业务变更不需要推送了,我把上面部分代码删除,但是测试时,更新数据库仍然会推送。为了确保项目其他地方没有调用推送函数。我新建一个新的项目,在Index页面中单单添加对数据库更新的代码,也会收到推送。代码如下

const db = wx.cloud.database()
const dbApplyJiQiMaCollection = db.collection('ApplyJiQiMa')
Page({ 
  hsqfunction (event{
    dbApplyJiQiMaCollection.where({
      LiuShuiNum40
    }).where({
      ApplyDate1635839693716
    }).update({
      data: {
        YeWuTextnew Date()
      },
      successfunction (res1{
        wx.showToast({
          title'更新成功',
          icon'none',
          duration2000
        })
      },
      failfunction (error1{
        wx.showToast({
          title'更新失败',
          icon'none',
          duration2000
        }) 
      }
    })
   },
})

在云开发控制台的日志中,可以查到推送函数的调用,问题是,我代码中的确没有调用(新建的测试项目只有对数据库更新的代码),为什么我一更新数据库它就自动调用了呢?

TIP: 开发者工具版本:1.05.2110290

回答关注问题邀请回答
收藏

1 个回答

  • Mr.Zhao
    Mr.Zhao
    2021-11-02

    这个项目只你在开发者工具上运行?别人没代码?没发布?没测试版?没体验版?从头到尾只有你一个人用?见鬼?

    2021-11-02
    有用
    回复 3
    • hh
      hh
      发表于移动端
      2021-11-02
      感谢回复,这个项目有测试过,有发布。别人没代码。之前的功能都正常。就现在业务变更,更新数据库时不需要推送了。今天在修改这个业务需求时发现的。现在每次试,每次都出现这种情况。
      2021-11-02
      回复
    • Mr.Zhao
      Mr.Zhao
      发表于移动端
      2021-11-02回复hh
      别人也在监听,你光改你的代码,有啥用呢
      2021-11-02
      回复
    • hh
      hh
      发表于移动端
      2021-11-02回复Mr.Zhao
      明白了,谢谢。我应该把监控代码都删除,重新发布,就好了。感谢!!
      2021-11-02
      回复
登录 后发表内容