[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 值。
![[fastadmin]第二十一篇 fastadmin 阿里云短信插件](https://cdn.learnku.com/uploads/images/202312/13/46135/X5iaOCgCI9.png!large)
那我们想要看详细信息,怎么看呢?
1、目前可以通过点击后台->插件管理,找到阿里云短信,点击前面的小房子,然后在前台进行测试发送短信,如果失败会提示具体的错误原因。
![[fastadmin]第二十一篇 fastadmin 阿里云短信插件](https://cdn.learnku.com/uploads/images/202312/13/46135/dnzegFCOwH.png!large)
![[fastadmin]第二十一篇 fastadmin 阿里云短信插件](https://cdn.learnku.com/uploads/images/202312/13/46135/OIvFnrKRZB.png!large)
![[fastadmin]第二十一篇 fastadmin 阿里云短信插件](https://cdn.learnku.com/uploads/images/202312/13/46135/obGYN7wDZE.png!large)
2、如果通过前台测试无法定位具体的错误原因,可以手动编辑addons/alisms/library/Alisms.php,找到其中的send方法,打印$response的变量,然后查看具体的错误原因。
根据代码调用,我们发现这里其实send 方法,内部,监听启动了一个hook
![[fastadmin]第二十一篇 fastadmin 阿里云短信插件](https://cdn.learnku.com/uploads/images/202312/13/46135/cQW0e0Dr9R.png!large)
那么这个hook在addons/alisms/library/Alisms.php 下的 send 注册。
![[fastadmin]第二十一篇 fastadmin 阿里云短信插件](https://cdn.learnku.com/uploads/images/202312/13/46135/34z8zRAoQ0.png!large)
这里的原理代码,可以查看一下Hook.php,中115行。
![[fastadmin]第二十一篇 fastadmin 阿里云短信插件](https://cdn.learnku.com/uploads/images/202312/13/46135/FmQT9b76j3.png!large)
3. 如果是测试签名,需要绑定测试手机号
![[fastadmin]第二十一篇 fastadmin 阿里云短信插件](https://cdn.learnku.com/uploads/images/202312/13/46135/3powxRXhbS.png!large)
![[fastadmin]第二十一篇 fastadmin 阿里云短信插件](https://cdn.learnku.com/uploads/images/202312/13/46135/cQ87UI8dLH.png!large)
如果还是发送失败,可以通过阿里云的 api的调用控制台查看具体错误信息,非常方便。
![[fastadmin]第二十一篇 fastadmin 阿里云短信插件](https://cdn.learnku.com/uploads/images/202312/13/46135/rkDsBVRGg1.png!large)
![[fastadmin]第二十一篇 fastadmin 阿里云短信插件](https://cdn.learnku.com/uploads/images/202312/13/46135/Tk6y8XG4ol.png!large)
本作品采用《CC 协议》,转载必须注明作者和本文链接
关于 LearnKu