ai-coding
2026-07-29 a8acb2fe309c485eec0b818dfbcd18d3306fe319
refactor(api-logger): 将接口日志标识与前缀改为中文描述

Co-Authored-By: 甄雪君 <zhenxj@xiaopeng.com>
4个文件已修改
28 ■■■■■ 已修改文件
src/robotaxi/api/begin-route.ts 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/robotaxi/api/fragrance.ts 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/robotaxi/api/seat-hv.ts 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/robotaxi/utils/api-logger.ts 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/robotaxi/api/begin-route.ts
@@ -143,7 +143,7 @@
// 设置温度
export const setTemperature = async (payload: SetTemperaturePayload): Promise<SetTemperatureResponse> => {
    return withApiLog('setTemperature', payload, request({
    return withApiLog('设置空调温度', payload, request({
        url: _ROBOTAXI_HOST + '/vehicleConvoy/api/v1/mini-program/order/ac/set-temperature',
        method: 'POST',
        payload,
@@ -153,7 +153,7 @@
// 设置温度并跳过业务异常拦截,供初始化越界温度纠正场景使用
export const setTemperatureIgnoreBusinessError = async (payload: SetTemperaturePayload): Promise<SetTemperatureResponse> => {
    return withApiLog('setTemperatureIgnoreBusinessError', payload, request({
    return withApiLog('设置空调温度(忽略业务异常)', payload, request({
        url: _ROBOTAXI_HOST + '/vehicleConvoy/api/v1/mini-program/order/ac/set-temperature',
        method: 'POST',
        payload,
@@ -177,7 +177,7 @@
export const queryTemperatureByOrderId = async (
    payload: OrderIdPayload
): Promise<QueryTemperatureByOrderIdResponse> => {
    return withApiLog('queryTemperatureByOrderId', payload, request({
    return withApiLog('查询车辆温度', payload, request({
        url: _ROBOTAXI_HOST + '/vehicleConvoy/api/v1/mini-program/order/queryTemperatureByOrderId',
        method: 'GET',
        payload
@@ -188,7 +188,7 @@
export const queryVehicleAirConditionerSwitch = async (
    payload: OrderIdPayload
): Promise<QueryVehicleAirConditionerSwitchResponse> => {
    return withApiLog('queryVehicleAirConditionerSwitch', payload, request({
    return withApiLog('查询空调开关状态', payload, request({
        url: _ROBOTAXI_HOST + '/vehicleConvoy/api/v1/mini-program/order/queryVehicleAirConditionerSwitch',
        method: 'GET',
        payload
@@ -197,7 +197,7 @@
// 车辆空调开关控制
export const airConditionerUnlock = async (payload: AirConditionerUnlockPayload): Promise<void> => {
    return withApiLog('airConditionerUnlock', payload, request({
    return withApiLog('空调开关控制', payload, request({
        url: _ROBOTAXI_HOST + '/vehicleConvoy/api/v1/mini-program/order/airConditionerUnlock',
        method: 'POST',
        payload,
src/robotaxi/api/fragrance.ts
@@ -11,7 +11,7 @@
    orderId: string
): Promise<QueryCabinFragranceResponse> => {
    const payload = { orderId };
    return withApiLog('queryCabinFragrance', payload, request({
    return withApiLog('查询车载香氛状态', payload, request({
        url: _ROBOTAXI_HOST + '/vehicleConvoy/base/v1/mini-program/cabin/fragrance',
        method: 'GET',
        payload
@@ -22,7 +22,7 @@
export const setCabinFragrance = async (
    payload: SetCabinFragrancePayload
): Promise<void> => {
    return withApiLog('setCabinFragrance', payload, request({
    return withApiLog('设置车载香氛', payload, request({
        url: _ROBOTAXI_HOST + '/vehicleConvoy/base/v1/mini-program/cabin/fragrance',
        method: 'POST',
        payload,
src/robotaxi/api/seat-hv.ts
@@ -6,7 +6,7 @@
// 查询座椅通风/加热状态
export const querySeatHv = async (orderId: string): Promise<QuerySeatHvResponse> => {
    const payload = { orderId };
    return withApiLog('querySeatHv', payload, request({
    return withApiLog('查询座椅通风加热状态', payload, request({
        url: _ROBOTAXI_HOST + '/vehicleConvoy/base/v1/mini-program/cabin/seat/hv',
        method: 'GET',
        payload
@@ -15,7 +15,7 @@
// 设置座椅通风/加热(seats 仅含被改动的座椅,通风与加热一起下发)
export const setSeatHv = async (payload: SetSeatHvPayload): Promise<void> => {
    return withApiLog('setSeatHv', payload, request({
    return withApiLog('设置座椅通风加热', payload, request({
        url: _ROBOTAXI_HOST + '/vehicleConvoy/base/v1/mini-program/cabin/seat/hv',
        method: 'POST',
        payload,
src/robotaxi/utils/api-logger.ts
@@ -4,23 +4,23 @@
 */
/** 日志统一前缀,便于在控制台按关键字过滤。 */
const LOG_PREFIX = '[CabinControlAPI]';
const LOG_PREFIX = '[座舱控制接口]';
/**
 * 包裹接口请求 Promise,打印请求入参、响应与异常后透传结果(不改变原有 resolve/reject 行为)。
 * @param tag 接口标识,如 'querySeatHv'
 * @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}] request:`, payload);
    console.log(`${LOG_PREFIX}【${tag}】请求参数:`, payload);
    return promise
        .then((res) => {
            console.log(`${LOG_PREFIX}[${tag}] response:`, res);
            console.log(`${LOG_PREFIX}【${tag}】响应结果:`, res);
            return res;
        })
        .catch((err) => {
            console.error(`${LOG_PREFIX}[${tag}] error:`, err);
            console.error(`${LOG_PREFIX}【${tag}】请求异常:`, err);
            return Promise.reject(err);
        });
}