65 lines
1.6 KiB
Markdown
65 lines
1.6 KiB
Markdown
---
|
||
title: Cool Admin 框架
|
||
created: 2026-04-13
|
||
updated: 2026-04-13
|
||
type: entity
|
||
tags: [architecture, backend, frontend, convention]
|
||
sources: [packages/backend/package.json, packages/frontend/package.json]
|
||
---
|
||
|
||
# Cool Admin 框架
|
||
|
||
项目基于 Cool Admin 8.0 二次开发,提供自动 CRUD、动态路由、Service 代理等基础能力。
|
||
|
||
## 后端自动 CRUD
|
||
|
||
使用 `@CoolController` 装饰器自动生成标准接口:
|
||
|
||
```typescript
|
||
@CoolController({
|
||
api: ['add', 'delete', 'update', 'info', 'list', 'page'],
|
||
entity: SomeEntity,
|
||
pageQueryOp: {
|
||
keyWordLikeFields: ['name'],
|
||
fieldEq: ['status'],
|
||
addOrderBy: { createTime: 'DESC' },
|
||
},
|
||
})
|
||
```
|
||
|
||
自动生成的接口:
|
||
- `POST /admin/{module}/{entity}/add`
|
||
- `POST /admin/{module}/{entity}/delete`
|
||
- `POST /admin/{module}/{entity}/update`
|
||
- `GET /admin/{module}/{entity}/info`
|
||
- `POST /admin/{module}/{entity}/list`
|
||
- `POST /admin/{module}/{entity}/page`
|
||
|
||
## 前端 Service 代理
|
||
|
||
Cool Admin 自动将后端 Controller 映射为前端 service:
|
||
|
||
```
|
||
后端: modules/project/controller/admin/info.ts
|
||
前端: service.project.info.page() / .add() / .update() / .delete()
|
||
```
|
||
|
||
自定义接口:
|
||
```typescript
|
||
service.request({ url: '/admin/project/task/ganttData', params: { projectId: 1 } })
|
||
```
|
||
|
||
## BaseEntity 通用字段
|
||
|
||
所有 Entity 继承 `BaseEntity`:
|
||
- `id`(自增主键)
|
||
- `createTime`(自动填充)
|
||
- `updateTime`(自动更新)
|
||
- `tenantId`(多租户)
|
||
|
||
## 相关页面
|
||
|
||
- [[project-overview]] — 项目总览
|
||
- [[base-module]] — 基础模块使用此框架
|
||
- [[frontend-architecture]] — 前端路由和 Service 代理
|