repository = $repository; $this->validator = $validator; } /** * 配置列表 * @return \Illuminate\Http\JsonResponse|\Illuminate\Http\Resources\Json\Resource * Author: Mead */ public function tree() { $departments = $this->repository->orderByDesc('sort')->get()->append('parent_name')->toArray(); return Response::success(toTree($departments)); } /** * 获取某个配置 * @param Request $request * @return \Illuminate\Http\JsonResponse|\Illuminate\Http\Resources\Json\Resource * Author: Mead */ public function setting(Request $request) { $this->validate($request, ['key' => 'required']); $key = $request->get('key'); $setting = Setting::query()->where('key', strtoupper($key))->first(); return Response::success($setting); } /** * 获取配置项 * @param Request $request * @return \Illuminate\Http\JsonResponse|\Illuminate\Http\Resources\Json\JsonResource * Author: Mead */ public function settings(Request $request) { $this->validate($request, ['keys' => 'required']); $keys = str2arr($request->get('keys')); $settings = Setting::query()->whereIn('key', $keys)->get(); $data = []; foreach ($settings as $setting) { switch ($setting->type) { case 0: $data[$setting['key']] = $setting->body; break; case 1: $data[$setting['key']] = Resource::query()->where('id', $setting->body)->select(['url', 'path'])->first(); break; } } return Response::success($data); } }