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(`

3.1 概述与目标 ​

概述

本章以项目内置的 example(案例演示) 模块为例,从数据库建表到前端页面联调,手把手演示开发全流程。学完本章后,您将掌握新增业务模块的标准步骤。

开发流程总览 ​

text
┌──────────┐
│ 1. 建表   │  创建数据库表(含公共字段)
└────┬─────┘
     │
     ▼
┌──────────┐
│ 2. Model  │  创建数据模型(继承 BaseModel)
└────┬─────┘
     │
     ▼
┌──────────┐
│ 3. Validate│ 创建验证器 + Logic 配置 validateClass
└────┬─────┘
     │
     ▼
┌──────────┐
│ 4. Logic  │  创建逻辑层(配置属性 + 钩子)
└────┬─────┘
     │
     ▼
┌──────────┐
│ 5. Controller│ 创建控制器(注解 + 异常处理)
└────┬─────┘
     │
     ▼
┌──────────┐
│ 6. Route  │  注册路由
└────┬─────┘
     │
     ▼
┌──────────┐
│ 7. Menu   │  配置菜单权限(可选)
└────┬─────┘
     │
     ▼
┌──────────┐
│ 8. Frontend│ 前端 API + 页面([详见第 9 章](/zh/frontend/overview.html))
└──────────┘

开发约定 ​

约定说明示例
表名think_ 前缀 + 小写下划线think_example
字段名小写下划线create_time、user_id
主键统一使用 id,INT 自增id INT PRIMARY KEY AUTO_INCREMENT
Model继承 BaseModel,类名与表名对应class Example extends BaseModel
Logic继承 BaseLogic 或 BaseTenantLogicclass ExampleLogic extends BaseLogic
Controller继承 BaseControllerclass ExampleController extends BaseController
权限码sys:模块名:操作sys:example:add
路由RESTful 风格GET /api/example/page

本章示例 ​

本章以项目内置的 example(案例演示) 模块为例,完整演示从建表到联调的全过程。该模块是代码生成器的参考模板,涵盖了标准 CRUD 的所有典型场景:

涉及文件 ​

text
app/model/Example.php                # 数据模型
app/validate/ExampleValidate.php     # 验证器
app/logic/ExampleLogic.php           # 业务逻辑
app/controller/ExampleController.php # 控制器
route/app.php                        # 路由(第371行)
ui/src/api/tool/example.ts           # 前端 API 模块
ui/src/views/tool/example/           # 前端页面
`,11)])])}const u=s(l,[["render",t]]);export{m as __pageData,u as default};