/**
 * 座舱控制类接口（座椅通风加热、空调控温、香氛等）请求/响应日志工具。
 * 统一打印请求入参、响应结果与异常，方便调试和线上问题定位。
 */

/** 日志统一前缀，便于在控制台按关键字过滤。 */
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);
        });
}
