culturered_client/TokenCore/Src/Token.h
2024-09-07 11:34:44 +08:00

37 lines
806 B
C++

#pragma once
#include <string>
class Token {
public:
enum class CodeType {
None = 0,
Close = 1,
Open = 2,
Nerver = 3,
};
public:
explicit Token(const std::string& token) noexcept;
explicit Token() noexcept;
~Token() noexcept;
static Token FromConfig();
static Token FromServer(const std::string& token);
bool SaveConfig() const;
const std::string& GetToken(void) const noexcept { return m_token; }
std::string encode() const;
bool decode(const std::string& str);
bool DecodeFromJson(const std::string& token);
bool IsValide() const { return !m_token.empty(); }
void SetCode(CodeType code) { m_code = code; }
CodeType GetCode() const { return m_code; }
private:
std::string m_token;
CodeType m_code = CodeType::None;
};