feat: add TaskBoard demo and refactor project structure
This commit is contained in:
44
mock/demoTask.ts
Normal file
44
mock/demoTask.ts
Normal file
@@ -0,0 +1,44 @@
|
||||
import { defineMock } from '@umijs/max';
|
||||
|
||||
const tasks: any[] = [];
|
||||
for (let i = 0; i < 20; i += 1) {
|
||||
tasks.push({
|
||||
id: `${i}`,
|
||||
title: `Task Name ${i}`,
|
||||
status: i % 3 === 0 ? 'todo' : i % 3 === 1 ? 'doing' : 'done',
|
||||
description: 'This is a description for the task.',
|
||||
priority: Math.floor(Math.random() * 3), // 0, 1, 2
|
||||
createdAt: new Date().toISOString(),
|
||||
});
|
||||
}
|
||||
|
||||
export default defineMock({
|
||||
'GET /api/demo/tasks': (req, res) => {
|
||||
const { keyword, current = 1, pageSize = 20 } = req.query as any;
|
||||
let dataSource = [...tasks].slice().reverse();
|
||||
|
||||
if (keyword) {
|
||||
dataSource = dataSource.filter((item) => item.title.includes(keyword));
|
||||
}
|
||||
|
||||
const start = (current - 1) * pageSize;
|
||||
const end = start + pageSize;
|
||||
|
||||
setTimeout(() => {
|
||||
res.json({
|
||||
success: true,
|
||||
data: dataSource.slice(start, end),
|
||||
total: dataSource.length,
|
||||
});
|
||||
}, 500);
|
||||
},
|
||||
'POST /api/demo/tasks': (req, res) => {
|
||||
res.json({ success: true, data: { ...req.body, id: `${tasks.length}` } });
|
||||
},
|
||||
'PUT /api/demo/tasks': (req, res) => {
|
||||
res.json({ success: true });
|
||||
},
|
||||
'DELETE /api/demo/tasks': (req, res) => {
|
||||
res.json({ success: true });
|
||||
},
|
||||
});
|
||||
Reference in New Issue
Block a user