#pragma once
#include<string>
#include<map>
#include<vector>
#include "pandaLog.h"

// 字符串转编码
#define TransUTFCoding(name) CivCommonUtils::string_To_UTF8(name)
#define UTFTransCoding(name) CivCommonUtils::UTF8_To_string(name)
// 当前系统日期
#define CurrentDate CivCommonUtils::currentDate()

// 获取当前系统时间
#define CurrentTime CivCommonUtils::currentTime()

#define CurrentHour CivCommonUtils::currentHour()

class PANDALOG_API CivCommonUtils
{
public:

    // std:string转UTF8
    static std::string string_To_UTF8(const std::string& str);

    /**
     * UTF8转std:string
     * 转换过程：先将utf8转双字节Unicode编码，
     * 再通过WideCharToMultiByte将宽字符转换为多字节。
     */
    static std::string UTF8_To_string(const std::string& str);

    static void genSeqNo(const std::string& prefix, int size, std::vector<std::string>& res);

    /**
    *@brief 获取系统当前时间
    */
    static std::string currentTime();

    /**
     *@brief 获取系统当前日期
    */
    static std::string currentDate();

    static int currentHour();

    static std::string lstrip(char str[],char c);

    static std::string  getExePath(void);

    ///**
    //*@brief 将json字符串解析为
    //*/
    //static std::map<std::string, std::string>  parseJson(std::string jsonStr);
};
