|
@@ -1,68 +0,0 @@
|
|
|
-<?php namespace Place\Lib;
|
|
|
-use Dever;
|
|
|
-class Sms
|
|
|
-{
|
|
|
- # 发送短信验证码
|
|
|
- public function sendCode($mobile, $state = true)
|
|
|
- {
|
|
|
- $day = date('Ymd', time());
|
|
|
-
|
|
|
- # 检测当前手机号最新一次发送时间,不允许一分钟之内发送
|
|
|
- $param['day'] = $day;
|
|
|
- $param['mobile'] = $mobile;
|
|
|
-
|
|
|
- # 检测当前手机号今天已经发送多少验证码了
|
|
|
- $info = Dever::db('place/sms_code')->count($param);
|
|
|
- if ($info >= 1) {
|
|
|
- $check = Dever::db('place/sms_code')->find($param);
|
|
|
- if ($check) {
|
|
|
- if (time() - $check['cdate'] < 60) {
|
|
|
- Dever::alert('请不要在一分钟之内申请多次验证码,请您稍后再试');
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- $total = 10;
|
|
|
- if ($info >= $total) {
|
|
|
- Dever::alert('很抱歉,您已经申请获取验证码超过' . $total . '次,今天您已经无法获取验证码了,请您明天再来');
|
|
|
- }
|
|
|
- $code = $this->createCode();
|
|
|
- # 启动发送
|
|
|
- $param['mobile'] = $mobile;
|
|
|
- $param['TemplateCode'] = 'SMS_216755222';
|
|
|
- $param['TemplateParam'] = array('code' => $code);
|
|
|
- $param['log'] = true;
|
|
|
- if ($state) {
|
|
|
- $result = Dever::load('account', 'api')->run('aliyun', 'sms_code', $param);
|
|
|
- }
|
|
|
-
|
|
|
- # 记录当前的验证码
|
|
|
- $insert = array();
|
|
|
- $insert['mobile'] = $mobile;
|
|
|
- $insert['day'] = $day;
|
|
|
- $insert['code'] = $code;
|
|
|
- $insert['status'] = 1;
|
|
|
- $insert['result'] = Dever::json_encode($result);
|
|
|
- $id = Dever::db('place/sms_code')->insert($insert);
|
|
|
- $msg = '验证码已发送至您的手机,请注意查收,十分钟之内有效';
|
|
|
- return $code;
|
|
|
- }
|
|
|
-
|
|
|
- public function checkCode($mobile = false, $code = false, $update = 1)
|
|
|
- {
|
|
|
- if ($code && $mobile) {
|
|
|
- $info = Dever::db('place/sms_code')->find(array('mobile' => $mobile), array('order' => 'id desc'));
|
|
|
- if ($info && $info['status'] == 1 && $code == $info['code']) {
|
|
|
- if ($update == 1) {
|
|
|
- Dever::db('place/sms_code')->update($info['id'], array('status' => 2));
|
|
|
- }
|
|
|
- return true;
|
|
|
- }
|
|
|
- }
|
|
|
- return false;
|
|
|
- }
|
|
|
-
|
|
|
- private function createCode()
|
|
|
- {
|
|
|
- return \Dever\Helper\Str::rand(4, 0);
|
|
|
- }
|
|
|
-}
|