对producthunt的产品进行分析

This commit is contained in:
2025-11-28 20:42:32 +08:00
parent 344a0a9c93
commit 33f0e48bf5
10 changed files with 3834 additions and 158 deletions

View File

@@ -103,7 +103,7 @@ class SQLiteViewer(QMainWindow):
# 筛选条件输入框
self.filter_input = QLineEdit()
self.filter_input.setPlaceholderText("输入筛选条件name='test' 或 created_at>'2024-01-01'")
self.filter_input.setPlaceholderText("输入筛选条件,如:<75 或 name='test' 或 created_at>'2024-01-01'")
self.filter_input.setMinimumWidth(300)
filter_layout.addWidget(self.filter_input)
@@ -330,11 +330,21 @@ class SQLiteViewer(QMainWindow):
try:
cursor = self.db_connection.cursor()
# 构建SQL查询语句
query = f"SELECT * FROM {self.current_table} WHERE {selected_field} LIKE ?"
# 检查是否为数值比较(支持 <, >, <=, >=, =, != 操作符)
import re
numeric_pattern = r'^\s*([><]=?|!=|=)\s*([\d.]+)\s*$'
match = re.match(numeric_pattern, filter_condition)
# 处理筛选条件(支持模糊匹配)
filter_value = f"%{filter_condition}%"
if match:
# 数值比较
operator = match.group(1)
value = match.group(2)
query = f"SELECT * FROM {self.current_table} WHERE {selected_field} {operator} ?"
filter_value = float(value)
else:
# 文本模糊匹配
query = f"SELECT * FROM {self.current_table} WHERE {selected_field} LIKE ?"
filter_value = f"%{filter_condition}%"
# 执行查询
cursor.execute(query, (filter_value,))
@@ -362,8 +372,12 @@ class SQLiteViewer(QMainWindow):
# 启用清除筛选按钮
self.clear_filter_button.setEnabled(True)
logger.info(f"应用筛选条件: {selected_field} LIKE '%{filter_condition}%', 匹配到 {len(data)} 行数据")
self.status_bar.showMessage(f"筛选结果: {len(data)} 行数据 (条件: {selected_field} 包含 '{filter_condition}')")
if match:
logger.info(f"应用数值筛选条件: {selected_field} {operator} {value}, 匹配到 {len(data)} 行数据")
self.status_bar.showMessage(f"筛选结果: {len(data)} 行数据 (条件: {selected_field} {operator} {value})")
else:
logger.info(f"应用文本筛选条件: {selected_field} LIKE '%{filter_condition}%', 匹配到 {len(data)} 行数据")
self.status_bar.showMessage(f"筛选结果: {len(data)} 行数据 (条件: {selected_field} 包含 '{filter_condition}')")
except sqlite3.Error as e:
logger.error(f"筛选数据失败: {e}")