Skip to content

Commit 8102564

Browse files
committed
Merge pull request #88 from toplan/dev
2.4.0
2 parents 6795eb6 + a791583 commit 8102564

File tree

9 files changed

+765
-663
lines changed

9 files changed

+765
-663
lines changed

README.md

Lines changed: 315 additions & 198 deletions
Large diffs are not rendered by default.

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
],
1313
"require": {
1414
"php": ">=5.4.0",
15-
"toplan/phpsms": "~1.5"
15+
"toplan/phpsms": ">=1.5.3"
1616
},
1717
"autoload": {
1818
"classmap": [

js/laravel-sms.js

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -26,24 +26,24 @@
2626
};
2727

2828
function sendSms(opts, elem) {
29-
var mobile = $(opts.mobileSelector).val();
30-
var url = opts.domain + '/sms/verify-code';
29+
var mobile = $(opts.mobile_selector).val();
30+
var url = opts.domain + '/laravel-sms/verify-code';
3131
if (opts.voice) {
32-
url = opts.domain + '/sms/voice-verify';
32+
url = opts.domain + '/laravel-sms/voice-verify';
3333
}
3434
$.ajax({
3535
url : url,
3636
type : 'post',
3737
data : {
3838
_token: opts.token,
39-
token: opts.apiToken,
40-
seconds: opts.seconds,
39+
access_token: opts.access_token,
40+
interval: opts.interval,
4141
mobile: mobile,
42-
mobileRule: opts.mobileRule
42+
mobile_rule: opts.mobile_rule
4343
},
4444
success : function (data) {
4545
if (data.success) {
46-
timer(elem, opts.seconds, opts.btnContent)
46+
timer(elem, opts.interval, opts.btnContent)
4747
} else {
4848
elem.html(opts.btnContent);
4949
elem.prop('disabled', false);
@@ -53,7 +53,7 @@
5353
error: function(xhr, type){
5454
elem.html(opts.btnContent);
5555
elem.prop('disabled', false);
56-
opts.alertMsg('请求失败,请重试');
56+
opts.alertMsg('请求失败,请重试', 'request_failure');
5757
}
5858
});
5959
}
@@ -72,14 +72,14 @@
7272
}
7373

7474
$.fn.sms.default = {
75-
token : '',
76-
apiToken : '',
77-
mobileRule : '',
78-
mobileSelector : '',
79-
seconds : 60,
80-
voice : false,
81-
domain : '',
82-
alertMsg : function (msg, type) {
75+
token : '',
76+
access_token : '',
77+
mobile_rule : '',
78+
mobile_selector : '',
79+
interval : 60,
80+
voice : false,
81+
domain : '',
82+
alertMsg : function (msg, type) {
8383
alert(msg);
8484
}
8585
};

src/Toplan/LaravelSms/SmsController.php

Lines changed: 15 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -4,101 +4,58 @@
44

55
use Illuminate\Http\Request;
66
use Illuminate\Routing\Controller;
7-
use PhpSms as Sms;
87
use SmsManager as Manager;
98

109
class SmsController extends Controller
1110
{
1211
public function postVoiceVerify(Request $request)
1312
{
14-
$token = $request->input('token', null);
1513
$mobile = $request->input('mobile', null);
16-
$seconds = $request->input('seconds', 60);
14+
$interval = $request->input('interval', 60);
1715

18-
if (!Manager::sendable($token)) {
19-
return response()->json(Manager::genResult(false, 'request_invalid', [$seconds]));
20-
}
21-
22-
$res = Manager::validate($request->all());
16+
$res = Manager::validateSendable($interval);
2317
if (!$res['success']) {
2418
return response()->json($res);
2519
}
26-
27-
$code = Manager::generateCode();
28-
$minutes = Manager::getCodeValidMinutes();
29-
$templates = Manager::getVoiceTemplates();
30-
$result = Sms::voice($code)->template($templates)
31-
->data(['code' => $code])->to($mobile)->send();
32-
33-
if ($result === null || $result === true || (isset($result['success']) && $result['success'])) {
34-
$data = Manager::getSentInfo();
35-
$data['sent'] = true;
36-
$data['mobile'] = $mobile;
37-
$data['code'] = $code;
38-
$data['deadline'] = time() + ($minutes * 60);
39-
Manager::storeSentInfo($token, $data);
40-
Manager::storeCanResendAfter($token, $seconds);
41-
$res = Manager::genResult(true, 'voice_send_success');
42-
} else {
43-
$res = Manager::genResult(false, 'voice_send_failure');
20+
$res = Manager::validateFields($request->all());
21+
if (!$res['success']) {
22+
return response()->json($res);
4423
}
24+
$res = Manager::requestVoiceVerify($mobile, $interval);
4525

4626
return response()->json($res);
4727
}
4828

4929
public function postSendCode(Request $request)
5030
{
51-
$token = $request->input('token', null);
5231
$mobile = $request->input('mobile', null);
53-
$seconds = $request->input('seconds', 60);
32+
$interval = $request->input('interval', 60);
5433

55-
if (!Manager::sendable($token)) {
56-
return response()->json(Manager::genResult(false, 'request_invalid', [$seconds]));
57-
}
58-
59-
$res = Manager::validate($request->all());
34+
$res = Manager::validateSendable($interval);
6035
if (!$res['success']) {
6136
return response()->json($res);
6237
}
63-
64-
$code = Manager::generateCode();
65-
$minutes = Manager::getCodeValidMinutes();
66-
$templates = Manager::getSmsTemplates();
67-
$content = Manager::generateSmsContent([$code, $minutes]);
68-
$result = Sms::make($templates)->to($mobile)
69-
->data(['code' => $code, 'minutes' => $minutes])
70-
->content($content)->send();
71-
72-
if ($result === null || $result === true || (isset($result['success']) && $result['success'])) {
73-
$data = Manager::getSentInfo();
74-
$data['sent'] = true;
75-
$data['mobile'] = $mobile;
76-
$data['code'] = $code;
77-
$data['deadline'] = time() + ($minutes * 60);
78-
Manager::storeSentInfo($token, $data);
79-
Manager::storeCanResendAfter($token, $seconds);
80-
$res = Manager::genResult(true, 'sms_send_success');
81-
} else {
82-
$res = Manager::genResult(false, 'sms_send_failure');
38+
$res = Manager::validateFields($request->all());
39+
if (!$res['success']) {
40+
return response()->json($res);
8341
}
42+
$res = Manager::requestVerifySms($mobile, $interval);
8443

8544
return response()->json($res);
8645
}
8746

88-
public function getInfo(Request $request, $token = null)
47+
public function getInfo()
8948
{
9049
$html = '<meta charset="UTF-8"/><h2 align="center" style="margin-top: 30px;margin-bottom: 0;">Laravel Sms</h2>';
9150
$html .= '<p style="margin-bottom: 30px;font-size: 13px;color: #888;" align="center">' . SmsManager::VERSION . '</p>';
9251
$html .= '<p><a href="https://github.com/toplan/laravel-sms" target="_blank">laravel-sms源码</a>托管在GitHub,欢迎你的使用。如有问题和建议,欢迎提供issue。</p>';
93-
$html .= '<p>本页面路由: scheme://your-domain/sms/info<span style="color: #aaa;">/{token?}</spanst></p>';
9452
$html .= '<hr>';
9553
$html .= '<p>你可以在调试模式(设置config/app.php中的debug为true)下查看到存储在存储器中的验证码短信/语音相关数据:</p>';
9654
echo $html;
97-
$token = $token ?: $request->input('token', null);
9855
if (config('app.debug')) {
99-
dump(Manager::retrieveAll($token));
56+
dump(Manager::retrieveAllData());
10057
} else {
101-
echo '<p align="center" style="color: red;">现在是非调试模式,无法查看验证码短信数据</p>';
58+
echo '<p align="center" style="color: red;">现在是非调试模式,无法查看调试数据</p>';
10259
}
10360
}
10461
}

0 commit comments

Comments
 (0)