# 短信模块文档 ## 模块说明 短信模块是一个统一的短信发送系统,支持多种短信服务商,包括阿里云、腾讯云等。 ## 目录结构 ``` app/Module/Sms/ ├── Controllers/ # 控制器目录 ├── Models/ # 模型目录 ├── Repositorys/ # 仓库目录 ├── Services/ # 服务目录 ├── Validators/ # 验证器目录 ├── Validations/ # 验证规则目录 ├── Queues/ # 队列目录 ├── Enums/ # 枚举目录 └── Commands/ # 命令目录 ``` ### SmsService 短信核心服务,负责短信的发送、模板管理等功能。 主要方法: - send(array $data): 发送短信 - sendBatch(array $data): 批量发送短信 - getTemplate(int $id): 获取模板 - createTemplate(array $data): 创建模板 - updateTemplate(int $id, array $data): 更新模板 - deleteTemplate(int $id): 删除模板 ## 队列处理 ### SendSmsQueue 短信发送队列,处理异步发送任务。 ## 使用示例 ```php // 发送短信 $smsService = new SmsService(); $smsService->send([ 'template_id' => 1, 'phone' => '13800138000', 'data' => [ 'code' => '123456' ] ]); // 批量发送短信 $smsService->sendBatch([ [ 'template_id' => 1, 'phone' => '13800138000', 'data' => ['code' => '123456'] ], [ 'template_id' => 1, 'phone' => '13800138001', 'data' => ['code' => '654321'] ] ]); ``` ## 注意事项 1. 短信发送采用队列异步处理 2. 支持失败重试机制 3. 支持变量替换 4. 支持多服务商 5. 支持发送频率限制 6. 支持短信黑名单 7. 支持发送统计