add tool。
Some checks failed
Deploy / Build (push) Failing after 1m55s

This commit is contained in:
luocai
2025-06-28 15:09:13 +08:00
parent 73bd900000
commit f5c76b931f
13 changed files with 285 additions and 18 deletions

37
Base/Database.h Normal file
View File

@ -0,0 +1,37 @@
#ifndef __DATABASE_H__
#define __DATABASE_H__
#include "DataStructure.h"
#include <list>
#include <string>
typedef struct sqlite3 sqlite3;
namespace Older {
class Database {
public:
bool open(const std::string &path);
void upsertVisitRecord(const std::string &url, const std::string &visitorUuid, const std::string &userAgent,
int64_t viewTime);
VisitorStats visitorStats(const std::string &url);
std::list<VisitorStats> mostViewedUrls(int n);
std::list<VisitorStats> latestViewedUrls(int n);
SiteStats siteStats();
std::list<VisitRecord> visitRecords();
bool removeVisitRecord(int id);
void createUser(const Account &account);
Account user(const std::string &identifier) const;
Account user(int64_t id) const;
protected:
void createVisitAnalysisTable();
void createUsersTable();
void initialize();
private:
sqlite3 *m_sqlite = nullptr;
};
} // namespace Older
#endif // __DATABASE_H__