From 84facc2b2ae3f4ff84166eddaaff9d35e52a3add Mon Sep 17 00:00:00 2001 From: jingrow Date: Sun, 2 Nov 2025 23:45:13 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=87=AA=E5=AE=9A=E4=B9=89ap?= =?UTF-8?q?p=E9=87=8C=E9=9D=A2=E7=9A=84pagetype=E5=88=97=E8=A1=A8=E9=A1=B5?= =?UTF-8?q?=E5=92=8C=E8=AF=A6=E6=83=85=E9=A1=B5=E6=97=A0=E6=B3=95=E8=A6=86?= =?UTF-8?q?=E7=9B=96=E9=BB=98=E8=AE=A4=E6=A8=A1=E6=9D=BF=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/core/registry/pagetypeOverride.ts | 26 +++++++++++-------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/apps/jingrow/frontend/src/core/registry/pagetypeOverride.ts b/apps/jingrow/frontend/src/core/registry/pagetypeOverride.ts index 161c187..9c017bf 100644 --- a/apps/jingrow/frontend/src/core/registry/pagetypeOverride.ts +++ b/apps/jingrow/frontend/src/core/registry/pagetypeOverride.ts @@ -26,8 +26,6 @@ type SourceEntry = { const allPagetypeViews: Record = {} -// 保留占位,若后续需要扩展路径解析可重新启用 - function extractAppName(absPath: string): string { // 形如 @apps//frontend/src/... const parts = absPath.split('/') @@ -88,35 +86,41 @@ function ensureIndexed(entity: string): Indexed { for (const file of Object.keys(allPagetypeViews)) { const segs = file.split('/').filter(Boolean) const len = segs.length - if (len < 5) continue + if (!file.includes('/pagetype/')) continue + const pagetypeIdx = segs.indexOf('pagetype') + if (pagetypeIdx < 0 || pagetypeIdx + 2 >= len) continue + const fileName = segs[len - 1] - const folderName = segs[len - 2] + const folderName = segs[pagetypeIdx + 1] const baseName = fileName.replace(/\.vue$/i, '') - const entity = folderName + // 统一转为小写进行索引和匹配 + const folderNameLower = folderName.toLowerCase() + const baseNameLower = baseName.toLowerCase() + const entity = folderNameLower const bucket = ensureIndexed(entity) // 详情页覆盖:.vue - if (baseName === folderName) { + if (baseNameLower === folderNameLower) { bucket.detail.push(file) } // 详情页工具栏覆盖:_toolbar.vue - else if (baseName === `${folderName}_toolbar`) { + else if (baseNameLower === `${folderNameLower}_toolbar`) { bucket.toolbar.push(file) } // 列表页覆盖:_list.vue - else if (baseName === `${folderName}_list`) { + else if (baseNameLower === `${folderNameLower}_list`) { bucket.list.push(file) } // 列表页工具栏覆盖:_list_toolbar.vue - else if (baseName === `${folderName}_list_toolbar`) { + else if (baseNameLower === `${folderNameLower}_list_toolbar`) { bucket.listToolbar.push(file) } // 列表页过滤栏覆盖:_list_filterbar.vue - else if (baseName === `${folderName}_list_filterbar`) { + else if (baseNameLower === `${folderNameLower}_list_filterbar`) { bucket.filterbar.push(file) } // 列表页操作列覆盖:_list_actions.vue - else if (baseName === `${folderName}_list_actions`) { + else if (baseNameLower === `${folderNameLower}_list_actions`) { bucket.actions.push(file) } }