Closed Kuri-su closed 5 years ago
我看了一下 submail 的文档,好像变化挺大啊: https://www.mysubmail.com/chs/documents/developer/lnmpa4 这是改版了?
最近才开始用 Submail,原来是改过 API 了么:grin:。。
最近才开始用 Submail,原来是改过 API 了么😁。。
我是很久前看他们的 API 写的 gateway, 如果现在的 API 改了,可能我们需要做一个新的版本。
场景:需要发送 国内和国际短信,主力使用 Qcloud ,使用 Submail 作为备用。
- Submail 的国内和国际短信需要使用不同的 ApiUrl、 ApiId、ApiKey,但是在网关中只对 ApiUrl 做了判断,而 ApiId 和 ApiKey 依旧是读取的固定的配置。
- SubmailGateway 中 template 是读取的
$message->getData($this)['project']
作为 template,而在 QcloudGateway 则读取$message->getTemplate($this)
。难以使用类似于下面的方式使用submail
作为备份的短信发送服务App::get('easysms')->send($telephone, [ 'template' => 11111, 'data' => [ 'balabala' => '123123', ]), ], ['qcloud','submail']);
望不惜赐教,感谢
请问你是怎么做兼容的,直接重写submail吗?
场景:需要发送 国内和国际短信,主力使用 Qcloud ,使用 Submail 作为备用。
- Submail 的国内和国际短信需要使用不同的 ApiUrl、 ApiId、ApiKey,但是在网关中只对 ApiUrl 做了判断,而 ApiId 和 ApiKey 依旧是读取的固定的配置。
- SubmailGateway 中 template 是读取的
$message->getData($this)['project']
作为 template,而在 QcloudGateway 则读取$message->getTemplate($this)
。难以使用类似于下面的方式使用submail
作为备份的短信发送服务App::get('easysms')->send($telephone, [ 'template' => 11111, 'data' => [ 'balabala' => '123123', ]), ], ['qcloud','submail']);
望不惜赐教,感谢
请问你是怎么做兼容的,直接重写submail吗?
印象里好像是 就两段面条代码简单的处理了下...如果前面一段的 Qcloud的发送出问题就运行下面的...
其实我的建议是将你系统你的每一条短信,写一个类,按我文档上面的继承 Message 基类,在每个类里动态判断当前应该返回什么 code, 返回什么 template,因为在发送时会传递当前网关信息过来。很多人会担心说这样要写很多类,好麻烦,但是真不会,你的一个系统短信类型其实就那么几种,几十种短信已经算吓人的了。
其实我的建议是将你系统你的每一条短信,写一个类,按我文档上面的继承 Message 基类,在每个类里动态判断当前应该返回什么 code, 返回什么 template,因为在发送时会传递当前网关信息过来。很多人会担心说这样要写很多类,好麻烦,但是真不会,你的一个系统短信类型其实就那么几种,几十种短信已经算吓人的了。
谢谢回复。已经改了
@inorme 不客气
场景:需要发送 国内和国际短信,主力使用 Qcloud ,使用 Submail 作为备用。
Submail 的国内和国际短信需要使用不同的 ApiUrl、 ApiId、ApiKey,但是在网关中只对 ApiUrl 做了判断,而 ApiId 和 ApiKey 依旧是读取的固定的配置。
SubmailGateway 中 template 是读取的
$message->getData($this)['project']
作为 template,而在 QcloudGateway 则读取$message->getTemplate($this)
。难以使用类似于下面的方式使用submail
作为备份的短信发送服务望不惜赐教,感谢