- 添加短信模版
通过一下代码可以判断出,模版ID是通过数据库查出来了
细看getSmsTemplate方法发现,是根据类型返回不同的模版ID,数据都在system_notice_config这个表里。思路清晰了,我们要自定义短信就得在这个表里面加一条数据。如下
INSERT INTO `eb_system_notice_config` (`notice_config_id`, `notice_title`, `const_key`, `notice_info`, `notice_sys`, `notice_sms`, `notice_wechat`, `wechat_tempkey`, `wechat_content`, `wechat_tempid`, `notice_routine`, `routine_tempkey`, `routine_content`, `routine_tempid`, `type`, `sms_tempid`, `sms_ali_tempid`, `sms_content`, `create_time`, `update_time`, `kid`) VALUES (33, '自定义名称', '自定义key', '自定义消息说明', -1, 1, -1, null, '', null, -1, null, '', 0, '自定义一号通短信模版ID', '自定义阿里云短信模版ID', '阿里云短信模板内容', '2022-12-05 14:41:52', '2023-09-06 15:48:31', 0);
注意里面一些自定义参数,这参数得根据具体使用情况而定
`notice_sys`,`notice_sms`,`notice_wechat`,`notice_routine`这几个字段是控制消息开关。
`kid` 小程序模版消息时使用。
`sms_content` 模板内容
例如sms_content为: 恭喜您已成为${store_name}商城付费会员,拥有专享优惠权益,有效期截至${date},祝您购物愉快!
这个消息模版需要两个参数store_name和date
我们在使用时需要以数组的形式传参,如下(代码路径:crmeb/services/SmsService.php。287行)
self::create()->send('要发送的手机号', $tempId, ['store_name' => '自定义名称','date' => '自定义时间']);
2. 添加短信发送
在文件 crmeb/services/SmsService.php sendMessage() 方法下定义新的类型,如下所示
注意:这里面的自定义key得根具上面添加数据时的const_key走
store_name和date是短信模版里面的参数。
3. 使用
发送消息的总入口在队列SendSmsJob中,路径crmeb/jobs/SendSmsJob.php
使用时调用队列,如下。 参数说明:tempId是必传的,其它参数根据实际使用情况而定
Queue::push(SendSmsJob::class, ['tempId' => '自定义key']);
修改完队列代码后要重启队列在测试
{{item.user_info.nickname ? item.user_info.nickname : item.user_name}}
作者 管理员 企业
{{itemf.name}}
{{itemc.user_info.nickname}}
{{itemc.user_name}}
回复 {{itemc.comment_user_info.nickname}}
{{itemf.name}}