software.cpp 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. #include "software.h"
  2. #include "nginx/nginx.h"
  3. #include "fastweb/fastweb.h"
  4. #include "mysql/mysql.h"
  5. #include "redis/redis.h"
  6. #include "../utils.h"
  7. #include <iostream>
  8. namespace ngs {
  9. namespace software {
  10. void menu() {
  11. while (true) {
  12. print_header("软件管理");
  13. std::cout << "默认安装目录: " << software_root() << "\n\n";
  14. std::cout << " 1) Nginx";
  15. if (nginx::is_installed()) {
  16. std::cout << " [已安装 " << nginx::installed_version() << "]";
  17. } else {
  18. std::cout << " [未安装]";
  19. }
  20. std::cout << "\n";
  21. std::cout << " 2) Fastweb";
  22. if (fastweb::is_installed()) {
  23. std::cout << " [已安装 " << fastweb::installed_version() << "]";
  24. } else {
  25. std::cout << " [未安装]";
  26. }
  27. std::cout << "\n";
  28. std::cout << " 3) MySQL";
  29. if (mysql::is_installed()) {
  30. std::cout << " [已安装 " << mysql::installed_version() << "]";
  31. } else {
  32. std::cout << " [未安装]";
  33. }
  34. std::cout << "\n";
  35. std::cout << " 4) Redis";
  36. if (redis::is_installed()) {
  37. std::cout << " [已安装 " << redis::installed_version() << "]";
  38. } else {
  39. std::cout << " [未安装]";
  40. }
  41. std::cout << "\n";
  42. std::cout << " 0) 返回主菜单\n\n";
  43. int choice = read_choice("请选择: ");
  44. switch (choice) {
  45. case 1:
  46. nginx::menu();
  47. break;
  48. case 2:
  49. fastweb::menu();
  50. break;
  51. case 3:
  52. mysql::menu();
  53. break;
  54. case 4:
  55. redis::menu();
  56. break;
  57. case 0:
  58. return;
  59. default:
  60. std::cout << "无效选项。\n";
  61. pause();
  62. break;
  63. }
  64. }
  65. }
  66. } // namespace software
  67. } // namespace ngs