From 2cb46841309dee283f3f60411e9bc15fa3da621c Mon Sep 17 00:00:00 2001 From: Dawn1Ocean <1785590531@qq.com> Date: Tue, 2 Apr 2024 02:55:09 +0800 Subject: [PATCH] add log component: prolist --- doc/api.md | 44 +++-- mock/loglist.json | 152 +++++++++++++++++ mock/requestRecord.mock.js | 22 +-- src/app.tsx | 3 +- .../RightContent/AvatarDropdown.tsx | 2 +- src/pages/Logs/index.tsx | 82 +++++++++- src/pages/Logs/logItem.ts | 37 +++++ src/pages/User/Login/index.tsx | 3 +- src/services/ant-design-pro/api.ts | 94 ----------- src/services/api.ts | 34 ++++ src/services/{ant-design-pro => }/index.ts | 0 src/services/swagger/index.ts | 12 -- src/services/swagger/pet.ts | 153 ------------------ src/services/swagger/store.ts | 48 ------ src/services/swagger/typings.d.ts | 112 ------------- src/services/swagger/user.ts | 100 ------------ .../{ant-design-pro => }/typings.d.ts | 56 +------ 17 files changed, 350 insertions(+), 604 deletions(-) create mode 100644 mock/loglist.json create mode 100644 src/pages/Logs/logItem.ts delete mode 100644 src/services/ant-design-pro/api.ts create mode 100644 src/services/api.ts rename src/services/{ant-design-pro => }/index.ts (100%) delete mode 100644 src/services/swagger/index.ts delete mode 100644 src/services/swagger/pet.ts delete mode 100644 src/services/swagger/store.ts delete mode 100644 src/services/swagger/typings.d.ts delete mode 100644 src/services/swagger/user.ts rename src/services/{ant-design-pro => }/typings.d.ts (51%) diff --git a/doc/api.md b/doc/api.md index 6c2db05..4a950dc 100644 --- a/doc/api.md +++ b/doc/api.md @@ -220,23 +220,41 @@ request: ### 获取日志列表 `GET /admin/loglist` +request: + +```json +{ + "pageIndex": 1, + "size": 10, +} +``` + data: ```json { - "op": "宇航员", - "time": "2024-03-07T19:52:48.523303", - "operation": 2, - "target": 1, - "prev": { - "id": 114, - "info": "马嘉祺" - }, - "curr": { - "id": 514, - "info": "何君琳" - } -}, + "page": 1, + "total": 24, + "success": true, + "data": [ + { + "op": "宇航员", + "avatar": "https://...", + "time": "2024-03-07T19:52:48.523303", + "operation": 2, + "target": 1, + "prev": { + "id": 114, + "info": "马嘉祺" + }, + "curr": { + "id": 514, + "info": "何君琳" + } + }, + // ... + ] +} ``` 前端显示的信息:"{op} 于 {time} {operation} 了 {target}:{prev.info} -> {curr.info}" diff --git a/mock/loglist.json b/mock/loglist.json new file mode 100644 index 0000000..568d78a --- /dev/null +++ b/mock/loglist.json @@ -0,0 +1,152 @@ +[ + { + "op": "宇航员", + "avatar": "https://gw.alipayobjects.com/zos/rmsportal/BiazfanxmamNRoxxVxka.png", + "time": "2024-03-07T19:52:48.523303", + "operation": 2, + "target": 1, + "prev": { + "id": 114, + "info": "马嘉祺" + }, + "curr": { + "id": 514, + "info": "何君琳" + } + }, + { + "op": "宇航员", + "avatar": "https://gw.alipayobjects.com/zos/rmsportal/BiazfanxmamNRoxxVxka.png", + "time": "2024-03-07T19:52:49.523303", + "operation": 2, + "target": 1, + "prev": { + "id": 114, + "info": "马嘉祺" + }, + "curr": { + "id": 514, + "info": "何君琳" + } + }, + { + "op": "宇航员", + "avatar": "https://gw.alipayobjects.com/zos/rmsportal/BiazfanxmamNRoxxVxka.png", + "time": "2024-03-07T19:52:50.523303", + "operation": 2, + "target": 1, + "prev": { + "id": 114, + "info": "马嘉祺" + }, + "curr": { + "id": 514, + "info": "何君琳" + } + }, + { + "op": "晓洋", + "avatar": "https://gw.alipayobjects.com/zos/rmsportal/BiazfanxmamNRoxxVxka.png", + "time": "2024-03-07T19:52:51.523303", + "operation": 2, + "target": 1, + "prev": { + "id": 114, + "info": "马嘉祺" + }, + "curr": { + "id": 514, + "info": "何君琳" + } + }, + { + "op": "宇航员", + "avatar": "https://gw.alipayobjects.com/zos/rmsportal/BiazfanxmamNRoxxVxka.png", + "time": "2024-03-07T19:52:52.523303", + "operation": 2, + "target": 1, + "prev": { + "id": 114, + "info": "马嘉祺" + }, + "curr": { + "id": 514, + "info": "何君琳" + } + }, + { + "op": "宇航员", + "avatar": "https://gw.alipayobjects.com/zos/rmsportal/BiazfanxmamNRoxxVxka.png", + "time": "2024-03-07T19:52:53.523303", + "operation": 2, + "target": 1, + "prev": { + "id": 114, + "info": "马嘉祺" + }, + "curr": { + "id": 514, + "info": "何君琳" + } + }, + { + "op": "宇航员", + "avatar": "https://gw.alipayobjects.com/zos/rmsportal/BiazfanxmamNRoxxVxka.png", + "time": "2024-03-07T19:52:54.523303", + "operation": 2, + "target": 1, + "prev": { + "id": 114, + "info": "马嘉祺" + }, + "curr": { + "id": 514, + "info": "何君琳" + } + }, + { + "op": "宇航员", + "avatar": "https://gw.alipayobjects.com/zos/rmsportal/BiazfanxmamNRoxxVxka.png", + "time": "2024-03-07T19:52:55.523303", + "operation": 2, + "target": 1, + "prev": { + "id": 114, + "info": "马嘉祺" + }, + "curr": { + "id": 514, + "info": "何君琳" + } + }, + { + "op": "宇航员", + "avatar": "https://gw.alipayobjects.com/zos/rmsportal/BiazfanxmamNRoxxVxka.png", + "time": "2024-03-07T19:52:56.523303", + "operation": 2, + "target": 1, + "prev": { + "id": 114, + "info": "马嘉祺" + }, + "curr": { + "id": 514, + "info": "何君琳" + } + }, + { + "op": "宇航员", + "avatar": "https://gw.alipayobjects.com/zos/rmsportal/BiazfanxmamNRoxxVxka.png", + "time": "2024-03-07T19:52:57.523303", + "operation": 2, + "target": 1, + "prev": { + "id": 114, + "info": "马嘉祺" + }, + "curr": { + "id": 514, + "info": "何君琳" + } + } +] diff --git a/mock/requestRecord.mock.js b/mock/requestRecord.mock.js index 0041e4d..2d2840f 100644 --- a/mock/requestRecord.mock.js +++ b/mock/requestRecord.mock.js @@ -1,5 +1,6 @@ -import sheet from './sheet.json' -import sheetlist from './sheetlist.json' +import loglist from './loglist.json'; +import sheet from './sheet.json'; +import sheetlist from './sheetlist.json'; module.exports = { 'GET /admin/stats': { @@ -43,20 +44,9 @@ module.exports = { }, 'GET /admin/loglist': { success: true, - data: { - op: '宇航员', - time: '2024-03-07T19:52:48.523303', - operation: 2, - target: 1, - prev: { - id: 114, - info: '马嘉祺', - }, - curr: { - id: 514, - info: '何君琳', - }, - }, + page: 1, + total: 24, + data: loglist, }, 'GET /api/currentUser': { data: { diff --git a/src/app.tsx b/src/app.tsx index abaacec..c41ebca 100644 --- a/src/app.tsx +++ b/src/app.tsx @@ -1,5 +1,5 @@ import { AvatarDropdown, AvatarName, PageFooter } from '@/components'; -import { currentUser as queryCurrentUser } from '@/services/ant-design-pro/api'; +import { currentUser as queryCurrentUser } from '@/services/api'; import { LinkOutlined } from '@ant-design/icons'; import type { Settings as LayoutSettings } from '@ant-design/pro-components'; import { SettingDrawer } from '@ant-design/pro-components'; @@ -7,6 +7,7 @@ import type { RunTimeLayoutConfig } from '@umijs/max'; import { Link, history } from '@umijs/max'; import defaultSettings from '../config/defaultSettings'; import { errorConfig } from './requestErrorConfig'; +import { API } from './services/typings'; const isDev = process.env.NODE_ENV === 'development'; const loginPath = '/user/login'; diff --git a/src/components/RightContent/AvatarDropdown.tsx b/src/components/RightContent/AvatarDropdown.tsx index 766a5d3..561a1f4 100644 --- a/src/components/RightContent/AvatarDropdown.tsx +++ b/src/components/RightContent/AvatarDropdown.tsx @@ -1,4 +1,4 @@ -import { outLogin } from '@/services/ant-design-pro/api'; +import { outLogin } from '@/services/api'; import { LogoutOutlined, SettingOutlined, UserOutlined } from '@ant-design/icons'; import { history, useModel } from '@umijs/max'; import { Spin } from 'antd'; diff --git a/src/pages/Logs/index.tsx b/src/pages/Logs/index.tsx index 38f3d92..eabd415 100644 --- a/src/pages/Logs/index.tsx +++ b/src/pages/Logs/index.tsx @@ -1,12 +1,88 @@ -import { Todo } from '@/components'; -import { PageContainer } from '@ant-design/pro-components'; +import { PageContainer, ProList } from '@ant-design/pro-components'; import { Card } from 'antd'; +import moment from 'moment'; +import request from 'umi-request'; +import transInfo, { LogsItem } from './logItem'; const Logs: React.FC = () => { return ( - + + search={{ + filterType: 'light', + }} + rowKey="op" + headerTitle="日志列表" + request={async (params = {} as Record) => + request<{ + data: LogsItem[]; + }>('http://127.0.0.1:8000/admin/loglist', { + params, + }) + } + pagination={{ + pageSize: 5, + }} + metas={{ + title: { + dataIndex: 'op', + title: '用户', + }, + avatar: { + dataIndex: 'avatar', + search: false, + }, + description: { + dataIndex: ['time', 'operation', 'target', 'prev', 'curr'], + search: false, + render: (_, row) => { + return ( +
+ {'于 ' + + moment(row.time).format('lll') + + ' ' + + transInfo(row.operation, 'operation') + + '了 ' + + transInfo(row.target, 'target') + + ':' + + row.prev.info + + ' -> ' + + row.curr.info} +
+ ); + }, + }, + actions: { + render: (text, row) => [ + + 查看 + , + ], + search: false, + }, + // status: { + // // 自己扩展的字段,主要用于筛选,不在列表中显示 + // title: '更改部分', + // valueType: 'select', + // valueEnum: { + // all: { text: '全部', status: 'Default' }, + // open: { + // text: '未解决', + // status: 'Error', + // }, + // closed: { + // text: '已解决', + // status: 'Success', + // }, + // processing: { + // text: '解决中', + // status: 'Processing', + // }, + // }, + // }, + }} + />
); diff --git a/src/pages/Logs/logItem.ts b/src/pages/Logs/logItem.ts new file mode 100644 index 0000000..89fe5e7 --- /dev/null +++ b/src/pages/Logs/logItem.ts @@ -0,0 +1,37 @@ +const operationMap: { [key: number]: string } = { + 0: '增加', + 1: '删除', + 2: '修改', +}; + +const targetMap: { [key: number]: string } = { + 0: '值班表', + 1: '值班信息', + 2: '值班总结', +}; + +export type LogsItem = { + op: string; + time: string; + operation: number; + target: number; + prev: { + id: number; + info: string; + }; + curr: { + id: number; + info: string; + }; +}; + +const transInfo = (num: number, type: string) => { + switch (type) { + case 'operation': + return operationMap[num]; + case 'target': + return targetMap[num]; + } +}; + +export default transInfo; diff --git a/src/pages/User/Login/index.tsx b/src/pages/User/Login/index.tsx index 51178aa..8a18a8a 100644 --- a/src/pages/User/Login/index.tsx +++ b/src/pages/User/Login/index.tsx @@ -1,7 +1,8 @@ import Settings from '@/../config/defaultSettings'; import oidcLogo from '@/assets/oidc-logo.svg'; import { PageFooter } from '@/components'; -import { login } from '@/services/ant-design-pro/api'; +import { login } from '@/services/api'; +import { API } from '@/services/typings'; import { LockOutlined, UserOutlined } from '@ant-design/icons'; import { LoginForm, ProFormCheckbox, ProFormText } from '@ant-design/pro-components'; import { Helmet, history, useModel } from '@umijs/max'; diff --git a/src/services/ant-design-pro/api.ts b/src/services/ant-design-pro/api.ts deleted file mode 100644 index 7f9d4a4..0000000 --- a/src/services/ant-design-pro/api.ts +++ /dev/null @@ -1,94 +0,0 @@ -// @ts-ignore -/* eslint-disable */ -import { request } from '@umijs/max'; - -/** 获取当前的用户 GET /api/currentUser */ -export async function currentUser(options?: { [key: string]: any }) { - return request<{ - data: API.CurrentUser; - }>('/api/currentUser', { - method: 'GET', - ...(options || {}), - }); -} - -/** 退出登录接口 POST /api/login/outLogin */ -export async function outLogin(options?: { [key: string]: any }) { - return request>('/api/login/outLogin', { - method: 'POST', - ...(options || {}), - }); -} - -/** 登录接口 POST /api/login/account */ -export async function login(body: API.LoginParams, options?: { [key: string]: any }) { - return request('/api/login/account', { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - }, - data: body, - ...(options || {}), - }); -} - -/** 此处后端没有提供注释 GET /api/notices */ -export async function getNotices(options?: { [key: string]: any }) { - return request('/api/notices', { - method: 'GET', - ...(options || {}), - }); -} - -/** 获取规则列表 GET /api/rule */ -export async function rule( - params: { - // query - /** 当前的页码 */ - current?: number; - /** 页面的容量 */ - pageSize?: number; - }, - options?: { [key: string]: any }, -) { - return request('/api/rule', { - method: 'GET', - params: { - ...params, - }, - ...(options || {}), - }); -} - -/** 更新规则 PUT /api/rule */ -export async function updateRule(options?: { [key: string]: any }) { - return request('/api/rule', { - method: 'POST', - data: { - method: 'update', - ...(options || {}), - }, - }); -} - -/** 新建规则 POST /api/rule */ -export async function addRule(options?: { [key: string]: any }) { - return request('/api/rule', { - method: 'POST', - data: { - method: 'post', - ...(options || {}), - }, - }); -} - -/** 删除规则 DELETE /api/rule */ -export async function removeRule(options?: { [key: string]: any }) { - return request>('/api/rule', { - method: 'POST', - data: { - method: 'delete', - ...(options || {}), - }, - }); -} diff --git a/src/services/api.ts b/src/services/api.ts new file mode 100644 index 0000000..8fa0224 --- /dev/null +++ b/src/services/api.ts @@ -0,0 +1,34 @@ +// @ts-ignore +/* eslint-disable */ +import { request } from '@umijs/max'; +import { API } from './typings'; + +/** 获取当前的用户 GET /api/currentUser */ +export async function currentUser(options?: { [key: string]: any }) { + return request<{ + data: API.CurrentUser; + }>('/api/currentUser', { + method: 'GET', + ...(options || {}), + }); +} + +/** 退出登录接口 POST /api/login/outLogin */ +export async function outLogin(options?: { [key: string]: any }) { + return request>('/api/login/outLogin', { + method: 'POST', + ...(options || {}), + }); +} + +/** 登录接口 POST /api/login/account */ +export async function login(body: API.LoginParams, options?: { [key: string]: any }) { + return request('/api/login/account', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} diff --git a/src/services/ant-design-pro/index.ts b/src/services/index.ts similarity index 100% rename from src/services/ant-design-pro/index.ts rename to src/services/index.ts diff --git a/src/services/swagger/index.ts b/src/services/swagger/index.ts deleted file mode 100644 index 83cf97c..0000000 --- a/src/services/swagger/index.ts +++ /dev/null @@ -1,12 +0,0 @@ -// @ts-ignore -/* eslint-disable */ -// API 更新时间: -// API 唯一标识: -import * as pet from './pet'; -import * as store from './store'; -import * as user from './user'; -export default { - pet, - store, - user, -}; diff --git a/src/services/swagger/pet.ts b/src/services/swagger/pet.ts deleted file mode 100644 index b887475..0000000 --- a/src/services/swagger/pet.ts +++ /dev/null @@ -1,153 +0,0 @@ -// @ts-ignore -/* eslint-disable */ -import { request } from '@umijs/max'; - -/** Update an existing pet PUT /pet */ -export async function updatePet(body: API.Pet, options?: { [key: string]: any }) { - return request('/pet', { - method: 'PUT', - headers: { - 'Content-Type': 'application/json', - }, - data: body, - ...(options || {}), - }); -} - -/** Add a new pet to the store POST /pet */ -export async function addPet(body: API.Pet, options?: { [key: string]: any }) { - return request('/pet', { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - }, - data: body, - ...(options || {}), - }); -} - -/** Find pet by ID Returns a single pet GET /pet/${param0} */ -export async function getPetById( - // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) - params: API.getPetByIdParams, - options?: { [key: string]: any }, -) { - const { petId: param0, ...queryParams } = params; - return request(`/pet/${param0}`, { - method: 'GET', - params: { ...queryParams }, - ...(options || {}), - }); -} - -/** Updates a pet in the store with form data POST /pet/${param0} */ -export async function updatePetWithForm( - // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) - params: API.updatePetWithFormParams, - body: { name?: string; status?: string }, - options?: { [key: string]: any }, -) { - const { petId: param0, ...queryParams } = params; - const formData = new FormData(); - - Object.keys(body).forEach((ele) => { - const item = (body as any)[ele]; - - if (item !== undefined && item !== null) { - formData.append( - ele, - typeof item === 'object' && !(item instanceof File) ? JSON.stringify(item) : item, - ); - } - }); - - return request(`/pet/${param0}`, { - method: 'POST', - params: { ...queryParams }, - data: formData, - ...(options || {}), - }); -} - -/** Deletes a pet DELETE /pet/${param0} */ -export async function deletePet( - // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) - params: API.deletePetParams & { - // header - api_key?: string; - }, - options?: { [key: string]: any }, -) { - const { petId: param0, ...queryParams } = params; - return request(`/pet/${param0}`, { - method: 'DELETE', - headers: {}, - params: { ...queryParams }, - ...(options || {}), - }); -} - -/** uploads an image POST /pet/${param0}/uploadImage */ -export async function uploadFile( - // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) - params: API.uploadFileParams, - body: { additionalMetadata?: string; file?: string }, - file?: File, - options?: { [key: string]: any }, -) { - const { petId: param0, ...queryParams } = params; - const formData = new FormData(); - - if (file) { - formData.append('file', file); - } - - Object.keys(body).forEach((ele) => { - const item = (body as any)[ele]; - - if (item !== undefined && item !== null) { - formData.append( - ele, - typeof item === 'object' && !(item instanceof File) ? JSON.stringify(item) : item, - ); - } - }); - - return request(`/pet/${param0}/uploadImage`, { - method: 'POST', - params: { ...queryParams }, - data: formData, - requestType: 'form', - ...(options || {}), - }); -} - -/** Finds Pets by status Multiple status values can be provided with comma separated strings GET /pet/findByStatus */ -export async function findPetsByStatus( - // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) - params: API.findPetsByStatusParams, - options?: { [key: string]: any }, -) { - return request('/pet/findByStatus', { - method: 'GET', - params: { - ...params, - }, - ...(options || {}), - }); -} - -/** Finds Pets by tags Muliple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing. GET /pet/findByTags */ -export async function findPetsByTags( - // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) - params: API.findPetsByTagsParams, - options?: { [key: string]: any }, -) { - return request('/pet/findByTags', { - method: 'GET', - params: { - ...params, - }, - ...(options || {}), - }); -} diff --git a/src/services/swagger/store.ts b/src/services/swagger/store.ts deleted file mode 100644 index b9c689a..0000000 --- a/src/services/swagger/store.ts +++ /dev/null @@ -1,48 +0,0 @@ -// @ts-ignore -/* eslint-disable */ -import { request } from '@umijs/max'; - -/** Returns pet inventories by status Returns a map of status codes to quantities GET /store/inventory */ -export async function getInventory(options?: { [key: string]: any }) { - return request>('/store/inventory', { - method: 'GET', - ...(options || {}), - }); -} - -/** Place an order for a pet POST /store/order */ -export async function placeOrder(body: API.Order, options?: { [key: string]: any }) { - return request('/store/order', { - method: 'POST', - data: body, - ...(options || {}), - }); -} - -/** Find purchase order by ID For valid response try integer IDs with value >= 1 and <= 10. Other values will generated exceptions GET /store/order/${param0} */ -export async function getOrderById( - // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) - params: API.getOrderByIdParams, - options?: { [key: string]: any }, -) { - const { orderId: param0, ...queryParams } = params; - return request(`/store/order/${param0}`, { - method: 'GET', - params: { ...queryParams }, - ...(options || {}), - }); -} - -/** Delete purchase order by ID For valid response try integer IDs with positive integer value. Negative or non-integer values will generate API errors DELETE /store/order/${param0} */ -export async function deleteOrder( - // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) - params: API.deleteOrderParams, - options?: { [key: string]: any }, -) { - const { orderId: param0, ...queryParams } = params; - return request(`/store/order/${param0}`, { - method: 'DELETE', - params: { ...queryParams }, - ...(options || {}), - }); -} diff --git a/src/services/swagger/typings.d.ts b/src/services/swagger/typings.d.ts deleted file mode 100644 index d06bcfc..0000000 --- a/src/services/swagger/typings.d.ts +++ /dev/null @@ -1,112 +0,0 @@ -declare namespace API { - type ApiResponse = { - code?: number; - type?: string; - message?: string; - }; - - type Category = { - id?: number; - name?: string; - }; - - type deleteOrderParams = { - /** ID of the order that needs to be deleted */ - orderId: number; - }; - - type deletePetParams = { - api_key?: string; - /** Pet id to delete */ - petId: number; - }; - - type deleteUserParams = { - /** The name that needs to be deleted */ - username: string; - }; - - type findPetsByStatusParams = { - /** Status values that need to be considered for filter */ - status: ('available' | 'pending' | 'sold')[]; - }; - - type findPetsByTagsParams = { - /** Tags to filter by */ - tags: string[]; - }; - - type getOrderByIdParams = { - /** ID of pet that needs to be fetched */ - orderId: number; - }; - - type getPetByIdParams = { - /** ID of pet to return */ - petId: number; - }; - - type getUserByNameParams = { - /** The name that needs to be fetched. Use user1 for testing. */ - username: string; - }; - - type loginUserParams = { - /** The user name for login */ - username: string; - /** The password for login in clear text */ - password: string; - }; - - type Order = { - id?: number; - petId?: number; - quantity?: number; - shipDate?: string; - /** Order Status */ - status?: 'placed' | 'approved' | 'delivered'; - complete?: boolean; - }; - - type Pet = { - id?: number; - category?: Category; - name: string; - photoUrls: string[]; - tags?: Tag[]; - /** pet status in the store */ - status?: 'available' | 'pending' | 'sold'; - }; - - type Tag = { - id?: number; - name?: string; - }; - - type updatePetWithFormParams = { - /** ID of pet that needs to be updated */ - petId: number; - }; - - type updateUserParams = { - /** name that need to be updated */ - username: string; - }; - - type uploadFileParams = { - /** ID of pet to update */ - petId: number; - }; - - type User = { - id?: number; - username?: string; - firstName?: string; - lastName?: string; - email?: string; - password?: string; - phone?: string; - /** User Status */ - userStatus?: number; - }; -} diff --git a/src/services/swagger/user.ts b/src/services/swagger/user.ts deleted file mode 100644 index 4dd6f42..0000000 --- a/src/services/swagger/user.ts +++ /dev/null @@ -1,100 +0,0 @@ -// @ts-ignore -/* eslint-disable */ -import { request } from '@umijs/max'; - -/** Create user This can only be done by the logged in user. POST /user */ -export async function createUser(body: API.User, options?: { [key: string]: any }) { - return request('/user', { - method: 'POST', - data: body, - ...(options || {}), - }); -} - -/** Get user by user name GET /user/${param0} */ -export async function getUserByName( - // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) - params: API.getUserByNameParams, - options?: { [key: string]: any }, -) { - const { username: param0, ...queryParams } = params; - return request(`/user/${param0}`, { - method: 'GET', - params: { ...queryParams }, - ...(options || {}), - }); -} - -/** Updated user This can only be done by the logged in user. PUT /user/${param0} */ -export async function updateUser( - // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) - params: API.updateUserParams, - body: API.User, - options?: { [key: string]: any }, -) { - const { username: param0, ...queryParams } = params; - return request(`/user/${param0}`, { - method: 'PUT', - params: { ...queryParams }, - data: body, - ...(options || {}), - }); -} - -/** Delete user This can only be done by the logged in user. DELETE /user/${param0} */ -export async function deleteUser( - // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) - params: API.deleteUserParams, - options?: { [key: string]: any }, -) { - const { username: param0, ...queryParams } = params; - return request(`/user/${param0}`, { - method: 'DELETE', - params: { ...queryParams }, - ...(options || {}), - }); -} - -/** Creates list of users with given input array POST /user/createWithArray */ -export async function createUsersWithArrayInput( - body: API.User[], - options?: { [key: string]: any }, -) { - return request('/user/createWithArray', { - method: 'POST', - data: body, - ...(options || {}), - }); -} - -/** Creates list of users with given input array POST /user/createWithList */ -export async function createUsersWithListInput(body: API.User[], options?: { [key: string]: any }) { - return request('/user/createWithList', { - method: 'POST', - data: body, - ...(options || {}), - }); -} - -/** Logs user into the system GET /user/login */ -export async function loginUser( - // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) - params: API.loginUserParams, - options?: { [key: string]: any }, -) { - return request('/user/login', { - method: 'GET', - params: { - ...params, - }, - ...(options || {}), - }); -} - -/** Logs out current logged in user session GET /user/logout */ -export async function logoutUser(options?: { [key: string]: any }) { - return request('/user/logout', { - method: 'GET', - ...(options || {}), - }); -} diff --git a/src/services/ant-design-pro/typings.d.ts b/src/services/typings.d.ts similarity index 51% rename from src/services/ant-design-pro/typings.d.ts rename to src/services/typings.d.ts index 13e5a68..cc9e8ad 100644 --- a/src/services/ant-design-pro/typings.d.ts +++ b/src/services/typings.d.ts @@ -1,5 +1,4 @@ -// @ts-ignore -/* eslint-disable */ +import { LogsItem } from '@/pages/Logs/logItem'; declare namespace API { type CurrentUser = { @@ -34,33 +33,6 @@ declare namespace API { pageSize?: number; }; - type RuleListItem = { - key?: number; - disabled?: boolean; - href?: string; - avatar?: string; - name?: string; - owner?: string; - desc?: string; - callNo?: number; - status?: number; - updatedAt?: string; - createdAt?: string; - progress?: number; - }; - - type RuleList = { - data?: RuleListItem[]; - /** 列表的内容总数 */ - total?: number; - success?: boolean; - }; - - type FakeCaptcha = { - code?: number; - status?: string; - }; - type LoginParams = { username?: string; password?: string; @@ -76,26 +48,10 @@ declare namespace API { /** 业务上的请求是否成功 */ success?: boolean; }; - - type NoticeIconList = { - data?: NoticeIconItem[]; - /** 列表的内容总数 */ - total?: number; - success?: boolean; - }; - - type NoticeIconItemType = 'notification' | 'message' | 'event'; - - type NoticeIconItem = { - id?: string; - extra?: string; - key?: string; - read?: boolean; - avatar?: string; - title?: string; - status?: string; - datetime?: string; - description?: string; - type?: NoticeIconItemType; + type LogList = { + pageIndex: number; + pageCount: number; + size: number; + data: LogsItem[]; }; }