修改视频重复处理

master
于肖磊 2026-02-11 11:21:25 +08:00
parent 5d9c77f589
commit 4a33f07d01
1 changed files with 35 additions and 16 deletions

View File

@ -357,23 +357,42 @@
if (data.code == 0) {
const new_data = data.data;
//
const data_list = JSON.parse(JSON.stringify(this.video_data_list));
if (is_last == 1 && is_next == 1) {
//
if (new_data.last.length > 0) {
data_list.unshift(...new_data.last);
}
//
if (new_data.next.length > 0) {
data_list.push(...new_data.next);
}
} else if (is_last == 1 && new_data.last.length > 0) { //
data_list.unshift(...new_data.last);
} else if (is_next == 1 && new_data.next.length > 0) { //
data_list.push(...new_data.next);
}
console.log(data_list);
let data_list = JSON.parse(JSON.stringify(this.video_data_list));
// ID
const existing_ids = new Map();
data_list.forEach(item => {
existing_ids.set(item.id, true);
});
if (is_last == 1 && is_next == 1) {
// -
if (new_data.last.length > 0) {
const unique_last = new_data.last.filter(item => !existing_ids.has(item.id));
if (unique_last.length > 0) {
data_list.unshift(...unique_last);
// ID
unique_last.forEach(item => existing_ids.set(item.id, true));
}
}
// -
if (new_data.next.length > 0) {
const unique_next = new_data.next.filter(item => !existing_ids.has(item.id));
if (unique_next.length > 0) {
data_list.push(...unique_next);
}
}
} else if (is_last == 1 && new_data.last.length > 0) { // -
const unique_last = new_data.last.filter(item => !existing_ids.has(item.id));
if (unique_last.length > 0) {
data_list.unshift(...unique_last);
}
} else if (is_next == 1 && new_data.next.length > 0) { // -
const unique_next = new_data.next.filter(item => !existing_ids.has(item.id));
if (unique_next.length > 0) {
data_list.push(...unique_next);
}
}
const new_index = data_list.findIndex(item => item.id == this.params.id);
this.setData({
video_data_list: data_list,