背景
隨著互聯(lián)網(wǎng)的快速發(fā)展障簿,開發(fā)軟件越來(lái)越講究效率汇四,無(wú)論是各種跨端框架如:electron
uni-app
,還是近期比較火熱服務(wù)端的serverless
牧氮,都是伴隨著這個(gè)趨勢(shì)而生象泵。
快速開發(fā)后臺(tái)
事實(shí)上后臺(tái)在開發(fā)中存在大量的重復(fù)的工作寞秃,有些程序員甚至自嘲是crud
(增刪改查)開發(fā)者。cool團(tuán)隊(duì)原先在開發(fā)軟件的時(shí)候也碰到了類似的問題偶惠。剛好伴隨著阿里巴巴團(tuán)midway2.0的發(fā)布。它是一個(gè)既可以開發(fā)普通應(yīng)用朗涩,又可以將應(yīng)用發(fā)布打包發(fā)布部署為serverless忽孽。我們?cè)诖嘶A(chǔ)上封裝了一個(gè)快速開發(fā)后臺(tái)的框架cool-admin。
快速開發(fā)
定義一個(gè)表
/**
* 商品
*/
@EntityModel('demo_app_goods')
export class DemoAppGoodsEntity extends BaseEntity {
@Column({ comment: '標(biāo)題' })
title: string;
@Column({ comment: '圖片' })
pic: string;
@Column({ comment: '價(jià)格', type: 'decimal', precision: 5, scale: 2 })
price: number;
}
編寫接口
import { Provide } from '@midwayjs/decorator';
import { CoolController, BaseController } from 'midwayjs-cool-core';
import { DemoAppGoodsEntity } from '../../entity/goods';
/**
* 商品
*/
@Provide()
@CoolController({
api: ['add', 'delete', 'update', 'info', 'list', 'page'],
entity: DemoAppGoodsEntity
})
export class DemoAppGoodsController extends BaseController {
/**
* 其他接口
*/
@Get('/other')
async other() {
return this.ok('hello, cool-admin!!!');
}
}
這樣我們就完成了6個(gè)接口的編寫谢床,對(duì)應(yīng)的接口如下:
-
POST /app/demo/goods/add
新增 -
POST /app/demo/goods/delete
刪除 -
POST /app/demo/goods/update
更新 -
GET /app/demo/goods/info
單個(gè)信息 -
POST /app/demo/goods/list
列表信息 -
POST /app/demo/goods/page
分頁(yè)查詢(包含模糊查詢兄一、字段全匹配等)
開源免費(fèi)
為了分享我們的成果,我們把它開源了识腿,讓廣大開發(fā)者也能快速開發(fā)出革,專心業(yè)務(wù)。
- 后端
https://github.com/cool-team-official/cool-admin-midway
https://gitee.com/cool-team-official/cool-admin-midway
- 前端