fix: 正确修复置顶排序逻辑
This commit is contained in:
18
app.py
18
app.py
@@ -34,8 +34,8 @@ def load_notes():
|
|||||||
"""加载所有笔记"""
|
"""加载所有笔记"""
|
||||||
if NOTES_FILE.exists():
|
if NOTES_FILE.exists():
|
||||||
notes = json.loads(NOTES_FILE.read_text(encoding='utf-8'))
|
notes = json.loads(NOTES_FILE.read_text(encoding='utf-8'))
|
||||||
# 按置顶和更新时间排序
|
# 按置顶和更新时间排序(置顶在前,更新时间降序)
|
||||||
return sorted(notes, key=lambda x: (not x.get('pinned', False), x.get('updated_at', '')), reverse=True)
|
return sorted(notes, key=lambda x: (-int(x.get('pinned', False)), x.get('updated_at', '')), reverse=True)
|
||||||
return []
|
return []
|
||||||
|
|
||||||
def save_notes(notes):
|
def save_notes(notes):
|
||||||
@@ -110,8 +110,8 @@ def api_notes():
|
|||||||
if keyword:
|
if keyword:
|
||||||
notes = [n for n in notes if keyword in n.get('title', '').lower() or keyword in n.get('content', '').lower()]
|
notes = [n for n in notes if keyword in n.get('title', '').lower() or keyword in n.get('content', '').lower()]
|
||||||
|
|
||||||
# 按置顶和更新时间排序(置顶在前,然后按更新时间)
|
# 按置顶和更新时间排序(置顶在前,然后按更新时间降序)
|
||||||
notes = sorted(notes, key=lambda x: (not x.get('pinned', False), x.get('updated_at', '')), reverse=True)
|
notes = sorted(notes, key=lambda x: (-int(x.get('pinned', False)), x.get('updated_at', '')), reverse=True)
|
||||||
|
|
||||||
# 返回列表信息
|
# 返回列表信息
|
||||||
return jsonify([{
|
return jsonify([{
|
||||||
@@ -202,7 +202,7 @@ def api_rename_note(note_id):
|
|||||||
note['updated_at'] = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
|
note['updated_at'] = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
|
||||||
|
|
||||||
# 重新排序
|
# 重新排序
|
||||||
notes = sorted(notes, key=lambda x: (not x.get('pinned', False), x.get('updated_at', '')), reverse=True)
|
notes = sorted(notes, key=lambda x: (-int(x.get('pinned', False)), x.get('updated_at', '')), reverse=True)
|
||||||
save_notes(notes)
|
save_notes(notes)
|
||||||
|
|
||||||
return jsonify({'success': True, 'title': new_title, 'note': note})
|
return jsonify({'success': True, 'title': new_title, 'note': note})
|
||||||
@@ -221,7 +221,7 @@ def api_regenerate_title(note_id):
|
|||||||
note['updated_at'] = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
|
note['updated_at'] = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
|
||||||
|
|
||||||
# 重新排序
|
# 重新排序
|
||||||
notes = sorted(notes, key=lambda x: (not x.get('pinned', False), x.get('updated_at', '')), reverse=True)
|
notes = sorted(notes, key=lambda x: (-int(x.get('pinned', False)), x.get('updated_at', '')), reverse=True)
|
||||||
save_notes(notes)
|
save_notes(notes)
|
||||||
|
|
||||||
return jsonify({'success': True, 'title': title, 'note': note})
|
return jsonify({'success': True, 'title': title, 'note': note})
|
||||||
@@ -247,7 +247,7 @@ def api_pin_note(note_id):
|
|||||||
note['pinned'] = not note.get('pinned', False)
|
note['pinned'] = not note.get('pinned', False)
|
||||||
|
|
||||||
# 重新排序
|
# 重新排序
|
||||||
notes = sorted(notes, key=lambda x: (not x.get('pinned', False), x.get('updated_at', '')), reverse=True)
|
notes = sorted(notes, key=lambda x: (-int(x.get('pinned', False)), x.get('updated_at', '')), reverse=True)
|
||||||
save_notes(notes)
|
save_notes(notes)
|
||||||
|
|
||||||
return jsonify({'success': True, 'pinned': note['pinned'], 'note': note})
|
return jsonify({'success': True, 'pinned': note['pinned'], 'note': note})
|
||||||
@@ -263,8 +263,8 @@ def api_search():
|
|||||||
notes = load_notes()
|
notes = load_notes()
|
||||||
results = [n for n in notes if keyword in n.get('title', '').lower() or keyword in n.get('content', '').lower()]
|
results = [n for n in notes if keyword in n.get('title', '').lower() or keyword in n.get('content', '').lower()]
|
||||||
|
|
||||||
# 按置顶和更新时间排序
|
# 按置顶和更新时间排序(置顶在前)
|
||||||
results = sorted(results, key=lambda x: (not x.get('pinned', False), x.get('updated_at', '')), reverse=True)
|
results = sorted(results, key=lambda x: (-int(x.get('pinned', False)), x.get('updated_at', '')), reverse=True)
|
||||||
|
|
||||||
return jsonify([{
|
return jsonify([{
|
||||||
'id': n['id'],
|
'id': n['id'],
|
||||||
|
|||||||
Reference in New Issue
Block a user