45 lines
7.0 KiB
JavaScript
45 lines
7.0 KiB
JavaScript
import{_ as s,o as n,c as e,a2 as p}from"./chunks/framework.B-QBKwc1.js";const m=JSON.parse('{"title":"概述与目标","description":"本章以项目内置的 example(案例演示) 模块为例,从数据库建表到前端页面联调,手把手演示开发全流程。","frontmatter":{},"headers":[],"relativePath":"zh/guide/overview.md","filePath":"zh/guide/overview.md"}'),l={name:"zh/guide/overview.md"};function t(i,a,d,o,c,r){return n(),e("div",null,[...a[0]||(a[0]=[p(`<h1 id="_3-1-概述与目标" tabindex="-1">3.1 概述与目标 <a class="header-anchor" href="#_3-1-概述与目标" aria-label="Permalink to "3.1 概述与目标""></a></h1><div class="tip custom-block"><p class="custom-block-title">概述</p><p>本章以项目内置的 <strong>example(案例演示)</strong> 模块为例,从数据库建表到前端页面联调,手把手演示开发全流程。学完本章后,您将掌握新增业务模块的标准步骤。</p></div><h2 id="开发流程总览" tabindex="-1">开发流程总览 <a class="header-anchor" href="#开发流程总览" aria-label="Permalink to "开发流程总览""></a></h2><div class="language-text vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">text</span><pre class="shiki shiki-themes dracula-soft vitesse-light vp-code" tabindex="0"><code><span class="line"><span>┌──────────┐</span></span>
|
||
<span class="line"><span>│ 1. 建表 │ 创建数据库表(含公共字段)</span></span>
|
||
<span class="line"><span>└────┬─────┘</span></span>
|
||
<span class="line"><span> │</span></span>
|
||
<span class="line"><span> ▼</span></span>
|
||
<span class="line"><span>┌──────────┐</span></span>
|
||
<span class="line"><span>│ 2. Model │ 创建数据模型(继承 BaseModel)</span></span>
|
||
<span class="line"><span>└────┬─────┘</span></span>
|
||
<span class="line"><span> │</span></span>
|
||
<span class="line"><span> ▼</span></span>
|
||
<span class="line"><span>┌──────────┐</span></span>
|
||
<span class="line"><span>│ 3. Validate│ 创建验证器 + Logic 配置 validateClass</span></span>
|
||
<span class="line"><span>└────┬─────┘</span></span>
|
||
<span class="line"><span> │</span></span>
|
||
<span class="line"><span> ▼</span></span>
|
||
<span class="line"><span>┌──────────┐</span></span>
|
||
<span class="line"><span>│ 4. Logic │ 创建逻辑层(配置属性 + 钩子)</span></span>
|
||
<span class="line"><span>└────┬─────┘</span></span>
|
||
<span class="line"><span> │</span></span>
|
||
<span class="line"><span> ▼</span></span>
|
||
<span class="line"><span>┌──────────┐</span></span>
|
||
<span class="line"><span>│ 5. Controller│ 创建控制器(注解 + 异常处理)</span></span>
|
||
<span class="line"><span>└────┬─────┘</span></span>
|
||
<span class="line"><span> │</span></span>
|
||
<span class="line"><span> ▼</span></span>
|
||
<span class="line"><span>┌──────────┐</span></span>
|
||
<span class="line"><span>│ 6. Route │ 注册路由</span></span>
|
||
<span class="line"><span>└────┬─────┘</span></span>
|
||
<span class="line"><span> │</span></span>
|
||
<span class="line"><span> ▼</span></span>
|
||
<span class="line"><span>┌──────────┐</span></span>
|
||
<span class="line"><span>│ 7. Menu │ 配置菜单权限(可选)</span></span>
|
||
<span class="line"><span>└────┬─────┘</span></span>
|
||
<span class="line"><span> │</span></span>
|
||
<span class="line"><span> ▼</span></span>
|
||
<span class="line"><span>┌──────────┐</span></span>
|
||
<span class="line"><span>│ 8. Frontend│ 前端 API + 页面([详见第 9 章](/zh/frontend/overview.html))</span></span>
|
||
<span class="line"><span>└──────────┘</span></span></code></pre></div><h2 id="开发约定" tabindex="-1">开发约定 <a class="header-anchor" href="#开发约定" aria-label="Permalink to "开发约定""></a></h2><table tabindex="0"><thead><tr><th>约定</th><th>说明</th><th>示例</th></tr></thead><tbody><tr><td>表名</td><td><code>think_</code> 前缀 + 小写下划线</td><td><code>think_example</code></td></tr><tr><td>字段名</td><td>小写下划线</td><td><code>create_time</code>、<code>user_id</code></td></tr><tr><td>主键</td><td>统一使用 <code>id</code>,INT 自增</td><td><code>id INT PRIMARY KEY AUTO_INCREMENT</code></td></tr><tr><td>Model</td><td>继承 <code>BaseModel</code>,类名与表名对应</td><td><code>class Example extends BaseModel</code></td></tr><tr><td>Logic</td><td>继承 <code>BaseLogic</code> 或 <code>BaseTenantLogic</code></td><td><code>class ExampleLogic extends BaseLogic</code></td></tr><tr><td>Controller</td><td>继承 <code>BaseController</code></td><td><code>class ExampleController extends BaseController</code></td></tr><tr><td>权限码</td><td><code>sys:模块名:操作</code></td><td><code>sys:example:add</code></td></tr><tr><td>路由</td><td>RESTful 风格</td><td><code>GET /api/example/page</code></td></tr></tbody></table><h2 id="本章示例" tabindex="-1">本章示例 <a class="header-anchor" href="#本章示例" aria-label="Permalink to "本章示例""></a></h2><p>本章以项目内置的 <strong>example(案例演示)</strong> 模块为例,完整演示从建表到联调的全过程。该模块是代码生成器的参考模板,涵盖了标准 CRUD 的所有典型场景:</p><ul><li>分页列表(支持名称模糊搜索、类型和状态精确过滤)</li><li>全量列表</li><li>详情查询</li><li>新增(含头像上传)</li><li>修改</li><li>删除 / 批量删除</li><li>Excel 导入导出</li><li>权限控制(#[Permission] 注解)</li><li>操作日志(#[Log] 注解)</li><li>枚举显示名翻译(type / status 字典映射)</li></ul><h2 id="涉及文件" tabindex="-1">涉及文件 <a class="header-anchor" href="#涉及文件" aria-label="Permalink to "涉及文件""></a></h2><div class="language-text vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">text</span><pre class="shiki shiki-themes dracula-soft vitesse-light vp-code" tabindex="0"><code><span class="line"><span>app/model/Example.php # 数据模型</span></span>
|
||
<span class="line"><span>app/validate/ExampleValidate.php # 验证器</span></span>
|
||
<span class="line"><span>app/logic/ExampleLogic.php # 业务逻辑</span></span>
|
||
<span class="line"><span>app/controller/ExampleController.php # 控制器</span></span>
|
||
<span class="line"><span>route/app.php # 路由(第371行)</span></span>
|
||
<span class="line"><span>ui/src/api/tool/example.ts # 前端 API 模块</span></span>
|
||
<span class="line"><span>ui/src/views/tool/example/ # 前端页面</span></span></code></pre></div>`,11)])])}const u=s(l,[["render",t]]);export{m as __pageData,u as default};
|