diff --git a/routes/articles.py b/routes/articles.py index 44467ba..1477042 100644 --- a/routes/articles.py +++ b/routes/articles.py @@ -31,12 +31,17 @@ def search_articles(): """搜索文章""" keyword = request.args.get('q', '') category = request.args.get('category') + limit = request.args.get('limit', type=int) # 支持limit参数 if not keyword: return jsonify({'error': '请提供搜索关键词'}), 400 articles = db.search_articles(keyword, category) + # 如果有limit参数,截取 + if limit: + articles = articles[:limit] + # 解析JSON字段 for article in articles: article['product_names'] = __import__('json').loads(article.get('product_names', '[]')) diff --git a/static/js/library.js b/static/js/library.js index bf9cbe4..252087c 100644 --- a/static/js/library.js +++ b/static/js/library.js @@ -49,7 +49,12 @@ async function loadArticles() { }); if (keyword) { - const response = await fetch(`${API_BASE}/api/articles/search?q=${encodeURIComponent(keyword)}${category ? '&category=' + encodeURIComponent(category) : ''}`); + // 搜索时也传递 limit 参数 + let searchUrl = `${API_BASE}/api/articles/search?q=${encodeURIComponent(keyword)}`; + if (category) searchUrl += `&category=${encodeURIComponent(category)}`; + searchUrl += `&limit=${pageSize}`; + + const response = await fetch(searchUrl); const data = await response.json(); if (data.success) {