Login.php 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  1. <?php
  2. /**
  3. *
  4. * User: anyluck
  5. * Date: 2020/6/3
  6. * Time: 9:46
  7. */
  8. namespace app\web\controller;
  9. use app\common\controller\Upfile;
  10. use app\common\model\PhoneCode;
  11. use app\common\model\User;
  12. use app\web\model\Tripartite;
  13. use Ramsey\Uuid\Uuid;
  14. class Login
  15. {
  16. // todo 登录注册
  17. // 登录
  18. public function in_login()
  19. {
  20. $phone=input("phone");if (!$phone)json_result(400,"请输入手机号码或者邮箱账号");
  21. $pwd=input("pwd");if (!$pwd)json_result(400,"请输入登录密码");
  22. $where["phone|mail"]=$phone;
  23. $user=User::where($where)->find();
  24. if (!$user){
  25. json_result(400,"账号不存在");
  26. }
  27. if (!password_verify($pwd,$user->pwd)){
  28. json_result(400,"密码错误");
  29. }
  30. json_result(200,"登录成功",$user);
  31. }
  32. // 获取验证码
  33. public function code()
  34. {
  35. $phone=input("phone");if (!$phone)json_result(400,"请输入手机号或者邮箱");
  36. $type=input("type")?:0;
  37. // 查询是否重复发送
  38. $where["phone"]=$phone;
  39. $where["add_time"]=["<",time()-(1*60)];
  40. $phone_code=PhoneCode::where($where)->find();
  41. if ($phone_code){
  42. json_result(400,"验证码已发送请稍后再发送");
  43. }
  44. $res=Tripartite::send_code($phone,$type);
  45. json_result(200,"验证码发送成功",$res);
  46. }
  47. // 注册
  48. public function register()
  49. {
  50. $phone=input("phone");if (!$phone)json_result(400,"请输入手机号或者邮箱");
  51. $code=input("code");if (!$code)json_result(400,"请输入验证码");
  52. $name=input("name");if (!$name)json_result(400,"请输入账户呢称");
  53. $type=input("type")?:0;
  54. $pwd=input("pwd");if (!$pwd)json_result(400,"请输入密码");
  55. $pid=input("pid");
  56. // 查看账号是存在
  57. $where["phone|mail"]=$phone;
  58. $user=User::where($where)->find();
  59. if ($user){
  60. json_result(400,"账号已注册,请前去登录");
  61. }
  62. // 验证码
  63. $phone_code=Tripartite::push_code($phone);
  64. if ($phone_code!=$code){
  65. json_result(400,"验证码错误");
  66. }
  67. if ($pid){
  68. $where["code"]=$pid;
  69. $pid_user=User::where($where)->find();
  70. if (!$pid_user){
  71. json_result(400,"上级账号不存在");
  72. }
  73. $add["pid"]=$pid_user->id;
  74. }
  75. $add["code"]=uniqid();
  76. if ($type==0){
  77. $add["phone"]=$phone;
  78. }else{
  79. $add["mail"]=$phone;
  80. }
  81. $add["name"]=$name;
  82. $uuid=Uuid::uuid1();
  83. $add["token"]=$uuid->getHex();;
  84. $add["add_time"]=time();
  85. $add["pwd"]= password_hash($pwd, PASSWORD_DEFAULT);;
  86. User::create($add);
  87. json_result(200,"测试成功");
  88. }
  89. // 忘记密码 第一部
  90. public function forget_password()
  91. {
  92. $phone=input("phone");if(!$phone)json_result(400,"请输入手机号码或者邮箱");
  93. $type=input("type")?:0;
  94. $code=input("code");if (!$code)json_result(400,"请输入验证码");
  95. $name=input("name");
  96. // 查看账号是存在
  97. $where["phone|mail"]=$phone;
  98. $user=User::where($where)->find();
  99. if (!$user){
  100. json_result(400,"账号不存在");
  101. }
  102. // 验证码
  103. $phone_code=Tripartite::push_code($phone,$type);
  104. if ($phone_code!=$code){
  105. json_result(400,"验证码错误");
  106. }
  107. json_result(200,"验证码成功");
  108. }
  109. // 修改密码--第二步
  110. public function update_password()
  111. {
  112. $pwd=input("pwd");if (!$pwd)json_result(400,"请输入密码");
  113. $phone=input("phone");if(!$phone)json_result(400,"请输入手机号码或者邮箱");
  114. // 查看账号是存在
  115. $where["phone|mail"]=$phone;
  116. $user=User::where($where)->find();
  117. if (!$user){
  118. json_result(400,"账号不存在");
  119. }
  120. $add["pwd"]= password_hash($pwd, PASSWORD_DEFAULT);;
  121. User::where(["id"=>$user->id])->update($add);
  122. json_result(200,"设置密码成功");
  123. }
  124. // 上传图片
  125. public function up_image()
  126. {
  127. $img = request()->file('image');
  128. if ($img){
  129. $up['image']=Upfile::uploadone($img);
  130. json_result(1,"成功",$up['image']);
  131. }else{
  132. json_result(2,"请上传图片");
  133. }
  134. }
  135. }