1 line
7.7 KiB
JSON
1 line
7.7 KiB
JSON
|
|
{"ast":null,"code":"import axios from 'axios';\nconst API_URL = 'http://localhost:5000/api';\n\n// 创建axios实例\nconst api = axios.create({\n baseURL: API_URL\n});\n\n// 请求拦截器,自动添加token\napi.interceptors.request.use(config => {\n const token = localStorage.getItem('token');\n if (token) {\n config.headers.Authorization = `Bearer ${token}`;\n }\n return config;\n});\n\n// 用户登录\nexport const login = async (username, password) => {\n const response = await api.post('/auth/login', {\n username,\n password\n });\n return response.data;\n};\n\n// 管理员注册新用户\nexport const registerUser = async (username, password) => {\n const response = await api.post('/auth/register', {\n username,\n password\n });\n return response.data;\n};\n\n// 获取所有用户(仅管理员)\nexport const getUsers = async () => {\n const response = await api.get('/users');\n return response.data;\n};\n\n// 获取待办事项\nexport const getTodos = async () => {\n const response = await api.get('/todos');\n return response.data;\n};\n\n// 获取历史待办事项\nexport const getHistoryTodos = async () => {\n const response = await api.get('/todos/history');\n return response.data;\n};\n\n// 获取挂起的待办事项\nexport const getSuspendedTodos = async () => {\n const response = await api.get('/todos/suspended');\n return response.data;\n};\n\n// 迁移历史未完成待办到今天\nexport const migratePendingTodos = async () => {\n const response = await api.post('/todos/migrate-pending');\n return response.data;\n};\n\n// 挂起待办事项\nexport const suspendTodo = async id => {\n const response = await api.put(`/todos/${id}/suspend`);\n return response.data;\n};\n\n// 恢复挂起的待办事项\nexport const resumeTodo = async id => {\n const response = await api.put(`/todos/${id}/resume`);\n return response.data;\n};\n\n// 创建待办事项\nexport const createTodo = async todoData => {\n const response = await api.post('/todos', todoData);\n return response.data;\n};\n\n// 更新待办事项\nexport const updateTodo = async (id, updateData) => {\n const response = await api.put(`/todos/${id}`, updateData);\n return response.data;\n};\n\n// 删除待办事项\nexport const deleteTodo = async id => {\n const response = await api.delete(`/todos/${id}`);\n return response.data;\n};","map":{"version":3,"names":["axios","API_URL","api","create","baseURL","interceptors","request","use","config","token","localStorage","getItem","headers","Authorization","login","username","password","response","post","data","registerUser","getUsers","get","getTodos","getHistoryTodos","getSuspendedTodos","migratePendingTodos","suspendTodo","id","put","resumeTodo","createTodo","todoData","updateTodo","updateData","deleteTodo","delete"],"sources":["D:/aiproject/goAgent/todo/client/src/services/api.js"],"sourcesContent":["import axios from 'axios';\r\n\r\nconst API_URL = 'http://localhost:5000/api';\r\n\r\n// 创建axios实例\r\nconst api = axios.create({\r\n baseURL: API_URL,\r\n});\r\n\r\n// 请求拦截器,自动添加token\r\napi.interceptors.request.use((config) => {\r\n const token = localStorage.getItem('token');\r\n if (token) {\r\n config.headers.Authorization = `Bearer ${token}`;\r\n }\r\n return config;\r\n});\r\n\r\n// 用户登录\r\nexport const login = async (username, password) => {\r\n const response = await api.post('/auth/login', { username, password });\r\n return response.data;\r\n};\r\n\r\n// 管理员注册新用户\r\nexport const registerUser = async (username, password) => {\r\n const response = await api.post('/auth/register', { username, password });\r\n return response.data;\r\n};\r\n\r\n// 获取所有用户(仅管理员)\r\nexport const getUsers = async () => {\r\n const response = await api.get('/users');\r\n return response.data;\r\n};\r\n\r\n// 获取待办事项\r\nexport const getTodos = async () => {\r\n const response = await api.get('/todos');\r\n return response.data;\r\n};\r\n\r\n// 获取历史待办事<E58A9E>
|