mirror of
https://github.com/AIsouler/GKD_subscription.git
synced 2025-12-20 16:54:43 +08:00
fix: 新增应用未记录
This commit is contained in:
48
src/file.ts
48
src/file.ts
@@ -529,7 +529,7 @@ export const updateReadMeMd = async (
|
|||||||
) => {
|
) => {
|
||||||
let changeCount = 0;
|
let changeCount = 0;
|
||||||
const appDiffs: AppDiff[] = [];
|
const appDiffs: AppDiff[] = [];
|
||||||
const globaldiffs: GlobalDiff[] = [];
|
const globalDiffs: GlobalDiff[] = [];
|
||||||
const globalDiffLog = getGlobalDiffLog(
|
const globalDiffLog = getGlobalDiffLog(
|
||||||
oldConfig.globalGroups,
|
oldConfig.globalGroups,
|
||||||
newConfig.globalGroups,
|
newConfig.globalGroups,
|
||||||
@@ -541,24 +541,23 @@ export const updateReadMeMd = async (
|
|||||||
globalDiffLog.changeGlobalGroups.length +
|
globalDiffLog.changeGlobalGroups.length +
|
||||||
globalDiffLog.removeGlobalGroups.length;
|
globalDiffLog.removeGlobalGroups.length;
|
||||||
|
|
||||||
// 如果全局差异的数量大于 0,则将其添加到 globaldiffs 中,并增加 changeCount
|
// 如果全局差异的数量大于 0,则将其添加到 globalDiffs 中,并增加 changeCount
|
||||||
if (globalDiffCount > 0) {
|
if (globalDiffCount > 0) {
|
||||||
globaldiffs.push({ ...globalDiffLog });
|
globalDiffs.push({ ...globalDiffLog });
|
||||||
changeCount += globalDiffCount;
|
changeCount += globalDiffCount;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 遍历新配置中的每个应用程序
|
// 遍历新配置中的每个应用程序
|
||||||
for (const app of oldConfig.apps || []) {
|
for (const newApp of newConfig.apps || []) {
|
||||||
// 查找新配置中具有相同 ID 的应用程序
|
// 查找旧配置中具有相同 ID 的应用程序
|
||||||
const newApp = newConfig.apps!.find((a) => a.id === app.id);
|
const oldApp = oldConfig.apps?.find((a) => a.id === newApp.id);
|
||||||
// 如果在旧配置中找不到相同 ID 的应用程序
|
if (!oldApp || !isEqual(newApp, oldApp)) {
|
||||||
if (!newApp) {
|
|
||||||
// 增加变更计数
|
// 增加变更计数
|
||||||
changeCount++;
|
changeCount++;
|
||||||
// 更新应用程序的 Markdown 文件
|
// 更新应用程序的 Markdown 文件
|
||||||
await updateAppMd(app);
|
await updateAppMd(newApp);
|
||||||
// 获取应用程序组的差异日志
|
// 获取应用程序组的差异日志
|
||||||
const appDiffLog = getAppDiffLog(app.groups, []);
|
const appDiffLog = getAppDiffLog(newApp.groups, oldApp?.groups || []);
|
||||||
// 如果有新增、修改或删除的组,则将其记录到应用程序差异中
|
// 如果有新增、修改或删除的组,则将其记录到应用程序差异中
|
||||||
if (
|
if (
|
||||||
appDiffLog.addGroups.length +
|
appDiffLog.addGroups.length +
|
||||||
@@ -566,29 +565,12 @@ export const updateReadMeMd = async (
|
|||||||
appDiffLog.removeGroups.length >
|
appDiffLog.removeGroups.length >
|
||||||
0
|
0
|
||||||
) {
|
) {
|
||||||
appDiffs.push({ app, ...appDiffLog });
|
appDiffs.push({ app: newApp, ...appDiffLog });
|
||||||
}
|
|
||||||
} else if (!isEqual(newApp, app)) {
|
|
||||||
// 如果旧应用程序与新应用程序不相等
|
|
||||||
// 增加变更计数
|
|
||||||
changeCount++;
|
|
||||||
// 更新应用程序的 Markdown 文件
|
|
||||||
await updateAppMd(app);
|
|
||||||
// 获取应用程序组的差异日志
|
|
||||||
const appDiffLog = getAppDiffLog(app.groups, newApp.groups);
|
|
||||||
// 如果有新增、修改或删除的组,则将其记录到应用程序差异中
|
|
||||||
if (
|
|
||||||
appDiffLog.addGroups.length +
|
|
||||||
appDiffLog.changeGroups.length +
|
|
||||||
appDiffLog.removeGroups.length >
|
|
||||||
0
|
|
||||||
) {
|
|
||||||
appDiffs.push({ app, ...appDiffLog });
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (appDiffs.length > 0 || globaldiffs.length > 0) {
|
if (appDiffs.length > 0 || globalDiffs.length > 0) {
|
||||||
const addGroupsCount = appDiffs.reduce((p, c) => p + c.addGroups.length, 0);
|
const addGroupsCount = appDiffs.reduce((p, c) => p + c.addGroups.length, 0);
|
||||||
const changeGroupsCount = appDiffs.reduce(
|
const changeGroupsCount = appDiffs.reduce(
|
||||||
(p, c) => p + c.changeGroups.length,
|
(p, c) => p + c.changeGroups.length,
|
||||||
@@ -598,15 +580,15 @@ export const updateReadMeMd = async (
|
|||||||
(p, c) => p + c.removeGroups.length,
|
(p, c) => p + c.removeGroups.length,
|
||||||
0,
|
0,
|
||||||
);
|
);
|
||||||
const addGlobalGroupsCount = globaldiffs.reduce(
|
const addGlobalGroupsCount = globalDiffs.reduce(
|
||||||
(p, c) => p + c.addGlobalGroups.length,
|
(p, c) => p + c.addGlobalGroups.length,
|
||||||
0,
|
0,
|
||||||
);
|
);
|
||||||
const changeGlobalGroupsCount = globaldiffs.reduce(
|
const changeGlobalGroupsCount = globalDiffs.reduce(
|
||||||
(p, c) => p + c.changeGlobalGroups.length,
|
(p, c) => p + c.changeGlobalGroups.length,
|
||||||
0,
|
0,
|
||||||
);
|
);
|
||||||
const removeGlobalGroupsCount = globaldiffs.reduce(
|
const removeGlobalGroupsCount = globalDiffs.reduce(
|
||||||
(p, c) => p + c.removeGlobalGroups.length,
|
(p, c) => p + c.removeGlobalGroups.length,
|
||||||
0,
|
0,
|
||||||
);
|
);
|
||||||
@@ -645,7 +627,7 @@ export const updateReadMeMd = async (
|
|||||||
.join('\n') +
|
.join('\n') +
|
||||||
'\n\n---\n\n' +
|
'\n\n---\n\n' +
|
||||||
'|全局规则|新增|变动|移除|\n|-|-|-|-|\n' +
|
'|全局规则|新增|变动|移除|\n|-|-|-|-|\n' +
|
||||||
globaldiffs
|
globalDiffs
|
||||||
.map((a) =>
|
.map((a) =>
|
||||||
[
|
[
|
||||||
'',
|
'',
|
||||||
|
|||||||
Reference in New Issue
Block a user