fix: 修正搜索页面文档路由跳转逻辑

- 点击文档条目时,跳转到对应的download路由
- 修改搜索条目转换逻辑,将product_documents类型条目的id有product_document的id改为文件uuid
This commit is contained in:
2025-10-30 13:43:00 +08:00
parent 03fff90091
commit 63491fd5f9
6 changed files with 12 additions and 3 deletions

View File

@ -124,6 +124,10 @@
return localePath({ path: `/solutions/${slug}` }); return localePath({ path: `/solutions/${slug}` });
} }
if (item.type === 'document') {
return localePath({ path: `/download/${slug}` });
}
return null; return null;
}; };

View File

@ -63,10 +63,11 @@ describe('converters', () => {
title: 'User Manual', title: 'User Manual',
products: ['Product A'], products: ['Product A'],
product_types: ['Type A'], product_types: ['Type A'],
fileUUID: 'TEST-UUID',
}; };
const result = converters.product_documents(item); const result = converters.product_documents(item);
expect(result).toEqual({ expect(result).toEqual({
id: 1, id: 'TEST-UUID',
title: 'User Manual', title: 'User Manual',
summary: undefined, summary: undefined,
type: 'document', type: 'document',

View File

@ -28,7 +28,7 @@ export const converters: {
product_documents: ( product_documents: (
item: MeiliIndexMap['product_documents'] item: MeiliIndexMap['product_documents']
): SearchItemView => ({ ): SearchItemView => ({
id: item.id, id: item.fileUUID || item.id,
type: 'document', type: 'document',
title: item.title, title: item.title,
}), }),

View File

@ -1,6 +1,6 @@
export interface SearchItemView { export interface SearchItemView {
/** 唯一标识符 **/ /** 唯一标识符 **/
id: number; id: number | string;
/** 条目类型 **/ /** 条目类型 **/
type: 'product' | 'solution' | 'question' | 'document'; type: 'product' | 'solution' | 'question' | 'document';

View File

@ -73,6 +73,9 @@ export interface MeiliProductDocumentIndex {
/** 相关产品类型 **/ /** 相关产品类型 **/
product_types: string[]; product_types: string[];
/** 文件UUID **/
fileUUID: string;
} }
/** /**

View File

@ -1,4 +1,5 @@
import type { SearchResponse } from 'meilisearch'; import type { SearchResponse } from 'meilisearch';
import type { MeiliSearchItemType } from './meili-index';
/** /**
* 原始搜索分段结果 * 原始搜索分段结果