优化消息API路由,调整返回数据结构以支持分页功能,提升消息列表获取的可读性和用户体验。

This commit is contained in:
zyh
2025-04-10 08:31:32 +00:00
parent 1e4aa38b87
commit 948cd5263e

View File

@@ -9,7 +9,6 @@ export function createMessagesRoutes(withAuth: WithAuth) {
// 发送消息
messagesRoutes.post('/', withAuth, async (c) => {
try {
const auth = c.get('auth')
const apiClient = c.get('apiClient')
const { title, content, type, receiver_ids } = await c.req.json()
@@ -42,7 +41,10 @@ export function createMessagesRoutes(withAuth: WithAuth) {
await apiClient.database.table('user_messages').insert(userMessages)
return c.json({ message: '消息发送成功', id: messageId }, 201)
return c.json({
message: '消息发送成功',
data: { id: messageId }
}, 201)
} catch (error) {
console.error('发送消息失败:', error)
return c.json({ error: '发送消息失败' }, 500)
@@ -74,9 +76,23 @@ export function createMessagesRoutes(withAuth: WithAuth) {
if (type) query.where('m.type', type)
if (status) query.where('um.status', status)
const countQuery = query.clone()
const messages = await query
// 获取总数用于分页
const total = await countQuery.count()
const totalCount = Number(total)
const totalPages = Math.ceil(totalCount / pageSize)
return c.json(messages)
return c.json({
data: messages,
pagination: {
total: totalCount,
current: page,
pageSize,
totalPages
}
})
} catch (error) {
console.error('获取消息列表失败:', error)
return c.json({ error: '获取消息列表失败' }, 500)
@@ -119,7 +135,10 @@ export function createMessagesRoutes(withAuth: WithAuth) {
})
}
return c.json(message)
return c.json({
message: '获取消息成功',
data: message
})
} catch (error) {
console.error('获取消息详情失败:', error)
return c.json({ error: '获取消息详情失败' }, 500)