Files
rxthinkcmf-wiki/RXThinkCMF_Laravel13_NaiveVue/.vitepress/dist/assets/zh_guide_overview.md.64HA48-e.js
T
2026-10-11 19:06:33 +08:00

46 lines
8.0 KiB
JavaScript
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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.
import{_ as s,o as n,c as e,a2 as p}from"./chunks/framework.BbmSSMjL.js";const u=JSON.parse('{"title":"3.1 概述与目标","description":"","frontmatter":{},"headers":[],"relativePath":"zh/guide/overview.md","filePath":"zh/guide/overview.md"}'),l={name:"zh/guide/overview.md"};function t(d,a,i,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 &quot;3.1 概述与目标&quot;">​</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 &quot;开发流程总览&quot;">​</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 │ 创建数据模型(模型 Trait 复用)</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. FormRequest │ 创建表单请求验证(BaseRequest)</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. Service│ 创建业务服务(属性配置 + 钩子)</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 │ 注册路由(routes/api.php)</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 &quot;开发约定&quot;">​</a></h2><table tabindex="0"><thead><tr><th>约定</th><th>说明</th><th>示例</th></tr></thead><tbody><tr><td>表名</td><td>不含前缀,前缀由 <code>DB_PREFIX</code> 决定(默认 <code>laravel_</code>)</td><td><code>example</code> → 实际 <code>laravel_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>app/Models/</code>,<code>$table</code> 指定表名</td><td><code>protected $table = &#39;example&#39;</code></td></tr><tr><td>Service</td><td>继承 <code>BaseService</code> 或 <code>BaseTenantService</code></td><td><code>class ExampleService extends BaseService</code></td></tr><tr><td>Request</td><td>继承 <code>BaseRequest</code>,<code>rules()</code> 声明规则</td><td><code>class ExampleRequest extends BaseRequest</code></td></tr><tr><td>Controller</td><td>位于 <code>app/Http/Controllers/Api/</code>,继承 <code>Controller</code></td><td><code>class ExampleController extends Controller</code></td></tr><tr><td>权限码</td><td><code>sys:模块名:操作</code></td><td><code>sys:example:add</code></td></tr><tr><td>路由</td><td><code>routes/api.php</code>,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 &quot;本章示例&quot;">​</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>权限控制(<code>#[Permission]</code> 注解)</li><li>操作日志(<code>#[OperationLog]</code> 注解)</li><li>枚举显示名翻译(status 字典映射)</li><li>唯一性校验(<code>uniqueFields</code> 属性声明)</li></ul><h2 id="涉及文件" tabindex="-1">涉及文件 <a class="header-anchor" href="#涉及文件" aria-label="Permalink to &quot;涉及文件&quot;">​</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/Models/Example.php # 数据模型</span></span>
<span class="line"><span>app/Http/Requests/ExampleRequest.php # 表单请求验证</span></span>
<span class="line"><span>app/Services/ExampleService.php # 业务服务</span></span>
<span class="line"><span>app/Http/Controllers/Api/ExampleController.php # 控制器</span></span>
<span class="line"><span>routes/api.php # 路由(example 模块 9 条)</span></span>
<span class="line"><span># 前端(本仓库 ui/ 目录):</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><h2 id="学习建议" tabindex="-1">学习建议 <a class="header-anchor" href="#学习建议" aria-label="Permalink to &quot;学习建议&quot;">​</a></h2><ol><li>先通读 3.2~3.8 按顺序跟随 example 模块走一遍;</li><li>重点理解 <strong>声明式配置</strong>:Service 只声明属性,CRUD 由 <code>BaseService</code> + 6 个 Trait 完成;</li><li>掌握后动手:可直接使用 <a href="/zh/generator/overview.html">第 10 章 代码生成器</a> 一键生成同等结构的模块。</li></ol>`,13)])])}const m=s(l,[["render",t]]);export{u as __pageData,m as default};