fix: 正确修复置顶排序逻辑
This commit is contained in:
18
app.py
18
app.py
@@ -34,8 +34,8 @@ def load_notes():
|
||||
"""加载所有笔记"""
|
||||
if NOTES_FILE.exists():
|
||||
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 []
|
||||
|
||||
def save_notes(notes):
|
||||
@@ -110,8 +110,8 @@ def api_notes():
|
||||
if keyword:
|
||||
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([{
|
||||
@@ -202,7 +202,7 @@ def api_rename_note(note_id):
|
||||
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)
|
||||
|
||||
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')
|
||||
|
||||
# 重新排序
|
||||
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)
|
||||
|
||||
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)
|
||||
|
||||
# 重新排序
|
||||
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)
|
||||
|
||||
return jsonify({'success': True, 'pinned': note['pinned'], 'note': note})
|
||||
@@ -263,8 +263,8 @@ def api_search():
|
||||
notes = load_notes()
|
||||
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([{
|
||||
'id': n['id'],
|
||||
|
||||
Reference in New Issue
Block a user