|
|
7 miesięcy temu | |
|---|---|---|
| .. | ||
| Hooks | 7 miesięcy temu | |
| README.md | 7 miesięcy temu | |
推送模块是一个统一的手机推送系统,支持多种推送服务商,包括极光推送、个推、友盟等。
app/Module/Push/
├── Controllers/ # 控制器目录
├── Models/ # 模型目录
├── Repositorys/ # 仓库目录
├── Services/ # 服务目录
├── Validators/ # 验证器目录
├── Validations/ # 验证规则目录
├── Queues/ # 队列目录
├── Enums/ # 枚举目录
└── Commands/ # 命令目录
| 字段名 | 类型 | 说明 |
|---|---|---|
| id | bigint | 主键ID |
| name | varchar(100) | 模板名称 |
| title | varchar(255) | 推送标题 |
| content | text | 推送内容 |
| variables | json | 变量定义 |
| status | tinyint | 状态:0禁用 1启用 |
| created_at | timestamp | 创建时间 |
| updated_at | timestamp | 更新时间 |
| 字段名 | 类型 | 说明 |
|---|---|---|
| id | bigint | 主键ID |
| template_id | bigint | 模板ID |
| device_token | varchar(255) | 设备令牌 |
| title | varchar(255) | 推送标题 |
| content | text | 推送内容 |
| data | json | 推送数据 |
| status | varchar(20) | 状态 |
| message | varchar(255) | 推送结果 |
| message_id | varchar(100) | 消息ID |
| sent_at | timestamp | 发送时间 |
| created_at | timestamp | 创建时间 |
| updated_at | timestamp | 更新时间 |
| 字段名 | 类型 | 说明 |
|---|---|---|
| id | bigint | 主键ID |
| user_id | bigint | 用户ID |
| device_token | varchar(255) | 设备令牌 |
| platform | varchar(20) | 平台 |
| model | varchar(100) | 设备型号 |
| version | varchar(50) | 系统版本 |
| status | tinyint | 状态:0禁用 1启用 |
| created_at | timestamp | 创建时间 |
| updated_at | timestamp | 更新时间 |
推送核心服务,负责推送的发送、模板管理等功能。
主要方法:
推送发送队列,处理异步发送任务。
// 发送推送
$pushService = new PushService();
$pushService->send([
'template_id' => 1,
'device_token' => 'device_token_123',
'data' => [
'order_id' => '123456'
]
]);
// 批量发送推送
$pushService->sendBatch([
[
'template_id' => 1,
'device_token' => 'device_token_123',
'data' => ['order_id' => '123456']
],
[
'template_id' => 1,
'device_token' => 'device_token_456',
'data' => ['order_id' => '654321']
]
]);
// 注册设备
$pushService->registerDevice([
'user_id' => 1,
'device_token' => 'device_token_123',
'platform' => DevicePlatform::IOS,
'model' => 'iPhone 12',
'version' => '15.0'
]);