fix: 可选字段处理

- 为搜索条目中的可选字段进行判断并处理
This commit is contained in:
2025-12-05 16:25:57 +08:00
parent c9b5b1fad9
commit 36d24a4740
3 changed files with 17 additions and 13 deletions

View File

@ -12,6 +12,7 @@ describe('converters', () => {
summary: 'High efficiency',
description: 'Detailed description',
type: 'pump',
cover: 'rand-om__-uuid-1234',
};
const result = converters.products(item);
expect(result).toEqual({
@ -19,6 +20,7 @@ describe('converters', () => {
type: 'product',
title: 'Hydraulic Pump',
summary: 'High efficiency',
thumbnail: '/api/assets/rand-om__-uuid-1234',
});
});
@ -29,6 +31,7 @@ describe('converters', () => {
summary: 'Effective solution',
content: 'Detailed content',
type: 'Type A',
cover: 'rand-om__-uuid-5678',
};
const result = converters.solutions(item);
expect(result).toEqual({
@ -36,6 +39,7 @@ describe('converters', () => {
type: 'solution',
title: 'Solution A',
summary: 'Effective solution',
thumbnail: '/api/assets/rand-om__-uuid-5678',
});
});

View File

@ -8,16 +8,16 @@ export const converters: {
id: item.id,
type: 'product',
title: item.name,
summary: item.summary,
thumbnail: `/api/assets/${item.cover}`,
summary: item?.summary ?? '',
thumbnail: item?.cover ? `/api/assets/${item.cover}` : undefined,
}),
solutions: (item: MeiliIndexMap['solutions']): SearchItemView => ({
id: item.id,
type: 'solution',
title: item.title,
summary: item.summary,
thumbnail: `/api/assets/${item.cover}`,
summary: item?.summary ?? '',
thumbnail: item?.cover ? `/api/assets/${item.cover}` : undefined,
}),
questions: (item: MeiliIndexMap['questions']): SearchItemView => ({

View File

@ -9,16 +9,16 @@ export interface MeiliProductIndex {
name: string;
/** 产品简介 **/
summary: string;
summary?: string;
/** 产品详情 **/
description: string;
description?: string;
/** 产品类型 **/
type: string;
type?: string;
/** 产品缩略图 **/
cover: string;
cover?: string;
}
/**
@ -32,16 +32,16 @@ export interface MeiliSolutionIndex {
title: string;
/** 解决方案摘要 **/
summary: string;
summary?: string;
/** 解决方案内容 **/
content: string;
content?: string;
/** 解决方案类型 **/
type: string;
type?: string;
/** 解决方案缩略图 **/
cover: string;
cover?: string;
}
/**
@ -55,7 +55,7 @@ export interface MeiliQuestionIndex {
title: string;
/** 问题内容 **/
content: string;
content?: string;
/** 相关产品 **/
products: string[];