public function sendSMS(Request $request) { $m3_result = new M3Result(); $phone = $request->input('phone', ''); if ($phone == '') { $m3_result->status = 1; $m3_result->message = '手机号不能为空'; return $m3_result->toJson(); } if (strlen($phone) != 11 || $phone[0] != '1') { $m3_result->status = 2; $m3_result->message = '手机格式不正确'; return $m3_result->toJson(); } $sendTemplateSMS = new SendTemplateSMS(); $code = ''; $charset = '1234567890'; $_len = strlen($charset) - 1; for ($i = 0; $i < 6; ++$i) { $code .= $charset[mt_rand(0, $_len)]; } $m3_result = $sendTemplateSMS->sendTemplateSMS($phone, array($code, 60), 1); if ($m3_result->status == 0) { $tempPhone = TempPhone::where('phone', $phone)->first(); if ($tempPhone == null) { $tempPhone = new TempPhone(); } $tempPhone->phone = $phone; $tempPhone->code = $code; $tempPhone->deadline = date('Y-m-d H-i-s', time() + 60 * 60); $tempPhone->save(); } return $m3_result->toJson(); }
public function register(Request $request) { $email = $request->input('email', ''); $phone = $request->input('phone', ''); $password = $request->input('password', ''); $confirm = $request->input('confirm', ''); $phone_code = $request->input('phone_code', ''); $validate_code = $request->input('validate_code', ''); $m3_result = new M3Result(); if ($email == '' && $phone == '') { $m3_result->status = 1; $m3_result->message = '手机号或邮箱不能为空'; return $m3_result->toJson(); } if ($password == '' || strlen($password) < 6) { $m3_result->status = 2; $m3_result->message = '密码不少于6位'; return $m3_result->toJson(); } if ($confirm == '' || strlen($confirm) < 6) { $m3_result->status = 3; $m3_result->message = '确认密码不少于6位'; return $m3_result->toJson(); } if ($password != $confirm) { $m3_result->status = 4; $m3_result->message = '两次密码不相同'; return $m3_result->toJson(); } // 手机号注册 if ($phone != '') { if ($phone_code == '' || strlen($phone_code) != 6) { $m3_result->status = 5; $m3_result->message = '手机验证码为6位'; return $m3_result->toJson(); } $tempPhone = TempPhone::where('phone', $phone)->first(); if ($tempPhone->code == $phone_code) { if (time() > strtotime($tempPhone->deadline)) { $m3_result->status = 7; $m3_result->message = '手机验证码不正确'; return $m3_result->toJson(); } $member = new Member(); $member->phone = $phone; $member->password = md5('bk' . $password); $member->save(); $m3_result->status = 0; $m3_result->message = '注册成功'; return $m3_result->toJson(); } else { $m3_result->status = 7; $m3_result->message = '手机验证码不正确'; return $m3_result->toJson(); } // 邮箱注册 } else { if ($validate_code == '' || strlen($validate_code) != 4) { $m3_result->status = 6; $m3_result->message = '验证码为4位'; return $m3_result->toJson(); } $validate_code_session = $request->session()->get('validate_code', ''); if ($validate_code_session != $validate_code) { $m3_result->status = 8; $m3_result->message = '验证码不正确'; return $m3_result->toJson(); } $member = new Member(); $member->email = $email; $member->password = md5('bk' . $password); $member->save(); $uuid = UUID::create(); $m3_email = new M3Email(); $m3_email->to = $email; $m3_email->cc = '*****@*****.**'; $m3_email->subject = '凯恩书店验证'; $m3_email->content = '请于24小时点击该链接完成验证. http://book.magina.com/service/validate_email' . '?member_id=' . $member->id . '&code=' . $uuid; $tempEmail = new TempEmail(); $tempEmail->member_id = $member->id; $tempEmail->code = $uuid; $tempEmail->deadline = date('Y-m-d H-i-s', time() + 24 * 60 * 60); $tempEmail->save(); Mail::send('email_register', ['m3_email' => $m3_email], function ($m) use($m3_email) { // $m->from('*****@*****.**', 'Your Application'); $m->to($m3_email->to, '尊敬的用户')->cc($m3_email->cc)->subject($m3_email->subject); }); $m3_result->status = 0; $m3_result->message = '注册成功'; return $m3_result->toJson(); } }