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

View File

@@ -1,6 +1,8 @@
import { ClientFormData, ClientPageResult, ClientQueryParam } from '@/types/api/client'
import request from '@/utils/request' import request from '@/utils/request'
import { AxiosPromise } from 'axios'
export function listClientsWithPage(queryParams:object) { export function listClientPages(queryParams:ClientQueryParam):AxiosPromise<ClientPageResult> {
return request({ return request({
url: '/youlai-admin/api/v1/oauth-clients', url: '/youlai-admin/api/v1/oauth-clients',
method: 'get', 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({ return request({
url: '/youlai-admin/api/v1/oauth-clients/' + id, url: '/youlai-admin/api/v1/oauth-clients/' + id,
method: 'get' method: 'get'
}) })
} }
export function add(data:object) { export function addClient(data:ClientFormData) {
return request({ return request({
url: '/youlai-admin/api/v1/oauth-clients', url: '/youlai-admin/api/v1/oauth-clients',
method: 'post', 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({ return request({
url: '/youlai-admin/api/v1/oauth-clients/' + id, url: '/youlai-admin/api/v1/oauth-clients/' + id,
method: 'put', 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({ return request({
url: '/youlai-admin/api/v1/oauth-clients/'+ids, url: '/youlai-admin/api/v1/oauth-clients/'+ids,
method: 'delete' method: 'delete'
}) })
} }
export function patch(id:number, data:object) { export function updateClientPart(id:number, data:object) {
return request({ return request({
url: '/youlai-admin/api/v1/oauth-clients/' + id, url: '/youlai-admin/api/v1/oauth-clients/' + id,
method: 'patch', method: 'patch',

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,6 +1,6 @@
import request from "@/utils/request"; import request from "@/utils/request";
import { AxiosPromise } from "axios"; 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 * @param queryParams
*/ */
export function listUserPages(queryParams: UserQueryParam) { export function listUserPages(queryParams: UserQueryParam): AxiosPromise<UserPageResult> {
return request({ return request({
url: '/youlai-admin/api/v1/users/page', url: '/youlai-admin/api/v1/users/page',
method: 'get', method: 'get',
@@ -31,7 +30,7 @@ export function listUserPages(queryParams: UserQueryParam) {
* *
* @param userId * @param userId
*/ */
export function getUserFormDetail(userId: any) { export function getUserFormDetail(userId: number):AxiosPromise<UserFormData> {
return request({ return request({
url: '/youlai-admin/api/v1/users/' + userId + '/form_detail', url: '/youlai-admin/api/v1/users/' + userId + '/form_detail',
method: 'get' method: 'get'
@@ -57,7 +56,7 @@ export function addUser(data: any) {
* @param id * @param id
* @param data * @param data
*/ */
export function updateUser(id: number, data: any) { export function updateUser(id: number, data: UserFormData) {
return request({ return request({
url: '/youlai-admin/api/v1/users/' + id, url: '/youlai-admin/api/v1/users/' + id,
method: 'put', method: 'put',
@@ -79,12 +78,11 @@ export function updateUserPart(id: number, data: any) {
}) })
} }
/** /**
* 删除用户 * 删除用户
* @param ids * @param ids
*/ */
export function deleteUsers(ids: number) { export function deleteUsers(ids: string) {
return request({ return request({
url: '/youlai-admin/api/v1/users/' + ids, url: '/youlai-admin/api/v1/users/' + ids,
method: 'delete', method: 'delete',

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

@@ -1,2 +1,12 @@
export * from './api/login' 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'