82 lines
2.3 KiB
PHP
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;
|
|
}
|
|
}
|