lanhu-layer-tree 1.0.1 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -210,12 +210,15 @@ lanhu refresh-cookie /path/to/.env
210
210
  - `ImgIcon` → 提取资源名 `Icon.png`
211
211
  - `Img_Button 拷贝 2` → 自动去除 "拷贝" 后缀
212
212
  - `Img_Panel s9-10-10` → 九宫格参数 `s9[10,10]`
213
+ - `common_btn_zhuanniu - 智能对象组` → 输出为 `common_btn_zhuanniu`(去除中文后缀)
214
+ - `common_btn - 智能对象组 s9-3-3` → 输出为 `common_btn s9[3,3]`(保留九宫格参数)
213
215
 
214
216
  ### 过滤规则
215
217
  - `参考图xxx` → 不导出
216
218
  - `fexxx` → 不导出
217
- - 中文命名资源 不解析 UUID
218
- - `background` 不解析 UUID
219
+ - sp 类型且以中文开头(如 `按钮图标`、`图层 3`)→ 不导出(完全过滤)
220
+ - sp 类型以英文开头(如 `common_btn - 智能对象组`)→ 导出但去除中文后缀
221
+ - `background` → 不解析 UUID(但会导出)
219
222
 
220
223
  ### 输出格式
221
224
 
@@ -1 +1 @@
1
- {"version":3,"file":"formatter.d.ts","sourceRoot":"","sources":["../src/formatter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAqDnD;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,KAAK,EAAE,EACf,UAAU,GAAE,MAAe,EAC3B,WAAW,GAAE,MAAU,EACvB,YAAY,GAAE,MAAU,EACxB,OAAO,GAAE,iBAAsB,GAC9B,MAAM,CA4LR"}
1
+ {"version":3,"file":"formatter.d.ts","sourceRoot":"","sources":["../src/formatter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAsDnD;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,KAAK,EAAE,EACf,UAAU,GAAE,MAAe,EAC3B,WAAW,GAAE,MAAU,EACvB,YAAY,GAAE,MAAU,EACxB,OAAO,GAAE,iBAAsB,GAC9B,MAAM,CAiOR"}
package/dist/formatter.js CHANGED
@@ -43,6 +43,7 @@ function reverseSiblingOrder(layers) {
43
43
  return result;
44
44
  }
45
45
  const GROUP_TYPES = new Set(['group', 'layerGroup', 'artboard', 'layerSection']);
46
+ const CHINESE_REGEX = /[一-鿿]/;
46
47
  /**
47
48
  * 将图层列表格式化为树形结构
48
49
  */
@@ -66,7 +67,32 @@ function formatLayersTree(layers, designName = 'Root', canvasWidth = 0, canvasHe
66
67
  // 过滤掉不需要导出的图层
67
68
  const filteredLayers = layers.filter(layer => {
68
69
  const name = layer.name.trim();
69
- return !name.startsWith('参考图') && !name.startsWith('fe');
70
+ const ltype = layer.type || '';
71
+ // 过滤参考图和 fe 开头的图层
72
+ if (name.startsWith('参考图') || name.startsWith('fe')) {
73
+ return false;
74
+ }
75
+ // 过滤 sp 类型且全中文的图层
76
+ if (ltype !== 'textLayer' && !GROUP_TYPES.has(ltype)) {
77
+ // 移除 Img_ 或 Img 前缀后检查
78
+ let checkName = name;
79
+ if (checkName.startsWith('Img_')) {
80
+ checkName = checkName.slice(4);
81
+ }
82
+ else if (checkName.startsWith('Img')) {
83
+ checkName = checkName.slice(3);
84
+ }
85
+ // 移除拷贝和九宫格标记
86
+ checkName = checkName.replace(/\s*拷贝\s*\d*/g, '').trim();
87
+ checkName = checkName.replace(/\s+s9-\d+-\d+/g, '').trim();
88
+ // 移除 " - 中文" 或 " 中文" 后缀(用于检查是否全中文)
89
+ checkName = checkName.replace(/\s*[-\s]+[一-鿿㐀-䶿]+.*$/g, '').trim();
90
+ // 如果处理后的名称为空或以中文开头,则过滤掉
91
+ if (!checkName || CHINESE_REGEX.test(checkName.charAt(0))) {
92
+ return false;
93
+ }
94
+ }
95
+ return true;
70
96
  });
71
97
  // 翻转同级节点顺序
72
98
  const reversedLayers = reverseSiblingOrder(filteredLayers);
@@ -77,8 +103,15 @@ function formatLayersTree(layers, designName = 'Root', canvasWidth = 0, canvasHe
77
103
  reversedLayers.forEach((layer, idx) => {
78
104
  const depth = layer.depth;
79
105
  let name = layer.name;
106
+ const ltype = layer.type;
80
107
  // 过滤掉名称中的"拷贝"及其后面的数字部分
81
108
  name = name.replace(/\s*拷贝\s*\d*/g, '').trim();
109
+ // 对于 sp 类型图层,先移除 " - 中文" 后缀(但保留九宫格标记)
110
+ if (ltype !== 'textLayer' && !GROUP_TYPES.has(ltype)) {
111
+ // 匹配 " - 中文" 但不包括 s9 标记
112
+ // 例如: "common_btn - 智能对象组 s9-3-3" → "common_btn s9-3-3"
113
+ name = name.replace(/\s*[-\s]+[一-鿿㐀-䶿]+[^s\d]*?(?=\s+s9-|\s*$)/g, '').trim();
114
+ }
82
115
  // 提取九宫格参数(如 " s9-3-3" → [3,3])
83
116
  let s9Params = null;
84
117
  const s9Match = name.match(/\s+s9-(\d+)-(\d+)/);
@@ -87,7 +120,6 @@ function formatLayersTree(layers, designName = 'Root', canvasWidth = 0, canvasHe
87
120
  }
88
121
  // 过滤掉九宫格标记
89
122
  name = name.replace(/\s+s9-\d+-\d+/g, '').trim();
90
- const ltype = layer.type;
91
123
  const width = layer.width;
92
124
  const height = layer.height;
93
125
  const absX = layer.x;
@@ -1 +1 @@
1
- {"version":3,"file":"formatter.js","sourceRoot":"","sources":["../src/formatter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"formatter.js","sourceRoot":"","sources":["../src/formatter.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lanhu-layer-tree",
3
- "version": "1.0.1",
3
+ "version": "1.0.2",
4
4
  "description": "蓝湖设计图图层树提取工具 - 从蓝湖获取设计图列表、图层信息、切图资源等",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
package/src/formatter.ts CHANGED
@@ -50,6 +50,7 @@ function reverseSiblingOrder(layers: Layer[]): Layer[] {
50
50
  }
51
51
 
52
52
  const GROUP_TYPES = new Set(['group', 'layerGroup', 'artboard', 'layerSection']);
53
+ const CHINESE_REGEX = /[一-鿿]/;
53
54
 
54
55
  /**
55
56
  * 将图层列表格式化为树形结构
@@ -81,7 +82,37 @@ export function formatLayersTree(
81
82
  // 过滤掉不需要导出的图层
82
83
  const filteredLayers = layers.filter(layer => {
83
84
  const name = layer.name.trim();
84
- return !name.startsWith('参考图') && !name.startsWith('fe');
85
+ const ltype = layer.type || '';
86
+
87
+ // 过滤参考图和 fe 开头的图层
88
+ if (name.startsWith('参考图') || name.startsWith('fe')) {
89
+ return false;
90
+ }
91
+
92
+ // 过滤 sp 类型且全中文的图层
93
+ if (ltype !== 'textLayer' && !GROUP_TYPES.has(ltype)) {
94
+ // 移除 Img_ 或 Img 前缀后检查
95
+ let checkName = name;
96
+ if (checkName.startsWith('Img_')) {
97
+ checkName = checkName.slice(4);
98
+ } else if (checkName.startsWith('Img')) {
99
+ checkName = checkName.slice(3);
100
+ }
101
+
102
+ // 移除拷贝和九宫格标记
103
+ checkName = checkName.replace(/\s*拷贝\s*\d*/g, '').trim();
104
+ checkName = checkName.replace(/\s+s9-\d+-\d+/g, '').trim();
105
+
106
+ // 移除 " - 中文" 或 " 中文" 后缀(用于检查是否全中文)
107
+ checkName = checkName.replace(/\s*[-\s]+[一-鿿㐀-䶿]+.*$/g, '').trim();
108
+
109
+ // 如果处理后的名称为空或以中文开头,则过滤掉
110
+ if (!checkName || CHINESE_REGEX.test(checkName.charAt(0))) {
111
+ return false;
112
+ }
113
+ }
114
+
115
+ return true;
85
116
  });
86
117
 
87
118
  // 翻转同级节点顺序
@@ -96,10 +127,18 @@ export function formatLayersTree(
96
127
  reversedLayers.forEach((layer, idx) => {
97
128
  const depth = layer.depth;
98
129
  let name = layer.name;
130
+ const ltype = layer.type;
99
131
 
100
132
  // 过滤掉名称中的"拷贝"及其后面的数字部分
101
133
  name = name.replace(/\s*拷贝\s*\d*/g, '').trim();
102
134
 
135
+ // 对于 sp 类型图层,先移除 " - 中文" 后缀(但保留九宫格标记)
136
+ if (ltype !== 'textLayer' && !GROUP_TYPES.has(ltype)) {
137
+ // 匹配 " - 中文" 但不包括 s9 标记
138
+ // 例如: "common_btn - 智能对象组 s9-3-3" → "common_btn s9-3-3"
139
+ name = name.replace(/\s*[-\s]+[一-鿿㐀-䶿]+[^s\d]*?(?=\s+s9-|\s*$)/g, '').trim();
140
+ }
141
+
103
142
  // 提取九宫格参数(如 " s9-3-3" → [3,3])
104
143
  let s9Params: [number, number] | null = null;
105
144
  const s9Match = name.match(/\s+s9-(\d+)-(\d+)/);
@@ -110,7 +149,6 @@ export function formatLayersTree(
110
149
  // 过滤掉九宫格标记
111
150
  name = name.replace(/\s+s9-\d+-\d+/g, '').trim();
112
151
 
113
- const ltype = layer.type;
114
152
  const width = layer.width;
115
153
  const height = layer.height;
116
154
  const absX = layer.x;