Skip to content

Commit 2ae4b0f

Browse files
authored
Merge pull request #65 from DogeLakeDev/cursor/bc-39d882cb-756c-4917-b0f4-65081ab87545-d245
fix(pack-update): 修复 merge 后 bindOk 重复 enabled(ootb TS1117)
2 parents 99b882d + 912268e commit 2ae4b0f

2 files changed

Lines changed: 8 additions & 12 deletions

File tree

‎docs/guide/pack-update.md‎

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -123,16 +123,13 @@ flowchart TD
123123

124124
| 字段 | 含义 |
125125
|------|------|
126-
| `defaultBindingEnabled` | 新建绑定的默认 `enabled`;`false` 时仍写入 `pack-sources.json`,但不会自动检查/更新。 |
126+
| `defaultBindingEnabled` | 新建绑定的默认 `enabled`(**默认 `false`**)。仍写入 `pack-sources.json`,但需手改为 `true`(或改此默认)才参与启动检查/自动更新。 |
127127
| `match.nameMinScore` | 安装后自动绑定的最低相似度阈值(源无关,顶层)。 |
128128
| `match.stripFolderTags` | 清洗时是否去掉方括号标签(如 `[BP]`/`[玩法]`)。 |
129129
| `gameId` | **Minecraft Bedrock = `78022`**。历史误用 `459` 无效,加载时会纠正。Java Minecraft 是 `432`,不要混用。 |
130130
| `classId` | Bedrock **Addons = `4984`**;`null` 时用 `/v1/categories?classesOnly=true` 解析「Addons」。 |
131131
| `baseUrl` | 官方 Core API:getMod / files / download-url。 |
132132
| `searchBaseUrl` | 搜索镜像;官方 search 403 时回退。 |
133-
| `nameMinScore` | 安装后自动绑定的最低相似度阈值。 |
134-
| `stripFolderTags` | 清洗时是否去掉方括号标签(如 `[BP]`/`[玩法]`)。 |
135-
| `defaultBindingEnabled` | 新建绑定的默认 `enabled`(**默认 `false`**)。需手改为 `true` 才参与启动检查/自动更新。 |
136133

137134
### 3.4 绑定文件示例
138135

‎sfmc/src/pack-update/service.ts‎

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,9 @@ function fmtVer(v: SemVer3): string {
5757
return v.join(".");
5858
}
5959

60+
/** 绑定启用态文案:bindOk / sources list 共用(DRY),走 packs.list i18n */
6061
function bindingEnabledLabel(enabled: boolean): string {
61-
return enabled ? "on" : "off";
62+
return enabled ? t("packs.list.on").trim() : t("packs.list.off").trim();
6263
}
6364

6465
/** 未配置源时的统一文案(DRY:入口勿各自拼 needKey) */
@@ -230,9 +231,9 @@ export async function probeSourceAfterInstall(opts: {
230231
uuid: opts.info.uuid,
231232
provider: providerShortLabel(best.hit.provider),
232233
slug: best.hit.slug,
234+
/* 报告实际写入的 binding.enabled(LSP),勿再并列一份 cfg 派生字段 */
233235
enabled: bindingEnabledLabel(binding.enabled),
234236
path: packSourcesPath(),
235-
enabled: cfg.defaultBindingEnabled ? t("packs.list.on").trim() : t("packs.list.off").trim(),
236237
}),
237238
"success"
238239
);
@@ -302,7 +303,8 @@ export function formatSourcesList(): string {
302303
return lines.join("\n");
303304
}
304305
for (const { bpUuid, binding } of bindings) {
305-
const en = binding.enabled ? c.green(t("packs.list.on").trim()) : c.dim(t("packs.list.off").trim());
306+
const label = bindingEnabledLabel(binding.enabled);
307+
const en = binding.enabled ? c.green(label) : c.dim(label);
306308
const tag = providerShortLabel(binding.provider);
307309
lines.push(
308310
` [${en}] ${bpUuid} ${tag}:${binding.slug || binding.projectId} ${c.dim(binding.websiteUrl || "")}`
@@ -442,14 +444,11 @@ async function prepareCheck(
442444
* 远程 BP 版本未更高:无需覆盖安装,但仍记下 fileId,
443445
* 否则每次启动都会重复下载同一归档(lastApplied 一直为空)。
444446
*/
447+
binding.lastFileId = file.fileId;
445448
if (!decision.remoteNewer) {
446449
binding.lastAppliedFileId = file.fileId;
447-
binding.lastFileId = file.fileId;
448-
setBinding(bpUuid, binding);
449-
} else {
450-
binding.lastFileId = file.fileId;
451-
setBinding(bpUuid, binding);
452450
}
451+
setBinding(bpUuid, binding);
453452

454453
return withLocalBp(
455454
{

0 commit comments

Comments
 (0)