BaseController.php 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <?php
  2. namespace app\admin;
  3. use think\App;
  4. use app\BaseController as base;
  5. use think\facade\Db;
  6. /**
  7. * Class BaseController
  8. * @package app\admin
  9. * 基础控制器
  10. */
  11. class BaseController extends base{
  12. public $post=[];
  13. public $uid='';
  14. public $uname='';
  15. public $roleid='';
  16. public $level='';
  17. public function __construct(App $app) {
  18. parent::__construct($app);
  19. $this->post =$this->request->post();
  20. $vali = $this->validateToken();
  21. if($vali['code']!=0){
  22. error_show($vali['code'],$vali['message'])->send();
  23. die();
  24. }
  25. }
  26. /**
  27. * @return array
  28. * @throws \think\db\exception\DataNotFoundException
  29. * @throws \think\db\exception\DbException
  30. * @throws \think\db\exception\ModelNotFoundException
  31. * @throws \think\exception\DbException
  32. */
  33. public function validateToken(){
  34. $token = isset($this->post['token']) ? trim($this->post['token']) : "";
  35. $companyNo = isset($this->post['relaComNo']) ? trim($this->post['relaComNo']) : "";
  36. if($token==""){
  37. return ["code"=>101,"message"=>"参数token不能为空"];
  38. }
  39. $effetc = VerifyTokens($token);
  40. if(!empty($effetc) && $effetc['code']!=0) {
  41. return ["code"=>$effetc['code'],"message"=>$effetc['message']];
  42. // return error_show($effetc['code'], $effetc['message']);
  43. }
  44. $this->uid=$effetc['data']['id']??"";
  45. $this->uname=$effetc['data']['user']['nickname']??"";
  46. $where=[];
  47. if($companyNo!=""){
  48. $where=["companyNo"=>$companyNo];
  49. }
  50. $role = Db::name("user_role")->where(["uid"=>$this->uid,"status"=>1,"is_del"=>0])
  51. ->where($where)->findOrEmpty();
  52. if(empty($role)){
  53. return ["code"=>101,"message"=>"账户已禁用"];
  54. }
  55. $this->roleid=$role['roleid'];
  56. $this->level=Db::name("role")->where(["id"=>$role['roleid']])->value("level",'');
  57. return ["code"=>0,"message"=>"验证通过"];
  58. }
  59. }