buffzty
2020-02-08 22:21:35 +08:00
初学时用 1,现在为了追求速度用 2. postData 里面加上筛选条件,排序条件,场景
这样子做,所有的模型都写用通用接口,后端只需要为模型写几十行代码配置一下就完事.控制器都不需要写.
马上准备一个接口再聚合一下 /curd,只需要在现有的 queryExtra 中再加个 model 名就行
```typescript
type OrderKeys = 'id' | 'ctime'
type Scene = 'admin' | 'default'
interface QueryExtra extends BaseExtra<Scene> {}
type ActGetListParam = GetListParam<FilterKeys, OrderKeys, QueryExtra>
type AddData = Omit<Model, 'adeptLabelList' | 'department' | 'id'>
type EditData = AddData & Pick<Model, 'id'>
export async function lists<T = Model>(data: ActGetListParam) {
return bpost<{ list: T[] }>({
url: route + '/list',
data,
})
}
export async function detail<T = Model>(data: { id: number; scene?: Scene }) {
return bpost<{ detail: T }>({
url: route + '/detail',
data,
})
}
```