Files
erp/.superpowers/brainstorm/11430-1776267577/approaches.html
iven 841766b168
Some checks failed
CI / rust-check (push) Has been cancelled
CI / rust-test (push) Has been cancelled
CI / frontend-build (push) Has been cancelled
CI / security-audit (push) Has been cancelled
fix(用户管理): 修复用户列表页面加载失败问题
修复用户列表页面加载失败导致测试超时的问题,确保页面元素正确渲染
2026-04-19 08:46:28 +08:00

81 lines
3.9 KiB
HTML
Raw 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>客户管理插件 — 三种实现方案</h2>
<p class="subtitle">选择最适合项目架构和交付目标的实现路径</p>
<div class="options">
<div class="option" data-choice="a" onclick="toggleSelect(this)">
<div class="letter">A</div>
<div class="content">
<h3>纯 WASM 插件 + 增强插件 UI 引擎</h3>
<p><strong>数据层:</strong>全部通过 WASM Host API5 个动态表存储在 JSONB</p>
<p><strong>UI 层:</strong>扩展 PluginCRUDPage新增 ui_widget 类型tree、graph、timeline</p>
<p><strong>关系图谱:</strong>新增 "graph" ui_widget前端用 D3/AntV G6 渲染</p>
<div class="pros-cons">
<div class="pros"><h4>优势</h4><ul>
<li>完全在插件架构内,验证插件系统能力</li>
<li>新增的 ui_widget 可被所有未来插件复用</li>
<li>动态安装/卸载,热插拔</li>
</ul></div>
<div class="cons"><h4>劣势</h4><ul>
<li>JSONB 查询性能弱于原生列</li>
<li>复杂关系查询需多次 Host API 调用</li>
<li>ui_widget 扩展工作量大3-4 种新控件)</li>
</ul></div>
</div>
</div>
</div>
<div class="option" data-choice="b" onclick="toggleSelect(this)">
<div class="letter">B</div>
<div class="content">
<h3>WASM 插件数据层 + 专用前端页面(推荐)</h3>
<p><strong>数据层:</strong>WASM 插件管理 5 个实体,通过 Host API 操作</p>
<p><strong>UI 层:</strong>前端新增 CRM 专用页面组件(客户列表、联系人、沟通时间线、关系图谱)</p>
<p><strong>路由:</strong>插件的 manifest.ui.pages 声明自定义页面,前端按 pluginId 匹配加载</p>
<div class="pros-cons">
<div class="pros"><h4>优势</h4><ul>
<li>最佳 UX — 专为 CRM 设计的交互</li>
<li>关系图谱可用专业图表库AntV G6</li>
<li>数据层仍验证 WASM 插件系统</li>
<li>前后端分离UI 可独立迭代</li>
</ul></div>
<div class="cons"><h4>劣势</h4><ul>
<li>每增加一个插件需写前端代码</li>
<li>插件 UI 不能完全动态化</li>
<li>数据查询仍受 Host API 限制</li>
</ul></div>
</div>
</div>
</div>
<div class="option" data-choice="c" onclick="toggleSelect(this)">
<div class="letter">C</div>
<div class="content">
<h3>内置 erp-crm crate + 独立前端</h3>
<p><strong>数据层:</strong>新建 erp-crm crate直接 SeaORM Entity原生列存储</p>
<p><strong>UI 层:</strong>独立前端页面,直接调用 CRM API</p>
<p><strong>关系图谱:</strong>数据库原生支持关系查询,前端 AntV G6</p>
<div class="pros-cons">
<div class="pros"><h4>优势</h4><ul>
<li>性能最优 — 原生 SQL + 索引</li>
<li>复杂关系查询简单高效</li>
<li>完全控制数据模型</li>
</ul></div>
<div class="cons"><h4>劣势</h4><ul>
<li>不走插件架构,违背"插件优先"原则</li>
<li>编译时耦合,不能动态安装</li>
<li>不适合作为"第一个插件"验证目标</li>
</ul></div>
</div>
</div>
</div>
</div>
<div class="section" style="margin-top: 2rem; padding: 1.5rem; background: var(--card); border-radius: 12px; border-left: 4px solid #1677ff;">
<h3>💡 推荐方案BWASM 数据层 + 专用前端)</h3>
<p style="line-height: 1.8;">
作为"第一个插件",方案 B 在<strong>验证插件系统</strong><strong>交付可用产品</strong>之间取得最佳平衡:
数据层走 WASM Host API 验证插件架构的可行性UI 层不受 schema 驱动的限制,
可以提供真正好用的 CRM 交互体验。同时为未来的插件 UI 定制建立模式manifest.ui.pages 的前端路由匹配机制)。
</p>
</div>