diff --git a/nkebao/src/api/common.ts b/nkebao/src/api/common.ts index 9ab445cc..6e675d3b 100644 --- a/nkebao/src/api/common.ts +++ b/nkebao/src/api/common.ts @@ -21,12 +21,7 @@ export async function uploadFile( }, }); - // 检查响应结果 - if (res?.code === 200 && res?.data?.url) { - return res.data.url; - } else { - throw new Error(res?.msg || "文件上传失败"); - } + return res.url; } catch (e: any) { throw new Error(e?.message || "文件上传失败"); } diff --git a/nkebao/src/pages/scenarios/plan/new/index.tsx b/nkebao/src/pages/scenarios/plan/new/index.tsx index 96bae635..7ab9db15 100644 --- a/nkebao/src/pages/scenarios/plan/new/index.tsx +++ b/nkebao/src/pages/scenarios/plan/new/index.tsx @@ -204,7 +204,7 @@ export default function NewPlan() { - + } diff --git a/nkebao/src/pages/scenarios/plan/new/steps/BasicSettings.tsx b/nkebao/src/pages/scenarios/plan/new/steps/BasicSettings.tsx index dde074fc..abc55a50 100644 --- a/nkebao/src/pages/scenarios/plan/new/steps/BasicSettings.tsx +++ b/nkebao/src/pages/scenarios/plan/new/steps/BasicSettings.tsx @@ -1,5 +1,5 @@ import React, { useState, useEffect, useRef } from "react"; -import { Form, Input, Button, Tag, Switch, Modal } from "antd"; +import { Form, Input, Button, Tag, Switch, Modal, Spin } from "antd"; import { Button as ButtonMobile } from "antd-mobile"; import { PlusOutlined, @@ -10,7 +10,6 @@ import { CheckOutlined, } from "@ant-design/icons"; import { uploadFile } from "@/api/common"; -import Layout from "@/components/Layout/Layout"; import styles from "./base.module.scss"; interface BasicSettingsProps { @@ -418,23 +417,36 @@ const BasicSettings: React.FC = ({
{/* 场景选择区块 */}
-
- {sceneList.map((scene) => { - const selected = formData.scenario === scene.id; - return ( - - ); - })} -
+ {sceneLoading ? ( +
+ +
+ ) : ( +
+ {sceneList.map((scene) => { + const selected = formData.scenario === scene.id; + return ( + + ); + })} +
+ )}
{/* 计划名称输入区 */}
计划名称
@@ -586,7 +598,6 @@ const BasicSettings: React.FC = ({ onChange={async (e) => { const file = e.target.files?.[0]; if (file) { - // 直接上传 try { const url = await uploadFile(file); const newPoster = { @@ -595,9 +606,14 @@ const BasicSettings: React.FC = ({ type: "poster", preview: url, }; + console.log(newPoster); + setCustomPosters((prev) => [...prev, newPoster]); + setSelectedMaterials([newPoster]); + onChange({ ...formData, materials: [newPoster] }); } catch (err) { // 可加toast提示 + log; } e.target.value = ""; }