UserCenter.php 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. <?php
  2. namespace app\api\controller;
  3. use think\Db;
  4. use app\common\model\User;
  5. /**
  6. * @title 会员个人中心
  7. * @controller UserCenter
  8. * @group base
  9. */
  10. class UserCenter extends Base
  11. {
  12. public function initialize()
  13. {
  14. parent::initialize();
  15. parent::checkLogin();
  16. }
  17. /**
  18. * @title 获取个人信息
  19. * @desc 个人信息
  20. * @author qc
  21. * @url /api/User_center/getUserInfo
  22. * @method GET
  23. * @tag 个人信息
  24. * @header name:Authorization require:1 desc:Token
  25. * @return name:id type:int default:-- desc:会员id
  26. * @return name:phone type:int default:-- desc:手机号
  27. * @return name:openid type:string default:-- desc:openid
  28. * @return name:name type:string default:-- desc:昵称
  29. * @return name:headimg type:string default:-- desc:头像地址
  30. *
  31. */
  32. public function getUserInfo()
  33. {
  34. $field = 'id,phone,name,level_id,headimg,openid';
  35. $user_info = User::field($field)->where('id',$this->user_id)->find()->toArray();
  36. $this->success('获取成功',['detail'=>$user_info]);
  37. }
  38. /**
  39. * @title 编辑个人信息
  40. * @desc 编辑个人信息
  41. * @author qc
  42. * @url /api/User_center/updateUserInfo
  43. * @method POST
  44. * @tag 编辑信息
  45. * @header name:Authorization require:1 desc:Token
  46. * @param name:name type:string default:-- desc:昵称
  47. * @param name:headimg type:string default:-- desc:头像地址
  48. * @return name:id type:int default:-- desc:会员id
  49. * @return name:phone type:int default:-- desc:手机号
  50. * @return name:openid type:string default:-- desc:openid
  51. * @return name:name type:string default:-- desc:昵称
  52. * @return name:headimg type:string default:-- desc:头像地址
  53. */
  54. public function updateUserInfo()
  55. {
  56. $headimg = input('post.headimg');
  57. $name = trim(input('post.name',''));
  58. $update_data= [];
  59. $update_data['name'] = $name;
  60. $update_data['headimg'] = $headimg;
  61. Db::name('store_member')->where('id',$this->user_id)->update($update_data);
  62. $field = 'id,phone,name,headimg,openid';
  63. $user_info = Db::name('store_member')->field($field)->where('id',$this->user_id)->find();
  64. $this->success('编辑成功',['detail'=>$user_info]);
  65. }
  66. /**
  67. * @title 绑定手机号
  68. * @desc 绑定手机号
  69. * @author qc
  70. * @url /api/User_center/modifyPhone
  71. * @method POST
  72. * @header name:Authorization require:1 desc:Token
  73. * @param name:phone type:int require:1 default:-- desc:手机号
  74. * @param name:code type:int require:1 default:-- desc:手机号验证码
  75. * @return name:phone type:int default:-- desc:手机号
  76. * @return name:name type:string default:-- desc:昵称
  77. * @return name:headimg type:string default:-- desc:头像地址
  78. */
  79. public function modifyPhone()
  80. {
  81. $uid = $this->user_id;
  82. $phone = input('post.phone');
  83. $code = input('post.code');
  84. if(empty($phone) || empty($code) ) $this->error('参数错误');
  85. $field = 'id,phone,name,headimg';
  86. $user_info = Db::name('store_member')->field($field)->where('id',$this->user_id)->find();
  87. if($user_info['phone'] == $phone)$this->error('更换手机号与绑定手机号一致!');
  88. $check_code = $this->checkPhoneCode($phone,$code);
  89. if(!$check_code) $this->error('验证码错误');
  90. //判断手机号是否已注册
  91. $member_id = Db::name('store_member')
  92. ->where('phone','=',$phone)->where('is_deleted','=',0)->where('id','<>',$this->user_id)->value('id');
  93. if($member_id) $this->error('手机号已注册过');
  94. Db::name('store_member')->where('id',$uid)->update(['phone'=>$phone]);
  95. $user_info['phone'] = $phone;
  96. $this->updatePhoneCode($check_code);
  97. $this->success('绑定成功',$user_info);
  98. }
  99. }