腾讯云开通短信
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() })
},