Merge branch 'feature/xj-730-fragrance-hv' into 'feature_v2.4.0'
feat: 添加车控联调打印 (甄雪君)
See merge request robotaxi1/xp-robotaxi-miniprogram!205
| | |
| | | OrderPaymentResponse, |
| | | QueryOrderPaymentResultResponse |
| | | } from './types/begin-route'; |
| | | import { withApiLog } from '../utils/api-logger'; |
| | | |
| | | // 导航-获取路线和费用 |
| | | export const queryRouteAndFare = async (payload: QueryRouteAndFarePayload): Promise<QueryRouteAndFareResponse> => { |
| | |
| | | |
| | | // 设置温度 |
| | | export const setTemperature = async (payload: SetTemperaturePayload): Promise<SetTemperatureResponse> => { |
| | | return request({ |
| | | return withApiLog('设置空调温度', payload, request({ |
| | | url: _ROBOTAXI_HOST + '/vehicleConvoy/api/v1/mini-program/order/ac/set-temperature', |
| | | method: 'POST', |
| | | payload, |
| | | showToast: false |
| | | }, true); |
| | | }, true)); |
| | | } |
| | | |
| | | // 设置温度并跳过业务异常拦截,供初始化越界温度纠正场景使用 |
| | | export const setTemperatureIgnoreBusinessError = async (payload: SetTemperaturePayload): Promise<SetTemperatureResponse> => { |
| | | return request({ |
| | | return withApiLog('设置空调温度(忽略业务异常)', payload, request({ |
| | | url: _ROBOTAXI_HOST + '/vehicleConvoy/api/v1/mini-program/order/ac/set-temperature', |
| | | method: 'POST', |
| | | payload, |
| | | skipException: true, |
| | | showToast: false |
| | | }, true); |
| | | }, true)); |
| | | } |
| | | |
| | | // 解锁车辆 |
| | |
| | | export const queryTemperatureByOrderId = async ( |
| | | payload: OrderIdPayload |
| | | ): Promise<QueryTemperatureByOrderIdResponse> => { |
| | | return request({ |
| | | return withApiLog('查询车辆温度', payload, request({ |
| | | url: _ROBOTAXI_HOST + '/vehicleConvoy/api/v1/mini-program/order/queryTemperatureByOrderId', |
| | | method: 'GET', |
| | | payload |
| | | }, true); |
| | | }, true)); |
| | | } |
| | | |
| | | // 查询车辆空调开关状态 |
| | | export const queryVehicleAirConditionerSwitch = async ( |
| | | payload: OrderIdPayload |
| | | ): Promise<QueryVehicleAirConditionerSwitchResponse> => { |
| | | return request({ |
| | | return withApiLog('查询空调开关状态', payload, request({ |
| | | url: _ROBOTAXI_HOST + '/vehicleConvoy/api/v1/mini-program/order/queryVehicleAirConditionerSwitch', |
| | | method: 'GET', |
| | | payload |
| | | }, true); |
| | | }, true)); |
| | | } |
| | | |
| | | // 车辆空调开关控制 |
| | | export const airConditionerUnlock = async (payload: AirConditionerUnlockPayload): Promise<void> => { |
| | | return request({ |
| | | return withApiLog('空调开关控制', payload, request({ |
| | | url: _ROBOTAXI_HOST + '/vehicleConvoy/api/v1/mini-program/order/airConditionerUnlock', |
| | | method: 'POST', |
| | | payload, |
| | | showToast: false |
| | | }, true); |
| | | }, true)); |
| | | } |
| | | |
| | | // 查询后备箱开启状态 |
| | |
| | | import request from '../../utils/request'; |
| | | import { _ROBOTAXI_HOST } from '../../constants/api'; |
| | | import { withApiLog } from '../utils/api-logger'; |
| | | import type { |
| | | QueryCabinFragranceResponse, |
| | | SetCabinFragrancePayload |
| | |
| | | export const queryCabinFragrance = async ( |
| | | orderId: string |
| | | ): Promise<QueryCabinFragranceResponse> => { |
| | | return request({ |
| | | const payload = { orderId }; |
| | | return withApiLog('查询车载香氛状态', payload, request({ |
| | | url: _ROBOTAXI_HOST + '/vehicleConvoy/base/v1/mini-program/cabin/fragrance', |
| | | method: 'GET', |
| | | payload: { orderId } |
| | | }, true); |
| | | payload |
| | | }, true)); |
| | | }; |
| | | |
| | | // 设置车载香氛(聚合下发开关状态,开启时同时下发香型通道) |
| | | export const setCabinFragrance = async ( |
| | | payload: SetCabinFragrancePayload |
| | | ): Promise<void> => { |
| | | return request({ |
| | | return withApiLog('设置车载香氛', payload, request({ |
| | | url: _ROBOTAXI_HOST + '/vehicleConvoy/base/v1/mini-program/cabin/fragrance', |
| | | method: 'POST', |
| | | payload, |
| | | skipException: true |
| | | }, true); |
| | | }, true)); |
| | | }; |
| | |
| | | import request from '../../utils/request'; |
| | | import { _ROBOTAXI_HOST } from '../../constants/api'; |
| | | import { withApiLog } from '../utils/api-logger'; |
| | | import type { QuerySeatHvResponse, SetSeatHvPayload } from './types/seat-hv'; |
| | | |
| | | // 查询座椅通风/加热状态 |
| | | export const querySeatHv = async (orderId: string): Promise<QuerySeatHvResponse> => { |
| | | return request({ |
| | | const payload = { orderId }; |
| | | return withApiLog('查询座椅通风加热状态', payload, request({ |
| | | url: _ROBOTAXI_HOST + '/vehicleConvoy/base/v1/mini-program/cabin/seat/hv', |
| | | method: 'GET', |
| | | payload: { orderId } |
| | | }, true); |
| | | payload |
| | | }, true)); |
| | | }; |
| | | |
| | | // 设置座椅通风/加热(seats 仅含被改动的座椅,通风与加热一起下发) |
| | | export const setSeatHv = async (payload: SetSeatHvPayload): Promise<void> => { |
| | | return request({ |
| | | return withApiLog('设置座椅通风加热', payload, request({ |
| | | url: _ROBOTAXI_HOST + '/vehicleConvoy/base/v1/mini-program/cabin/seat/hv', |
| | | method: 'POST', |
| | | payload, |
| | | skipException: true |
| | | }, true); |
| | | }, true)); |
| | | }; |
| New file |
| | |
| | | /** |
| | | * 座舱控制类接口(座椅通风加热、空调控温、香氛等)请求/响应日志工具。 |
| | | * 统一打印请求入参、响应结果与异常,方便调试和线上问题定位。 |
| | | */ |
| | | |
| | | /** 日志统一前缀,便于在控制台按关键字过滤。 */ |
| | | const LOG_PREFIX = '[座舱控制接口]'; |
| | | |
| | | /** |
| | | * 包裹接口请求 Promise,打印请求入参、响应与异常后透传结果(不改变原有 resolve/reject 行为)。 |
| | | * @param tag 接口中文名,如 '查询座椅通风加热状态' |
| | | * @param payload 请求入参(用于日志展示) |
| | | * @param promise request(...) 返回的 Promise |
| | | */ |
| | | export function withApiLog<T>(tag: string, payload: any, promise: Promise<T>): Promise<T> { |
| | | console.log(`${LOG_PREFIX}【${tag}】请求参数:`, payload); |
| | | return promise |
| | | .then((res) => { |
| | | console.log(`${LOG_PREFIX}【${tag}】响应结果:`, res); |
| | | return res; |
| | | }) |
| | | .catch((err) => { |
| | | console.error(`${LOG_PREFIX}【${tag}】请求异常:`, err); |
| | | return Promise.reject(err); |
| | | }); |
| | | } |