import request from '../../utils/request';
|
import { _ROBOTAXI_HOST } from '../../constants/api';
|
import type {
|
AirConditionerUnlockPayload,
|
EndOrderResponse,
|
GetWaitTimePayload,
|
NumericLike,
|
OrderChangePayload,
|
OrderCommentTypeItem,
|
OrderId,
|
OrderIdPayload,
|
QueryFareBreakdownPayload,
|
QueryFareBreakdownResponse,
|
QueryOrderQueueStatusPayload,
|
QueryOrderQueueStatusResponse,
|
QueryOrderRoutePayload,
|
QueryOrderRouteResponse,
|
QueryRouteAndFarePayload,
|
QueryRouteAndFareResponse,
|
QueryRoutePreferencesPayload,
|
QueryRoutePreferencesResponse,
|
QueryTemperatureByOrderIdResponse,
|
QueryVehicleAirConditionerSwitchResponse,
|
QueryVehicleByOrderIdResponse,
|
QueryVehicleTrunkOpenStatusResponse,
|
SelectRoutePayload,
|
RouteStaleCheckPayload,
|
RouteStaleCheckResponse,
|
SaveOrderPayload,
|
SaveOrderResponse,
|
SaveRoutePreferencePayload,
|
SetTemperaturePayload,
|
SetTemperatureResponse,
|
ShareQueryOrderInfoPayload,
|
ShareQueryOrderInfoResponse,
|
ShareQueryOrderRouteResponse,
|
SubmitFeedbackResponse,
|
SubmitOrderCommentPayload,
|
UnlockVehiclePayload,
|
UnlockVehicleResponse,
|
OrderPaymentResponse,
|
QueryOrderPaymentResultResponse,
|
QueryLedgerCreditOrderResultResponse
|
} from './types/begin-route';
|
import { withApiLog } from '../utils/api-logger';
|
|
// 导航-获取路线和费用
|
export const queryRouteAndFare = async (payload: QueryRouteAndFarePayload): Promise<QueryRouteAndFareResponse> => {
|
return request({
|
url: _ROBOTAXI_HOST + '/itinerary/base/v1/mini-program/navigation/multi-route-and-fare',
|
method: 'POST',
|
payload
|
}, true);
|
}
|
|
// 查询用户优惠券状态
|
export const getAppUserCouponStatus = async (appUserCouponId: string): Promise<boolean> => {
|
return request({
|
url: _ROBOTAXI_HOST + `/account/api/v1/mini-program/getAppUserCouponStatus/${appUserCouponId}`,
|
method: 'GET'
|
}, true);
|
}
|
|
// 导航-获取路线偏好配置
|
export const queryRoutePreferences = async (
|
payload: QueryRoutePreferencesPayload
|
): Promise<QueryRoutePreferencesResponse> => {
|
return request({
|
url: _ROBOTAXI_HOST + '/itinerary/base/v1/mini-program/navigation/route-preferences',
|
method: 'GET',
|
payload
|
}, true);
|
}
|
|
// 导航-设置路线偏好
|
export const saveRoutePreference = async (payload: SaveRoutePreferencePayload): Promise<void> => {
|
return request({
|
url: _ROBOTAXI_HOST + '/itinerary/base/v1/mini-program/navigation/route-preference',
|
method: 'POST',
|
payload
|
}, true);
|
}
|
|
// 导航-下单前校验路况是否过期
|
export const routeStaleCheck = async (
|
payload?: RouteStaleCheckPayload
|
): Promise<RouteStaleCheckResponse> => {
|
return request({
|
url: _ROBOTAXI_HOST + '/itinerary/base/v1/mini-program/navigation/route-stale-check',
|
method: 'POST',
|
payload
|
}, true);
|
}
|
|
// 导航-接驾态确认切换路线
|
export const selectNavigationRoute = async (payload: SelectRoutePayload): Promise<void> => {
|
return request({
|
url: _ROBOTAXI_HOST + '/itinerary/base/v1/mini-program/navigation/select-route',
|
method: 'POST',
|
payload
|
}, true);
|
}
|
|
// 保存订单
|
export const saveOrder = async (payload: SaveOrderPayload): Promise<SaveOrderResponse> => {
|
return request({
|
url: _ROBOTAXI_HOST + '/itinerary/base/v1/mini-program/order/save',
|
method: 'POST',
|
payload
|
}, true);
|
}
|
|
// 信用下单
|
export const createCreditPayOrder = async (
|
payload: SaveOrderPayload
|
): Promise<SaveOrderResponse> => {
|
return request({
|
url: _ROBOTAXI_HOST + `/order/api/v1/mini-program/order/creditPay/createOrder`,
|
method: 'POST',
|
payload,
|
showToast: false
|
}, true);
|
}
|
|
// 获取等待时间
|
export const getWaitTime = async (payload: GetWaitTimePayload): Promise<NumericLike> => {
|
return request({
|
url: _ROBOTAXI_HOST + '/itinerary/base/v1/mini-program/pricing/getWaitTime',
|
method: 'POST',
|
payload
|
}, true);
|
}
|
|
// 查询订单车辆信息
|
export const queryVehicleByOrderId = async (
|
payload: OrderIdPayload
|
): Promise<QueryVehicleByOrderIdResponse> => {
|
return request({
|
url: _ROBOTAXI_HOST + '/order/api/v1/mini-program/order/queryVehicleByOrderId',
|
method: 'GET',
|
payload
|
}, true);
|
}
|
|
// 设置温度
|
export const setTemperature = async (payload: SetTemperaturePayload): Promise<SetTemperatureResponse> => {
|
return withApiLog('设置空调温度', payload, request({
|
url: _ROBOTAXI_HOST + '/vehicleConvoy/api/v1/mini-program/order/ac/set-temperature',
|
method: 'POST',
|
payload,
|
showToast: false
|
}, true));
|
}
|
|
// 设置温度并跳过业务异常拦截,供初始化越界温度纠正场景使用
|
export const setTemperatureIgnoreBusinessError = async (payload: SetTemperaturePayload): Promise<SetTemperatureResponse> => {
|
return withApiLog('设置空调温度(忽略业务异常)', payload, request({
|
url: _ROBOTAXI_HOST + '/vehicleConvoy/api/v1/mini-program/order/ac/set-temperature',
|
method: 'POST',
|
payload,
|
skipException: true,
|
showToast: false
|
}, true));
|
}
|
|
// 解锁车辆
|
export const unlockVehicle = async (payload: UnlockVehiclePayload): Promise<UnlockVehicleResponse> => {
|
return request({
|
url: _ROBOTAXI_HOST + '/vehicleConvoy/api/v1/mini-program/order/vehicle/unlock',
|
method: 'POST',
|
payload,
|
showToast: true,
|
skipException: true
|
}, true);
|
}
|
|
// 查询车辆温度
|
export const queryTemperatureByOrderId = async (
|
payload: OrderIdPayload
|
): Promise<QueryTemperatureByOrderIdResponse> => {
|
return withApiLog('查询车辆温度', payload, request({
|
url: _ROBOTAXI_HOST + '/vehicleConvoy/api/v1/mini-program/order/queryTemperatureByOrderId',
|
method: 'GET',
|
payload
|
}, true));
|
}
|
|
// 查询车辆空调开关状态
|
export const queryVehicleAirConditionerSwitch = async (
|
payload: OrderIdPayload
|
): Promise<QueryVehicleAirConditionerSwitchResponse> => {
|
return withApiLog('查询空调开关状态', payload, request({
|
url: _ROBOTAXI_HOST + '/vehicleConvoy/api/v1/mini-program/order/queryVehicleAirConditionerSwitch',
|
method: 'GET',
|
payload
|
}, true));
|
}
|
|
// 车辆空调开关控制
|
export const airConditionerUnlock = async (payload: AirConditionerUnlockPayload): Promise<void> => {
|
return withApiLog('空调开关控制', payload, request({
|
url: _ROBOTAXI_HOST + '/vehicleConvoy/api/v1/mini-program/order/airConditionerUnlock',
|
method: 'POST',
|
payload,
|
showToast: false
|
}, true));
|
}
|
|
// 查询后备箱开启状态
|
export const queryVehicleTrunkOpenStatus = async (
|
payload: OrderIdPayload
|
): Promise<QueryVehicleTrunkOpenStatusResponse> => {
|
return request({
|
url: _ROBOTAXI_HOST + '/vehicleConvoy/api/v1/mini-program/order/queryVehicleTrunkOpenStatus',
|
method: 'GET',
|
payload
|
}, true);
|
}
|
|
// 获取自动结束行程时间
|
export const queryOrderFinishTime = async (): Promise<NumericLike> => {
|
return request({
|
url: _ROBOTAXI_HOST + '/operation/api/v1/mini-program/support/getOrderFinishTime',
|
method: 'GET'
|
}, true);
|
}
|
|
// 结束订单
|
export const endOrder = async (payload: OrderId): Promise<EndOrderResponse> => {
|
return request({
|
url: _ROBOTAXI_HOST + `/order/api/v1/mini-program/order/endTrip/${payload}`,
|
method: 'PUT',
|
payload: {
|
orderId: String(payload)
|
}
|
}, true);
|
}
|
|
// 修改目的地
|
export const orderChange = async (payload: OrderChangePayload): Promise<void> => {
|
return request({
|
url: _ROBOTAXI_HOST + '/itinerary/api/v1/mini-program/order/orderChange',
|
method: 'POST',
|
payload
|
}, true);
|
}
|
|
// 查询修改目的地剩余次数
|
export const getUpdateAddressNum = async (orderId: string): Promise<number> => {
|
return request({
|
url: _ROBOTAXI_HOST + `/itinerary/api/v1/mini-program/order/getUpdateAddressNum/${orderId}`,
|
method: 'POST'
|
}, true);
|
}
|
|
// 查询订单费用明细
|
export const queryFareBreakdown = async (
|
payload: QueryFareBreakdownPayload
|
): Promise<QueryFareBreakdownResponse> => {
|
return request({
|
url: _ROBOTAXI_HOST + '/order/api/v1/mini-program/order/fare-breakdown',
|
method: 'POST',
|
payload
|
}, true);
|
}
|
|
// 提交订单评价
|
export const submitOrderComment = async (
|
payload: SubmitOrderCommentPayload
|
): Promise<SubmitFeedbackResponse> => {
|
return request({
|
url: _ROBOTAXI_HOST + `/order/api/v1/mini-program/order/comment`,
|
method: 'POST',
|
payload
|
}, true);
|
}
|
|
// 获取订单评价类型
|
export const getOrderCommentType = async (evaluateDimension: number): Promise<OrderCommentTypeItem[]> => {
|
return request({
|
// url: _ROBOTAXI_HOST + `/operation/base/v1/mini-program/feedback-type/getList`,
|
url: _ROBOTAXI_HOST + `/operation/base/v1/mini-program/evaluateTag/list?evaluateDimension=${evaluateDimension}`,
|
method: 'GET'
|
}, true);
|
}
|
|
// 获取订单支付入口信息
|
export const getOrderPayment = async (payload): Promise<OrderPaymentResponse> => {
|
return request({
|
url: _ROBOTAXI_HOST + `/order/api/v1/mini-program/order/payment`,
|
method: 'POST',
|
payload
|
}, true);
|
}
|
|
// 根据订单 ID 查询支付结果(服务端已完成内部轮询)
|
export const queryOrderPaymentResultFromOrderId = async (orderId: string | number): Promise<QueryOrderPaymentResultResponse> => {
|
return request({
|
url: _ROBOTAXI_HOST + `/order/api/v1/mini-program/order/queryOrderStatusFromOrderId`,
|
method: 'GET',
|
payload: {
|
orderId: String(orderId)
|
}
|
}, true);
|
}
|
|
// 取消订单
|
export const cancelOrder = async (orderId: OrderId): Promise<void> => {
|
return request({
|
url: _ROBOTAXI_HOST + `/order/api/v1/mini-program/order/cancel/${orderId}`,
|
method: 'PUT',
|
payload: {
|
orderId: String(orderId)
|
}
|
}, true);
|
}
|
|
// 查询信用分授权结果
|
export const queryLedgerCreditOrderResult = async (orderId: OrderId): Promise<QueryLedgerCreditOrderResultResponse> => {
|
return request({
|
url: _ROBOTAXI_HOST + `/order/api/v1/mini-program/order/queryLedgerCreditOrderResult`,
|
method: 'POST',
|
payload: {
|
orderId: String(orderId)
|
},
|
skipException: true,
|
showToast: false
|
}, true);
|
}
|
|
// 订单查询实时轨迹路线
|
export const queryOrderRoute = async (
|
payload: QueryOrderRoutePayload
|
): Promise<QueryOrderRouteResponse> => {
|
return request({
|
url: _ROBOTAXI_HOST + `/order/api/v1/mini-program/order/queryOrderRoute`,
|
method: 'POST',
|
payload
|
}, true);
|
}
|
|
// 订单查询轨迹
|
export const queryOrderTrajectory = async (
|
payload: QueryOrderRoutePayload
|
): Promise<QueryOrderRouteResponse> => {
|
return request({
|
url: _ROBOTAXI_HOST + `/order/api/v1/mini-program/order/queryOrderTrajectory`,
|
method: 'GET',
|
payload
|
}, true);
|
}
|
|
// 静默查询订单轨迹,供分享页自行处理业务异常,避免默认拦截 toast。
|
export const queryOrderTrajectorySilently = async (
|
payload: QueryOrderRoutePayload
|
): Promise<any> => {
|
return request({
|
// url: _ROBOTAXI_HOST + `/order/api/v1/mini-program/order/queryOrderTrajectory`,
|
url: _ROBOTAXI_HOST + `/order/base/v1/mini-program/orderActive/share/queryOrderTrajectory`,
|
method: 'GET',
|
payload,
|
showToast: false,
|
skipException: true
|
}, true);
|
}
|
|
// 订单查询队列状态
|
export const queryOrderQueueStatus = async (
|
payload: QueryOrderQueueStatusPayload
|
): Promise<QueryOrderQueueStatusResponse> => {
|
return request({
|
url: _ROBOTAXI_HOST + `/itinerary/base/v1/mini-program/order/queue-status`,
|
method: 'GET',
|
payload
|
}, true);
|
}
|
|
// 静默查询分享订单实时路线,供分享页自行处理业务异常,避免默认拦截 toast。
|
export const shareQueryOrderRouteSilently = async (orderId: OrderId): Promise<any> => {
|
return request({
|
url: _ROBOTAXI_HOST + `/order/base/v1/mini-program/orderActive/share/queryOrderRoute/${orderId}`,
|
method: 'GET',
|
showToast: false,
|
skipException: true
|
}, true);
|
}
|
|
// 静默查询分享订单详情,供分享页自行处理业务异常,避免默认拦截 toast。
|
export const shareQueryOrderInfoSilently = async (
|
payload: ShareQueryOrderInfoPayload
|
): Promise<any> => {
|
return request({
|
url: _ROBOTAXI_HOST + '/order/base/v1/mini-program/orderActive/share/orderInfo',
|
method: 'GET',
|
payload,
|
showToast: false,
|
skipException: true
|
}, true);
|
}
|