Blame view

frontend/index.html 5.37 KB
115047ee   tangwang   为一个租户灌入测试数据;实例的启动...
1
2
3
4
5
  <!DOCTYPE html>
  <html lang="zh-CN">
  <head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
3bb1af6b   tangwang   tenant1和tenant2 m...
6
      <title>Product Search - for Shoplazza</title>
115047ee   tangwang   为一个租户灌入测试数据;实例的启动...
7
8
9
      <link rel="stylesheet" href="/static/css/style.css">
  </head>
  <body>
a7a8c6cb   tangwang   测试过滤、聚合、排序
10
11
12
13
14
15
16
17
18
19
      <div class="page-container">
          <!-- Header -->
          <header class="top-header">
              <div class="header-left">
                  <span class="logo">Product</span>
                  <span class="product-count" id="productCount">0 products found</span>
              </div>
              <div class="header-right">
                  <button class="fold-btn" onclick="toggleFilters()">Fold</button>
              </div>
115047ee   tangwang   为一个租户灌入测试数据;实例的启动...
20
21
          </header>
  
a7a8c6cb   tangwang   测试过滤、聚合、排序
22
23
          <!-- Search Bar -->
          <div class="search-bar">
4d824a77   tangwang   所有租户共用一套统一配置.tena...
24
              <div class="tenant-input-wrapper">
3bb1af6b   tangwang   tenant1和tenant2 m...
25
                  <label for="tenantInput">tenant ID:</label>
4d824a77   tangwang   所有租户共用一套统一配置.tena...
26
27
                  <input type="text" id="tenantInput" placeholder="请输入租户ID" value="1">
              </div>
a7a8c6cb   tangwang   测试过滤、聚合、排序
28
29
              <input type="text" id="searchInput" placeholder="输入搜索关键词... (支持中文、英文、俄文)"
                     onkeypress="handleKeyPress(event)">
3bb1af6b   tangwang   tenant1和tenant2 m...
30
              <button onclick="performSearch()" class="search-btn">Search</button>
a7a8c6cb   tangwang   测试过滤、聚合、排序
31
32
33
34
35
36
37
38
          </div>
  
          <!-- Filter Section -->
          <div class="filter-section" id="filterSection">
              <!-- Category Filter -->
              <div class="filter-row">
                  <div class="filter-label">Categories:</div>
                  <div class="filter-tags" id="categoryTags"></div>
115047ee   tangwang   为一个租户灌入测试数据;实例的启动...
39
40
              </div>
  
a7a8c6cb   tangwang   测试过滤、聚合、排序
41
42
43
44
45
46
47
48
49
50
              <!-- Brand Filter -->
              <div class="filter-row">
                  <div class="filter-label">Brand:</div>
                  <div class="filter-tags" id="brandTags"></div>
              </div>
  
              <!-- Supplier Filter -->
              <div class="filter-row">
                  <div class="filter-label">Supplier:</div>
                  <div class="filter-tags" id="supplierTags"></div>
115047ee   tangwang   为一个租户灌入测试数据;实例的启动...
51
52
              </div>
  
a7a8c6cb   tangwang   测试过滤、聚合、排序
53
54
55
56
              <!-- Dropdown Filters -->
              <div class="filter-row">
                  <div class="filter-label">Others:</div>
                  <div class="filter-dropdowns">
edd38328   tangwang   测试过滤、聚合、排序
57
                      <select id="priceFilter" onchange="handlePriceFilter(this.value)">
a7a8c6cb   tangwang   测试过滤、聚合、排序
58
59
60
61
62
63
                          <option value="">Price</option>
                          <option value="0-50">0-50</option>
                          <option value="50-100">50-100</option>
                          <option value="100-200">100-200</option>
                          <option value="200+">200+</option>
                      </select>
edd38328   tangwang   测试过滤、聚合、排序
64
65
66
67
68
69
70
71
                      <select id="timeFilter" onchange="handleTimeFilter(this.value)">
                          <option value="">Listing Time</option>
                          <option value="today">Today</option>
                          <option value="week">This Week</option>
                          <option value="month">This Month</option>
                          <option value="3months">Last 3 Months</option>
                          <option value="6months">Last 6 Months</option>
                      </select>
a7a8c6cb   tangwang   测试过滤、聚合、排序
72
73
                      <button class="clear-filters-btn" onclick="clearAllFilters()" style="display: none;" id="clearFiltersBtn">Clear Filters</button>
                  </div>
115047ee   tangwang   为一个租户灌入测试数据;实例的启动...
74
75
76
              </div>
          </div>
  
a7a8c6cb   tangwang   测试过滤、聚合、排序
77
78
          <!-- Sort Section -->
          <div class="sort-section">
edd38328   tangwang   测试过滤、聚合、排序
79
80
              <button class="sort-btn active" data-sort="" onclick="setSortByDefault()">By default</button>
              <button class="sort-btn" data-sort="create_time">
a7a8c6cb   tangwang   测试过滤、聚合、排序
81
82
                  By New Products
                  <span class="sort-arrows">
edd38328   tangwang   测试过滤、聚合、排序
83
84
                      <span class="arrow-up" data-field="create_time" data-order="desc" onclick="sortByField('create_time', 'desc')"></span>
                      <span class="arrow-down" data-field="create_time" data-order="asc" onclick="sortByField('create_time', 'asc')"></span>
a7a8c6cb   tangwang   测试过滤、聚合、排序
85
86
                  </span>
              </button>
cd3799c6   tangwang   tenant2 1w测试数据 mo...
87
              <button class="sort-btn" data-sort="min_price">
a7a8c6cb   tangwang   测试过滤、聚合、排序
88
89
                  By Price
                  <span class="sort-arrows">
cd3799c6   tangwang   tenant2 1w测试数据 mo...
90
91
                      <span class="arrow-up" data-field="min_price" data-order="asc" onclick="sortByField('min_price', 'asc')"></span>
                      <span class="arrow-down" data-field="min_price" data-order="desc" onclick="sortByField('min_price', 'desc')"></span>
a7a8c6cb   tangwang   测试过滤、聚合、排序
92
93
                  </span>
              </button>
a7a8c6cb   tangwang   测试过滤、聚合、排序
94
95
96
97
98
99
100
101
102
103
104
              
              <div class="sort-right">
                  <select id="resultSize" onchange="performSearch()">
                      <option value="10">10 per page</option>
                      <option value="20" selected>20 per page</option>
                      <option value="50">50 per page</option>
                  </select>
              </div>
          </div>
  
          <!-- Loading -->
115047ee   tangwang   为一个租户灌入测试数据;实例的启动...
105
106
          <div id="loading" class="loading" style="display: none;">
              <div class="spinner"></div>
a7a8c6cb   tangwang   测试过滤、聚合、排序
107
              <p>Loading...</p>
115047ee   tangwang   为一个租户灌入测试数据;实例的启动...
108
109
          </div>
  
a7a8c6cb   tangwang   测试过滤、聚合、排序
110
111
          <!-- Product Grid -->
          <div class="product-grid" id="productGrid"></div>
c86c8237   tangwang   支持聚合。过滤项补充了逻辑,但是有问题
112
  
a7a8c6cb   tangwang   测试过滤、聚合、排序
113
114
          <!-- Pagination -->
          <div class="pagination" id="pagination" style="display: none;"></div>
115047ee   tangwang   为一个租户灌入测试数据;实例的启动...
115
  
1f071951   tangwang   补充调试信息,记录包括各个阶段的 ...
116
          <!-- Debug Info -->
a7a8c6cb   tangwang   测试过滤、聚合、排序
117
          <details class="debug-info">
1f071951   tangwang   补充调试信息,记录包括各个阶段的 ...
118
119
              <summary>调试信息</summary>
              <div id="debugInfo"></div>
a7a8c6cb   tangwang   测试过滤、聚合、排序
120
          </details>
115047ee   tangwang   为一个租户灌入测试数据;实例的启动...
121
122
123
      </div>
  
      <footer>
362d43b6   tangwang   店匠体系数据的搜索
124
          <p>SearchEngine © 2025 | API: <span id="apiUrl">Loading...</span></p>
115047ee   tangwang   为一个租户灌入测试数据;实例的启动...
125
126
      </footer>
  
362d43b6   tangwang   店匠体系数据的搜索
127
      <script src="/static/js/app.js?v=3.1"></script>
115047ee   tangwang   为一个租户灌入测试数据;实例的启动...
128
129
  </body>
  </html>