小程序云开发之消息推送功能
小程序云开发之消息推送功能(图文)
一:新建项目
APPID获取方法:1、在微信公众平台上注册账号,选择小程序(也可以从服务号注册,前提你有一个服务号)注册后登录,登录时微信扫码验证一下
2、填写小程序信息,注意服务类目,有的特殊行业需要证书、认证之类(医疗、房地产等),选择不需要认证的类目,依次填写信息
3、提交后回到首页,选择设置-开发设置-复制AppID(小程序ID)
二:删除冗余文件
新建文件后的页面,云开发标志可点击,文件夹中生成一个云文件
删除系统配置的文件:①删除云文件夹中的四个文件②删除components中的文件夹③删除images中的图片④删除pages中除index外所有文件⑤index文件夹中清空css样式,wxml,index.js中留一个page({})防止报错⑥style文件中样式,除了page都可删掉⑦app.json ,pages中除了 "pages/index/index"都删掉⑧app.wxss内样式都可删掉
注:上述繁琐无聊的操作,是为了更清楚云开发实现的流程,及依赖的文件,在以后的开发中方便套用此模板
三:新建云文件
四:安装依赖
①安装node.js
和npm
node.js 下载地址
https://nodejs.org/en/
安装node.js时会同时安装npm
测试安装是否成功
安装完成后打开cmd:
输入node -v
来测试 node.js
输入npm -v
来测试 npm
②安装wx-server-sdk
依赖
在cmd中首先通过cd 云函数路径
的命令,定位到云函数目录,这里要定位到某个具体的云函数文件夹内
再执行npm install --save wx-server-sdk
命令,安装wx-server-sdk
依赖。对于每一个你创建云函数都要安装该依赖。 成功安装依赖后,相应的云函数文件夹将生成一个package-lock.json
文件。
③上传云函数
在相应的云函数文件夹上右键,选择“上传并部署:所有文件”。
左上角出现以下标志即上传成功
五:添加常量
在获取openid中添加以下代码
cloud.init: 设置 API 默认环境等于当前所在环境 (不理解就照着写)
六:获取模板ID
获取方法:
登录小程序微信公众平台→ 点击左侧边栏功能中的订阅消息→开通订阅消息功能→ 公共模板库→一次性订阅添加→ 选用需要的推送模板可获取对应的推送模板ID,如图:
七:请求用户授权
订阅消息,需要用户授权,所以需要做一个授权验证,具体步骤:
需要用到wx.requestSubscribeMessage这个方法,来获取用户的授权。
1.编写index.wxml代码
2,编写index.js代码,实现点击获取授权
3.正常情况下弹出授权提醒点击就可以授权成功,如果没有,看下你代码是不是写错了。
八:创建推送消息文件
官方文档: https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/subscribe-message/subscribeMessage.send.html
在getopenid下添加一个sendMsg文件,用于获取用户的openid,并推送消息,具体操作与getopenid相同,修改代码如下 (记住要右击文件夹,点击上传并同步所有文件)
九:云开发获取用户的openid并推送消息
十:真机调试结果
红框内表示授权成功,并推送成功
如果授权成功,推送消息成功,但未接收到服务通知,则:
十一:报错情况可查看下图找原因
openid为undefined的情况请查看这几处是否写错了:
本人开发中遇到bug参考过的blogs,小程序云函数调用失败解决方案:https://www.jianshu.com/p/738d285ad021
附:如开发中想实现一个按钮获取权限后推送消息,可参考下图
不知是否有帮助,欢迎留言交流