Skip to content

概述

系统短信通知模块默认基于 EBAOZU 自研一号通app/services/third/)实现。同时支持通过驱动扩展机制接入第三方短信服务商(如阿里云、腾讯云、创蓝等)。

IMPORTANT

重要区分:本系统默认短信服务为 EBAOZU 自研一号通(平台地址 https://admin.ebaozu.cn,配置环境变量 PLAT_KEY,基类 ThirdBaseService)。请勿使用已废弃的 CRMEB 原始一号通。


基础使用方式

发送短信

php
use crmeb\services\sms\Sms;

$sms = new Sms();

$phone = '13800138000';
$templateId = 'VERIFY_CODE';
$data = ['code' => '123456'];

$res = $sms->send($phone, $templateId, $data);

if (false === $res) {
    // 发送失败处理
    $error = $sms->getError();
} else {
    // 发送成功
}

扩展第三方短信驱动

若需接入其他第三方短信平台,只需按照系统驱动规范实现 BaseSms 抽象类:

创建驱动类

crmeb/services/sms/storage/ 目录下创建驱动类(例如 Chuanglan.php):

php
namespace crmeb\services\sms\storage;

use crmeb\services\sms\BaseSms;

class Chuanglan extends BaseSms
{
    // 初始化配置
    protected function initialize(array $config = [])
    {
        parent::initialize($config);
    }

    // 发送短信(核心方法)
    public function send(string $phone, string $templateId, array $data = [])
    {
        // 编写调用第三方短信 API 的具体逻辑
        // ...
        return true;
    }

    // 获取短信余量/信息
    public function info()
    {
        // ...
    }

    // 获取短信模板列表
    public function temps(int $page = 0, int $limit = 10, int $type = 1)
    {
        // ...
    }
}

配置文件注册驱动

config/sms.php 中添加对应驱动的连接配置:

php
return [
    'default' => 'yihaotong',
    'stores'  => [
        'yihaotong' => [
            // 自研一号通配置
        ],
        'chuanglan' => [
            'account'  => env('SMS_CHUANGLAN_ACCOUNT', ''),
            'password' => env('SMS_CHUANGLAN_PASSWORD', ''),
        ],
    ],
];

使用指定驱动发送

php
use crmeb\services\sms\Sms;

// 指定使用创蓝驱动
$sms = new Sms('chuanglan');
$res = $sms->send('13800138000', '1001', ['code' => '8888']);

承信租多门店租赁商城系统官方文档