知识付费短信功能同时支持阿里云短信和 crmeb 短信,我们使用时只需要二选一即可。
那么我们如何二开阿里云短信功能呢?
第一步:首先进入阿里云控制台,在阿里云短信模块,申请需要新加的短信模版
第二步:在知识付费总后台 -> 系统维护 -> 开发配置 -> 配置分类 -> 短信配置下加新的短信模版 id 储存配置
点击 “短信配置” 名称,进入短信配置下的子配置
点击添加配置,选择‘文本框’类型,填写下面的配置,提交配置
提交完成后,进入 “系统设置 -> 系统设置 -> 阿里云配置 -> 短信配置”,在这里我们可以看到我们新加的短信模版 id 配置。
第三步:调取阿里云短信接口,发送短信
知识付费源码的根目录”extend/service/AliMessageService” 下的 sendmsg 方法为阿里云短信的发送方法;
$tel:接收手机号
$setTemplateCode :短信模版 ID
$setTemplateParam :短信内容 参数为数组
$setOutId :可以为空
/**
* 发送短信
* @param string $tel 短信接收号码
* @param string $setSignName 短信签名
* @param string $setTemplateCode 短信模板ID
* @param array $setTemplateParam 短信内容
* @param string $setOutId 外部流水扩展字段
*/
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' => json_encode(is_array($setTemplateParam) ? $setTemplateParam : ['code' => $setTemplateParam]),
],
])->request()->toArray();
return $result;
} catch (ClientException $e) {
return false;
} catch (ServerException $e) {
return false;
}
}
复制代码
如果发送短信呢?
AliMessageService::sendmsg($tel,$setTemplateCode,$setTemplateParam);
例如我们的登录验证码的发送
$phone 是接收的手机号,$smsTemplateCode 是短信模版 ID ,['code' => $code] 就是短信的内容了;这样就发送成功了。
源码附件已经打包好上传到百度云了,大家自行下载即可~
链接: https://pan.baidu.com/s/14G-bpVthImHD4eosZUNSFA?pwd=yu27
提取码: yu27
复制代码
百度云链接不稳定,随时可能会失效,大家抓紧保存哈。
如果百度云链接失效了的话,请留言告诉我,我看到后会及时更新~
开源地址
码云地址:http://github.crmeb.net/u/defu
Github 地址:http://github.crmeb.net/u/defu
评论