api.ts 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. import { hc } from 'hono/client'
  2. import type { AuthRoutes, OrderGoodsRoutes, OrderRefundRoutes, OrderRoutes } from '@/server/api'
  3. import type { UserRoutes } from '@/server/api'
  4. import type { RoleRoutes } from '@/server/api'
  5. import type { FileRoutes } from '@/server/api'
  6. import type { AdvertisementRoutes } from '@/server/api'
  7. import type { AdvertisementTypeRoutes } from '@/server/api'
  8. import type { GoodsCategoryRoutes } from '@/server/api'
  9. import type { GoodsRoutes } from '@/server/api'
  10. import type { CityRoutes } from '@/server/api'
  11. import type { ConfigRoutes } from '@/server/api'
  12. import type { ExpressCompanyRoutes } from '@/server/api'
  13. import type { OrganizationRoutes } from '@/server/api'
  14. import type { SupplierRoutes } from '@/server/api'
  15. import type { CardRoutes } from '@/server/api'
  16. import type { AgentRoutes } from '@/server/api'
  17. import type { MerchantRoutes } from '@/server/api'
  18. import type { UserCardRoutes } from '@/server/api'
  19. import type { UserCardBalanceRecordRoutes } from '@/server/api'
  20. import type { DeliveryAddressRoutes } from '@/server/api'
  21. import { axiosFetch } from './utils/axios-fetch'
  22. // 创建客户端
  23. export const authClient = hc<AuthRoutes>('/', {
  24. fetch: axiosFetch,
  25. }).api.v1.auth
  26. export const userClient = hc<UserRoutes>('/', {
  27. fetch: axiosFetch,
  28. }).api.v1.users
  29. export const roleClient = hc<RoleRoutes>('/', {
  30. fetch: axiosFetch,
  31. }).api.v1.roles
  32. export const fileClient = hc<FileRoutes>('/', {
  33. fetch: axiosFetch,
  34. }).api.v1.files
  35. export const advertisementClient = hc<AdvertisementRoutes>('/', {
  36. fetch: axiosFetch,
  37. }).api.v1.advertisements
  38. export const advertisementTypeClient = hc<AdvertisementTypeRoutes>('/', {
  39. fetch: axiosFetch,
  40. }).api.v1['advertisement-types']
  41. export const goodsCategoryClient = hc<GoodsCategoryRoutes>('/', {
  42. fetch: axiosFetch,
  43. }).api.v1['goods-categories']
  44. export const goodsClient = hc<GoodsRoutes>('/', {
  45. fetch: axiosFetch,
  46. }).api.v1.goods
  47. export const cityClient = hc<CityRoutes>('/', {
  48. fetch: axiosFetch,
  49. }).api.v1.cities
  50. export const configClient = hc<ConfigRoutes>('/', {
  51. fetch: axiosFetch,
  52. }).api.v1.configs
  53. export const expressCompanyClient = hc<ExpressCompanyRoutes>('/', {
  54. fetch: axiosFetch,
  55. }).api.v1['express-companies']
  56. export const organizationClient = hc<OrganizationRoutes>('/', {
  57. fetch: axiosFetch,
  58. }).api.v1.organizations
  59. export const supplierClient = hc<SupplierRoutes>('/', {
  60. fetch: axiosFetch,
  61. }).api.v1.suppliers
  62. export const cardClient = hc<CardRoutes>('/', {
  63. fetch: axiosFetch,
  64. }).api.v1.cards
  65. export const agentClient = hc<AgentRoutes>('/', {
  66. fetch: axiosFetch,
  67. }).api.v1.agents
  68. export const merchantClient = hc<MerchantRoutes>('/', {
  69. fetch: axiosFetch,
  70. }).api.v1.merchants
  71. export const userCardClient = hc<UserCardRoutes>('/', {
  72. fetch: axiosFetch,
  73. }).api.v1['user-cards']
  74. export const userCardBalanceRecordClient = hc<UserCardBalanceRecordRoutes>('/', {
  75. fetch: axiosFetch,
  76. }).api.v1['user-card-balance-records']
  77. export const deliveryAddressClient = hc<DeliveryAddressRoutes>('/', {
  78. fetch: axiosFetch,
  79. }).api.v1['delivery-addresses']
  80. // 订单相关客户端
  81. export const orderClient = hc<OrderRoutes>('/', {
  82. fetch: axiosFetch,
  83. }).api.v1.orders
  84. export const orderGoodsClient = hc<OrderGoodsRoutes>('/', {
  85. fetch: axiosFetch,
  86. }).api.v1['orders-goods']
  87. export const orderRefundClient = hc<OrderRefundRoutes>('/', {
  88. fetch: axiosFetch,
  89. }).api.v1['orders-refund']