mirror of
https://gitee.com/zoujingli/ThinkAdmin.git
synced 2025-04-06 03:58:04 +08:00
Update ExtendService.php
This commit is contained in:
parent
a72e08169b
commit
b1b5bbd259
@ -53,20 +53,63 @@ class ExtendService
|
||||
public static function sendChinaSms($mid, $phone, $content, $productid = '676767')
|
||||
{
|
||||
$tkey = date("YmdHis");
|
||||
$data = [
|
||||
'tkey' => $tkey,
|
||||
'mobile' => $phone,
|
||||
'content' => $content,
|
||||
'username' => sysconf('sms_zt_username'),
|
||||
'productid' => $productid,
|
||||
'password' => md5(md5(sysconf('sms_zt_password')) . $tkey),
|
||||
];
|
||||
$result = Http::post('http://www.ztsms.cn/sendNSms.do', $data);
|
||||
$result = Http::post('http://www.ztsms.cn/sendNSms.do', [
|
||||
'tkey' => $tkey, 'mobile' => $phone, 'content' => $content,
|
||||
'username' => sysconf('sms_zt_username'), 'productid' => $productid,
|
||||
'password' => md5(md5(sysconf('sms_zt_password')) . $tkey),
|
||||
]);
|
||||
list($code, $msg) = explode(',', $result . ',');
|
||||
Db::name('StoreMemberSmsHistory')->insert(['mid' => $mid, 'phone' => $phone, 'content' => $content, 'result' => $result]);
|
||||
return intval($code) === 1;
|
||||
}
|
||||
|
||||
/**
|
||||
* 发送国内短信验证码
|
||||
* @param string $mid 会员ID
|
||||
* @param string $phone 目标手机
|
||||
* @param integer $wait 等待时间
|
||||
* @param string $type 短信模板
|
||||
* @return array
|
||||
* @throws \think\Exception
|
||||
* @throws \think\exception\PDOException
|
||||
*/
|
||||
public static function sendChinaSmsByCode($mid, $phone, $wait = 120, $type = 'sms_reg_template')
|
||||
{
|
||||
$cache = cache($ckey = "{$type}_{$phone}");
|
||||
if (is_array($cache) && isset($cache['time']) && $cache['time'] > time() - $wait) {
|
||||
$dtime = ($cache['time'] + $wait < time()) ? 0 : ($wait - time() + $cache['time']);
|
||||
return [1, '短信验证码已经发送!', ['time' => $dtime]];
|
||||
}
|
||||
list($code, $content) = [rand(1000, 9999), sysconf($type)];
|
||||
if (empty($content) || stripos($content, '{code}') === false) {
|
||||
$content = '您的验证码为{code},请在十分钟内完成操作!';
|
||||
}
|
||||
cache($ckey, ['phone' => $phone, 'code' => $code, 'time' => time()], 600);
|
||||
if (empty($content) || strpos($content, '{code}') === false) {
|
||||
return [0, '获取短信模板失败,联系管理员配置!', []];
|
||||
}
|
||||
$cache = cache($ckey);
|
||||
if (self::sendChinaSms($mid, $phone, str_replace('{code}', $code, $content))) {
|
||||
$dtime = ($cache['time'] + $wait < time()) ? 0 : ($wait - time() + $cache['time']);
|
||||
return [1, '短信验证码发送成功!', ['time' => $dtime]];
|
||||
} else {
|
||||
return [0, '短信发送失败,请稍候再试!', []];
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 验证手机短信验证码
|
||||
* @param string $phone 目标手机
|
||||
* @param string $code 短信验证码
|
||||
* @param string $type 短信模板
|
||||
* @return boolean
|
||||
*/
|
||||
public static function checkChinaSmsByCode($phone, $code, $type = 'sms_reg_template')
|
||||
{
|
||||
$cache = cache($cachekey = "{$type}_{$phone}");
|
||||
return is_array($cache) && isset($cache['code']) && $cache['code'] == $code;
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询国内短信余额
|
||||
* @return array
|
||||
@ -76,12 +119,10 @@ class ExtendService
|
||||
public static function queryChinaSmsBalance()
|
||||
{
|
||||
$tkey = date("YmdHis");
|
||||
$data = [
|
||||
'tkey' => $tkey,
|
||||
'username' => sysconf('sms_zt_username'),
|
||||
$result = Http::post('http://www.ztsms.cn/balanceN.do', [
|
||||
'username' => sysconf('sms_zt_username'), 'tkey' => $tkey,
|
||||
'password' => md5(md5(sysconf('sms_zt_password')) . $tkey),
|
||||
];
|
||||
$result = Http::post('http://www.ztsms.cn/balanceN.do', $data);
|
||||
]);
|
||||
if ($result > -1) {
|
||||
return ['code' => 1, 'num' => $result, 'msg' => '获取短信剩余条数成功!'];
|
||||
} elseif ($result > -2) {
|
||||
@ -122,15 +163,11 @@ class ExtendService
|
||||
public static function sendGlobeSms($mid, $code, $mobile, $content)
|
||||
{
|
||||
$tkey = date("YmdHis");
|
||||
$data = [
|
||||
'tkey' => $tkey,
|
||||
'code' => $code,
|
||||
'mobile' => $mobile,
|
||||
'content' => $content,
|
||||
'username' => sysconf('sms_zt_username2'),
|
||||
$result = Http::post('http://intl.zthysms.com/intSendSms.do', [
|
||||
'tkey' => $tkey, 'code' => $code, 'mobile' => $mobile,
|
||||
'content' => $content, 'username' => sysconf('sms_zt_username2'),
|
||||
'password' => md5(md5(sysconf('sms_zt_password2')) . $tkey),
|
||||
];
|
||||
$result = Http::post('http://intl.zthysms.com/intSendSms.do', $data);
|
||||
]);
|
||||
Db::name('StoreMemberSmsHistory')->insert([
|
||||
'mid' => $mid, 'region' => $code, 'phone' => $mobile, 'content' => $content, 'result' => $result,
|
||||
]);
|
||||
@ -146,11 +183,10 @@ class ExtendService
|
||||
public static function queryGlobeSmsBalance()
|
||||
{
|
||||
$tkey = date("YmdHis");
|
||||
$data = [
|
||||
$result = Http::post('http://intl.zthysms.com/intBalance.do', [
|
||||
'username' => sysconf('sms_zt_username2'), 'tkey' => $tkey,
|
||||
'password' => md5(md5(sysconf('sms_zt_password2')) . $tkey),
|
||||
];
|
||||
$result = Http::post('http://intl.zthysms.com/intBalance.do', $data);
|
||||
]);
|
||||
if (!is_numeric($result) && ($state = intval($result)) && isset(self::$globeMessageMap[$state])) {
|
||||
return ['code' => 0, 'num' => 0, 'msg' => self::$globeMessageMap[$state]];
|
||||
} else {
|
||||
|
Loading…
x
Reference in New Issue
Block a user