]> acesimba.cloud Git - StationBuilder.git/commitdiff
生成确认页:删除生成选项/提示词/任务/AI工作流区域;MU页面改SC;新增下载按钮
authorroot <root@localhost.localdomain>
Mon, 14 Sep 2026 06:52:48 +0000 (14:52 +0800)
committerroot <root@localhost.localdomain>
Mon, 14 Sep 2026 06:52:48 +0000 (14:52 +0800)
app/page.tsx

index 15a13485ac1b80fd42a88761b5af5d8d852cb70f..7bd764c401969a94a72ea76ad123b25cf2c2fa41 100644 (file)
@@ -1314,7 +1314,7 @@ function Generate({site,onSiteChange,notify,viewPrompt,viewSitePrompt}:{site:Sit
   const scope=[
     ["站点",site.name||"未命名站点",site.domain],
     ["Asset 资产",`${site.assets.filter(a=>a.type).length} 类 / ${site.assets.reduce((n,a)=>n+Number(a.count||0),0)} 个设备`,`3 层资产结构(未开发)`],
-    ["MU 页面",`${site.mu.length} 个标准页面`,`直接复用并配置菜单(未开发)`],
+    ["SC 页面",`${site.mu.length} 个标准页面`,`直接复用并配置菜单(未开发)`],
     ["Cube 页面",`${site.cubes.length} 个扩展页面`,`生成 ${site.cubes.length} 个独立 JSON`],
   ];
   const start=async()=>{
@@ -1355,15 +1355,8 @@ function Generate({site,onSiteChange,notify,viewPrompt,viewSitePrompt}:{site:Sit
     }catch(e:any){ notify("生成失败: "+e.message); }
     finally{ setRunning(false); }
   };
-  return <div className="generate-layout"><div><Panel title="生成范围确认"><div className="confirm-grid">{scope.map(x=><div key={x[0]}><span>{x[0]}</span><b>{x[1]}</b><small>{x[2]}</small><button>{"返回修改"}</button></div>)}</div></Panel><Panel title="页面生成提示词(生成前可核对)"><div className="prompt-list"><div className="prompt-row"><span><b>站点级提示词(通用上下文)</b><small>每个页面都会携带的站点背景与 Cube 规则,可先核对</small></span><button className="text-button" onClick={viewSitePrompt}>查看提示词 →</button></div>{site.cubes.length?site.cubes.map(c=><div key={c.id} className="prompt-row"><span><b>{c.name}</b>{c.content&&<small>{c.content}</small>}</span><button className="text-button" onClick={()=>viewPrompt(c.id, c.name, c.content)}>查看提示词 →</button></div>):<div className="empty-state">尚未添加 Cube 扩展页面(在「功能与菜单」中添加后,这里会列出每个页面的提示词)</div>}</div></Panel><Panel title="生成选项"><div className="option-list">{[
-      {label:"生成 Asset Excel", disabled:true, note:"未开发"},
-      {label:"生成菜单配置", disabled:false},
-      {label:"生成 Cube JSON", disabled:false},
-      {label:"创建合理的模拟数据", disabled:false},
-      {label:"生成页面预览", disabled:false},
-      {label:"执行 Cube JSON 校验", disabled:false},
-    ].map(x=><label key={x.label} className={x.disabled?"disabled":""}><input type="checkbox" defaultChecked={!x.disabled} disabled={x.disabled}/><span>{x.label}{x.note&&<small>{x.note}</small>}</span></label>)}</div></Panel></div>
-    <div className="gen-right"><Panel title="生成任务" className="task-panel"><div className="overall"><div><b>{progress===100?"生成完成":running?"正在生成站点方案":"准备就绪"}</b><span>{progress}%</span></div><div className="meter"><i style={{width:progress+"%"}}/></div><p>{progress===100?"全部交付物已生成并通过校验。":running?"Wordbuddy Hy3 正在调用 Cube Skill 创建页面与模拟数据。":"Wordbuddy Hy3 已就绪,预计需要约 2 分钟。"}</p></div><div className="task-list">{tasks.map((x,i)=><div key={i}><i className={x.status==="done"?"done":x.status==="running"?"spin":x.status==="failed"?"bad":""}>{x.status==="done"?"✓":x.status==="running"?"↻":x.status==="failed"?"!":"·"}</i><span><b>{x.name}</b>{x.message&&<small>{x.message}</small>}</span><Status>{x.status==="done"?"成功":x.status==="running"?"生成中":x.status==="failed"?"失败":"等待"}</Status></div>)}</div><Button disabled={running} onClick={start}>{progress===100?"重新生成":running?"正在生成…":"开始生成"}</Button>{zipUrl&&<Button secondary onClick={()=>window.open(zipUrl,"_blank")}>⇩ 下载 ZIP</Button>}</Panel><Panel title="AI 生成工作流" className="console-panel"><div className="gen-console" ref={consoleRef}><pre>{log || "(等待生成开始…)"}</pre></div></Panel></div></div>;
+  return <div className="generate-layout"><Panel title="生成范围确认"><div className="confirm-grid">{scope.map(x=><div key={x[0]}><span>{x[0]}</span><b>{x[1]}</b><small>{x[2]}</small><div style={{display:"flex",gap:"6px"}}><button>{"返回修改"}</button><button className="text-button"><DownloadOutlined/> 下载</button></div></div>)}</div>
+<div style={{marginTop:"16px",textAlign:"right"}}><Button><DownloadOutlined/> 下载全部</Button></div></Panel></div>;
 }
 
 // 缩略图:拉取 cube 生成的 dashboard JSON,用公开渲染器按 1920×1080 渲染后缩放显示