diff --git a/src/pages/crontab/index.tsx b/src/pages/crontab/index.tsx index 1b999ce6..e7fef62a 100644 --- a/src/pages/crontab/index.tsx +++ b/src/pages/crontab/index.tsx @@ -438,8 +438,10 @@ const Crontab = ({ headerStyle, isPhone, theme }: any) => { message.success('删除成功'); const result = [...value]; const i = result.findIndex((x) => x.id === record.id); - result.splice(i, 1); - setValue(result); + if (i !== -1) { + result.splice(i, 1); + setValue(result); + } } else { message.error(data); } @@ -470,11 +472,13 @@ const Crontab = ({ headerStyle, isPhone, theme }: any) => { if (data.code === 200) { const result = [...value]; const i = result.findIndex((x) => x.id === record.id); - result.splice(i, 1, { - ...record, - status: CrontabStatus.running, - }); - setValue(result); + if (i !== -1) { + result.splice(i, 1, { + ...record, + status: CrontabStatus.running, + }); + setValue(result); + } } else { message.error(data); } @@ -505,12 +509,14 @@ const Crontab = ({ headerStyle, isPhone, theme }: any) => { if (data.code === 200) { const result = [...value]; const i = result.findIndex((x) => x.id === record.id); - result.splice(i, 1, { - ...record, - pid: null, - status: CrontabStatus.idle, - }); - setValue(result); + if (i !== -1) { + result.splice(i, 1, { + ...record, + pid: null, + status: CrontabStatus.idle, + }); + setValue(result); + } } else { message.error(data); } @@ -550,11 +556,13 @@ const Crontab = ({ headerStyle, isPhone, theme }: any) => { const newStatus = record.isDisabled === 1 ? 0 : 1; const result = [...value]; const i = result.findIndex((x) => x.id === record.id); - result.splice(i, 1, { - ...record, - isDisabled: newStatus, - }); - setValue(result); + if (i !== -1) { + result.splice(i, 1, { + ...record, + isDisabled: newStatus, + }); + setValue(result); + } } else { message.error(data); } @@ -594,11 +602,13 @@ const Crontab = ({ headerStyle, isPhone, theme }: any) => { const newStatus = record.isPinned === 1 ? 0 : 1; const result = [...value]; const i = result.findIndex((x) => x.id === record.id); - result.splice(i, 1, { - ...record, - isPinned: newStatus, - }); - setValue(result); + if (i !== -1) { + result.splice(i, 1, { + ...record, + isPinned: newStatus, + }); + setValue(result); + } } else { message.error(data); } @@ -709,11 +719,13 @@ const Crontab = ({ headerStyle, isPhone, theme }: any) => { .parseExpression(data.data.schedule) .next() .toDate(); - result.splice(index, 1, { - ...cron, - ...data.data, - }); - setValue(result); + if (index !== -1) { + result.splice(index, 1, { + ...cron, + ...data.data, + }); + setValue(result); + } }) .finally(() => setLoading(false)); }; diff --git a/src/pages/dependence/index.tsx b/src/pages/dependence/index.tsx index ead43104..7d1fa4bc 100644 --- a/src/pages/dependence/index.tsx +++ b/src/pages/dependence/index.tsx @@ -271,9 +271,11 @@ const Dependence = ({ headerStyle, isPhone, socketMessage }: any) => { result.push(...dependence); } else { const index = value.findIndex((x) => x.id === dependence.id); - result.splice(index, 1, { - ...dependence, - }); + if (index !== -1) { + result.splice(index, 1, { + ...dependence, + }); + } } setValue(result); }; @@ -324,11 +326,13 @@ const Dependence = ({ headerStyle, isPhone, socketMessage }: any) => { .then((data: any) => { const index = value.findIndex((x) => x.id === dependence.id); const result = [...value]; - result.splice(index, 1, { - ...dependence, - ...data.data, - }); - setValue(result); + if (index !== -1) { + result.splice(index, 1, { + ...dependence, + ...data.data, + }); + setValue(result); + } }) .finally(() => setLoading(false)); }; @@ -371,10 +375,12 @@ const Dependence = ({ headerStyle, isPhone, socketMessage }: any) => { const result = [...value]; for (let i = 0; i < references.length; i++) { const index = value.findIndex((x) => x.id === references[i]); - result.splice(index, 1, { - ...value[index], - status, - }); + if (index !== -1) { + result.splice(index, 1, { + ...value[index], + status, + }); + } } setValue(result); @@ -383,7 +389,9 @@ const Dependence = ({ headerStyle, isPhone, socketMessage }: any) => { const _result = [...value]; for (let i = 0; i < references.length; i++) { const index = value.findIndex((x) => x.id === references[i]); - _result.splice(index, 1); + if (index !== -1) { + _result.splice(index, 1); + } } setValue(_result); }, 5000); @@ -483,8 +491,10 @@ const Dependence = ({ headerStyle, isPhone, socketMessage }: any) => { if (needRemove) { const index = value.findIndex((x) => x.id === logDependence.id); const result = [...value]; - result.splice(index, 1); - setValue(result); + if (index !== -1) { + result.splice(index, 1); + setValue(result); + } } else if ([...value].map((x) => x.id).includes(logDependence.id)) { getDependenceDetail(logDependence); } diff --git a/src/pages/script/index.tsx b/src/pages/script/index.tsx index 27ce8c13..8140216c 100644 --- a/src/pages/script/index.tsx +++ b/src/pages/script/index.tsx @@ -278,13 +278,17 @@ const Script = ({ headerStyle, isPhone, theme, socketMessage }: any) => { const index = parentNode.children.findIndex( (y) => y.key === currentNode.key, ); - parentNode.children.splice(index, 1); - newData.splice(parentNodeIndex, 1, { ...parentNode }); + if (index !== -1 && parentNodeIndex !== -1) { + parentNode.children.splice(index, 1); + newData.splice(parentNodeIndex, 1, { ...parentNode }); + } } else { const index = newData.findIndex( (x) => x.key === currentNode.key, ); - newData.splice(index, 1); + if (index !== -1) { + newData.splice(index, 1); + } } setData(newData); } else { @@ -314,13 +318,15 @@ const Script = ({ headerStyle, isPhone, theme, socketMessage }: any) => { const _file = { title: filename, key, value: filename, parent: path }; if (path) { const parentNodeIndex = newData.findIndex((x) => x.key === path); - const parentNode = newData[parentNodeIndex]; - if (parentNode.children && parentNode.children.length > 0) { - parentNode.children.unshift(_file); - } else { - parentNode.children = [_file]; + if (parentNodeIndex !== -1) { + const parentNode = newData[parentNodeIndex]; + if (parentNode.children && parentNode.children.length > 0) { + parentNode.children.unshift(_file); + } else { + parentNode.children = [_file]; + } + newData.splice(parentNodeIndex, 1, { ...parentNode }); } - newData.splice(parentNodeIndex, 1, { ...parentNode }); } else { newData.unshift(_file); } diff --git a/src/pages/subscription/index.tsx b/src/pages/subscription/index.tsx index 6847fb01..a6789f9e 100644 --- a/src/pages/subscription/index.tsx +++ b/src/pages/subscription/index.tsx @@ -263,11 +263,13 @@ const Subscription = ({ headerStyle, isPhone, socketMessage }: any) => { if (data.code === 200) { const result = [...value]; const i = result.findIndex((x) => x.id === record.id); - result.splice(i, 1, { - ...record, - status: SubscriptionStatus.running, - }); - setValue(result); + if (i !== -1) { + result.splice(i, 1, { + ...record, + status: SubscriptionStatus.running, + }); + setValue(result); + } } else { message.error(data); } @@ -298,12 +300,14 @@ const Subscription = ({ headerStyle, isPhone, socketMessage }: any) => { if (data.code === 200) { const result = [...value]; const i = result.findIndex((x) => x.id === record.id); - result.splice(i, 1, { - ...record, - pid: null, - status: SubscriptionStatus.idle, - }); - setValue(result); + if (i !== -1) { + result.splice(i, 1, { + ...record, + pid: null, + status: SubscriptionStatus.idle, + }); + setValue(result); + } } else { message.error(data); } @@ -356,8 +360,10 @@ const Subscription = ({ headerStyle, isPhone, socketMessage }: any) => { message.success('删除成功'); const result = [...value]; const i = result.findIndex((x) => x.id === record.id); - result.splice(i, 1); - setValue(result); + if (i !== -1) { + result.splice(i, 1); + setValue(result); + } } else { message.error(data); } @@ -397,11 +403,13 @@ const Subscription = ({ headerStyle, isPhone, socketMessage }: any) => { const newStatus = record.is_disabled === 1 ? 0 : 1; const result = [...value]; const i = result.findIndex((x) => x.id === record.id); - result.splice(i, 1, { - ...record, - is_disabled: newStatus, - }); - setValue(result); + if (i !== -1) { + result.splice(i, 1, { + ...record, + is_disabled: newStatus, + }); + setValue(result); + } } else { message.error(data); } @@ -509,10 +517,12 @@ const Subscription = ({ headerStyle, isPhone, socketMessage }: any) => { const result = [...value]; for (let i = 0; i < references.length; i++) { const index = value.findIndex((x) => x.id === references[i]); - result.splice(index, 1, { - ...value[index], - status: SubscriptionStatus.idle, - }); + if (index !== -1) { + result.splice(index, 1, { + ...value[index], + status: SubscriptionStatus.idle, + }); + } } setValue(result); }