m8-mcp-server 1.0.2 → 1.0.4

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.
@@ -2,112 +2,349 @@
2
2
  * Vue 模板生成器
3
3
  * @作者 M8 Team
4
4
  * @创建时间 2024-12-29
5
- * @描述 生成 Vue2 和 Vue3 组件模板
5
+ * @描述 生成 Vue2 和 Vue3 组件模板,严格遵循 M8 规范
6
6
  */
7
7
  import { generateVueFileHeader, generateFileHeader } from './header.js';
8
+ /**
9
+ * 可用的 M8 UI 组件列表
10
+ * 只有这些组件才是有效的,其他组件名称会被过滤
11
+ */
12
+ const VALID_COMPONENTS = new Set([
13
+ 'em-actionsheet', 'em-amap', 'em-button', 'em-cell', 'em-checkbox',
14
+ 'em-circle', 'em-datepicker', 'em-field', 'em-form', 'em-header',
15
+ 'em-icon', 'em-loading', 'em-noticebar', 'em-numberkeyboard',
16
+ 'em-pagination', 'em-panel', 'em-passwordinput', 'em-picker',
17
+ 'em-popup', 'em-progress', 'em-radio', 'em-rate', 'em-search',
18
+ 'em-slider', 'em-stepper', 'em-swipecell', 'em-switch',
19
+ 'em-switchcell', 'em-tag', 'em-treeselect', 'em-uploader',
20
+ 'em-verifycode', 'em-minirefresh', 'em-layout', 'em-image',
21
+ 'em-toast', 'em-calendar', 'em-area', 'em-tab', 'em-dialog',
22
+ 'em-dropdownmenu', 'em-notify', 'em-overlay', 'em-collapse',
23
+ 'em-grid', 'em-countdown', 'em-divider', 'em-empty',
24
+ 'em-imagepreview', 'em-lazyload', 'em-skeleton', 'em-steps',
25
+ 'em-sticky', 'em-indexbar', 'em-sidebar', 'em-tabbar', 'em-badge',
26
+ 'em-popover', 'em-cascader', 'em-selectperson', 'em-swipe',
27
+ 'em-easycalendar', 'em-qrcode', 'em-imagescale', 'em-dragsort',
28
+ 'em-chart', 'em-rtc', 'em-table'
29
+ ]);
30
+ /**
31
+ * 组件名称映射:常见错误名称 -> 正确名称
32
+ * 确保使用者输入的无效组件名称能被正确映射到 M8 组件库中的有效组件
33
+ */
34
+ const COMPONENT_NAME_MAP = {
35
+ // 输入框类组件 - 统一使用 em-field
36
+ 'em-input': 'em-field',
37
+ 'em-text-field': 'em-field',
38
+ 'em-textfield': 'em-field',
39
+ 'em-textarea': 'em-field',
40
+ 'em-text': 'em-field',
41
+ 'input': 'em-field',
42
+ 'text-field': 'em-field',
43
+ // 选择器类组件 - 统一使用 em-picker
44
+ 'em-select': 'em-picker',
45
+ 'em-dropdown': 'em-picker',
46
+ 'select': 'em-picker',
47
+ // 日期时间类组件 - 统一使用 em-datepicker
48
+ 'em-date': 'em-datepicker',
49
+ 'em-time': 'em-datepicker',
50
+ 'em-datetime': 'em-datepicker',
51
+ 'date-picker': 'em-datepicker',
52
+ // 导航类组件 - 统一使用 em-header
53
+ 'em-nav': 'em-header',
54
+ 'em-navbar': 'em-header',
55
+ 'em-navigation': 'em-header',
56
+ 'navbar': 'em-header',
57
+ // 列表类组件 - 统一使用 em-cell
58
+ 'em-list': 'em-cell',
59
+ 'em-item': 'em-cell',
60
+ 'em-list-item': 'em-cell',
61
+ 'list-item': 'em-cell',
62
+ // 按钮类组件
63
+ 'btn': 'em-button',
64
+ // Toast/提示类 - 这些应该用 API 而非组件,添加警告
65
+ 'em-message': '', // 应使用 ejs.ui.toast
66
+ 'em-alert': '', // 应使用 ejs.ui.alert
67
+ };
68
+ /**
69
+ * 验证并修正组件名称
70
+ * @param componentName 组件名称
71
+ * @returns 修正后的组件名称,如果无效则返回 null;如果应该使用 API 则返回 { useApi: true }
72
+ */
73
+ export function validateComponentName(componentName) {
74
+ // 标准化组件名称
75
+ let normalized = componentName.toLowerCase().trim();
76
+ // 首先检查是否在映射表中(不管有没有 em- 前缀)
77
+ if (COMPONENT_NAME_MAP[normalized] !== undefined) {
78
+ const mapped = COMPONENT_NAME_MAP[normalized];
79
+ // 如果映射到空字符串,表示应该使用 API 而非组件
80
+ if (mapped === '') {
81
+ return null;
82
+ }
83
+ normalized = mapped;
84
+ }
85
+ else {
86
+ // 如果没有 em- 前缀,添加它再检查
87
+ if (!normalized.startsWith('em-')) {
88
+ const withPrefix = `em-${normalized}`;
89
+ if (COMPONENT_NAME_MAP[withPrefix] !== undefined) {
90
+ const mapped = COMPONENT_NAME_MAP[withPrefix];
91
+ if (mapped === '') {
92
+ return null;
93
+ }
94
+ normalized = mapped;
95
+ }
96
+ else {
97
+ normalized = withPrefix;
98
+ }
99
+ }
100
+ }
101
+ // 验证组件是否存在
102
+ if (VALID_COMPONENTS.has(normalized)) {
103
+ return normalized;
104
+ }
105
+ return null;
106
+ }
107
+ /**
108
+ * 过滤并验证组件列表
109
+ * @param components 组件列表
110
+ * @returns 验证后的组件列表和警告信息
111
+ */
112
+ export function filterValidComponents(components) {
113
+ const valid = [];
114
+ const warnings = [];
115
+ // 应该使用 API 而非组件的映射
116
+ const API_SUGGESTIONS = {
117
+ 'em-message': 'ejs.ui.toast({ message: "提示内容" })',
118
+ 'em-alert': 'ejs.ui.alert({ title: "标题", message: "内容" })',
119
+ 'em-toast': 'ejs.ui.toast({ message: "提示内容" })',
120
+ 'em-loading': 'ejs.ui.showWaiting({ message: "加载中..." })',
121
+ 'em-confirm': 'ejs.ui.confirm({ title: "确认", message: "确认操作吗?" })',
122
+ 'message': 'ejs.ui.toast({ message: "提示内容" })',
123
+ 'alert': 'ejs.ui.alert({ title: "标题", message: "内容" })',
124
+ 'toast': 'ejs.ui.toast({ message: "提示内容" })',
125
+ 'loading': 'ejs.ui.showWaiting({ message: "加载中..." })',
126
+ };
127
+ for (const comp of components) {
128
+ const normalized = comp.toLowerCase().trim();
129
+ // 检查是否应该使用 API
130
+ if (API_SUGGESTIONS[normalized]) {
131
+ warnings.push(`"${comp}" 建议使用 API 方式调用:${API_SUGGESTIONS[normalized]}`);
132
+ continue;
133
+ }
134
+ const validated = validateComponentName(comp);
135
+ if (validated) {
136
+ if (!valid.includes(validated)) {
137
+ valid.push(validated);
138
+ }
139
+ // 如果名称被修正了,添加警告
140
+ const original = comp.toLowerCase().startsWith('em-') ? comp : `em-${comp}`;
141
+ if (original.toLowerCase() !== validated) {
142
+ warnings.push(`组件 "${comp}" 已自动修正为 "${validated}"`);
143
+ }
144
+ }
145
+ else {
146
+ warnings.push(`组件 "${comp}" 不存在于 M8 组件库中,已忽略`);
147
+ }
148
+ }
149
+ return { valid, warnings };
150
+ }
151
+ /**
152
+ * 根据需求智能推荐组件
153
+ * @param requirement 需求描述
154
+ * @returns 推荐的组件列表
155
+ */
156
+ export function suggestComponents(requirement) {
157
+ const components = [];
158
+ const req = requirement.toLowerCase();
159
+ // 登录/表单相关
160
+ if (req.includes('登录') || req.includes('login')) {
161
+ components.push('em-field', 'em-button');
162
+ }
163
+ if (req.includes('表单') || req.includes('form')) {
164
+ components.push('em-form', 'em-field', 'em-button');
165
+ }
166
+ if (req.includes('输入') || req.includes('input')) {
167
+ components.push('em-field');
168
+ }
169
+ if (req.includes('按钮') || req.includes('button')) {
170
+ components.push('em-button');
171
+ }
172
+ // 列表相关
173
+ if (req.includes('列表') || req.includes('list')) {
174
+ components.push('em-cell', 'em-minirefresh');
175
+ }
176
+ // 选择器相关
177
+ if (req.includes('选择') || req.includes('picker') || req.includes('下拉')) {
178
+ components.push('em-picker');
179
+ }
180
+ if (req.includes('日期') || req.includes('date')) {
181
+ components.push('em-datepicker');
182
+ }
183
+ // 搜索相关
184
+ if (req.includes('搜索') || req.includes('search')) {
185
+ components.push('em-search');
186
+ }
187
+ // 上传相关
188
+ if (req.includes('上传') || req.includes('upload') || req.includes('图片')) {
189
+ components.push('em-uploader');
190
+ }
191
+ // 去重
192
+ return [...new Set(components)];
193
+ }
8
194
  /**
9
195
  * 生成 Vue2 组件模板 (Options API)
196
+ * 严格遵循 M8 规范:样式外部引入、使用 ejs.ui API
10
197
  * @param options 模板选项
11
198
  * @returns Vue2 组件代码
12
199
  */
13
200
  export function generateVue2Template(options) {
14
- const { name, description, components = [], includeStyle = true, author } = options;
201
+ const { name, description, components = [], author, useMock = true, pageTitle = '页面标题' } = options;
15
202
  const headerOptions = {
16
203
  author,
17
204
  description
18
205
  };
19
206
  const header = generateVueFileHeader(headerOptions);
20
207
  const scriptHeader = generateFileHeader(headerOptions);
21
- // 生成组件导入语句
22
- const imports = components.length > 0
23
- ? components.map(c => {
24
- const componentName = c.startsWith('em-') ? c : `em-${c}`;
25
- return `// ${componentName} 组件已全局注册,无需导入`;
26
- }).join('\n')
27
- : '';
208
+ // 验证组件
209
+ const { valid: validComponents, warnings } = filterValidComponents(components);
210
+ // 如果没有指定组件,根据需求智能推荐
211
+ const finalComponents = validComponents.length > 0
212
+ ? validComponents
213
+ : suggestComponents(description);
214
+ // 生成模板内容
215
+ const templateContent = generateTemplateContent(finalComponents, name, description);
216
+ // 生成 CSS 类名 (使用下划线风格,符合 M8 规范)
217
+ const cssClassName = name.replace(/-/g, '_');
28
218
  const template = `${header}
29
219
  <template>
30
- <div class="${name}">
31
- <!-- TODO: 添加组件内容 -->
32
- <div class="${name}__content">
33
- ${components.map(c => `<${c.startsWith('em-') ? c : `em-${c}`}></${c.startsWith('em-') ? c : `em-${c}`}>`).join('\n ')}
34
- </div>
220
+ <div class="${cssClassName}">
221
+ ${templateContent}
35
222
  </div>
36
223
  </template>
37
224
 
38
225
  <script>
39
226
  ${scriptHeader}
40
227
 
41
- ${imports}
42
-
43
228
  export default {
44
- name: '${name}',
45
-
46
- components: {
47
- // M8 UI 组件已全局注册
48
- },
49
-
50
- props: {
51
- // TODO: 定义组件属性
52
- },
229
+ name: '${toPascalCase(name)}',
53
230
 
54
231
  data() {
55
232
  return {
56
- // TODO: 定义组件数据
233
+ // 表单数据
234
+ formData: {},
235
+ // 加载状态
236
+ loading: false
57
237
  };
58
238
  },
59
239
 
60
- computed: {
61
- // TODO: 定义计算属性
62
- },
63
-
64
- watch: {
65
- // TODO: 定义侦听器
66
- },
67
-
68
240
  created() {
69
- // TODO: 组件创建时的逻辑
70
- },
71
-
72
- mounted() {
73
- // TODO: 组件挂载后的逻辑
241
+ this.initPage();
74
242
  },
75
243
 
76
244
  methods: {
77
- // TODO: 定义组件方法
245
+ /**
246
+ * 初始化页面
247
+ */
248
+ initPage() {
249
+ this.loadData();
250
+ },
251
+
252
+ /**
253
+ * 加载数据
254
+ */
255
+ async loadData() {
256
+ try {
257
+ this.loading = true;
258
+ ejs.ui.showWaiting({ message: '加载中...' });
259
+
260
+ const result = await Util.ajax({
261
+ url: Config.serverUrl + '${useMock ? '/rest/mock/' + name : '/api/' + name}',
262
+ type: 'POST',
263
+ data: {
264
+ params: JSON.stringify({})
265
+ }
266
+ });
267
+
268
+ if (result.status?.code === 1) {
269
+ // TODO: 处理数据
270
+ console.log('数据加载成功:', result.data);
271
+ } else {
272
+ ejs.ui.toast({ message: result.status?.text || '加载失败' });
273
+ }
274
+ } catch (error) {
275
+ console.error('数据加载失败:', error);
276
+ ejs.ui.toast({ message: '网络错误,请重试' });
277
+ } finally {
278
+ this.loading = false;
279
+ ejs.ui.closeWaiting();
280
+ }
281
+ },
282
+
283
+ /**
284
+ * 提交表单
285
+ */
286
+ async handleSubmit() {
287
+ try {
288
+ ejs.ui.showWaiting({ message: '提交中...' });
289
+
290
+ const result = await Util.ajax({
291
+ url: Config.serverUrl + '${useMock ? '/rest/mock/' + name + '/submit' : '/api/' + name + '/submit'}',
292
+ type: 'POST',
293
+ data: {
294
+ params: JSON.stringify(this.formData)
295
+ }
296
+ });
297
+
298
+ if (result.status?.code === 1) {
299
+ ejs.ui.toast({ message: '提交成功' });
300
+ // TODO: 处理成功逻辑
301
+ } else {
302
+ ejs.ui.toast({ message: result.status?.text || '提交失败' });
303
+ }
304
+ } catch (error) {
305
+ console.error('提交失败:', error);
306
+ ejs.ui.toast({ message: '网络错误,请重试' });
307
+ } finally {
308
+ ejs.ui.closeWaiting();
309
+ }
310
+ }
78
311
  }
79
312
  };
80
313
  </script>
81
- ${includeStyle ? `
314
+
82
315
  <style lang="scss" scoped>
83
- .${name} {
84
- &__content {
85
- // TODO: 添加样式
86
- }
87
- }
316
+ @import './css/${name}.scss';
88
317
  </style>
89
- ` : ''}`;
318
+ `;
90
319
  return template;
91
320
  }
92
321
  /**
93
322
  * 生成 Vue3 组件模板 (Composition API with script setup)
323
+ * 严格遵循 M8 规范:样式外部引入、使用 ejs.ui API
94
324
  * @param options 模板选项
95
325
  * @returns Vue3 组件代码
96
326
  */
97
327
  export function generateVue3Template(options) {
98
- const { name, description, components = [], includeStyle = true, author } = options;
328
+ const { name, description, components = [], author, useMock = true, pageTitle = '页面标题' } = options;
99
329
  const headerOptions = {
100
330
  author,
101
331
  description
102
332
  };
103
333
  const header = generateVueFileHeader(headerOptions);
334
+ // 验证组件
335
+ const { valid: validComponents } = filterValidComponents(components);
336
+ // 如果没有指定组件,根据需求智能推荐
337
+ const finalComponents = validComponents.length > 0
338
+ ? validComponents
339
+ : suggestComponents(description);
340
+ // 生成模板内容
341
+ const templateContent = generateTemplateContent(finalComponents, name, description);
342
+ // 生成 CSS 类名
343
+ const cssClassName = name.replace(/-/g, '_');
104
344
  const template = `${header}
105
345
  <template>
106
- <div class="${name}">
107
- <!-- TODO: 添加组件内容 -->
108
- <div class="${name}__content">
109
- ${components.map(c => `<${c.startsWith('em-') ? c : `em-${c}`}></${c.startsWith('em-') ? c : `em-${c}`}>`).join('\n ')}
110
- </div>
346
+ <div class="${cssClassName}">
347
+ ${templateContent}
111
348
  </div>
112
349
  </template>
113
350
 
@@ -116,49 +353,191 @@ export function generateVue3Template(options) {
116
353
  * @描述 ${description}
117
354
  */
118
355
 
119
- import { ref, reactive, computed, onMounted } from 'vue';
120
-
121
- // ==================== Props ====================
122
- const props = defineProps({
123
- // TODO: 定义组件属性
124
- });
125
-
126
- // ==================== Emits ====================
127
- const emit = defineEmits([
128
- // TODO: 定义组件事件
129
- ]);
356
+ import { ref, reactive, onMounted } from 'vue';
130
357
 
131
358
  // ==================== 响应式数据 ====================
132
- const state = reactive({
133
- // TODO: 定义组件状态
134
- });
135
-
136
- // ==================== 计算属性 ====================
137
- // const computedValue = computed(() => {
138
- // // TODO: 计算逻辑
139
- // });
140
-
141
- // ==================== 方法 ====================
142
- // const handleClick = () => {
143
- // // TODO: 处理逻辑
144
- // };
359
+ const formData = reactive({});
360
+ const loading = ref(false);
145
361
 
146
362
  // ==================== 生命周期 ====================
147
363
  onMounted(() => {
148
- // TODO: 组件挂载后的逻辑
364
+ initPage();
149
365
  });
366
+
367
+ // ==================== 方法 ====================
368
+
369
+ /**
370
+ * 初始化页面
371
+ */
372
+ const initPage = () => {
373
+ loadData();
374
+ };
375
+
376
+ /**
377
+ * 加载数据
378
+ */
379
+ const loadData = async () => {
380
+ try {
381
+ loading.value = true;
382
+ ejs.ui.showWaiting({ message: '加载中...' });
383
+
384
+ const result = await Util.ajax({
385
+ url: Config.serverUrl + '${useMock ? '/rest/mock/' + name : '/api/' + name}',
386
+ type: 'POST',
387
+ data: {
388
+ params: JSON.stringify({})
389
+ }
390
+ });
391
+
392
+ if (result.status?.code === 1) {
393
+ // TODO: 处理数据
394
+ console.log('数据加载成功:', result.data);
395
+ } else {
396
+ ejs.ui.toast({ message: result.status?.text || '加载失败' });
397
+ }
398
+ } catch (error) {
399
+ console.error('数据加载失败:', error);
400
+ ejs.ui.toast({ message: '网络错误,请重试' });
401
+ } finally {
402
+ loading.value = false;
403
+ ejs.ui.closeWaiting();
404
+ }
405
+ };
406
+
407
+ /**
408
+ * 提交表单
409
+ */
410
+ const handleSubmit = async () => {
411
+ try {
412
+ ejs.ui.showWaiting({ message: '提交中...' });
413
+
414
+ const result = await Util.ajax({
415
+ url: Config.serverUrl + '${useMock ? '/rest/mock/' + name + '/submit' : '/api/' + name + '/submit'}',
416
+ type: 'POST',
417
+ data: {
418
+ params: JSON.stringify(formData)
419
+ }
420
+ });
421
+
422
+ if (result.status?.code === 1) {
423
+ ejs.ui.toast({ message: '提交成功' });
424
+ // TODO: 处理成功逻辑
425
+ } else {
426
+ ejs.ui.toast({ message: result.status?.text || '提交失败' });
427
+ }
428
+ } catch (error) {
429
+ console.error('提交失败:', error);
430
+ ejs.ui.toast({ message: '网络错误,请重试' });
431
+ } finally {
432
+ ejs.ui.closeWaiting();
433
+ }
434
+ };
150
435
  </script>
151
- ${includeStyle ? `
436
+
152
437
  <style lang="scss" scoped>
153
- .${name} {
154
- &__content {
155
- // TODO: 添加样式
156
- }
157
- }
438
+ @import './css/${name}.scss';
158
439
  </style>
159
- ` : ''}`;
440
+ `;
160
441
  return template;
161
442
  }
443
+ /**
444
+ * 根据组件列表生成模板内容
445
+ * @param components 组件列表
446
+ * @param name 页面名称
447
+ * @param description 需求描述
448
+ * @returns 模板内容
449
+ */
450
+ function generateTemplateContent(components, name, description) {
451
+ const lines = [];
452
+ const cssClassName = name.replace(/-/g, '_');
453
+ const req = description.toLowerCase();
454
+ // 判断页面类型
455
+ const isLoginPage = req.includes('登录') || req.includes('login');
456
+ const isFormPage = req.includes('表单') || req.includes('form') || isLoginPage;
457
+ const isListPage = req.includes('列表') || req.includes('list');
458
+ if (isLoginPage) {
459
+ // 登录页面模板
460
+ lines.push(` <!-- 登录表单 -->`);
461
+ lines.push(` <div class="${cssClassName}__form">`);
462
+ lines.push(` <em-field`);
463
+ lines.push(` v-model="formData.username"`);
464
+ lines.push(` label="用户名"`);
465
+ lines.push(` placeholder="请输入用户名"`);
466
+ lines.push(` clearable`);
467
+ lines.push(` />`);
468
+ lines.push(` <em-field`);
469
+ lines.push(` v-model="formData.password"`);
470
+ lines.push(` type="password"`);
471
+ lines.push(` label="密码"`);
472
+ lines.push(` placeholder="请输入密码"`);
473
+ lines.push(` clearable`);
474
+ lines.push(` />`);
475
+ lines.push(` <div class="${cssClassName}__actions">`);
476
+ lines.push(` <em-button type="primary" block @click="handleSubmit">登录</em-button>`);
477
+ lines.push(` </div>`);
478
+ lines.push(` </div>`);
479
+ }
480
+ else if (isFormPage) {
481
+ // 通用表单页面模板
482
+ lines.push(` <!-- 表单内容 -->`);
483
+ lines.push(` <em-form ref="formRef">`);
484
+ for (const comp of components) {
485
+ if (comp === 'em-field') {
486
+ lines.push(` <em-field`);
487
+ lines.push(` v-model="formData.field1"`);
488
+ lines.push(` label="字段名"`);
489
+ lines.push(` placeholder="请输入"`);
490
+ lines.push(` required`);
491
+ lines.push(` />`);
492
+ }
493
+ }
494
+ lines.push(` <div class="${cssClassName}__actions">`);
495
+ lines.push(` <em-button type="primary" block @click="handleSubmit">提交</em-button>`);
496
+ lines.push(` </div>`);
497
+ lines.push(` </em-form>`);
498
+ }
499
+ else if (isListPage) {
500
+ // 列表页面模板
501
+ lines.push(` <!-- 列表内容 -->`);
502
+ lines.push(` <em-minirefresh`);
503
+ lines.push(` @refresh="onRefresh"`);
504
+ lines.push(` @loadmore="onLoadMore"`);
505
+ lines.push(` >`);
506
+ lines.push(` <em-cell`);
507
+ lines.push(` v-for="item in list"`);
508
+ lines.push(` :key="item.id"`);
509
+ lines.push(` :title="item.title"`);
510
+ lines.push(` is-link`);
511
+ lines.push(` @click="handleItemClick(item)"`);
512
+ lines.push(` />`);
513
+ lines.push(` </em-minirefresh>`);
514
+ }
515
+ else {
516
+ // 默认页面模板
517
+ lines.push(` <!-- 页面内容 -->`);
518
+ lines.push(` <div class="${cssClassName}__content">`);
519
+ for (const comp of components) {
520
+ const compTag = comp.startsWith('em-') ? comp : `em-${comp}`;
521
+ lines.push(` <${compTag} />`);
522
+ }
523
+ if (components.length === 0) {
524
+ lines.push(` <!-- TODO: 添加页面内容 -->`);
525
+ }
526
+ lines.push(` </div>`);
527
+ }
528
+ return lines.join('\n');
529
+ }
530
+ /**
531
+ * 转换为 PascalCase
532
+ * @param str 输入字符串
533
+ * @returns PascalCase 字符串
534
+ */
535
+ function toPascalCase(str) {
536
+ return str
537
+ .split('-')
538
+ .map(part => part.charAt(0).toUpperCase() + part.slice(1))
539
+ .join('');
540
+ }
162
541
  /**
163
542
  * 根据版本生成 Vue 模板
164
543
  * @param options 模板选项
@@ -1 +1 @@
1
- {"version":3,"file":"vue-template.js","sourceRoot":"","sources":["../../src/generator/vue-template.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vue-template.js","sourceRoot":"","sources":["../../src/generator/vue-template.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -60,7 +60,7 @@ export async function startServer() {
60
60
  });
61
61
  }
62
62
  catch (error) {
63
- console.error('MCP Server 启动失败:', error);
63
+ // MCP 协议要求不能输出非 JSON 内容到 stdout/stderr
64
64
  process.exit(1);
65
65
  }
66
66
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY;IAChC,WAAW;IACX,MAAM,eAAe,CAAC,UAAU,EAAE,CAAC;IAEnC,mBAAmB;IACnB,MAAM,MAAM,GAAG,IAAI,MAAM,CACvB;QACE,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,OAAO;KACjB,EACD;QACE,YAAY,EAAE;YACZ,KAAK,EAAE,EAAE;SACV;KACF,CACF,CAAC;IAEF,mBAAmB;IACnB,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;QAC1D,MAAM,KAAK,GAAG,WAAW,CAAC,kBAAkB,EAAE,CAAC;QAC/C,OAAO,EAAE,KAAK,EAAE,CAAC;IACnB,CAAC,CAAC,CAAC;IAEH,mBAAmB;IACnB,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAChE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;QAEjD,OAAO;QACP,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;QAE/D,OAAO;YACL,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,YAAY,EAAE,CAAC;QACpC,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAE7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAEhC,SAAS;QACT,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;YAC9B,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;YACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;YAC/B,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;YACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;QACzC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,OAAO;AACP,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY;IAChC,WAAW;IACX,MAAM,eAAe,CAAC,UAAU,EAAE,CAAC;IAEnC,mBAAmB;IACnB,MAAM,MAAM,GAAG,IAAI,MAAM,CACvB;QACE,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,OAAO;KACjB,EACD;QACE,YAAY,EAAE;YACZ,KAAK,EAAE,EAAE;SACV;KACF,CACF,CAAC;IAEF,mBAAmB;IACnB,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;QAC1D,MAAM,KAAK,GAAG,WAAW,CAAC,kBAAkB,EAAE,CAAC;QAC/C,OAAO,EAAE,KAAK,EAAE,CAAC;IACnB,CAAC,CAAC,CAAC;IAEH,mBAAmB;IACnB,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAChE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;QAEjD,OAAO;QACP,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;QAE/D,OAAO;YACL,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,YAAY,EAAE,CAAC;QACpC,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAE7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAEhC,SAAS;QACT,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;YAC9B,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;YACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;YAC/B,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;YACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,uCAAuC;QACvC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,OAAO;AACP,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,cAAc,kBAAkB,CAAC"}