User.php 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. <?php
  2. namespace app\index\controller;
  3. use think\Controller;
  4. class User extends Controller
  5. {
  6. // 用户首页
  7. public function index()
  8. {
  9. $token = input("param.token/s");
  10. $res = model('Accounts')->checktoken($token);
  11. if($res == -1){
  12. return $res;
  13. }
  14. $user_id = explode('/',base64_decode($token))['2'];
  15. $userInfo = db('accounts')->where('id', $user_id)->find();
  16. //print_r($userInfo);exit;
  17. $this->assign([
  18. 'userInfo' => $userInfo
  19. ]);
  20. return $this->fetch();
  21. }
  22. // 修改密码
  23. public function uqdatePwd()
  24. {
  25. $token = input("param.token/s");
  26. $res = model('Accounts')->checktoken($token);
  27. if($res == -1){
  28. return $res;
  29. }
  30. $user_id = explode('/',base64_decode($token))['2'];
  31. if(request()->isPost()){
  32. $password = input("param.password/s");
  33. $newPassword = input("param.newPassword/s");
  34. $confirmPassword = input("param.confirmPassword/s");
  35. }
  36. if(empty($password)){
  37. return json(['code' => -1, 'data' => '', 'msg' => '原密码不能为空']);
  38. }
  39. if(empty($newPassword)){
  40. return json(['code' => -2, 'data' => '', 'msg' => '新密码不能为空']);
  41. }
  42. if(empty($confirmPassword)){
  43. return json(['code' => -3, 'data' => '', 'msg' => '确认新密码不能为空']);
  44. }
  45. if($newPassword != $confirmPassword){
  46. return json(['code' => -3, 'data' => '', 'msg' => '新密码不一致']);
  47. }
  48. $userInfo = db('accounts')->where('id', $user_id)->find();
  49. if(md5($password . config('salt')) != $userInfo['password']){
  50. return json(['code' => -3, 'data' => '', 'msg' => '原密码不正确']);
  51. }
  52. $param = [
  53. 'password' => md5($newPassword . config('salt'))
  54. ];
  55. db('accounts')->where('id', $user_id)->update($param);
  56. return json(['code' => 1, 'data' => url('user/index'), 'msg' => '密码修改成功']);
  57. }
  58. // 用户留言
  59. public function LeavingMessage()
  60. {
  61. if(request()->isPost()){
  62. $name = input("param.name/s");
  63. $email = input("param.email/s");
  64. $content = input("param.content/s");
  65. $phone = input("param.phone/s");
  66. $file = request()->file('file');
  67. if(empty($name)){
  68. return json(['code' => -1, 'data' => '', 'msg' => '用户名称不能为空']);
  69. }
  70. if(empty($email)){
  71. return json(['code' => -2, 'data' => '', 'msg' => '邮箱不能为空']);
  72. }
  73. if(empty($content)){
  74. return json(['code' => -3, 'data' => '', 'msg' => '内容不能为空']);
  75. }
  76. if(empty($phone)){
  77. return json(['code' => -4, 'data' => '', 'msg' => '电话不能为空']);
  78. }
  79. if(empty($file)){
  80. return json(['code' => -5, 'data' => '', 'msg' => '附件不能为空']);
  81. }
  82. $fileInfo = $file->getInfo();
  83. /*if($fileInfo['size'] > 1024 * 1024 * 2){
  84. // 上传失败获取错误信息
  85. return json( ['code' => -6, 'data' => '', 'msg' => '文件超过2M'] );
  86. }*/
  87. //检测图片格式
  88. $ext = explode('.', $fileInfo['name']);
  89. $ext = array_pop($ext);
  90. $extArr = explode('|', 'jpg|png|gif|jpeg');
  91. if(!in_array($ext, $extArr)){
  92. return json(['code' => -7, 'data' => '', 'msg' => '只能上传jpg|png|gif|jpeg的文件']);
  93. }
  94. // 移动到框架应用根目录/public/uploads/ 目录下
  95. $info = $file->move(ROOT_PATH . 'public' . DS . 'uploads');
  96. if($info){
  97. $src = '/uploads' . '/' . date('Ymd') . '/' . $info->getFilename();
  98. }else{
  99. // 上传失败获取错误信息
  100. return json(['code' => -8, 'data' => '', 'msg' => $file->getError()]);
  101. }
  102. $param = [
  103. 'name' => $name,
  104. 'email' => $email,
  105. 'content' => $content,
  106. 'image' => $src,
  107. 'phone' => $phone,
  108. 'message_status' => 0,
  109. 'add_time' => time()
  110. ];
  111. db('accountsmessage')->insertGetId($param);
  112. return json(['code' => 1, 'data' => url('user/index'), 'msg' => '留言成功']);
  113. }
  114. }
  115. }