我通过云函数来使用腾讯云sms功能,现在遇到的问题是调用云函数成功,但是没有返回结果,而且我的手机也接受不到信息,但是使用腾讯云的API explorer生成的代码就可以成功发短信,现在估计是我云函数写的有点问题,但是我实在看不出来,所以想求各位大神帮忙看看问题所在
以下是page页面的部分代码
wx.cloud.callFunction({
name: 'messege',
data: {
phone: "151********",//真实电话号码
templateId: "1363501",
templateParamSet: ["1","2","3","4","5"]
}
}).then(res=>{
console.log(res);
})
这是云函数的代码
// 云函数入口文件
const cloud = require('wx-server-sdk')
const tencentcloud = require('tencentcloud-sdk-nodejs');
cloud.init()
// 云函数入口函数
exports.main = async (event, context) => {
async function sendSms(phone, templateId, templateParamSet) {
const smsClient = tencentcloud.sms.v20190711.Client
console.log(process.env)
/* 实例化要请求产品(以sms为例)的client对象 */
const client = new smsClient({
credential: {
/* 必填:腾讯云账户密钥对secretId,secretKey。
* 这里采用的是从环境变量读取的方式,需要在环境变量中先设置这两个值。
* 你也可以直接在代码中写死密钥对,但是小心不要将代码复制、上传或者分享给他人,
* 以免泄露密钥对危及你的财产安全。
* CAM密匙查询: https://console.cloud.tencent.com/cam/capi */
secretId: process.env.SECRETID,
secretKey: process.env.SECRETKEY,
},
/* 必填:地域信息,可以直接填写字符串ap-guangzhou,或者引用预设的常量 */
region: "ap-guangzhou",
/* 非必填:
* 客户端配置对象,可以指定超时时间等配置 */
profile: {
/* SDK默认用TC3-HMAC-SHA256进行签名,非必要请不要修改这个字段 */
signMethod: "HmacSHA256",
httpProfile: {
/* SDK默认使用POST方法。
* 如果你一定要使用GET方法,可以在这里设置。GET方法无法处理一些较大的请求 */
reqMethod: "POST",
/* SDK有默认的超时时间,非必要请不要进行调整
* 如有需要请在代码中查阅以获取最新的默认值 */
reqTimeout: 30,
/**
* SDK会自动指定域名。通常是不需要特地指定域名的,但是如果你访问的是金融区的服务
* 则必须手动指定域名,例如sms的上海金融区域名: sms.ap-shanghai-fsi.tencentcloudapi.com
*/
endpoint: "sms.tencentcloudapi.com"
},
},
})
/* 请求参数,根据调用的接口和实际情况,可以进一步设置请求参数
* 属性可能是基本类型,也可能引用了另一个数据结构
* 推荐使用IDE进行开发,可以方便的跳转查阅各个接口和数据结构的文档说明 */
const params = {
/* 短信应用ID: 短信SdkAppid在 [短信控制台] 添加应用后生成的实际SdkAppid,示例如1400006666 */
SmsSdkAppid:process.env.SMS_SDKAPPID,
/* 短信签名内容: 使用 UTF-8 编码,必须填写已审核通过的签名,签名信息可登录 [短信控制台] 查看 */
Sign:process.env.SMS_SIGN,
//'process.env.SMS_SIGN',
/* 短信码号扩展号: 默认未开通,如需开通请联系 [sms helper] */
ExtendCode: "",
/* 国际/港澳台短信 senderid: 国内短信填空,默认未开通,如需开通请联系 [sms helper] */
SenderId: "",
/* 用户的 session 内容: 可以携带用户侧 ID 等上下文信息,server 会原样返回 */
SessionContext: "",
/* 下发手机号码,采用 e.164 标准,+[国家或地区码][手机号]
* 示例如:+8613711112222, 其中前面有一个+号 ,86为国家码,13711112222为手机号,最多不要超过200个手机号*/
PhoneNumberSet: ["+86" + phone],
/* 模板 ID: 必须填写已审核通过的模板 ID。模板ID可登录 [短信控制台] 查看 */
TemplateID: templateId,
/* 模板参数: 若无模板参数,则设置为空*/
TemplateParamSet: templateParamSet,
}
// 通过client对象调用想要访问的接口,需要传入请求对象以及响应回调函数
return client.SendSms(params);
}
return sendSms(event.phone, event.templateId, event.templateParamSet);
}
以下是出现的问题
- {errMsg: "cloud.callFunction:ok", result: null, requestID: "3df275ef-1693-4435-858e-d3037a7f15e8"}
- errMsg: "cloud.callFunction:ok"
- requestID: "3df275ef-1693-4435-858e-d3037a7f15e8"
- result: null
- constructor: (...)
- hasOwnProperty: (...)
- isPrototypeOf: (...)
- propertyIsEnumerable: (...)
- toLocaleString: (...)
- toString: (...)
- valueOf: (...)
- __defineGetter__: (...)
- __defineSetter__: (...)
- __lookupGetter__: (...)
- __lookupSetter__: (...)
- __proto__: Object
请问解决了吗?