orderBy('id')->get(); return view('admin.shop.index', compact('items')); } /** * 新增商品(仅 id=1 超级站长) */ public function store(StoreShopItemRequest $request): RedirectResponse { $data = $request->validated(); ShopItem::create($data); return redirect()->route('admin.shop.index')->with('success', '商品「'.$data['name'].'」创建成功!'); } /** * 更新商品信息 * * @param ShopItem $shopItem 路由模型自动注入 */ public function update(UpdateShopItemRequest $request, ShopItem $shopItem): RedirectResponse { $data = $request->validated(); $shopItem->update($data); return redirect()->route('admin.shop.index')->with('success', '商品「'.$shopItem->name.'」更新成功!'); } /** * 切换商品上下架状态 * * @param ShopItem $shopItem 路由模型自动注入 */ public function toggle(ShopItem $shopItem): RedirectResponse { $shopItem->update(['is_active' => ! $shopItem->is_active]); $status = $shopItem->is_active ? '上架' : '下架'; return redirect()->route('admin.shop.index')->with('success', "「{$shopItem->name}」已{$status}。"); } /** * 删除商品(仅 id=1 超级站长) * * @param ShopItem $shopItem 路由模型自动注入 */ public function destroy(ShopItem $shopItem): RedirectResponse { abort_unless(Auth::id() === 1, 403); $name = $shopItem->name; $shopItem->delete(); return redirect()->route('admin.shop.index')->with('success', "「{$name}」已删除。"); } }