使用小狐狸系统时,要接入短信只有阿里云和腾讯云两种选项,这两种短信都需要进行备案,作为开发者时间当然是金贵的,怎么能浪费时间在这上面呢!!!由此,我今天解析了下小狐狸的后端源码。
小狐狸后端使用的是TP6,我查看了他的短信发送API地址:/web.php/login/sendSms,中间转到了app/common/sendSms,看到这我的想法本来是想后台添加一个第三方的选项,但想要它使用的是编译后的vue,搞编译后的代码太麻烦了,决定不改。
接入流程:
1.开启手机号登录
2.短信配置选择关闭
3.更改代码
进入app/common的sendSms函数,大概575行,删掉代码,填入:
``$curl = curl_init();
// 设置POST数据
$postData = [
'mobile' => $phone,
'content' => '【人类小祥】你的短信验证码是:'.$param['code'], // 此短信是模板,若要自行更改请联系我新增模板,博客还在开发
'account' => 在我博客的账号,
'password' => 在我博客的密码
];
$options = [
CURLOPT_URL => "https://distantgod.cn/api/sms/sending",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => http_build_query($postData), // 使用 http_build_query 将数组转换为 URL 编码字符串
CURLOPT_HTTPHEADER => [
"content-type: application/x-www-form-urlencoded" // 修改 content-type
],
];
curl_setopt_array($curl, $options);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
return json($response);
}``
这样就可以正常使用短信了!
该短信是收费的,一条1毛喔(报小徐首次88折),可用于其他业务(通知等), 无报备模板需要人工审核,报备模板无需审核
来自:人类小祥
本文来自投稿,不代表本站立场,如若转载,请注明出处: