知識付費(fèi)短信功能同時(shí)支持阿里云短信和crmeb短信,我們使用時(shí)只需要二選一即可。
那么我們?nèi)绾味_阿里云短信功能呢?
第一步:首先進(jìn)入阿里云控制臺,在阿里云短信模塊,申請需要新加的短信模版
第二步:在知識付費(fèi)總后臺->系統(tǒng)維護(hù)->開發(fā)配置->配置分類->短信配置下加新的短信模版id儲存配置
點(diǎn)擊“短信配置”名稱,進(jìn)入短信配置下的子配置
點(diǎn)擊添加配置,選擇‘文本框’類型,填寫下面的配置,提交配置
提交完成后,進(jìn)入“系統(tǒng)設(shè)置->系統(tǒng)設(shè)置->阿里云配置->短信配置”,在這里我們可以看到我們新加的短信模版id配置。
第三步:調(diào)取阿里云短信接口,發(fā)送短信
知識付費(fèi)源碼的根目錄”extend/service/AliMessageService”下的sendmsg方法為阿里云短信的發(fā)送方法;
$tel:接收手機(jī)號
$setTemplateCode :短信模版ID
$setTemplateParam :短信內(nèi)容 參數(shù)為數(shù)組
$setOutId :可以為空
/**
* 發(fā)送短信
* @param string $tel 短信接收號碼
* @param string $setSignName 短信簽名
* @param string $setTemplateCode 短信模板ID
* @param array $setTemplateParam 短信內(nèi)容
* @param string $setOutId 外部流水?dāng)U展字段
*/
public static function sendmsg($tel = '', $setTemplateCode = '', $setTemplateParam = [], $setOutId = '')
{
try {
self::init();
$result = AlibabaCloud::rpc()
->product('Dysmsapi')
->version('2017-05-25')
->action('SendSms')
->method('POST')
->host('dysmsapi.aliyuncs.com')
->options([
'query' => [
'RegionId' => "cn-hangzhou",
'PhoneNumbers' => $tel,
'SignName' => SystemConfigService::get('smsSignName'),
'TemplateCode' => $setTemplateCode,
'TemplateParam' =>count($setTemplateParam) > 0 ? json_encode(is_array($setTemplateParam) ? $setTemplateParam : ['code' => $setTemplateParam]) : '',
],
])->request()->toArray();
return $result;
} catch (ClientException $e) {
return false;
} catch (ServerException $e) {
return false;
}
}
如果發(fā)送短信呢?
AliMessageService::sendmsg($tel,$setTemplateCode,$setTemplateParam);
例如我們的登錄驗(yàn)證碼的發(fā)送
$phone 是接收的手機(jī)號,$smsTemplateCode 是短信模版ID ,['code' => $code]就是短信的內(nèi)容了;這樣就發(fā)送成功了。