service = CatalogueService::getInstance(); $this->insertField = ['title', 'category_id', 'cover', 'identifier']; $this->updateField = ['id', 'title', 'category_id', 'cover', 'identifier']; $this->notRequest = ['alias', 'pdf', 'video', 'price', 'status']; } /** * 启用 / 禁用 * @Method POST * @throws Exception */ public function status(): JsonResponse { $this->insertField = ['id', 'status']; $params = $this->checkRequiredFields(request()->post()); return jok($this->service->status($params['id'], $params['status']), '操作成功'); } /** * 导出商品表(结构化数据,前端 ExcelJS 画 xlsx) * @Method GET */ public function export(): JsonResponse { return jok($this->service->exportExcel()); } /** * 导入商品表:前端已把 xlsx 拆成 rows * @Method POST */ public function import(): JsonResponse { $rows = request()->post('rows', []); $priceSheets = request()->post('price_sheets', []); return jok($this->service->importRows( is_array($rows) ? $rows : [], is_array($priceSheets) ? $priceSheets : [], ), '导入完成'); } }