Files
2026-07-16 00:35:50 +08:00

86 lines
1.7 KiB
JavaScript

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
}