微信小程序使用云函数发送短信

腾讯云开通短信

1.购买短信包,五分一条,最小1000条,有效期2年(目前是这样)
2.控制台进短信管理 ,创建签名,需要提交一些单位认证材料
3.创建短信模板,如:
参数用{1}{2}代替,从1开始

您单位有重大安全隐患,查看链接:https://tx.zbswlj.cn/j.html?id={1}

模板通过验证即可
4.在短信控制面板的应用列表中,找到sdkappid
5.生成腾讯云的secretid,secritkey,
https://console.cloud.tencent.com/cam/capi

云函数

将上面获取的签名,模板ID,sdkappid,secretid,secritkey填入下面代码即可。
要在package.json中添加依赖tencentcloud-sdk-nodejs-sms
下面的代码可以用api explorer生成,有各种语言版本
https://console.cloud.tencent.com/api/explorer

const tencentcloud = require("tencentcloud-sdk-nodejs-sms"); 
const SmsClient = tencentcloud.sms.v20210111.Client; 
const clientConfig = {
    credential: {
        secretId: "XXX",
        secretKey: "XXXX",
    },
    region: "ap-beijing",
    profile: {
        httpProfile: {
            endpoint: "sms.tencentcloudapi.com",
        },
    },
};
 
const client = new SmsClient(clientConfig);
exports.main = async (event, context) => {
    try {
        const params = {
            "PhoneNumberSet": [
               event.phone
            ],
            "SmsSdkAppId": "XXXX",
            "SignName": "XXX",
            "TemplateId": "XXXX",
            "TemplateParamSet": [
               event.id
            ]
        };
        const result = await client.SendSms(params)
        return result
    } catch (err) {
        return err
    }
}
 "dependencies": {  
    "tencentcloud-sdk-nodejs-sms": "^4.0.595"
  }

小程序调用

  //发送短信
  sendMsg(e) {
    wx.showLoading({
      title: '正在努力发送...',
    })
    var myreg = /^[1][3,4,5,7,8,9][0-9]{9}$/;
    if (!myreg.test(this.data.basicinfo.companyPhone)) {
      wx.showToast({ title: "手机号不合法" })
      return
    }
    let params = { phone: this.data.phone, id: this.data.id}
    wx.cloud.callFunction({
      name: 'sendmsg',
      data: params
    }).then(res => {
      wx.hideLoading()
      console.log('res',res)
      wx.showToast({ title: res.result.errCode == 0 ? "发送成功" : "发送失败" })
      console.log(res)
    }).catch(e => { 
      console.log(e)
      wx.hideLoading() })
  },
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值