63 lines
1.5 KiB
TypeScript
63 lines
1.5 KiB
TypeScript
import { request } from '@/utils/request'
|
|
|
|
// 邀请码 类型定义
|
|
export interface Code {
|
|
id?: number
|
|
|
|
code?: string
|
|
|
|
}
|
|
|
|
// 邀请码 API
|
|
export const codeApi = {
|
|
// 分页查询
|
|
page(params: { page: number; pageSize: number; id?: number }) {
|
|
return request({ url: '/biz/code/page', method: 'get', params })
|
|
},
|
|
|
|
// 获取详情
|
|
detail(id: number) {
|
|
return request({ url: `/biz/code/${id}`, method: 'get' })
|
|
},
|
|
|
|
// 新增
|
|
create(data: Code) {
|
|
return request({ url: '/biz/code', method: 'post', data })
|
|
},
|
|
|
|
// 修改
|
|
update(data: Code) {
|
|
return request({ url: '/biz/code', method: 'put', data })
|
|
},
|
|
|
|
// 删除
|
|
delete(ids: number[]) {
|
|
return request({ url: `/biz/code/${ids.join(',')}`, method: 'delete' })
|
|
},
|
|
|
|
// 导出
|
|
export(params?: { ids?: number[]; id?: number }) {
|
|
const p: Record<string, any> = {}
|
|
if (params?.ids?.length) p.ids = params.ids.join(',')
|
|
if (params?.id !== undefined && params?.id !== null) p.id = params.id
|
|
return request({ url: `/biz/code/export`, method: 'get', params: p, responseType: 'blob' })
|
|
},
|
|
|
|
// 导入
|
|
importData(file: File) {
|
|
const formData = new FormData()
|
|
formData.append('file', file)
|
|
return request<{ success: number; fail: number; errors: string[] }>({
|
|
url: `/biz/code/import`,
|
|
method: 'post',
|
|
data: formData,
|
|
headers: { 'Content-Type': 'multipart/form-data' }
|
|
})
|
|
},
|
|
|
|
// 下载导入模板
|
|
downloadTemplate() {
|
|
return request({ url: `/biz/code/template`, method: 'get', responseType: 'blob' })
|
|
}
|
|
}
|