import { defineEventHandler, EventHandlerRequest } from 'h3'; import { DB } from '~~/server/db/DB'; import { createErrorResponse, createSuccessResponse, IResponse } from '~~/server/utils/response'; import { ICommonPageResult } from '~~/server/db/CommonModel'; import type { IArticle } from './[id]'; export default defineEventHandler>>>(async (event) => { try { const query = getQuery(event); const page = Number(query.page as string) || 1; const pageSize = Number(query.pageSize as string) || 10; const search = query.search as string; // 2. 从pr_cms_archives表中通过channel_id查询文章 const articles = await DB.table('pr_cms_archives') .where('status', 'normal') .where('title', 'like', `%${search}%`) .orderBy('weigh', 'desc') .orderBy('publishtime', 'desc') .orderBy('createtime', 'desc') .orderBy('id', 'asc') .paginate(page, pageSize); if (!articles) return createErrorResponse('文章不存在'); return createSuccessResponse(articles); } catch (error) { return createErrorResponse(error); } });