修复一堆问题

This commit is contained in:
张成
2026-02-07 11:56:43 +08:00
parent b29e000747
commit 5a10c73adf
10 changed files with 65 additions and 105 deletions

View File

@@ -134,6 +134,7 @@ const ListContainer = (props) => {
// 插入 banner 卡片
function insertBannerCard(list) {
if (!bannerListImage) return list;
if (!list || !Array.isArray(list)) return list ?? [];
return [
...list.slice(0, Number(bannerListIndex)),
{ type: "banner", banner_image_url: bannerListImage, banner_detail_url: bannerDetailImage },
@@ -142,33 +143,29 @@ const ListContainer = (props) => {
}
// 对于没有ntrp等级的用户每个月展示一次, 插在第二个位置后面
// insertBannerCard 需在最后统一执行,否则前面分支直接 return 时 banner 不会被插入
function insertEvaluateCard(list) {
if (!evaluateFlag)
return showNumber !== undefined ? list.slice(0, showNumber) : list;
if (!list || list.length === 0) {
return list;
}
// 如果最近一个月有测试记录,则不插入 card
if (hasTestInLastMonth) {
return showNumber !== undefined ? list.slice(0, showNumber) : list;
let result: any[];
if (!evaluateFlag) {
result = showNumber !== undefined ? list.slice(0, showNumber) : list;
} else if (!list || list.length === 0) {
result = list;
} else if (hasTestInLastMonth) {
result = showNumber !== undefined ? list.slice(0, showNumber) : list;
} else if (list.length <= 2) {
result = [...list, { type: "evaluateCard" }];
} else {
const [item1, item2, ...rest] = list;
result = [
item1,
item2,
{ type: "evaluateCard" },
...(showNumber !== undefined ? rest.slice(0, showNumber - 3) : rest),
];
}
if (list.length <= 2) {
return [...list, { type: "evaluateCard" }];
}
const [item1, item2, ...rest] = list;
let result = [
item1,
item2,
{ type: "evaluateCard" },
...(showNumber !== undefined ? rest.slice(0, showNumber - 3) : rest),
];
if (bannerListImage) {
return insertBannerCard(result);
}
return result;
return insertBannerCard(result);
}
const memoizedList = useMemo(