Login.php 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. <?php
  2. namespace app\admin\controller;
  3. use think\facade\View;
  4. use think\facade\Lang;
  5. use think\captcha\facade\Captcha;
  6. /**
  7. * ============================================================================
  8. * DSMall多用户商城
  9. * ============================================================================
  10. * 版权所有 2014-2028 长沙德尚网络科技有限公司,并保留所有权利。
  11. * 网站地址: http://www.csdeshang.com
  12. * ----------------------------------------------------------------------------
  13. * 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和使用 .
  14. * 不允许对程序代码以任何形式任何目的的再发布。
  15. * ============================================================================
  16. * 控制器
  17. */
  18. class Login extends AdminControl {
  19. public function initialize() {
  20. parent::initialize();
  21. Lang::load(base_path() . 'admin/lang/'.config('lang.default_lang').'/login.lang.php');
  22. }
  23. public function index() {
  24. if (session('admin_id')) {
  25. $this->success(lang('already_logged'), 'Index/index');
  26. }
  27. if (request()->isPost()) {
  28. $admin_name = input('post.admin_name');
  29. $admin_password = input('post.admin_password');
  30. $captcha = input('post.captcha');
  31. $data = array(
  32. 'admin_name' => $admin_name,
  33. 'admin_password' => $admin_password,
  34. 'captcha' => $captcha,
  35. );
  36. if (!captcha_check(input('post.captcha'))) {
  37. //验证失败
  38. ds_json_encode(10001,lang('wrong_checkcode'));
  39. }
  40. $login_validate = ds_validate('admin');
  41. if (!$login_validate->scene('index')->check($data)) {
  42. ds_json_encode(10001,$login_validate->getError());
  43. }
  44. $condition = array();
  45. $condition[] = array('admin_name','=',$admin_name);
  46. $condition[] = array('admin_password','=',md5($admin_password));
  47. $admin_mod=model('admin');
  48. $admin_info = $admin_mod->getOneAdmin($condition);
  49. if (is_array($admin_info) and !empty($admin_info)) {
  50. //更新 admin 最新信息
  51. $update_info = array(
  52. 'admin_login_num' => ($admin_info['admin_login_num'] + 1),
  53. 'admin_login_time' => TIMESTAMP
  54. );
  55. $admin_mod->editAdmin($update_info, $admin_info['admin_id']);
  56. //设置 session
  57. session('admin_id', $admin_info['admin_id']);
  58. session('admin_name', $admin_info['admin_name']);
  59. session('admin_gid', $admin_info['admin_gid']);
  60. session('admin_is_super', $admin_info['admin_is_super']);
  61. ds_json_encode(10000,lang('login_succ'), '','',false);
  62. } else {
  63. ds_json_encode(10001,lang('login_error'));
  64. }
  65. } else {
  66. return View::fetch();
  67. }
  68. }
  69. public function logout() {
  70. //设置 session
  71. session(null);
  72. ds_json_encode(10000,lang('logout_succ'), '','',false);
  73. }
  74. /**
  75. *产生验证码
  76. */
  77. public function makecode()
  78. {
  79. $config = [
  80. 'fontSize' => 20, // // 验证码字体大小
  81. 'length' => 4, // 验证码位数
  82. 'useNoise' => false,//是否添加杂点
  83. 'useCurve' =>true,
  84. 'imageH' => 50,//高度
  85. 'imageW' => 150,
  86. ];
  87. config($config,'captcha');
  88. $captcha = Captcha::create();
  89. return $captcha;
  90. }
  91. }
  92. ?>