| 123456789101112131415161718192021222324252627282930313233343536373839 |
- #include "api/api_server.h"
- #include "store/store.h"
- #include "utils.h"
- #include <cstdlib>
- #include <iostream>
- #include <string>
- int main(int argc, char* argv[]) {
- using namespace ngs;
- std::string listen_addr = api::kDefaultListenAddr;
- uint16_t listen_port = api::kDefaultListenPort;
- for (int i = 1; i < argc; ++i) {
- const std::string arg = argv[i];
- if ((arg == "--port" || arg == "-p") && i + 1 < argc) {
- listen_port = static_cast<uint16_t>(std::atoi(argv[++i]));
- } else if ((arg == "--listen" || arg == "-l") && i + 1 < argc) {
- listen_addr = argv[++i];
- } else if (arg == "--help" || arg == "-h") {
- std::cout << "Usage: ngs [--listen 0.0.0.0] [--port 15665]\n";
- return 0;
- }
- }
- ensure_dir(software_root());
- ensure_dir(conf_root());
- ensure_dir(wwwroot_dir());
- if (!store::init()) {
- std::cerr << "初始化数据库失败: " << store::database_path() << "\n";
- return 1;
- }
- if (!api::run(listen_addr, listen_port)) {
- return 1;
- }
- return 0;
- }
|