背景
随着互联网的快速发展,开发软件越来越讲究效率,无论是各种跨端框架如:electron
uni-app
,还是近期比较火热服务端的serverless
,都是伴随着这个趋势而生。
快速开发后台
事实上后台在开发中存在大量的重复的工作,有些程序员甚至自嘲是crud
(增删改查)开发者。cool团队原先在开发软件的时候也碰到了类似的问题。刚好伴随着阿里巴巴团midway2.0的发布。它是一个既可以开发普通应用,又可以将应用发布打包发布部署为serverless。我们在此基础上封装了一个快速开发后台的框架cool-admin。
快速开发
定义一个表
/**
* 商品
*/
@EntityModel('demo_app_goods')
export class DemoAppGoodsEntity extends BaseEntity {
@Column({ comment: '标题' })
title: string;
@Column({ comment: '图片' })
pic: string;
@Column({ comment: '价格', 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个接口的编写,对应的接口如下:
POST /app/demo/goods/add
新增POST /app/demo/goods/delete
删除POST /app/demo/goods/update
更新GET /app/demo/goods/info
单个信息POST /app/demo/goods/list
列表信息POST /app/demo/goods/page
分页查询(包含模糊查询、字段全匹配等)
开源免费
为了分享我们的成果,我们把它开源了,让广大开发者也能快速开发,专心业务。
- 后端
https://github.com/cool-team-...
https://gitee.com/cool-team-o...
- 前端