tags filter
This commit is contained in:
@@ -38,11 +38,14 @@ export default function EventsPage() {
|
||||
try {
|
||||
const response = await fetch('/api/events/tags');
|
||||
const data = await response.json();
|
||||
console.log('API response for tags:', data); // 添加完整日志,查看API响应
|
||||
|
||||
if (data.success) {
|
||||
// 处理嵌套的 data 结构
|
||||
const tagsData = data.data.data || [];
|
||||
console.log('Tags data:', tagsData); // 打印实际的标签数据
|
||||
|
||||
setTags(tagsData.map((tag: { tag_name: string }) => tag.tag_name));
|
||||
console.log('Fetched tags:', tagsData); // 添加日志,方便调试
|
||||
}
|
||||
} catch (err) {
|
||||
console.error('Error fetching tags:', err);
|
||||
|
||||
@@ -74,7 +74,7 @@ export function buildFilter(params: Partial<EventsQueryParams>): string {
|
||||
// 标签筛选
|
||||
if (params.tags && params.tags.length > 0) {
|
||||
const tagConditions = params.tags.map(tag =>
|
||||
`JSONHas(JSONExtractArrayRaw(link_tags), JSON_QUOTE('${escapeString(tag)}'))`
|
||||
`positionCaseInsensitive(link_tags, '"${escapeString(tag)}"') > 0`
|
||||
);
|
||||
filters.push(`(${tagConditions.join(' OR ')})`);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user