Files
YwxAppThink/addon/smsbao/subscribe/Smsbao.php
T

82 lines
2.3 KiB
PHP

<?php
// +----------------------------------------------------------------------
// | YwxApp [ WE CAN DO IT JUST THINK ]
// +----------------------------------------------------------------------
// | Copyright (c) 2026-2036 http://ywxapp.cn All rights reserved.
// +----------------------------------------------------------------------
// | Author: ywxapp<admin@ywxapp.cn>
// +----------------------------------------------------------------------
declare (strict_types = 1);
namespace addon\smsbao\subscribe;
use ywxapp\service\AddonService;
use ywxapp\utils\HttpClient;
/**
* Smsbao 类
*
* @author ywxapp <admin@ywxapp.cn>
*/
class Smsbao
{
protected $eventPrefix = 'Sms';
public function onSend($sms)
{
$statusStr = [
"0" => "短信发送成功",
"-1" => "参数不全",
"-2" => "服务器空间不支持,请确认支持curl或者fsocket,联系您的空间商解决或者更换空间!",
"30" => "密码错误",
"40" => "账号不存在",
"41" => "余额不足",
"42" => "帐户已过期",
"43" => "IP地址限制",
"50" => "内容含有敏感词",
];
// 统一从数据库配置表读取(后台「插件配置」页可改),不再硬编码
$cfg = AddonService::config('smsbao');
$sign = $cfg['sign'] ?? '妙趣横生';
$content = '【' . $sign . '】' . str_replace(
['{code}', '{mobile}'],
[$sms['code'] ?? '', $sms['mobile'] ?? ''],
$cfg['template'] ?? '您的短信验证码为:{code}, 五分钟有效,请勿告诉他人'
);
$params = [
'u' => $cfg['u'] ?? '',
'p' => $cfg['p'] ?? '',
'm' => $sms['mobile'],
'c' => $content,
];
$client = new HttpClient();
$response = $client->get('https://api.smsbao.com/sms', $params);
if ($response !== false) {
return [true, $statusStr['0']];
} else {
return [false, "请求失败: " . $client->getError()];
}
}
public function onGet($sms)
{
return true;
}
public function onNotice($sms)
{
return true;
}
public function onCheck($sms)
{
return true;
}
}