请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

正在回答

3回答

谢成 2020-02-20 09:34:50

1、请确认调试基础库的版本

2、请认真检查当前小程序的id和登录的公众平台是不是同一个,有可能是多个账号弄混了

3、请检查当前配置的模板id是不是订阅消息的,别错选了模板消息

4、然后就按照文档来就行,文档写的特别好:https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/subscribe-message.html

5、如果文档还是看不懂,再参照我的代码:

配置完模板以后,调起客户端小程序订阅消息界面:

const templateId = 'xxxxxx'

wx.requestSubscribeMessage({

    tmplIds: [templateId],

    success(res) {

        if (res[templateId] == 'accept') {

            //用户同意了订阅,允许订阅消息

            wx.showToast({

            title: '订阅成功'

            })

            } else {

            //用户拒绝了订阅,禁用订阅消息

            wx.showToast({

            title: '订阅失败'

            })

        }

    },

    fail(err) {

    console.error(err)

    }

})

 需要发送消息的时候,就调用云函数,参数名称参考模板:

云函数这样写(代码我就不格式化了,自己粘贴到开发工具就行):

const cloud = require('wx-server-sdk')

cloud.init()

exports.main = async (event, context) => {

try {

const wxContext = cloud.getWXContext()

const templateId = 'xxxxx'

return await cloud.openapi.subscribeMessage.send({

touser: wxContext.OPENID,

page: 'page/index/index',

lang: 'zh_CN',

data: {

phrase1: {

value: '上课啦'

},

thing2: {

value: '小程序开发'

},

thing3: {

value: '订阅消息'

}

},

templateId: templateId,

miniprogramState: 'developer'

})

console.log(result)

return result

} catch (err) {

console.log(err)

return err

}

}

还需要在当前云函数下面,新建config.json文件:

{

"permissions": {

"openapi": [

"subscribeMessage.send"

]

}

}

然后要上传云函数。

在需要发送订阅消息的地方,调用这个云函数就可以了。

测试订阅消息需要在真机上测试,开发工具不能测试:

点击真机调试,用手机扫描二维码。

发送完消息以后,在微信页面,就能看到消息了

0 回复 有任何疑惑可以回复我~
  • 提问者 BeiYing1 #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2020-02-20 20:49:28
  • 提问者 BeiYing1 #2
    老师已经好了,坑点是不能用form,必须由bindtap触发
    回复 有任何疑惑可以回复我~ 2020-02-20 20:51:14
  • 夜半之时 回复 提问者 BeiYing1 #3
    老哥咋弄
    回复 有任何疑惑可以回复我~ 2020-04-04 23:31:34
kassycutie 2020-02-18 23:46:39

你好,请问解决了吗

0 回复 有任何疑惑可以回复我~
  • 提问者 BeiYing1 #1
    还没有
    回复 有任何疑惑可以回复我~ 2020-02-19 18:56:46
谢成 2020-02-18 21:57:55

重新测试下,看是不是用户拒绝了权限

https://img1.sycdn.imooc.com//szimg/5e4bed380944fb3606380072.jpg

0 回复 有任何疑惑可以回复我~
  • 提问者 BeiYing1 #1
    应该是我的代码有欠缺,订阅消息需要用户手动确认
    回复 有任何疑惑可以回复我~ 2020-02-19 18:56:35
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信