ip(); } $weixinA = new weixina(); $data=$weixinA->auth_code2Session($code);//新版 if(empty($data) || empty($data['openid'])) { return app('json')->fail("微信授权登录失败,关闭页面重新授权".$weixinA->error); } $member = (new UserModel)->where("openid",$data["openid"])->find(); if(empty($member)){ //用户注册 $uid = (new UserModel)->insertGetId(array( "openid"=>$data["openid"], "unionid"=>empty($data["unionid"])?"":$data["unionid"], "nickname"=>$nickname, "avatar"=>$avatar, "sex"=>(int)$gender, "regtime"=>time(), "regip"=>$regip, )); if(empty($uid)){ return app('json')->fail("网络繁忙,请稍后尝试"); } //生成MD5 $token = base64_encode(md5($uid ."openid" .$data["openid"] . time())); (new UserModel)->where('uid', $uid)->save(['lasttime'=>time(),'token'=>$token]); //生成登录日志 (new UserLogin)->insert([ 'uid' => $uid, 'ip' => $regip, 'time' => time(), 'device_id' => $device_id, 'from_plat' => $platform, 'device_type' => $system, 'version' => $model, ]); $result = []; $result['nickname'] = $nickname; $result['avatar'] = $avatar; $result['token'] = $token; return app('json')->success($result); } if ($member['status'] == -1) { return app('json')->fail("账号已被禁用"); } //生成MD5 $token = base64_encode(md5($member['uid'] ."openid" . $member['openid'] . time())); (new UserModel)->where('uid', $member['uid'])->save([ 'lasttime' => time(), 'token' => $token, ]); //生成登录日志 (new UserLogin)->insert([ 'uid' => $member['uid'], 'ip' => $regip, 'time' => time(), 'device_id' => $device_id, 'from_plat' => $platform, 'device_type' => $system, 'version' => $model, ]); $result = []; $result['nickname'] = $member['nickname']; $result['avatar'] = $member['avatar']; $result['token'] = $token; return app('json')->success($result); } }