auth->session($code); if (isset($result['errcode'])) { throw new \Exception('微信登录失败:' . $result['errmsg']); } $openid = $result['openid']; $user = self::$Model::where('openid', $openid)->field('id,username,nickname,avatar,role')->find(); if (!$user) { // 新用户自动注册 $user = new User; $user->openid = $openid; $user->nickname = '微信用户' . mt_rand(10000, 99999); $user->account = new Accounts(); $res = $user->together('account')->save(); } $account = Accounts::where('user_id', $user->id ?? 0)->find(); if (!$account) { $acRes = $user->account()->save([]); } return $user; } }