[fastadmin]第二十一篇 fastadmin 阿里云短信插件
1. 安装部署
doc.fastadmin.net/alisms/install.h...
2. 错误排查
这边通过php 调用发送短信。代码片段为
// index 发送短信验证码
public function sendcode()
{
$mobile = $this->request->post('phone');
$rule = [
'mobile' => 'require|length:3,12',
];
$data = [
'mobile' => $mobile,
];
$validate = new Validate($rule, [], ['mobile' => __('Phone')]);
$result = $validate->check($data);
if (!$result) {
$this->error($validate->getError());
}
// 生成随机的四位code
$code = rand(1000, 9999);
//发送验证码
$result = \app\common\library\Sms::send($mobile, $code, 'usuallycode');
if ($result === true) {
$this->success(__('Send code successful'));
} else {
$this->error($result);
}
}
这里的err信息 ,通过 dump打印,发现,只返回bool 值。
那我们想要看详细信息,怎么看呢?
1、目前可以通过点击后台
->插件管理
,找到阿里云短信,点击前面的小房子
,然后在前台进行测试发送短信,如果失败会提示具体的错误原因。
2、如果通过前台测试无法定位具体的错误原因,可以手动编辑addons/alisms/library/Alisms.php
,找到其中的send
方法,打印$response
的变量,然后查看具体的错误原因。
根据代码调用,我们发现这里其实send 方法,内部,监听启动了一个hook
那么这个hook在addons/alisms/library/Alisms.php
下的 send 注册。
这里的原理代码,可以查看一下Hook.php,中115行。
3. 如果是测试签名,需要绑定测试手机号
如果还是发送失败,可以通过阿里云的 api的调用控制台查看具体错误信息,非常方便。
本作品采用《CC 协议》,转载必须注明作者和本文链接