Files

100 lines
4.4 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<h2>A 方案细化:集成式页面设计工作台</h2>
<p class="subtitle">一期不做万能低代码平台,先在现有“项目生成工作台”里新增一个可视化步骤,服务于模板生成。</p>
<div class="mockup">
<div class="mockup-header">页面设计器主界面</div>
<div class="mockup-body" style="display:grid; gap:12px;">
<div style="display:grid; grid-template-columns: 220px minmax(360px, 1fr) 280px; gap:12px; min-height:360px;">
<div class="mock-sidebar" style="display:grid; align-content:start; gap:10px;">
<div class="label">菜单与页面</div>
<div style="padding:10px; background:#e8f1ff; border-radius:6px; border-left:4px solid #2563eb;">
图书目录<br><small>/books · 列表页</small>
</div>
<div style="padding:10px; background:#fff; border-radius:6px;">
图书详情<br><small>/books/:id · 详情页</small>
</div>
<div style="padding:10px; background:#fff; border-radius:6px;">
我的借阅<br><small>/my-borrows · 当前用户列表</small>
</div>
<button class="mock-button">+ 添加菜单</button>
<button class="mock-button">+ 添加子页面</button>
</div>
<div class="mock-content" style="display:grid; align-content:start; gap:10px;">
<div class="label">页面画布:列表页布局</div>
<div class="placeholder" style="height:52px;">
查询区:书名、分类、状态、创建时间
</div>
<div class="placeholder" style="height:48px;">
工具栏:新增、导出、批量删除、业务按钮
</div>
<div class="placeholder" style="height:118px;">
表格:封面、书名、作者、库存、状态、更新时间、行操作
</div>
<div class="placeholder" style="height:48px;">
分页:页码 / 每页条数 / 总数
</div>
<div class="placeholder" style="height:54px;">
弹窗表单:新增 / 编辑字段布局
</div>
</div>
<div class="mock-sidebar" style="display:grid; align-content:start; gap:10px;">
<div class="label">属性面板</div>
<input class="mock-input" placeholder="页面名称:图书目录">
<input class="mock-input" placeholder="绑定表book_info">
<input class="mock-input" placeholder="页面类型list">
<input class="mock-input" placeholder="显示字段6 个">
<input class="mock-input" placeholder="查询字段4 个">
<input class="mock-input" placeholder="按钮动作:新增 / 导出">
<button class="mock-button">保存页面设计</button>
</div>
</div>
</div>
</div>
<div class="split">
<div class="mockup">
<div class="mockup-header">一期保存的核心 DSL</div>
<div class="mockup-body">
<pre style="margin:0; white-space:pre-wrap; font-size:12px;">appBlueprint.frontendPages[].layout = {
pageType: "list",
tableName: "book_info",
regions: [
{ type: "query", fields: ["title", "category", "status"] },
{ type: "toolbar", actions: ["create", "export"] },
{ type: "table", fields: ["cover", "title", "stock"] },
{ type: "form", fields: ["title", "author", "price"] }
]
}</pre>
</div>
</div>
<div class="mockup">
<div class="mockup-header">生成链路</div>
<div class="mockup-body" style="display:grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap:10px;">
<div class="placeholder">保存布局</div>
<div class="placeholder">校验字段/动作</div>
<div class="placeholder">Velocity 读取 DSL</div>
<div class="placeholder">生成 Vue 页面</div>
</div>
</div>
</div>
<div class="options">
<div class="option" data-choice="frontend-only" onclick="toggleSelect(this)">
<div class="letter">1</div>
<div class="content">
<h3>一期只做用户前台页面</h3>
<p>覆盖 frontendMenus / frontendPages / qing 前台模板,先把面向用户的页面生成做漂亮、做稳。</p>
</div>
</div>
<div class="option" data-choice="frontend-and-admin" onclick="toggleSelect(this)">
<div class="letter">2</div>
<div class="content">
<h3>一期同时做前台 + 后台管理页</h3>
<p>设计器范围更完整,但会同时牵动 qing 前台模板和 RuoYi 后台 Vue 模板,交付风险更高。</p>
</div>
</div>
</div>