问题是:调用云函数实现小程序发送短信功能,日志提示成功了,但是就是实际没有收到短信?
云函数代码如下:
const cloud = require('wx-server-sdk');
cloud.init({
env: cloud.DYNAMIC_CURRENT_ENV // 使用当前云环境
});
exports.main = async (event, context) => {
try {
// 从 event 中获取参数
const {
env = 'bingxun666-5gcbxgtra1193b20', // 默认为当前环境
url_link, // URL 链接
template_id, // 短信模板 ID
template_param_list, // 模板参数列表(字符串格式)
phone_number_list, // 手机号列表
use_short_name = false, // 是否使用小程序简称,默认 false
resource_appid // 资源 AppID
} = event;
if (!url_link || !template_id || !template_param_list || !phone_number_list || !resource_appid) {
throw new Error('缺少必要参数,请确保提供 url_link, template_id, template_param_list, phone_number_list 和 resource_appid');
}
// 将 template_param_list 从字符串转换为数组(以逗号分隔)
//const templateParamArray = template_param_list.split(',');
const templateParamArray = ['能力上新'];
console.log('发送短信参数:', {
env,
url_link,
template_id,
template_param_list: templateParamArray, // 输出转换后的数组格式
phone_number_list,
use_short_name,
resource_appid
});
const data = {
env,
url_link: url_link,
template_id: template_id,
template_param_list: templateParamArray, // 使用数组格式
phone_number_list: phone_number_list,
use_short_name: use_short_name,
resource_appid: resource_appid
};
console.log("参数", data);
const result = await cloud.openapi.cloudbase.sendSmsV2(data);
console.log('短信发送结果:', result);
return {
success: true,
data: result
};
} catch (err) {
console.error('短信发送错误:', err);
return {
success: false,
error: err.message || err
};
}
};
调用后的日志如下,日志是提示成功了:
参数 {
env: 'bingxun666-5gcbxgtra1193b20',
url_link: 'https://wxaurl.cn/zxTcuTY7Xzb',
template_id: '844110',
template_param_list: [ '能力上新' ],
phone_number_list: [ '+8613611150913', '+8613391879885', '+8615201335020' ],
use_short_name: true,
resource_appid: 'wxa220bb7aec471ec7'
}
短信发送结果: {
sendStatusList: [
{
code: 'Ok',
message: 'send success',
serialNo: '99:26767720917360505318875091',
phoneNumber: '+8613611150913',
isoCode: ''
},
{
code: 'Ok',
message: 'send success',
serialNo: '99:404157858317360505318877988',
phoneNumber: '+8613391879885',
isoCode: ''
},
{
code: 'Ok',
message: 'send success',
serialNo: '99:162860965117360505318873502',
phoneNumber: '+8615201335020',
isoCode: ''
}
],
queryId: '7129a6fa97464f1b9d47bf9243bd472c',
errMsg: 'openapi.cloudbase.sendSmsV2:ok',
errCode: 0
}