IndexController.php 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213
  1. <?php
  2. namespace App\Http\Controllers\Admin;
  3. use App\Facade\TableName;
  4. use App\Http\Controllers\Controller;
  5. use Illuminate\Http\Request;
  6. use Illuminate\Support\Facades\DB;
  7. use Storage;
  8. class IndexController extends Controller
  9. {
  10. protected $whiteList = ['全局报表', '用户单控系统', '充值排行榜', '充值渠道修改', '提现数值修改', '充值邮件记录', '绑定关系查询', '提现订单审核', '房间实时数据', '推广员奖励报表', '绑定关系查询', '房间服务端数据统计', '留存数据', '游戏日志', '充值档位修改'];
  11. protected $childList = ['彩金控制'];
  12. protected $blacklist = [88, 90, 92, 98, 2073, 2072, 2077];
  13. protected $publicList = [];
  14. protected $serviceWhiteList = [64, 59, 3102, 3108, 13, 69, 70, 77, 82, 83, 2, 40];
  15. public function index()
  16. {
  17. $admin = session('admin');
  18. $role_id = $admin->roles[0]->id;
  19. $menuList = $admin->getMenus();
  20. // dd($menuList->toArray());
  21. // 查找管理员拥有的菜单
  22. // $menuRoleArr = Cache::remember('menuRoleArr', 60 * 3, function () use ($role_id) {
  23. $menuRoleArr= DB::table(TableName::agent() . 'admin_menu_admin_role')
  24. ->where('admin_role_id', $role_id)
  25. ->pluck('admin_menu_id')->toArray();
  26. // });
  27. // 管理员过滤菜单
  28. foreach ($menuList as $key => &$val) {
  29. // if (in_array($val->id, $this->blacklist)) {
  30. // unset($menuList[$key]);
  31. // }
  32. if (!in_array($val->id, $menuRoleArr)) {
  33. unset($menuList[$key]);
  34. }
  35. if (!empty($val->children)) {
  36. foreach ($val->children as $k => &$value){
  37. if (!in_array($value->id, $menuRoleArr)) {
  38. unset($val->children[$k]);
  39. }
  40. }
  41. }
  42. }
  43. // $hidden = session('hidden')['is_hidden'] ?? '';
  44. // $admin_hidden = session('admin_hidden')['is_hidden'] ?? '';
  45. // if (!empty($admin_hidden)) {
  46. // $this->hidden($menuList, ['渠道管理']);
  47. // }
  48. // switch ($hidden) {
  49. // case 'child':
  50. // $menuList = $this->hidden($menuList, $this->childList);
  51. // break;
  52. // case 'service':
  53. //// dd($this->serviceWhiteList);
  54. // $menuList = $this->show($menuList, $this->serviceWhiteList);
  55. // break;
  56. // }
  57. return view('admin.index', ['menu' => $menuList]);
  58. }
  59. // 展示
  60. public function show($menuList, $whiteList)
  61. {
  62. foreach ($menuList as &$val) {
  63. foreach ($val->children as $k => &$v) {
  64. if (!in_array($v->id, $whiteList)) {
  65. unset($val->children[$k]);
  66. }
  67. }
  68. }
  69. return $menuList;
  70. }
  71. // 隐藏
  72. public function hidden($menuList, $whiteList)
  73. {
  74. foreach ($menuList as &$val) {
  75. foreach ($val->children as $k => &$v) {
  76. if (in_array($v->id, $whiteList)) {
  77. unset($val->children[$k]);
  78. }
  79. }
  80. }
  81. return $menuList;
  82. }
  83. public function console()
  84. {
  85. return view('admin.console');
  86. }
  87. /**
  88. * @Desc: 后台图片上传
  89. * @Author: woann <304550409@qq.com>
  90. * @param Request $request
  91. * @return mixed
  92. */
  93. public function upload(Request $request)
  94. {
  95. $file = $request->file('image');
  96. $path = $request->input('path') . '/';
  97. if ($file) {
  98. if ($file->isValid()) {
  99. $size = $file->getSize();
  100. if ($size > 5000000) {
  101. return $this->json(500, '图片不能大于5M!');
  102. }
  103. // 获取文件相关信息
  104. $ext = $file->getClientOriginalExtension(); // 扩展名
  105. if (!in_array($ext, ['png', 'jpg', 'gif', 'jpeg', 'pem'])) {
  106. return $this->json(500, '文件类型不正确!');
  107. }
  108. $realPath = $file->getRealPath(); //临时文件的绝对路径
  109. // 上传文件
  110. $filename = $path . date('Ymd') . '/' . uniqid() . '.' . $ext;
  111. // 使用我们新建的uploads本地存储空间(目录)
  112. $bool = Storage::disk('admin')->put($filename, file_get_contents($realPath));
  113. if ($bool) {
  114. return $this->json(200, '上传成功', ['filename' => '/uploads/' . $filename]);
  115. } else {
  116. return $this->json(500, '上传失败!');
  117. }
  118. } else {
  119. return $this->json(500, '文件类型不正确!');
  120. }
  121. } else {
  122. return $this->json(500, '上传失败!');
  123. }
  124. }
  125. /**
  126. * @Desc: 富文本上传图片
  127. * @Author: woann <304550409@qq.com>
  128. * @param Request $request
  129. */
  130. public function wangeditorUpload(Request $request)
  131. {
  132. $file = $request->file('wangEditorH5File');
  133. if ($file) {
  134. if ($file->isValid()) {
  135. // 获取文件相关信息
  136. $ext = $file->getClientOriginalExtension(); // 扩展名
  137. $realPath = $file->getRealPath(); //临时文件的绝对路径
  138. // 上传文件
  139. $filename = date('Ymd') . '/' . uniqid() . '.' . $ext;
  140. // 使用我们新建的uploads本地存储空间(目录)
  141. $bool = Storage::disk('admin')->put('/wangeditor/' . $filename, file_get_contents($realPath));
  142. if ($bool) {
  143. echo asset('/uploads/wangeditor/' . $filename);
  144. } else {
  145. echo 'error|上传失败';
  146. }
  147. } else {
  148. echo 'error|上传失败';
  149. }
  150. } else {
  151. echo 'error|图片类型不正确';
  152. }
  153. }
  154. /**
  155. * @Desc: 无权限界面
  156. * @Author: woann <304550409@qq.com>
  157. * @return \Illuminate\View\View
  158. */
  159. public function noPermission()
  160. {
  161. return view('base.403');
  162. }
  163. public function excelUpload(Request $request)
  164. {
  165. $file = $request->file('file');
  166. if ($request->isMethod('post') && $file) {
  167. //> 获取上传文件路径 $_FILES
  168. if ($_FILES['file']['error'] == 0) {
  169. //> 获取上传文件名称(已便于后面判断是否上传需要后缀文件)
  170. $name = $_FILES['file']['name'];
  171. //> 获取上传文件后缀 如(xls exe xlsx 等)
  172. $ext = strtolower(trim(substr($name, (strpos($name, '.') + 1))));
  173. //> 判断文件是否为指定的上传文件后缀
  174. if (!in_array($ext, array('xls', 'xlsx'))) {
  175. //> 返回上一次请求位置,并携带错误消息
  176. return redirect()->back()->withErrors('请输入xls或xlsx后缀文件')->withInput();
  177. }
  178. //> 获取文件上传路径
  179. $fileName = $_FILES['file']['tmp_name'];
  180. //> excel文件导入 上传文件
  181. Excel::load($fileName, function ($reader) {
  182. //> 处理上传文件数据 此时 处理多个上传的 sheet 文件
  183. foreach ($reader->get() as $item) {
  184. //> 处理相关上传excel数据
  185. dump($item);
  186. }
  187. });
  188. }
  189. exit;
  190. }
  191. }
  192. }