post()->goCheck(); $result = LoginLogic::login($params); //验证是否传微信小程序的CODE,如果传入进行绑定 if(!empty($params['wx_code']) and $params['terminal']==1){ $params['code'] = $params['wx_code']; $params['user_id'] = User::where('sn',$result['sn'])->value('id'); $wx_result = LoginLogic::mnpAuthLogin($params); if ($wx_result === false) { return $this->fail(LoginLogic::getError()); } } if (false === $result) { return $this->fail(LoginLogic::getError()); } return $this->data($result); } /** * @notes 退出登录 * @return \think\response\Json * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException * @author 段誉 * @date 2022/9/16 10:42 */ public function logout() { LoginLogic::logout($this->userInfo); return $this->success(); } /** * @notes 获取微信请求code的链接 * @return \think\response\Json * @author 段誉 * @date 2022/9/15 18:27 */ public function codeUrl() { $url = $this->request->get('url'); $result = ['url' => LoginLogic::codeUrl($url)]; return $this->success('获取成功', $result); } /** * @notes 公众号登录 * @return \think\response\Json * @throws \GuzzleHttp\Exception\GuzzleException * @author 段誉 * @date 2022/9/20 19:48 */ public function oaLogin() { $params = (new WechatLoginValidate())->post()->goCheck('oa'); $res = LoginLogic::oaLogin($params); if (false === $res) { return $this->fail(LoginLogic::getError()); } return $this->success('', $res); } /** * @notes 小程序-登录接口 * @return \think\response\Json * @author 段誉 * @date 2022/9/20 19:48 */ public function mnpLogin() { $params = (new WechatLoginValidate())->post()->goCheck('mnpLogin'); $res = LoginLogic::mnpLogin($params); if (false === $res) { return $this->fail(LoginLogic::getError()); } return $this->success('', $res); } /** * * 手机号一键登录获取key * @return \think\response\Json */ public function getMnpSessionKey() { $params = (new WechatLoginValidate())->post()->goCheck('wechatAuth'); $res = LoginLogic::mnpSessionKey($params); if (false === $res) { return $this->fail(LoginLogic::getError()); } return $this->success('', $res); } /** * * 微信小程序手机号一键登录 * @return \think\response\Json */ public function mnpAuthPhone() { $params = (new WechatLoginValidate())->post()->goCheck('mnpAuthPhone'); $result = LoginLogic::mnpPhoneLogin($params); if (false === $result) { return $this->fail(LoginLogic::getError()); } return $this->data($result); } /** * @notes 小程序绑定微信 * @return \think\response\Json * @author 段誉 * @date 2022/9/20 19:48 */ public function mnpAuthBind() { $params = (new WechatLoginValidate())->post()->goCheck("wechatAuth"); $params['user_id'] = $this->userId; $result = LoginLogic::mnpAuthLogin($params); if ($result === false) { return $this->fail(LoginLogic::getError()); } return $this->success('绑定成功', [], 1, 1); } /** * @notes 公众号绑定微信 * @return \think\response\Json * @throws \GuzzleHttp\Exception\GuzzleException * @author 段誉 * @date 2022/9/20 19:48 */ public function oaAuthBind() { $params = (new WechatLoginValidate())->post()->goCheck("wechatAuth"); $params['user_id'] = $this->userId; $result = LoginLogic::oaAuthLogin($params); if ($result === false) { return $this->fail(LoginLogic::getError()); } return $this->success('绑定成功', [], 1, 1); } /** * @notes 获取扫码地址 * @return \think\response\Json * @author 段誉 * @date 2022/10/20 18:25 */ public function getScanCode() { $redirectUri = $this->request->get('url/s'); $result = LoginLogic::getScanCode($redirectUri); if (false === $result) { return $this->fail(LoginLogic::getError() ?? '未知错误'); } return $this->success('', $result); } /** * @notes 网站扫码登录 * @return \think\response\Json * @author 段誉 * @date 2022/10/21 10:28 */ public function scanLogin() { $params = (new WebScanLoginValidate())->post()->goCheck(); $result = LoginLogic::scanLogin($params); if (false === $result) { return $this->fail(LoginLogic::getError() ?? '登录失败'); } return $this->success('', $result); } /** * @notes 更新用户头像昵称 * @return \think\response\Json */ public function updateUser() { $params = (new WechatLoginValidate())->post()->goCheck("updateUser"); LoginLogic::updateUser($params, $this->userId); return $this->success('操作成功', [], 1, 1); } /** * @notes 注销用户 * @return \think\response\Json */ public function deleteAccount() { $user = User::find($this->userId); $user->is_disable = 1; $user->save(); LoginLogic::logout($this->userInfo); return $this->success(); } public function firmLogin() { $params = (new LoginAccountValidate())->post()->goCheck("firmLogin"); $result = LoginLogic::firmLogin($params); if (false === $result) { return $this->fail(LoginLogic::getError()); } return $this->data($result); } }