都是node.js,写的同样的代码,在阿里云的测试环境可以发送成功,在小程序的云函数里,返回成功,但是就是没收到短信,也没报错啥的。
什么原因呢?
// 云函数入口文件 const cloud = require( 'wx-server-sdk' ); const Core = require( '@alicloud/pop-core' ); cloud.init() // 云函数入口函数 exports.main = async(event, context) => { var client = new Core({ accessKeyId: '******' , accessKeySecret: '******' , endpoint: 'https://dysmsapi.aliyuncs.com' , apiVersion: '2017-05-25' }); console.log( 2 ); var params = { "RegionId" : "cn-hangzhou" , "PhoneNumbers" : "139******195" , "SignName" : "******" , "TemplateCode" : "SMS_10******" , "TemplateParam" : '{"code":"445466"}' } console.log( 3 ); var requestOption = { method: 'POST' }; console.log( 4 ); client.request( 'SendSms' , params, requestOption).then((result) => { //console.log(result); return result }, (ex) => { return ex }) console.log( 5 ); } |
云函数结尾,直接return回去结果
exports.main = async(event, context) => {
var
client =
new
Core({
accessKeyId:
'******'
,
accessKeySecret:
'******'
,
endpoint:
'https://dysmsapi.aliyuncs.com'
,
apiVersion:
'2017-05-25'
});
console.log(
2
);
var
params = {
"RegionId"
:
"cn-hangzhou"
,
"PhoneNumbers"
:
"139******195"
,
"SignName"
:
"******"
,
"TemplateCode"
:
"SMS_10******"
,
"TemplateParam"
:
'{"code":"445466"}'
}
console.log(
3
);
var
requestOption = {
method:
'POST'
};
console.log(
4
);
return await
client.request(
'SendSms'
, params, requestOption)
);}
短信系统我也能接,比阿里便宜
请问一下,上面那段代码你是怎么改写呢?
当然可以。对外的域名没有限制。
就是不成功,也 没有报错。一头雾水
粗粗地看了一个你的代码,没找到await,所以估计问题是没有同步,client.request还没返回结果,云函数就close了。
建议改成async/await方式试试。
嗯嗯,也许是这个问题,试试看。谢谢~
确定不是来踢馆的?
腾讯云也可以啊,只要是云函数支持的就行
你好,你有没有成功用云函数调用腾讯云的无服务器云函数?
没,上面那段代码已经可以运行了