dining.js 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. import { api } from '@/utils/request.js';
  2. import { BASE_API_URL } from '@/settings/siteSetting.js';
  3. import { useUserStore } from '@/store/user.js';
  4. // 微信登录
  5. export const DiningUserWechatLogin = (params) => api.post({ url: '/dining/user/wechatLogin', params });
  6. // 点餐页数据(入参 dinerCount 就餐人数、tableId 桌号)
  7. export const DiningOrderFood = (params) => api.get({ url: '/store/dining/page-info', params });
  8. // 菜品种类(入参 storeId,GET /store/info/categories?storeId=)
  9. export const GetStoreCategories = (params) => api.get({ url: '/store/info/categories', params });
  10. // 根据菜品种类获取菜品(入参 categoryId,GET /store/info/cuisines?categoryId=)
  11. export const GetStoreCuisines = (params) => api.get({ url: '/store/info/cuisines', params });
  12. // 获取购物车(GET /store/order/cart/{tableId},建立 SSE 连接之后调用)
  13. export const GetOrderCart = (tableId) =>
  14. api.get({ url: `/store/order/cart/${encodeURIComponent(tableId)}` });
  15. // 加入购物车(POST /store/order/cart/add,dto: { cuisineId 菜品ID, quantity 数量, tableId 桌号ID })
  16. export const PostOrderCartAdd = (dto) =>
  17. api.post({ url: '/store/order/cart/add', params: dto });
  18. // 更新购物车(PUT /store/order/cart/update,请求类型 x-www-form-urlencoded,由 request 层 formUrlEncoded 封装)
  19. export const PostOrderCartUpdate = (params) =>
  20. api.put({ url: '/store/order/cart/update', params, formUrlEncoded: true });
  21. /**
  22. * 订单 SSE 接口配置(GET /store/order/sse/{tableId})
  23. * 仅提供 URL 与 header,实际连接请使用 utils/sse.js 的 createSSEConnection 封装
  24. */
  25. export function getOrderSseConfig(tableId) {
  26. const userStore = useUserStore();
  27. return {
  28. url: `${BASE_API_URL}/store/order/sse/${encodeURIComponent(tableId)}`,
  29. header: { Authorization: userStore.getToken || '' },
  30. timeout: 0
  31. };
  32. }