▌1、需求描述
▌2、解决方案
因为小程序自己不支持长久性的消息通知能力,所以,咱们能够考虑借助一些第三方的服务和能力,来完成咱们本身的需求。javascript
这个需求很适合使用小程序新发布的 长期订阅消息 能力,可是目前该能力开放的类目还不足以支持咱们的须要。java
架构图示node
具体操做web
在开通完成后,点击界面中的【添加应用】,添加一个新的短信应用,你能够根据本身的实际状况,添加短信应用的名称和简介。shell

获取 AppID、App Keynpm
添加完成后,点击你建立好的应用,进入到应用详情页,在应用的详情页中的应用信息栏目中,你能够找到 AppID 和 AppKey ,复制并保存这两个值,稍候咱们会用到。小程序

2. 配置短信模板、短信签名
腾讯云短信并非让你随意发全部的内容的,而是你须要建立一个模板,并使用特定的模板来完成短信的发送。微信
短信签名则是原来让收到短信的用户知道他所收到的短信来自于他的那一个服务,通常来讲,设置为产品的品名。微信开发
建立短信签名架构
首先,点击【国内短信】,进入到短信的页面,点击【建立签名】,而后在弹出的窗口中输入你的签名的具体信息。

建立短信模板
除了使用标准模板,你也能够本身编写一个模板,为了方便文章撰写,这里使用标准模板。

而后点击提交,等待审核就能够了。
3. 编写云函数发送短信
首先,咱们建立一个新的云函数,名为 notifyAdmin
,意为用于通知管理员的云函数。

而后,选择咱们刚刚建立的 notifyAdmin
云函数,在函数上右击,选择【在终端中打开】,进入到控制台,并输入以下命令,安装所需的短信 SDK。
npm install --save sms-node-sdk

index.js
,加入以下代码:
// 云函数入口文件const cloud = require('wx-server-sdk')const { SmsClient} = require('sms-node-sdk');
const AppID = 1400286810; // SDK AppID是1400开头
// 短信应用SDK AppKey ,替换为你本身的 AppKeyconst AppKey = 'xxxx';
// 须要发送短信的手机号码const phoneNumber = '10000000';
// 短信模板ID,须要在短信应用中申请const templId = 476457;// 签名,替换为你本身申请的签名const smsSign = '程序百晓生';
// 实例化smsClient
cloud.init()
// 云函数入口函数exports.main = async (event, context) => { let orderId = event.orderId; let smsClient = new SmsClient({ AppID, AppKey }); return await smsClient.init({ action: 'SmsSingleSendTemplate', data: { nationCode: '86', phoneNumber, templId: templId, params: [orderId], sign: smsSign // 签名参数未提供或者为空时,会使用默认签名发送短信 } })}
完成代码的修改后,就能够部署你的云函数了,右键你的云函数,选择【上传并部署云函数:云端安装依赖】
4. 在小程序端触发短信
let orderId = 'this is a orderId';wx.requestPayment({ success:res => { console.log("User Payment Success"); // 调用云函数发送短信 wx.cloud.callFunction({ name:"notifyAdmin", data:{ orderId: orderId } }); }})
▌3、总结
更多精彩
点击下方图片便可阅读
云开发,不止于「快」
云开发
Tencent CloudBase
点击在看让更多人发现精彩
本文分享自微信公众号 - 腾讯云云开发(tcb2tcb)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。