request->params([ ['url', ''], ['scopes', ''] ]); $wechat_auth_service = new WechatAuthService(); return success($wechat_auth_service->authorization($data['url'], $data['scopes'])); } /** * code获取微信信息 * @return Response */ public function getWechatUser() { $data = $this->request->params([ ['code', ''], ]); $wechat_auth_service = new WechatAuthService(); $data = $wechat_auth_service->userFromCode($data['code']); return success([ 'data' => json_encode($data) ]); } /** * 授权信息登录 * @return Response */ public function wechatLogin() { $data = $this->request->params([ ['data', ''], ]); $wechat_auth_service = new WechatAuthService(); [ $avatar, $nickname, $openid, $unionid ] = json_decode($data['data'], true); return success($wechat_auth_service->login($openid, $nickname, $avatar, $unionid)); } /** * 授权登录 * @return Response * @throws DataNotFoundException * @throws DbException * @throws ModelNotFoundException */ public function login(){ $data = $this->request->params([ ['code', ''], ]); $wechat_auth_service = new WechatAuthService(); return success($wechat_auth_service->loginByCode($data['code'])); } /** * 注册 * @return Response */ public function register(){ $data = $this->request->params([ ['openid', ''], ['unionid', ''], ['mobile', ''], ]); //参数验证 $this->validate($data, [ 'mobile' => 'mobile' ]); $wechat_auth_service = new WechatAuthService(); return success($wechat_auth_service->register($data['openid'], $data['mobile'], wx_unionid: $data['unionid'])); } /** * 同步 * @return Response */ public function sync(){ $data = $this->request->params([ ['code', ''], ]); $wechat_auth_service = new WechatAuthService(); return success($wechat_auth_service->sync($data['code'])); } /** * 获取jssdk config * @return Response */ public function jssdkConfig(){ $data = $this->request->params([ ['url', ''], ]); $wechat_auth_service = new WechatAuthService(); return success($wechat_auth_service->jssdkConfig($data['url'])); } /** * 扫码登录 * @return Response */ public function scanLogin(){ $wechat_auth_service = new WechatAuthService(); return success($wechat_auth_service->scanLogin()); } /** * 检查微信公众号是否配置 * @return Response */ public function checkWechatConfig() { return success('SUCCESS', (new WechatConfigService())->checkWechatConfig()); } /** * 更新openid * @return Response */ public function updateOpenid() { $data = $this->request->params([ [ 'code', '' ] ]); $wechat_auth_service = new WechatAuthService(); return success($wechat_auth_service->updateOpenid($data[ 'code' ])); } }