layer.ts 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import request, { IWorkspaceResponse } from '/@/api/http/request'
  2. import { mapLayers } from '/@/constants/mock-layers'
  3. import { elementGroupsReq, PostElementsBody, PutElementsBody } from '/@/types/mapLayer'
  4. import { getWorkspaceId } from '/@/utils/index';
  5. const PREFIX = '/map/api/v1'
  6. type UnknownResponse = Promise<IWorkspaceResponse<unknown>>
  7. export const getLayers = async (reqParams: elementGroupsReq): UnknownResponse => {
  8. return mapLayers
  9. }
  10. // Get elements groups request
  11. export const getElementGroupsReq = async (body: elementGroupsReq): Promise<IWorkspaceResponse<any>> => {
  12. const url = `${PREFIX}/workspaces/` + getWorkspaceId() + '/element-groups'
  13. const result = await request.get(url, body)
  14. return result.data
  15. }
  16. // add element
  17. export const postElementsReq = async (pid: string, body: PostElementsBody): Promise<IWorkspaceResponse<{ id: string }>> => {
  18. const url = `${PREFIX}/workspaces/` + getWorkspaceId() + `/element-groups/${pid}/elements`
  19. const result = await request.post(url, body)
  20. return result.data
  21. }
  22. // Update map element request
  23. export const updateElementsReq = async (id: string, body: PutElementsBody): Promise<IWorkspaceResponse<{ id: string }>> => {
  24. const url = `${PREFIX}/workspaces/` + getWorkspaceId() + `/elements/${id}`
  25. const result = await request.put(url, body)
  26. return result.data
  27. }
  28. // Delete map element
  29. export const deleteElementReq = async (id: string, body: {}): Promise<any> => {
  30. const url = `${PREFIX}/workspaces/` + getWorkspaceId() + `/elements/${id}`
  31. const result = await request.delete(url, body)
  32. return result.data
  33. }
  34. // Delete layer elements
  35. export const deleteLayerEleReq = async (id: string, body: {}): Promise<any> => {
  36. const url = `${PREFIX}/workspaces/` + getWorkspaceId() + `/element-groups/${id}/elements`
  37. const result = await request.delete(url, body)
  38. return result.data
  39. }