docs: add describe for engine

This commit is contained in:
2023-12-14 05:59:20 +00:00
parent 727a0b1d9d
commit cfb23b6e8e

View File

@ -92,6 +92,68 @@ class LogDataBase {
int TotalFinanceOperationCount() noexcept { return finance_operation_count; } // 查询总交易笔数
};
```
## 引擎
下辖三个数据库实例,和一个登录计数器,并存储是否为服务器模式以及数据文件存放位置。
对外提供解析并执行命令的接口,返回值是一个`std::vector<std::string>`,每一个`std::string`对应输出中的一行
```cpp
class BookStoreEngineClass {
std::string config_dir;
UserDataBase user_data_base;
BookDataBase book_data_base;
LogDataBase log_data_base;
std::unordered_map<std::string, int> login_count;
bool is_server;
public:
BookStoreEngineClass() = delete;
BookStoreEngineClass(std::string __config_dir, bool __is_server);
std::vector<std::string> Execute(
const std::string &cmd,
std::stack<std::pair<std::string, int>> &login_stack);
std::vector<std::string> ExecuteSu(
const std::string &cmd,
std::stack<std::pair<std::string, int>> &login_stack);
std::vector<std::string> ExecuteLogout(
const std::string &cmd,
std::stack<std::pair<std::string, int>> &login_stack);
std::vector<std::string> ExecuteRegister(
const std::string &cmd,
std::stack<std::pair<std::string, int>> &login_stack);
std::vector<std::string> ExecutePasswd(
const std::string &cmd,
std::stack<std::pair<std::string, int>> &login_stack);
std::vector<std::string> ExecuteUserAdd(
const std::string &cmd,
std::stack<std::pair<std::string, int>> &login_stack);
std::vector<std::string> ExecuteDelete(
const std::string &cmd,
std::stack<std::pair<std::string, int>> &login_stack);
std::vector<std::string> ExecuteShow(
const std::string &cmd,
std::stack<std::pair<std::string, int>> &login_stack);
std::vector<std::string> ExecuteBuy(
const std::string &cmd,
std::stack<std::pair<std::string, int>> &login_stack);
std::vector<std::string> ExecuteSelect(
const std::string &cmd,
std::stack<std::pair<std::string, int>> &login_stack);
std::vector<std::string> ExecuteMOdify(
const std::string &cmd,
std::stack<std::pair<std::string, int>> &login_stack);
std::vector<std::string> ExecuteImport(
const std::string &cmd,
std::stack<std::pair<std::string, int>> &login_stack);
std::vector<std::string> ExecuteShowFinance(
const std::string &cmd,
std::stack<std::pair<std::string, int>> &login_stack);
std::vector<std::string> ExecuteLog(
const std::string &cmd,
std::stack<std::pair<std::string, int>> &login_stack);
std::vector<std::string> ExecuteReport(
const std::string &cmd,
std::stack<std::pair<std::string, int>> &login_stack);
};
```
# 文件存储说明
默认往当前目录下存放文件,但也可以指定。