import { request } from '@/api/request.js' /** * 获取笔记列表 */ export async function fetchNotes(params = {}) { const data = await request({ url: '/app/notebook/list', data: { keyword: params.keyword || '' } }) const list = (data.list || []).map(item => ({ ...item, pinned: !!item.pinned, createdAt: item.created_at ? new Date(item.created_at.replace(' ', 'T')).getTime() : 0, updatedAt: item.updated_at ? new Date(item.updated_at.replace(' ', 'T')).getTime() : 0 })) return { list, total: data.total || 0 } } /** * 获取单条笔记 */ export async function getNote(id) { const data = await request({ url: `/app/notebook/${id}` }) if (!data) return null return { ...data, pinned: !!data.pinned, createdAt: data.created_at ? new Date(data.created_at.replace(' ', 'T')).getTime() : 0, updatedAt: data.updated_at ? new Date(data.updated_at.replace(' ', 'T')).getTime() : 0 } } /** * 创建笔记 */ export async function createNote(data) { const res = await request({ url: '/app/notebook', method: 'POST', data: { title: data.title || '', content: data.content || '', pinned: !!data.pinned } }) return res } /** * 更新笔记 */ export async function updateNote(id, data) { const res = await request({ url: `/app/notebook/${id}`, method: 'PUT', data: { title: data.title || '', content: data.content || '', pinned: data.pinned } }) return res } /** * 删除笔记 */ export async function deleteNote(id) { await request({ url: `/app/notebook/${id}`, method: 'DELETE' }) return true } /** * 切换置顶 */ export async function toggleNotePin(id) { const res = await request({ url: `/app/notebook/${id}/togglePin`, method: 'POST' }) return res }