package com.hh.lib_base.utils;

import android.text.TextUtils;

import org.json.JSONException;
import org.json.JSONObject;

/**
 * Description: $ 缩短日志
 * @author xwh
 * time 2024/12/3
 **/
public class ShortenLogUtils {

    /**
     *
     * @author xwh
     * Time 2024/12/3
     * Description: 不上传base64字段具体信息
     *
    **/
    public static String shortenLog(String jsonStr){
        try { //TODO 网络日志，优化显示某些字段长度，减少服务器压力
            JSONObject uploadJson=new JSONObject(jsonStr);
            //下面就是具体字段，模拟下方字段取值修改就可以
            String photoBase64 =uploadJson.optString("photoBase64");
            if(!TextUtils.isEmpty(photoBase64)){
                uploadJson.put("photoBase64","size->"+photoBase64.length());
            }

            return uploadJson.toString();

        } catch (JSONException e) {
            return jsonStr;
        }catch (Exception e){
            return jsonStr;
        }

    }

    /**
     *
     * @author xwh
     * Time 2024/12/3
     * Description: 根据 dataKey  去优化内部的Base64字段
     *
    **/
    public static String shortenLog(String rootJsonStr,String dataKey){
        try { //TODO 网络日志，优化显示某些字段长度，减少服务器压力
            JSONObject uploadJson=new JSONObject(rootJsonStr);

            String dataStr=uploadJson.optString(dataKey);

            if(TextUtils.isEmpty(dataStr)){
                return rootJsonStr;
            }
            //TODO 根据 dataKey 获取JSON对象
            JSONObject data=new JSONObject(dataStr);

            //下面就是具体字段，模拟下方字段取值修改就可以
            String photoBase64 =data.optString("photoBase64");
            if(!TextUtils.isEmpty(photoBase64)){
                data.put("photoBase64","size->"+photoBase64.length());
            }


            uploadJson.put(dataKey,data);
            return uploadJson.toString();
        } catch (JSONException e) {
            return rootJsonStr;
        }catch (Exception e){
            return rootJsonStr;
        }

    }
}
