Login.php 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. <?php namespace Manage\Api;
  2. use Dever;
  3. use Dever\Helper\Secure;
  4. use Dever\Helper\Str;
  5. use Dever\Helper\Code;
  6. class Login
  7. {
  8. public function act()
  9. {
  10. //$this->checkCode();
  11. $where['mobile'] = Dever::input('mobile', Dever::rule('mobile'), '手机号');
  12. $password = Dever::input('password', 'is_string', '密码');
  13. $admin = Dever::db('admin')->find($where);
  14. if (!$admin) {
  15. $total = Dever::db('admin')->count();
  16. if ($total <= 0) {
  17. $insert['name'] = Str::hide($where['mobile']);
  18. $insert['mobile'] = $where['mobile'];
  19. $insert += Dever::load('common')->createPwd($password);
  20. $id = Dever::db('admin')->insert($insert);
  21. $admin = Dever::db('admin')->find($id);
  22. } else {
  23. Dever::error('登录失败');
  24. }
  25. }
  26. if (!$admin) {
  27. Dever::error('登录失败');
  28. }
  29. if (Dever::load('common')->hash($password, $admin['salt']) != $admin['password']) {
  30. Dever::error('登录失败');
  31. }
  32. return array('token' => Secure::login($admin['id']));
  33. }
  34. private function checkCode()
  35. {
  36. $code = Dever::input('verificationCode');
  37. if (!$code) {
  38. Dever::error('请输入验证码');
  39. }
  40. $save = Dever::session('code');
  41. if ($code != $save) {
  42. Dever::error('验证码错误');
  43. }
  44. }
  45. public function code()
  46. {
  47. echo Dever::session('code', Code::create(), 3600);die;
  48. }
  49. public function out()
  50. {
  51. return 'ok';
  52. }
  53. public function loadMenu()
  54. {
  55. return Dever::load('menu')->init();
  56. }
  57. }