123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- <?php
- namespace app\common\service;
- use app\common\model\SettingModel;
- use app\common\model\SmsTemplateModel;
- use think\facade\Log;
- class SmsService
- {
- public function send($mobile, $code, $content_param = [])
- {
- $message = SmsTemplateModel::where('code', $code)->find();
- if (empty($message)) {
- Log::error('短信模板不存在:' . $code);
- return ['code' => 1, 'msg' => '模板不存在'];
- }
- $msg = $message['content'];
- if (!empty($content_param)) {
- foreach ($content_param as $k => $v) {
- $msg = str_replace('{$' . ($k + 1) . '}', $v, $msg);
- }
- }
- $sms_obj = Config('mobile.sms_type');
- $sms = new $sms_obj();
- return $sms->send($mobile, ['message' => $msg]);
- }
- public static function apiSend($mobile, $content, $sms_type = '', $template = '', $template_param = '')
- {
- $sms_obj_arr = [
- 'chuanglan' => 'chuanglan\\Chuanglan',
- 'mas' => 'mas\\Mas',
- 'ali' => 'ali\\Ali',
- ];
- if (empty($sms_type)) {
- $sms_type = SettingModel::getConfigValue('sms_type');
- if (empty($sms_type)) {
- return ['code' => 1, 'msg' => '未配置默认模板'];
- }
- }
- if (empty($sms_obj_arr[$sms_type]) && empty($sms_type)) {
- return ['code' => 1, 'msg' => '模板类型错误'];
- }
- if (!in_array($sms_type, array_keys(SettingModel::SMS_TYPE))) {
- return ['code' => 1, 'msg' => '平台类型不存在'];
- }
- $sms_obj = $sms_obj_arr[$sms_type];
- $sms = new $sms_obj();
- return $sms->send($mobile, [
- 'message' => $content,
- 'template' => $template,
- 'template_param' => $template_param,
- ]);
- }
- }
|