request()->domain(), ]); } public function login() { $mobile = trim(input('mobile')); $data = Db::name('worker') ->where('mobile', $mobile) ->find(); if (empty($data)) { $res['code'] = 1; $res['message'] = '该手机号未注册,请先注册'; } $workeradmin = WorkerModel::where(['mobile' => $mobile])->findOrEmpty()->toArray(); session('access_worker', $workeradmin); $res['code'] = 0; return $res; } //验证手机号 public function yz_mobile() { $mobile = trim(input('mobile')); if ($mobile) { $data = Db::name('worker') ->where('mobile', $mobile) ->where('status', '<>', 2) ->find(); if (empty($data)) { $data = Db::name('worker') ->where('mobile', $mobile) ->find(); } if (empty($data)) { $code = 1; $msg = '该手机号未注册,请先注册'; } elseif ($data['status'] == 2) { $code = 1; $msg = '该账号已经被禁用,请联系管理员'; } else { $code = 0; $msg = '该手机号正确'; } exit(json_encode([ 'code' => $code, 'msg' => $msg, ])); } else { $msg = '请填写正确的手机号'; } exit(json_encode([ 'code' => 1, 'msg' => $msg, ])); } public function jy() { include("../extend/jy/geetest_config.php"); include("../extend/jy/GeetestLib.php"); $GtSdk = new \App\Http\Controllers\Sdk\GeetestLib(GEETEST_ID, GEETEST_KEY); $get_ip = get_client_ip(); $user_id = 'login'; $digestmod = "md5"; $params = [ "digestmod" => $digestmod, "user_id" => $user_id, # 网站用户id "client_type" => "web", #web:电脑上的浏览器;h5:手机上的浏览器,包括移动应用内完全内置的web_view;native:通过原生SDK植入APP应用的方式 "ip_address" => $get_ip, # 请在此处传输用户请求验证时所携带的IP ]; // $status = $GtSdk->pre_process($data, 1); $result = $GtSdk->register($digestmod, $params); session(GeetestLib::GEETEST_SERVER_STATUS_SESSION_KEY, $result->getStatus()); session("userId", $user_id); return $result->getData(); } //短息验证码 发送 public function yzm() { Session::delete('yzm_code'); $rand = rand(000001, 999999); $mobile = trim(input('post.mobile')); $preg_phone = '/^1[34578]\d{9}$/ims'; $rtn = []; if (!$mobile) { $rtn['code'] = 1; $rtn['message'] = '手机号为空'; } else { if (preg_match($preg_phone, $mobile)) { $sms = new SmsService(); $res = $sms->send($mobile, 'verification', [$rand]); if ($res['code'] == 0) { $rtn['code'] = 0; Session::set('yzm_code', $rand); } else { $rtn['code'] = 1; $rtn['message'] = '网络故障,请重试'; } } else { $rtn['code'] = 1; $rtn['message'] = '手机号格式不正确'; } } return $rtn; } //验证码 验证 public function yzm_verify() { $mobile = trim(input('mobile')); $data = Db::name('worker') ->where('mobile', $mobile) ->find(); $yzm = (int)trim(input('yzm')); $yzm_code = Session::get('yzm_code'); $res = []; if ($data['status'] == 2) { $res['code'] = 1; $res['message'] = '该账号已经被禁用,请联系管理员'; } elseif (empty($data)) { $res['code'] = 1; $res['message'] = '该手机号未注册,请先注册'; } else { if ($yzm == $yzm_code) { $workeradmin = WorkerModel::where(['mobile' => $mobile])->findOrEmpty()->toArray(); session('access_worker', $workeradmin); $res['code'] = 0; echo json_encode($res); } else { $res['code'] = 1; $res['message'] = '验证码不正确'; echo json_encode($res); } } } public function change() { $id = input('id',0); if (empty($id)) { session(null); return redirect(url('/login/index')); } //用户不存在 $workeradmin = WorkerModel::where(['id' => $id])->findOrEmpty()->toArray(); if (empty($workeradmin)) { session(null); return redirect(url('/login/index')); } //非常登录其他用户 $access_worker = session('access_worker'); if ($workeradmin['userid'] != $access_worker['userid']) { session(null); return redirect(url('/login/index')); } //登录成功 session('access_worker', $workeradmin); return redirect(url('/home/index')); } public function logout() { session(null); return redirect(url('/login/index')); } }