feat: 添加API接口TypeScript类型描述文件

This commit is contained in:
郝先瑞
2022-03-13 15:42:59 +08:00
parent 454e9856e3
commit 9a812c02dd
9 changed files with 72 additions and 62 deletions

View File

@@ -1,4 +1,4 @@
import { LoginRequestParam, LoginResponseData } from "@/types";
import { Captcha, LoginRequestParam, LoginResponseData } from "@/types";
import request from "@/utils/request";
import { AxiosPromise } from "axios";
@@ -30,7 +30,7 @@ export function logout() {
/**
* 获取图片验证码
*/
export function getCaptcha(): AxiosPromise<string> {
export function getCaptcha(): AxiosPromise<Captcha> {
return request({
url: '/captcha?t=' + (new Date()).getTime().toString(),
method: 'get'

View File

@@ -1,6 +1,8 @@
import { ClientFormData, ClientPageResult, ClientQueryParam } from '@/types/api/client'
import request from '@/utils/request'
import { AxiosPromise } from 'axios'
export function listClientsWithPage(queryParams:object) {
export function listClientPages(queryParams:ClientQueryParam):AxiosPromise<ClientPageResult> {
return request({
url: '/youlai-admin/api/v1/oauth-clients',
method: 'get',
@@ -8,14 +10,14 @@ export function listClientsWithPage(queryParams:object) {
})
}
export function detail(id:number) {
export function getClientFormDetial(id:number):AxiosPromise<ClientFormData> {
return request({
url: '/youlai-admin/api/v1/oauth-clients/' + id,
method: 'get'
})
}
export function add(data:object) {
export function addClient(data:ClientFormData) {
return request({
url: '/youlai-admin/api/v1/oauth-clients',
method: 'post',
@@ -23,7 +25,7 @@ export function add(data:object) {
})
}
export function update(id:number, data:object) {
export function updateClient(id:string, data:ClientFormData) {
return request({
url: '/youlai-admin/api/v1/oauth-clients/' + id,
method: 'put',
@@ -31,14 +33,14 @@ export function update(id:number, data:object) {
})
}
export function del(ids:string) {
export function deleteClients(ids:string) {
return request({
url: '/youlai-admin/api/v1/oauth-clients/'+ids,
method: 'delete'
})
}
export function patch(id:number, data:object) {
export function updateClientPart(id:number, data:object) {
return request({
url: '/youlai-admin/api/v1/oauth-clients/' + id,
method: 'patch',

View File

@@ -1,11 +1,13 @@
import { DeptFormData, DeptItem, DeptQueryParam, Option } from '@/types'
import request from '@/utils/request'
import { AxiosPromise } from 'axios'
/**
* 部门树形表格
*
* @param queryParams
*/
export function listDeptTable(queryParams?: object) {
export function listTableDepartments(queryParams?: DeptQueryParam): AxiosPromise<DeptItem[]> {
return request({
url: '/youlai-admin/api/v1/depts/table',
method: 'get',
@@ -16,7 +18,7 @@ export function listDeptTable(queryParams?: object) {
/**
* 部门下拉列表
*/
export function listDeptSelect() {
export function listSelectDepartments(): AxiosPromise<Option[]> {
return request({
url: '/youlai-admin/api/v1/depts/select',
method: 'get'
@@ -28,7 +30,7 @@ export function listDeptSelect() {
*
* @param id
*/
export function getDeptDetail(id: any) {
export function getDeptFormDetail(id: number): AxiosPromise<DeptFormData> {
return request({
url: '/youlai-admin/api/v1/depts/' + id,
method: 'get'
@@ -41,7 +43,7 @@ export function getDeptDetail(id: any) {
*
* @param data
*/
export function addDept(data: any) {
export function addDept(data: DeptFormData) {
return request({
url: '/youlai-admin/api/v1/depts',
method: 'post',
@@ -55,7 +57,7 @@ export function addDept(data: any) {
* @param id
* @param data
*/
export function updateDept(id: number, data: any) {
export function updateDept(id: number, data: DeptFormData) {
return request({
url: '/youlai-admin/api/v1/depts/' + id,
method: 'put',
@@ -66,11 +68,11 @@ export function updateDept(id: number, data: any) {
/**
* 删除部门
*
* @param id
* @param ids
*/
export function deleteDept(id: any) {
export function deleteDept(ids: string) {
return request({
url: '/youlai-admin/api/v1/depts/' + id,
url: '/youlai-admin/api/v1/depts/' + ids,
method: 'delete',
})
}

View File

@@ -1,11 +1,13 @@
import { DictFormData, DictItemFormData, DictItemPageResult, DictItemQueryParam, DictPageResult, DictQueryParam, Option } from "@/types";
import request from "@/utils/request";
import { AxiosPromise } from "axios";
/**
* 获取字典分页列表
*
* @param queryParams
*/
export function listDictWithPage(queryParams: object) {
export function listDictPages(queryParams: DictQueryParam): AxiosPromise<DictPageResult> {
return request({
url: '/youlai-admin/api/v2/dict/page',
method: 'get',
@@ -18,7 +20,7 @@ export function listDictWithPage(queryParams: object) {
*
* @param id
*/
export function getDictDetail(id: number) {
export function getDictFormDetail(id: number): AxiosPromise<DictFormData> {
return request({
url: '/youlai-admin/api/v2/dict/' + id,
method: 'get'
@@ -31,7 +33,7 @@ export function getDictDetail(id: number) {
*
* @param data
*/
export function addDict(data: object) {
export function addDict(data: DictFormData) {
return request({
url: '/youlai-admin/api/v2/dict',
method: 'post',
@@ -45,7 +47,7 @@ export function addDict(data: object) {
* @param id
* @param data
*/
export function updateDict(id: number, data: object) {
export function updateDict(id: number, data: DictFormData) {
return request({
url: '/youlai-admin/api/v2/dict/' + id,
method: 'put',
@@ -69,7 +71,7 @@ export function deleteDict(ids: string) {
*
* @param queryParams
*/
export function listDictItemsWithPage(queryParams: object) {
export function listDictItemPages(queryParams: DictItemQueryParam): AxiosPromise<DictItemPageResult> {
return request({
url: '/youlai-admin/api/v2/dict/items/page',
method: 'get',
@@ -83,11 +85,11 @@ export function listDictItemsWithPage(queryParams: object) {
*
* @param dictCode
*/
export function listDictsByCode(dictCode: string) {
export function listDictsByCode(dictCode: string): AxiosPromise<Option[]> {
return request({
url: '/youlai-admin/api/v2/dict/items',
method: 'get',
params: {dictCode: dictCode}
params: { dictCode: dictCode }
})
}
@@ -96,7 +98,7 @@ export function listDictsByCode(dictCode: string) {
*
* @param id
*/
export function getDictItemDetail(id: number) {
export function getDictItemDetail(id: number): AxiosPromise<DictItemFormData> {
return request({
url: '/youlai-admin/api/v2/dict/items/' + id,
method: 'get'
@@ -110,7 +112,7 @@ export function getDictItemDetail(id: number) {
*
* @param data
*/
export function addDictItem(data: object) {
export function addDictItem(data: DictFormData) {
return request({
url: '/youlai-admin/api/v2/dict/items',
method: 'post',
@@ -124,7 +126,7 @@ export function addDictItem(data: object) {
* @param id
* @param data
*/
export function updateDictItem(id: number, data: object) {
export function updateDictItem(id: number, data: DictFormData) {
return request({
url: '/youlai-admin/api/v2/dict/items/' + id,
method: 'put',

View File

@@ -1,4 +1,6 @@
import { MenuFormData, MenuItem, MenuQueryParam, Option } from '@/types'
import request from '@/utils/request'
import { AxiosPromise } from 'axios'
/**
* 获取路由列表
@@ -11,11 +13,11 @@ export function listRoutes() {
}
/**
* 获取(表格)菜单列表
* 获取菜单表格列表
*
* @param queryParams
*/
export function listTableMenus(queryParams: object) {
export function listTableMenus(queryParams: MenuQueryParam): AxiosPromise<MenuItem[]> {
return request({
url: '/youlai-admin/api/v1/menus/table',
method: 'get',
@@ -24,31 +26,21 @@ export function listTableMenus(queryParams: object) {
}
/**
* 获取(下拉)菜单列表
* 获取菜单下拉列表
*/
export function listSelectMenus() {
export function listSelectMenus(): AxiosPromise<Option[]> {
return request({
url: '/youlai-admin/api/v1/menus/select',
method: 'get'
})
}
/**
* 获取(树形下拉)菜单列表
*/
export function listTreeSelectMenus() {
return request({
url: '/youlai-admin/api/v1/menus/tree_select',
method: 'get'
})
}
/**
* 获取菜单详情
* @param id
*/
export function getMenuDetail(id: number) {
export function getMenuFormDetail(id: number): AxiosPromise<MenuFormData> {
return request({
url: '/youlai-admin/api/v1/menus/' + id,
method: 'get'
@@ -60,7 +52,7 @@ export function getMenuDetail(id: number) {
*
* @param data
*/
export function addMenu(data: object) {
export function addMenu(data: MenuFormData) {
return request({
url: '/youlai-admin/api/v1/menus',
method: 'post',
@@ -74,7 +66,7 @@ export function addMenu(data: object) {
* @param id
* @param data
*/
export function updateMenu(id: number, data: object) {
export function updateMenu(id: number, data: MenuFormData) {
return request({
url: '/youlai-admin/api/v1/menus/' + id,
method: 'put',

View File

@@ -1,11 +1,13 @@
import { PermFormData, PermItem, PermPageResult, PermQueryParam } from '@/types'
import request from '@/utils/request'
import { Axios, AxiosPromise } from 'axios'
/**
* 获取权限分页列表
*
* @param queryParams
*/
export function listPermsWithPage(queryParams: object) {
export function listPermPages(queryParams: PermQueryParam): AxiosPromise<PermPageResult> {
return request({
url: '/youlai-admin/api/v1/permissions/page',
method: 'get',
@@ -18,7 +20,7 @@ export function listPermsWithPage(queryParams: object) {
*
* @param queryParams
*/
export function listPerms(queryParams: object) {
export function listPerms(queryParams: PermQueryParam): AxiosPromise<PermItem[]> {
return request({
url: '/youlai-admin/api/v1/permissions',
method: 'get',
@@ -31,7 +33,7 @@ export function listPerms(queryParams: object) {
*
* @param id
*/
export function getPermDetail(id: number) {
export function getPermFormDetail(id: number): AxiosPromise<PermFormData> {
return request({
url: '/youlai-admin/api/v1/permissions/' + id,
method: 'get'
@@ -43,7 +45,7 @@ export function getPermDetail(id: number) {
*
* @param data
*/
export function addPerm(data: object) {
export function addPerm(data: PermFormData) {
return request({
url: '/youlai-admin/api/v1/permissions',
method: 'post',
@@ -57,7 +59,7 @@ export function addPerm(data: object) {
* @param id
* @param data
*/
export function updatePerm(id: number, data: object) {
export function updatePerm(id: number, data: PermFormData) {
return request({
url: '/youlai-admin/api/v1/permissions/' + id,
method: 'put',

View File

@@ -1,11 +1,13 @@
import { RoleFormData, RoleItem, RolePageResult, RoleQueryParam } from '@/types'
import request from '@/utils/request'
import { AxiosPromise } from 'axios'
/**
* 获取角色分页列表
*
* @param queryParams
*/
export function listRolesWithPage(queryParams: object) {
export function listRolePages(queryParams?: RoleQueryParam):AxiosPromise<RolePageResult> {
return request({
url: '/youlai-admin/api/v1/roles/page',
method: 'get',
@@ -18,7 +20,7 @@ export function listRolesWithPage(queryParams: object) {
*
* @param queryParams
*/
export function listRoles(queryParams?: object) {
export function listRoles(queryParams?: RoleQueryParam):AxiosPromise<RoleItem[]> {
return request({
url: '/youlai-admin/api/v1/roles',
method: 'get',
@@ -31,7 +33,7 @@ export function listRoles(queryParams?: object) {
*
* @param id
*/
export function getRoleDetail(id: number) {
export function getRoleFormDetail(id: number):AxiosPromise<RoleFormData> {
return request({
url: '/youlai-admin/api/v1/roles/' + id,
method: 'get'
@@ -43,7 +45,7 @@ export function getRoleDetail(id: number) {
*
* @param data
*/
export function addRole(data: object) {
export function addRole(data: RoleFormData) {
return request({
url: '/youlai-admin/api/v1/roles',
method: 'post',
@@ -57,7 +59,7 @@ export function addRole(data: object) {
* @param id
* @param data
*/
export function updateRole(id: number, data: object) {
export function updateRole(id: number, data: RoleFormData) {
return request({
url: '/youlai-admin/api/v1/roles/' + id,
method: 'put',
@@ -83,7 +85,7 @@ export function deleteRoles(ids: string) {
*
* @param roleId
*/
export function listRoleMenuIds(roleId: number) {
export function listRoleMenuIds(roleId: number):AxiosPromise<number[]> {
return request({
url: '/youlai-admin/api/v1/roles/' + roleId + '/menu_ids',
method: 'get',

View File

@@ -1,6 +1,6 @@
import request from "@/utils/request";
import { AxiosPromise } from "axios";
import { UserInfo, UserQueryParam } from "@/types";
import { UserFormData, UserInfo, UserPageResult, UserQueryParam } from "@/types";
/**
* 登录成功后获取用户信息(包括用户头像、权限列表等)
@@ -12,13 +12,12 @@ export function getUserInfo(): AxiosPromise<UserInfo> {
})
}
/**
* 获取用户分页列表
*
* @param queryParams
*/
export function listUserPages(queryParams: UserQueryParam) {
export function listUserPages(queryParams: UserQueryParam): AxiosPromise<UserPageResult> {
return request({
url: '/youlai-admin/api/v1/users/page',
method: 'get',
@@ -31,7 +30,7 @@ export function listUserPages(queryParams: UserQueryParam) {
*
* @param userId
*/
export function getUserFormDetail(userId: any) {
export function getUserFormDetail(userId: number):AxiosPromise<UserFormData> {
return request({
url: '/youlai-admin/api/v1/users/' + userId + '/form_detail',
method: 'get'
@@ -57,7 +56,7 @@ export function addUser(data: any) {
* @param id
* @param data
*/
export function updateUser(id: number, data: any) {
export function updateUser(id: number, data: UserFormData) {
return request({
url: '/youlai-admin/api/v1/users/' + id,
method: 'put',
@@ -79,12 +78,11 @@ export function updateUserPart(id: number, data: any) {
})
}
/**
* 删除用户
* @param ids
*/
export function deleteUsers(ids: number) {
export function deleteUsers(ids: string) {
return request({
url: '/youlai-admin/api/v1/users/' + ids,
method: 'delete',

12
src/types/index.d.ts vendored
View File

@@ -1,2 +1,12 @@
export * from './api/login'
export * from './api/user'
export * from './api/user'
export * from './api/role'
export * from './api/menu'
export * from './api/dept'
export * from './api/dict'
export * from './api/perm'
export * from './api/client'
export * from './component'