index.html 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. <!DOCTYPE html>
  2. <html lang="zh-CN">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>小红书搜索结果可视化</title>
  7. <link rel="stylesheet" href="css/style.css">
  8. </head>
  9. <body>
  10. <!-- 顶部标题栏 -->
  11. <header class="header">
  12. <div class="header-content">
  13. <h1 class="header-title">🔍 小红书搜索结果可视化</h1>
  14. <div class="header-stats">
  15. <span class="stat-item">
  16. <span class="stat-label">结果项:</span>
  17. <span class="stat-value" id="stat-results">0</span>
  18. </span>
  19. <span class="stat-item">
  20. <span class="stat-label">特征数:</span>
  21. <span class="stat-value" id="stat-features">0</span>
  22. </span>
  23. <span class="stat-item">
  24. <span class="stat-label">帖子数:</span>
  25. <span class="stat-value" id="stat-notes">0</span>
  26. </span>
  27. </div>
  28. </div>
  29. <!-- 搜索和筛选栏 -->
  30. <div class="toolbar">
  31. <div class="search-box">
  32. <input type="text"
  33. id="search-input"
  34. class="search-input"
  35. placeholder="搜索特征名称或关键词...">
  36. <button class="search-btn" id="search-btn">🔍</button>
  37. </div>
  38. <div class="filter-box">
  39. <select id="filter-status" class="filter-select">
  40. <option value="all">全部状态</option>
  41. <option value="success">搜索成功</option>
  42. <option value="failed">搜索失败</option>
  43. <option value="pending">待搜索</option>
  44. </select>
  45. <select id="sort-by" class="filter-select">
  46. <option value="default">默认排序</option>
  47. <option value="note_count">按帖子数</option>
  48. <option value="weight">按权重</option>
  49. </select>
  50. <button class="theme-toggle" id="theme-toggle" title="切换主题">🌙</button>
  51. </div>
  52. </div>
  53. </header>
  54. <!-- 主内容区域 -->
  55. <main class="main-container">
  56. <!-- 左侧树形列表 -->
  57. <aside class="sidebar">
  58. <div class="sidebar-header">
  59. <h2 class="sidebar-title">特征树形结构</h2>
  60. <button class="collapse-all-btn" id="collapse-all">全部折叠</button>
  61. </div>
  62. <div class="tree-container" id="tree-container">
  63. <div class="loading">加载中...</div>
  64. </div>
  65. </aside>
  66. <!-- 右侧详情面板 -->
  67. <section class="content-panel">
  68. <div class="panel-header">
  69. <h2 class="panel-title" id="panel-title">搜索结果详情</h2>
  70. <div class="panel-info" id="panel-info"></div>
  71. </div>
  72. <div class="cards-container" id="cards-container">
  73. <div class="empty-state">
  74. <div class="empty-icon">📋</div>
  75. <p class="empty-text">请从左侧选择一个特征查看搜索结果</p>
  76. </div>
  77. </div>
  78. </section>
  79. </main>
  80. <!-- 图片查看器模态框 -->
  81. <div class="modal" id="image-modal">
  82. <div class="modal-overlay" id="modal-overlay"></div>
  83. <div class="modal-content">
  84. <button class="modal-close" id="modal-close">×</button>
  85. <button class="modal-prev" id="modal-prev">‹</button>
  86. <button class="modal-next" id="modal-next">›</button>
  87. <img class="modal-image" id="modal-image" src="" alt="">
  88. <div class="modal-caption" id="modal-caption"></div>
  89. </div>
  90. </div>
  91. <!-- 加载脚本 -->
  92. <script src="js/carousel.js"></script>
  93. <script src="js/card.js"></script>
  94. <script src="js/tree.js"></script>
  95. <script src="js/main.js"></script>
  96. </body>
  97. </html>