php 语法 乱,自己写的PHP代码总是感觉很乱

写代码的时候,总是1个方法里把全部逻辑都实现了,修改的时候写了注释,自己都晕头转向, 一点都没有用到面向对象,怎么样才能精简自己的代码,看上去思路清晰,一目了然,请教大神指条明路!下面是代码

public function qqLogin(){

$appid = C('APPID');

$openid = I('openid');

$accesstoken = I('accesstoken');

$pid = I('pid');

$url = "https://graph.qq.com/user/get_user_info?access_token=".$accesstoken."&oauth_consumer_key=".$appid."&openid=".$openid;

// 获取QQ用户详细信息

$result = $this->http_curl($url);

$User = M('users');

if($result['ret'] == 0){

// QQ注册,查看是否注册过了

$userRes = M('user_auths')->where(array('identity_type'=>'qq','identifier'=>$openid))->find();

if(!$userRes)

{

$User->startTrans(); //开启事物

// 添加到users表

$userdata['phone'] = 0;

$res_user_uid = $User->add($userdata);

// 添加到user_auth表

$userAuth['user_id'] = $res_user_uid;

$userAuth['identity_type'] = 'qq';

$userAuth['identifier'] = $openid;

$userAuth['credential'] = $accesstoken;//第三方登陆的openid

$userAuth['token'] = $this->create_token();//第三方登陆的access_token

$userAuth['login_time'] = time();

$userAuth['pid'] = $pid;//客户端推送的唯一ID

$res_user_auths = M('user_auths')->add($userAuth);

if($res_user_auths && $res_user_uid){

$User->commit(); //如果两张表都添加成功 执行事物 添加操作

$res = $User->where(array('id'=>$res_user_uid))->field('nickname,avatar,id')->find();

$code = 1;

$msg = '查询成功';

$data['uId'] = $res['id'];

if($res['nickname'] != "")

{

$data['uName'] = $res['nickname'];

}

if($res['avatar'] != "")

{

$data['uIc'] = $res['avatar'];

}

if($res['phone'] != 0)

{

$data['uTel'] = $res['phone'];

}

$data['uToken'] = M('user_auths')->where(array("id"=>$res_user_auths))->getField('token');

echoMsg($code, $msg, $data);

}else

{

$User->rollback(); //事物回滚

}

}else{

// 登陆时 获取新的token值

$token = $this->create_token();

M('user_auths')->where(array("id"=>$userRes['id']))->save(array('token'=>$token,'login_time'=>time(),'pid'=>$pid));

// 返回数据信息

$res = $User->where(array('id'=>$userRes['user_id']))->field('nickname,avatar,id')->find();

$code = 1;

$msg = '查询成功';

$data['uId'] = $res['id'];

if($res['nickname'] != "")

{

$data['uName'] = $res['nickname'];

}

if($res['avatar'] != "")

{

$data['uIc'] = $res['avatar'];

}

if($res['phone'] != 0)

{

$data['uTel'] = $res['phone'];

}

$data['uToken'] = M('user_auths')->where(array('id'=>$userRes['id']))->getField('token');

echoMsg($code, $msg, $data);

}

}else{

$code = 90001;

$msg = '登陆失败';

echoMsg($code, $msg);

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值