orderBy('sort')->orderBy('id', 'DESC') ->simplePaginate()->toArray(); //如果没有数据,且没有软删除的数据,显示默认的几条数据,主要用于新代理商入驻时显示默认文章 /*if (empty($list['data'])) { if (Article::withTrashed()->where('agent_id', $this->agent_id)->count() === 0 && request('page', 1) < 2) { $list = Article::select('id', 'image', 'title', 'type', 'updated_at') ->orderBy('id')->simplePaginate()->toArray(); } }*/ $new_data = []; $prefix = Storage::disk('public')->url(''); foreach ($list['data'] as $k => &$item) { $item['image'] = $prefix . $item['image']; //type=1是大图 if ($item['type'] == 1) { $new_data[] = ['big' => $item]; continue; } //普通列表 $count = count($new_data); if ($count) { $new_data[$count - 1]['children'][] = $item; } else { $new_data[] = ['children' => [$item]]; } } $list['data'] = $new_data; return $this->success($list); } //文章详情 public function show() { $id = (int)request()->input('id'); $article = Article::find($id); /*if (Article::withTrashed()->where('agent_id', $this->agent_id)->count() === 0) { //演示文章 $article = Article::find($id); } else { $article = Article::where('agent_id', $this->agent_id)->find($id); }*/ if (!$article) { return $this->error('文章不存在或已被删除'); } $article->image = Storage::disk('public')->url('') . $article->image; if ($article->agent_product_ids) { $product = AgentProduct::list($this->agent_id) ->whereIn('id', $article->agent_product_ids) ->get(); if (!$product->isEmpty()) { $prefix = Storage::disk('public')->url(''); foreach ($product as &$v) { $v->pictures = array_map(fn($item) => $prefix . $item, $v->pictures); } } } $article->product = $product ?? []; return $this->success($article); } }