123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | Description: 基础类,无需验证权限。
  4. // +----------------------------------------------------------------------
  5. // | Author:
  6. // +----------------------------------------------------------------------
  7. namespace app\admin\controller;
  8. use com\verify\HonrayVerify;
  9. use app\common\controller\Common;
  10. use think\Cache;
  11. use think\Request;
  12. use think\Session;
  13. class Base extends Common
  14. {
  15. public function login()
  16. {
  17. $request = Request::instance();
  18. $paramArr = $request->param();
  19. $userModel = model('User');
  20. $param = $this->param;
  21. $username = $param['username'];
  22. $password = $param['password'];
  23. $verifyCode = !empty($param['verifyCode']) ? $param['verifyCode']: '';
  24. $isRemember = !empty($param['isRemember']) ? $param['isRemember']: '';
  25. $data = $userModel->login($username, $password, $verifyCode, $isRemember, $type, $authKey, $paramArr);
  26. Session::set('user_id', $data['userInfo']['id']);
  27. if (!$data) {
  28. return resultArray(['error' => $userModel->getError()]);
  29. }
  30. # 数据库更新 todo 在线升级正常使用后删除
  31. $updateStatus = $this->executeUpdateSql();
  32. if (empty($updateStatus['status'])) return resultArray(['error' => $updateStatus['message']]);
  33. return resultArray(['data' => $data]);
  34. }
  35. /**
  36. * 更新SQL
  37. *
  38. * @author fanqi
  39. * @since 2021-05-08
  40. */
  41. public function executeUpdateSql()
  42. {
  43. # 表前缀
  44. $prefix = config('database.prefix');
  45. # 检查更新记录表是否存在
  46. if (!db()->query("SHOW TABLES LIKE '".$prefix."admin_upgrade_record'")) {
  47. db()->query("
  48. CREATE TABLE `".$prefix."admin_upgrade_record` (
  49. `version` int(10) unsigned DEFAULT NULL COMMENT '版本号',
  50. UNIQUE KEY `version` (`version`) USING BTREE
  51. ) ENGINE = InnoDB DEFAULT CHARSET = utf8 COMMENT = 'SQL更新记录,用于防止重复执行更新。'
  52. ");
  53. }
  54. # 检查是否执行过11.0.3版本的更新
  55. if (!db('admin_upgrade_record')->where('version', 1103)->value('version')) {
  56. # 添加跟进记录导入导出权限数据
  57. UpdateSql::addFollowRuleData();
  58. # 添加公海默认数据
  59. $poolStatus = UpdateSql::addPoolDefaultData();
  60. if (!$poolStatus) return ['status' => false, 'message' => '添加公海默认配置失败,请在后台手动添加!'];
  61. # 添加此次升级标记
  62. db('admin_upgrade_record')->insert(['version' => 1103]);
  63. return ['status' => true, 'message' => '更新完成!'];
  64. }
  65. return ['status' => true, 'message' => '没有可用更新!'];
  66. }
  67. //退出登录
  68. public function logout()
  69. {
  70. $param = $this->param;
  71. $header = Request::instance()->header();
  72. $request = Request::instance();
  73. $paramArr = $request->param();
  74. $platform = $paramArr['platform'] ? '_'.$paramArr['platform'] : ''; //请求平台(mobile,ding)
  75. $cache = Cache::set('Auth_'.trim($header['authkey']).$platform,null);
  76. cookie(null, '72crm_');
  77. cookie(null, '5kcrm_');
  78. session('user_id','null');
  79. return resultArray(['data'=>'退出成功']);
  80. }
  81. //获取图片验证码
  82. public function getVerify()
  83. {
  84. $captcha = new HonrayVerify(config('captcha'));
  85. return $captcha->entry();
  86. }
  87. //网站信息
  88. public function index()
  89. {
  90. $systemModel = model('System');
  91. $data = $systemModel->getDataList();
  92. return resultArray(['data' => $data]);
  93. }
  94. // miss 路由:处理没有匹配到的路由规则
  95. public function miss()
  96. {
  97. if (Request::instance()->isOptions()) {
  98. return ;
  99. } else {
  100. echo '悟空软件';
  101. }
  102. }
  103. }