Index.php 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <?php
  2. declare (strict_types = 1);
  3. namespace app\admin\controller;
  4. use app\BaseController;
  5. use app\common\model\AuthGroupAccessModel;
  6. use app\common\model\AuthGroupModel;
  7. use app\common\model\AuthRuleModel;
  8. use app\Request;
  9. use think\App;
  10. use think\facade\View;
  11. class Index extends BaseController
  12. {
  13. private $authGroupModel;
  14. private $authGroupAccessModel;
  15. private $authRuleModel;
  16. public function __construct(App $app)
  17. {
  18. $this->authGroupModel = new AuthGroupModel();
  19. $this->authGroupAccessModel = new AuthGroupAccessModel();
  20. $this->authRuleModel = new AuthRuleModel();
  21. parent::__construct($app);
  22. }
  23. private function loadRuleTreeByAdminId(int $adminId) {
  24. $access = $this->authGroupAccessModel->where('uid',$adminId)->find();
  25. if ($access->group_id > 0) {
  26. $group = $this->authGroupModel->where('id',$access->group_id)->find();
  27. if ($group) {
  28. $rules_str = $group->rules;
  29. $rules = [];
  30. if($rules_str == "*"){
  31. $rules = $this->authRuleModel->select();
  32. } else {
  33. $rules = $this->authRuleModel->select(explode(',',$rules_str));
  34. }
  35. return $rules;
  36. }
  37. }
  38. return [];
  39. }
  40. public function index(Request $request)
  41. {
  42. $adminId = 10000; //$request->param(['adminId']);
  43. $rules = $this->loadRuleTreeByAdminId($adminId);
  44. View::assign('rules',recursion($rules,0));
  45. return view();
  46. }
  47. public function home()
  48. {
  49. return view();
  50. }
  51. }