_valid([ "category.default" => 0, "size.default" => 10, "page.default" => 1, ],$request->method()); $banner = (new BlueBanner)->where("status",1)->field("title,img,path")->select()->toArray(); $category = (new BlueCategory)->where("type",1)->field("name,icon,small_icon,sign")->append(['id'])->withAttr(['id' => function($data,$resp){ return $resp['sign']; }])->select()->toArray(); if (empty($param['category']) || $param['category'] == 0) { $param['category'] = $category[0]['id']; } $share = [ "image" => sConf("wechat.share"), "title" => sConf("wechat.share_title") ]; $rank = []; $star = (new BlueExpertPlatform)->order("create_at","desc")->field("source,nickname,avatar,follower_count,create_at")->limit(10)->select()->toArray(); $list = $this->service->getHomeList(['category' => $param['category'],'pageSize' => $param['size'],'page' => $param['page']]); $task = pageFormat($list); return success("ok",compact("banner","category",'task','share','rank','star')); } catch (\Throwable $throwable) { return error($throwable->getMessage()); } } /** * 达人之家 * @param Request $request * @return Response */ #[Route(path: "star",methods: "get")] public function getStarList(Request $request): Response { try { $param = $this->_valid([ "nick.default" => "", "source.default" => "" ],$request->method()); if (!is_array($param)) return error($param); $data = (new ExpertPlatformService)->getListStar($param,"id,nickname,avatar,follower_count,unique_id,openid"); if (empty($data)) return successTrans("success.data",$data); $return = []; foreach ($data as $key=>$val) { $return[$key] = [ "id" => $val['id'], "nickname" => $val['nickname'], "avatar" => $val['avatar'], "follower" => formatMoneyKw($val['follower_count']), "income" => 0, "job" => count($val['job']), "level" => [ "name" => $val['user']['level']['name']??'-', "num" => $val['user']['level']['level']??0 ], ]; } return successTrans("success.data",$return); } catch (\Throwable $throwable) { return error($throwable->getMessage()); } } }