project.api.ts 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. import { http } from '@/api/http'
  2. import { httpErrorHandle } from '@/utils'
  3. import { ContentTypeEnum, RequestHttpEnum, ModuleTypeEnum } from '@/enums/httpEnum'
  4. import { ProjectItem, ProjectDetail } from './project' // TODO 分页返回,优化使用 ProjectItem
  5. // * 项目列表
  6. export const projectListApi = async (data: object) => {
  7. try {
  8. const res = await http(RequestHttpEnum.GET)<any>(`${ModuleTypeEnum.PROJECT}/my-page`, data)
  9. return res
  10. } catch {
  11. httpErrorHandle()
  12. }
  13. }
  14. // * 新增项目
  15. export const createProjectApi = async (data: object) => {
  16. try {
  17. const res = await http(RequestHttpEnum.POST)<{
  18. /**
  19. * 项目id
  20. */
  21. id: number
  22. }>(`${ModuleTypeEnum.PROJECT}/create`, data)
  23. return res
  24. } catch {
  25. httpErrorHandle()
  26. }
  27. }
  28. // * 获取项目
  29. export const fetchProjectApi = async (data: object) => {
  30. try {
  31. const res = await http(RequestHttpEnum.GET)<ProjectDetail>(`${ModuleTypeEnum.PROJECT}/get`, data)
  32. return res
  33. } catch {
  34. httpErrorHandle()
  35. }
  36. }
  37. // * 保存项目
  38. export const saveProjectApi = async (data: object) => {
  39. try {
  40. const res = await http(RequestHttpEnum.PUT)(`${ModuleTypeEnum.PROJECT}/update`, data)
  41. return res
  42. } catch {
  43. httpErrorHandle()
  44. }
  45. }
  46. // * 修改项目基础信息
  47. export const updateProjectApi = async (data: object) => {
  48. try {
  49. const res = await http(RequestHttpEnum.PUT)(`${ModuleTypeEnum.PROJECT}/update`, data)
  50. return res
  51. } catch {
  52. httpErrorHandle()
  53. }
  54. }
  55. // * 删除项目
  56. export const deleteProjectApi = async (data: object) => {
  57. try {
  58. const res = await http(RequestHttpEnum.DELETE)(`${ModuleTypeEnum.PROJECT}/delete`, data)
  59. return res
  60. } catch {
  61. httpErrorHandle()
  62. }
  63. }
  64. // * 修改发布状态 [0 已发布, 1 未发布]
  65. export const changeProjectReleaseApi = async (data: object) => {
  66. try {
  67. const res = await http(RequestHttpEnum.PUT)(`${ModuleTypeEnum.PROJECT}/update`, data)
  68. return res
  69. } catch {
  70. httpErrorHandle()
  71. }
  72. }