| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- import { defineEventHandler, EventHandlerRequest } from 'h3';
- import { DB } from '~~/server/db/DB';
- import { createErrorResponse, createSuccessResponse, IResponse } from '~~/server/utils/response';
- import { IChannel } from './[id]';
- /**
- * 获取网站地图
- */
- export default defineEventHandler<EventHandlerRequest, Promise<IResponse<(IChannel & {
- childs: IChannel[];
- })[]>>>(async (event) => {
- try {
- const result : (IChannel & {
- childs: IChannel[];
- })[] = [];
- const navs = await DB.table('pr_cms_channel')
- .where('status', 'normal')
- .where('isnav', 1)
- .orderBy('weigh', 'desc')
- .select('*')
- .get()
- for (const nav of navs) {
- const childs = await DB.table('pr_cms_channel')
- .where('status', 'normal')
- .where('parent_id', nav.id)
- .orderBy('weigh', 'desc')
- .select('*')
- .get();
- result.push({
- ...nav,
- childs,
- });
- }
- return createSuccessResponse(result);
- } catch (error) {
- return createErrorResponse(error);
- }
- });
|