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// 获取历史待办事项\r\nexport const getHistoryTodos = async () => {\r\n const response = await api.get('/todos/history');\r\n return response.data;\r\n};\r\n\r\n// 获取挂起的待办事项\r\nexport const getSuspendedTodos = async () => {\r\n const response = await api.get('/todos/suspended');\r\n return response.data;\r\n};\r\n\r\n// 迁移历史未完成待办到今天\r\nexport const migratePendingTodos = async () => {\r\n const response = await api.post('/todos/migrate-pending');\r\n return response.data;\r\n};\r\n\r\n// 挂起待办事项\r\nexport const suspendTodo = async (id) => {\r\n const response = await api.put(`/todos/${id}/suspend`);\r\n return response.data;\r\n};\r\n\r\n// 恢复挂起的待办事项\r\nexport const resumeTodo = async (id) => {\r\n const response = await api.put(`/todos/${id}/resume`);\r\n return response.data;\r\n};\r\n\r\n// 创建待办事项\r\nexport const createTodo = async (todoData) => {\r\n const response = await api.post('/todos', todoData);\r\n return response.data;\r\n};\r\n\r\n// 更新待办事项\r\nexport const updateTodo = async (id, updateData) => {\r\n const response = await api.put(`/todos/${id}`, updateData);\r\n return response.data;\r\n};\r\n\r\n// 删除待办事项\r\nexport const deleteTodo = async (id) => {\r\n const response = await api.delete(`/todos/${id}`);\r\n return response.data;\r\n}; "],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,MAAMC,OAAO,GAAG,2BAA2B;;AAE3C;AACA,MAAMC,GAAG,GAAGF,KAAK,CAACG,MAAM,CAAC;EACvBC,OAAO,EAAEH;AACX,CAAC,CAAC;;AAEF;AACAC,GAAG,CAACG,YAAY,CAACC,OAAO,CAACC,GAAG,CAAEC,MAAM,IAAK;EACvC,MAAMC,KAAK,GAAGC,YAAY,CAACC,OAAO,CAAC,OAAO,CAAC;EAC3C,IAAIF,KAAK,EAAE;IACTD,MAAM,CAACI,OAAO,CAACC,aAAa,GAAG,UAAUJ,KAAK,EAAE;EAClD;EACA,OAAOD,MAAM;AACf,CAAC,CAAC;;AAEF;AACA,OAAO,MAAMM,KAAK,GAAG,MAAAA,CAAOC,QAAQ,EAAEC,QAAQ,KAAK;EACjD,MAAMC,QAAQ,GAAG,MAAMf,GAAG,CAACgB,IAAI,CAAC,aAAa,EAAE;IAAEH,QAAQ;IAAEC;EAAS,CAAC,CAAC;EACtE,OAAOC,QAAQ,CAACE,IAAI;AACtB,CAAC;;AAED;AACA,OAAO,MAAMC,YAAY,GAAG,MAAAA,CAAOL,QAAQ,EAAEC,QAAQ,KAAK;EACxD,MAAMC,QAAQ,GAAG,MAAMf,GAAG,CAACgB,IAAI,CAAC,gBAAgB,EAAE;IAAEH,QAAQ;IAAEC;EAAS,CAAC,CAAC;EACzE,OAAOC,QAAQ,CAACE,IAAI;AACtB,CAAC;;AAED;AACA,OAAO,MAAME,QAAQ,GAAG,MAAAA,CAAA,KAAY;EAClC,MAAMJ,QAAQ,GAAG,MAAMf,GAAG,CAACoB,GAAG,CAAC,QAAQ,CAAC;EACxC,OAAOL,QAAQ,CAACE,IAAI;AACtB,CAAC;;AAED;AACA,OAAO,MAAMI,QAAQ,GAAG,MAAAA,CAAA,KAAY;EAClC,MAAMN,QAAQ,GAAG,MAAMf,GAAG,CAACoB,GAAG,CAAC,QAAQ,CAAC;EACxC,OAAOL,QAAQ,CAACE,IAAI;AACtB,CAAC;;AAED;AACA,OAAO,MAAMK,eAAe,GAAG,MAAAA,CAAA,KAAY;EACzC,MAAMP,QAAQ,GAAG,MAAMf,GAAG,CAACoB,GAAG,CAAC,gBAAgB,CAAC;EAChD,OAAOL,QAAQ,CAACE,IAAI;AACtB,CAAC;;AAED;AACA,OAAO,MAAMM,iBAAiB,GAAG,MAAAA,CAAA,KAAY;EAC3C,MAAMR,QAAQ,GAAG,MAAMf,GAAG,CAACoB,GAAG,CAAC,kBAAkB,CAAC;EAClD,OAAOL,QAAQ,CAACE,IAAI;AACtB,CAAC;;AAED;AACA,OAAO,MAAMO,mBAAmB,GAAG,MAAAA,CAAA,KAAY;EAC7C,MAAMT,QAAQ,GAAG,MAAMf,GAAG,CAACgB,IAAI,CAAC,wBAAwB,CAAC;EACzD,OAAOD,QAAQ,CAACE,IAAI;AACtB,CAAC;;AAED;AACA,OAAO,MAAMQ,WAAW,GAAG,MAAOC,EAAE,IAAK;EACvC,MAAMX,QAAQ,GAAG,MAAMf,GAAG,CAAC2B,GAAG,CAAC,UAAUD,EAAE,UAAU,CAAC;EACtD,OAAOX,QAAQ,CAACE,IAAI;AACtB,CAAC;;AAED;AACA,OAAO,MAAMW,UAAU,GAAG,MAAOF,EAAE,IAAK;EACtC,MAAMX,QAAQ,GAAG,MAAMf,GAAG,CAAC2B,GAAG,CAAC,UAAUD,EAAE,SAAS,CAAC;EACrD,OAAOX,QAAQ,CAACE,IAAI;AACtB,CAAC;;AAED;AACA,OAAO,MAAMY,UAAU,GAAG,MAAOC,QAAQ,IAAK;EAC5C,MAAMf,QAAQ,GAAG,MAAMf,GAAG,CAACgB,IAAI,CAAC,QAAQ,EAAEc,QAAQ,CAAC;EACnD,OAAOf,QAAQ,CAACE,IAAI;AACtB,CAAC;;AAED;AACA,OAAO,MAAMc,UAAU,GAAG,MAAAA,CAAOL,EAAE,EAAEM,UAAU,KAAK;EAClD,MAAMjB,QAAQ,GAAG,MAAMf,GAAG,CAAC2B,GAAG,CAAC,UAAUD,EAAE,EAAE,EAAEM,UAAU,CAAC;EAC1D,OAAOjB,QAAQ,CAACE,IAAI;AACtB,CAAC;;AAED;AACA,OAAO,MAAMgB,UAAU,GAAG,MAAOP,EAAE,IAAK;EACtC,MAAMX,QAAQ,GAAG,MAAMf,GAAG,CAACkC,MAAM,CAAC,UAAUR,EAAE,EAAE,CAAC;EACjD,OAAOX,QAAQ,CAACE,IAAI;AACtB,CAAC","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} |