open_userinfo_log.php 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: stanley-king
  5. * Date: 2017/6/2
  6. * Time: 下午12:09
  7. */
  8. namespace login;
  9. //兼容开放平台的微信登录
  10. class open_userinfo_log extends ILogin
  11. {
  12. private $mUserInfo;
  13. public function __construct($user_info)
  14. {
  15. $this->mUserInfo = $user_info;
  16. }
  17. public function ismember()
  18. {
  19. $mod_member = Model('member');
  20. $openid = $this->mUserInfo['openid'];
  21. $unionid = $this->mUserInfo['unionid'];
  22. $cond['member_wxunionid|member_wxopenid'] = array('_multi'=>true,$unionid,$openid);
  23. $minfo = $mod_member->getMemberInfo($cond,ILogin::fields,true);
  24. if(empty($minfo)) {
  25. return false;
  26. }
  27. else
  28. {
  29. $this->mMemberId = intval($minfo['member_id']);
  30. $this->mMemberInfo = $minfo;
  31. if($minfo['member_wxopenid'] == $openid) {
  32. $this->mMemberInfo['member_wxopenid'] = '';
  33. $mod_member->editMember(['member_id' => $this->memberid()],['member_wxopenid' => '']);
  34. }
  35. return true;
  36. }
  37. }
  38. public function register($user_info,$relay_id = 0)
  39. {
  40. if(empty($user_info)) return false;
  41. $info['member_type'] = ILogin::wxunion_login;
  42. $info['member_mobile_bind'] = 0;
  43. $info['inviter_id'] = $relay_id;
  44. $info['member_nickname'] = $user_info['nickname'];
  45. $info['member_wxunionid'] = $user_info['unionid'];
  46. $info['member_avatar'] = $user_info['headimgurl'];
  47. $info['member_sex'] = intval($user_info['sex']);
  48. $mod_member = Model('member');
  49. $insert_id = $mod_member->addMember($info);
  50. if($insert_id != false) {
  51. $this->mMemberId = $insert_id;
  52. }
  53. return $insert_id;
  54. }
  55. }