迭代 ONE-OS 多原型:提车应收款收款/合同页增强,租赁明细标注同步,导航注册表更新;新增 Git 协作技能并忽略 .local 临时目录。
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -54,6 +54,7 @@ function readS3Config() {
|
||||
}
|
||||
return {
|
||||
...s3,
|
||||
pathAliases: s3.pathAliases && typeof s3.pathAliases === 'object' ? s3.pathAliases : {},
|
||||
includeSource: raw?.cloudPublishing?.publishSettings?.includeSource !== false,
|
||||
};
|
||||
}
|
||||
@@ -63,7 +64,10 @@ function toPublishPath(resource) {
|
||||
return String(raw).replace(/\\/gu, '/').replace(/\/index\.tsx?$/iu, '');
|
||||
}
|
||||
|
||||
function resolveObjectPrefix(entry) {
|
||||
function resolveObjectPrefix(entry, pathAliases = {}) {
|
||||
const alias = pathAliases[entry.id];
|
||||
if (alias) return String(alias).replace(/^\/+|\/+$/gu, '');
|
||||
|
||||
const normalized = entry.path.replace(/^\/+|\/+$/gu, '');
|
||||
const prototypeMatch = normalized.match(/^(?:src\/)?prototypes\/(.+)$/u);
|
||||
if (prototypeMatch?.[1]) return `prototypes/${prototypeMatch[1]}`;
|
||||
@@ -97,7 +101,7 @@ function guessContentType(filePath) {
|
||||
return map[ext] || 'application/octet-stream';
|
||||
}
|
||||
|
||||
async function collectPublishEntries(adminOrigin, projectId, groupFilter) {
|
||||
async function collectPublishEntries(adminOrigin, projectId, groupFilter, pathAliases = {}) {
|
||||
const res = await fetch(`${adminOrigin}/api/projects/${encodeURIComponent(projectId)}/resources`);
|
||||
if (!res.ok) {
|
||||
throw new Error(`GET /api/projects/${projectId}/resources failed: ${res.status}`);
|
||||
@@ -114,7 +118,7 @@ async function collectPublishEntries(adminOrigin, projectId, groupFilter) {
|
||||
id: item.id,
|
||||
title: item.title || item.id,
|
||||
path: publishPath,
|
||||
prefix: resolveObjectPrefix({ path: publishPath, id: item.id }),
|
||||
prefix: resolveObjectPrefix({ path: publishPath, id: item.id }, pathAliases),
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -223,7 +227,7 @@ async function main() {
|
||||
const adminOrigin = resolveAdminOrigin(args.adminOrigin);
|
||||
const s3Config = readS3Config();
|
||||
const includeSource = args.includeSource && s3Config.includeSource;
|
||||
const entries = await collectPublishEntries(adminOrigin, args.projectId, args.group);
|
||||
const entries = await collectPublishEntries(adminOrigin, args.projectId, args.group, s3Config.pathAliases);
|
||||
|
||||
console.log(`Admin: ${adminOrigin}`);
|
||||
console.log(`Bucket: ${s3Config.bucket}`);
|
||||
|
||||
Reference in New Issue
Block a user