/* eslint-disable class-methods-use-this */ import _axios, { get, put, _delete } from '@/lin/plugin/axios' // 我们通过 class 这样的语法糖使模型这个概念更加具象化,其优点:耦合性低、可维护性。 class ProjectTaskInfo { // constructor() {} // 类中的方法可以代表一个用户行为 async create(data) { return _axios({ method: 'post', url: 'v1/project-task', data, }) } async createBatch(data) { return _axios({ method: 'post', url: 'v1/project-task/batch', data, }) } // 在这里通过 async await 语法糖让代码同步执行 // 1. await 一定要搭配 async 来使用 // 2. await 后面跟的是一个 Promise 对象 async get(id) { const res = await get(`v1/project-task/${id}`) return res } async edit(id, info) { const res = await put(`v1/project-task/${id}`, info) return res } async delete(id) { const res = await _delete(`v1/project-task/${id}`) return res } async getList(params) { return _axios({ method: 'get', url: 'v1/project-task/list', // params:{keyword:keyword}, params, handleError: true, }) } async getPage(data) { return _axios({ method: 'post', url: 'v1/project-task/page', // params:{keyword:queryForm.keyword.value,status:queryForm.status.value,stage:queryForm.stage.value,type:queryForm.type.value}, data, handleError: true, }) } async getMyTodoPage(data) { return _axios({ method: 'post', url: 'v1/project-task/page/mine/todo', // params:{keyword:queryForm.keyword.value,status:queryForm.status.value,stage:queryForm.stage.value,type:queryForm.type.value}, data, handleError: true, }) } async start(id) { const res = await get(`v1/project-task/start/${id}`) return res } async finish(id) { const res = await get(`v1/project-task/finish/${id}`) return res } async testPass(id) { const res = await get(`v1/project-task/test/pass/${id}`) return res } async testUnpass(id) { const res = await get(`v1/project-task/test/unpass/${id}`) return res } async confirm(id) { const res = await get(`v1/project-task/confirm/${id}`) return res } async editProcess(data) { return _axios({ method: 'post', url: 'v1/project-task/edit/process', // params:{keyword:queryForm.keyword.value,status:queryForm.status.value,stage:queryForm.stage.value,type:queryForm.type.value}, data, handleError: true, }) } async deleteTaskDaily(id) { const res = await _delete(`v1/project-task/delete/daily/${id}`) return res } async updateTaskDaily(id, data) { return _axios({ method: 'post', url: `v1/project-task/update/daily/${id}`, // params:{keyword:queryForm.keyword.value,status:queryForm.status.value,stage:queryForm.stage.value,type:queryForm.type.value}, data, }) } async updateTaskPlanInfo(data) { return _axios({ method: 'post', url: 'v1/project-task/update/plan', // params:{keyword:queryForm.keyword.value,status:queryForm.status.value,stage:queryForm.stage.value,type:queryForm.type.value}, data, }) } } export default new ProjectTaskInfo()