tree.ts 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. import { getNearbyTrees, getTreeById } from '@/mock/tree'
  2. import { request } from './request'
  3. const USE_MOCK = false
  4. export async function fetchNearbyTrees(lng: number, lat: number, maxDistance = 10000, limit = 100) {
  5. if (USE_MOCK) return getNearbyTrees(lng, lat, maxDistance, limit)
  6. const res = await request<any[]>('/mobile/wishingtree/list', {
  7. method: 'POST',
  8. body: JSON.stringify({ lng, lat, maxDistance, limit }),
  9. })
  10. return res.data.map((item: any) => ({
  11. ...item,
  12. isInRange: item.isInRange ?? false,
  13. }))
  14. }
  15. export async function fetchTreeDetail(id: number, lng?: number, lat?: number) {
  16. if (USE_MOCK) return getTreeById(id)
  17. const res = await request<any>('/mobile/wishingtree/detail', {
  18. method: 'POST',
  19. body: JSON.stringify({ id, lng: lng ?? 0, lat: lat ?? 0 }),
  20. })
  21. return res.data
  22. }
  23. export async function createTree(data: {
  24. name: string
  25. description: string
  26. longitude: number
  27. latitude: number
  28. address: string
  29. radius: number
  30. coverImage: string
  31. }) {
  32. const res = await request<any>('/mobile/admin/create/tree', {
  33. method: 'POST',
  34. body: JSON.stringify(data),
  35. })
  36. return res.data
  37. }