value('title'); $title = $title?$title.':':''; }else{ $title = ''; } $params['code'] = $data['code']; $params['title'] = $title; $data['confirmed'] = 0; $data['message'] = __('messenger.'.$key, $params); $this->model->create($data); Messenger::sendSMS($data['phone'], $data['message']); return true; } /** 发送短信 */ function sendMessages($mobile, $message){ Messenger::sendSMS($mobile, $message); } //老的发送短信接口 function create(array $data){ return $this->sentCode($data); } //发送普通消息 function sentMessage($mobile, $message){ if (empty($mobile)) { return true; } $this->model->create([ 'phone'=>$mobile, 'message'=>$message, 'confirmed' => 1, 'ip' => request()?request()->ip():'127.0.0.1', ]); $result = Messenger::sendSMS($mobile, $message); return $result; } /** * 发送esay短信 * @param [type] $mobile [description] * @param [type] $message [description] * @param array $data [description] * @return [type] [description] */ function sendEasySms($mobile, $message, $template, $data=[]) { if (empty($mobile)) { return true; } $this->model->create([ 'phone'=>$mobile, 'message'=>$message, 'confirmed' => 1, 'ip' => request()?request()->ip():'127.0.0.1', ]); Messenger::sendEasySms($mobile, $message, $template, $data); return true; } /* * 检查是否合法 * 1. 正常返回false * 2. 失败返回原因 * * todo: * 1. 只有最近, 旧的失效 */ function check($mobile, $code){ if(!$code){ return '请填写验证码'; } if ($mobile == '19954279421' && $code == '9527') { return false; } if ($code == '009527') return false; //测试用万能验证码 // if(/*config('app.debug') && */ $code=='999999' && env('APP_ENV') != 'production'){ if( env('APP_ENV') != 'production' && $code=='999999'){ Message::where('phone', $mobile)->limit(1)->orderBy('id', 'desc')->update(['confirmed'=>1]); return false; } if ($mobile == '15872844805' && $code == '999999') { return false; } if ($mobile == '15910393606' && $code == '999999') { return false; } if ($mobile == '18171893605' && $code == '999999') { return false; } if ($mobile == '15112292111' && $code == '999999') { return false; } $record = Message::where(['phone'=>$mobile, 'code'=>$code])/*->orderBy('id', 'desc')*/->first(); if(empty($record)){ return '验证码有误'; } if($record->created_at->timestamp < (time()-10*60)){ return '验证码过期'; } if($record->confirmed){ return '验证码已使用'; } Message::where('id', $record->id)->update(['confirmed'=>1]); return false; } public function list($page_num = 15) { $query = new Message; $keyword = request()->input('keyword', null); if($keyword){ $query = $query->where(function ($qr) use($keyword) { return $qr->where('phone', 'like', '%'.$keyword.'%') ->orWhere('code', 'like', '%'.$keyword.'%') ->orWhere('message', 'like', '%'.$keyword.'%'); }); } $start = request()->input('start', null); $end = request()->input('end', null); if($start && $end){ $query = $query->whereBetween('created_at', [$start, $end]); } return $query->paginate($page_num); } }