m8-mcp-server 1.0.8 → 1.0.10

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
@@ -149,6 +149,22 @@ npx m8-mcp-server
149
149
  - `modulePath` (可选): 模块路径,默认自动生成
150
150
  - `useMock` (可选): 是否使用 Mock 数据,默认 true
151
151
 
152
+ ### generate_card_component
153
+
154
+ 根据提示词生成低码组件代码(符合 card_components 规范)。
155
+
156
+ **参数:**
157
+
158
+ - `componentName` (必需): 组件名称 (PascalCase),如 `TestCard`
159
+ - `requirement` (必需): 需求描述,系统会自动推断配置项
160
+ - `projectName` (可选): 项目名称
161
+
162
+ **示例:**
163
+
164
+ ```
165
+ 生成一个带有标题和图片的卡片组件,名称为 ImageCard
166
+ ```
167
+
152
168
  ### recommend_solution
153
169
 
154
170
  根据需求智能推荐解决方案。
@@ -1,55 +1,12 @@
1
1
  /**
2
- * Card Component Generator
3
- * @作者 Antigravity
2
+ * 低码组件生成器
3
+ * @作者 li peng
4
4
  * @创建时间 2026-01-04
5
- * @描述 生成低码平台组件代码,包括 Vue、SCSS、Config 等文件
5
+ * @描述 根据需求生成符合 card_components 规范的低码组件
6
6
  */
7
- import { CardComponentGeneratedResult, CardComponentOptions } from '../types/index.js';
8
- export declare class CardComponentGenerator {
9
- /**
10
- * 生成低码组件代码
11
- * @param options 生成选项
12
- */
13
- generate(options: CardComponentOptions): CardComponentGeneratedResult;
14
- /**
15
- * 检测组件类型
16
- */
17
- private detectComponentType;
18
- /**
19
- * 生成配置项
20
- */
21
- private generateConfigs;
22
- /**
23
- * 生成 index.vue
24
- */
25
- private generateIndexVue;
26
- /**
27
- * 生成 index.js
28
- */
29
- private generateIndexJs;
30
- /**
31
- * 生成 css/index.scss
32
- */
33
- private generateScss;
34
- /**
35
- * 生成 js/base.js
36
- */
37
- private generateBaseJs;
38
- /**
39
- * 生成 js/config.js
40
- */
41
- private generateConfigJs;
42
- /**
43
- * 生成 mock/data.js
44
- */
45
- private generateMockData;
46
- /**
47
- * 生成 plugin/boxoptions/config.js
48
- */
49
- private generatePluginBoxOptions;
50
- /**
51
- * 生成 plugin/eventgenerate/index.js
52
- */
53
- private generatePluginEventGenerate;
54
- }
7
+ import type { CardComponentOptions, CardComponentResult } from '../types/index.js';
8
+ /**
9
+ * 生成组件代码
10
+ */
11
+ export declare function generateCardComponentCode(options: CardComponentOptions): CardComponentResult;
55
12
  //# sourceMappingURL=card-component.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"card-component.d.ts","sourceRoot":"","sources":["../../src/generator/card-component.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACH,4BAA4B,EAC5B,oBAAoB,EAKvB,MAAM,mBAAmB,CAAC;AAE3B,qBAAa,sBAAsB;IAC/B;;;OAGG;IACH,QAAQ,CAAC,OAAO,EAAE,oBAAoB,GAAG,4BAA4B;IAuErE;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAiB3B;;OAEG;IACH,OAAO,CAAC,eAAe;IAyIvB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA+FxB;;OAEG;IACH,OAAO,CAAC,eAAe;IAuBvB;;OAEG;IACH,OAAO,CAAC,YAAY;IAmBpB;;OAEG;IACH,OAAO,CAAC,cAAc;IAStB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA+GxB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAaxB;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAqBhC;;OAEG;IACH,OAAO,CAAC,2BAA2B;CAQtC"}
1
+ {"version":3,"file":"card-component.d.ts","sourceRoot":"","sources":["../../src/generator/card-component.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,mBAAmB,EAAsB,MAAM,mBAAmB,CAAC;AA4avG;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,oBAAoB,GAAG,mBAAmB,CAuD5F"}
@@ -1,88 +1,215 @@
1
- class p{generate(a){const{componentName:n,description:i,displayName:t}=a,e=a.componentType||this.detectComponentType(i),o=this.generateConfigs(i,e,a.customConfigs),l=[{filename:"index.vue",relativePath:"index.vue",language:"vue",content:this.generateIndexVue(n,e)},{filename:"index.js",relativePath:"index.js",language:"javascript",content:this.generateIndexJs()},{filename:"index.scss",relativePath:"css/index.scss",language:"scss",content:this.generateScss()},{filename:"base.js",relativePath:"js/base.js",language:"javascript",content:this.generateBaseJs(n,t||n)},{filename:"config.js",relativePath:"js/config.js",language:"javascript",content:this.generateConfigJs(o)},{filename:"data.js",relativePath:"mock/data.js",language:"javascript",content:this.generateMockData()},{filename:"config.js",relativePath:"plugin/boxoptions/config.js",language:"javascript",content:this.generatePluginBoxOptions()},{filename:"index.js",relativePath:"plugin/eventgenerate/index.js",language:"javascript",content:this.generatePluginEventGenerate()}];return{componentName:n,files:l,createCommand:`npm run ioc create ${n}`,explanation:`\u5DF2\u751F\u6210\u7EC4\u4EF6 ${n} (${t||n}) \u7684\u5B8C\u6574\u4EE3\u7801\u3002
2
- \u7EC4\u4EF6\u7C7B\u578B: ${e}
3
- \u914D\u7F6E\u9879\u5305\u542B: ${o.map(s=>s.displayName||s.name).join(", ")}`}}detectComponentType(a){const n={chart:["\u56FE\u8868","\u67F1\u72B6","\u6298\u7EBF","\u997C\u56FE","echarts","\u7EDF\u8BA1","\u6570\u636E\u53EF\u89C6\u5316","\u5206\u6790"],form:["\u8868\u5355","\u8F93\u5165","\u9009\u62E9","\u63D0\u4EA4","\u586B\u5199","\u9A8C\u8BC1","search","\u641C\u7D22"],list:["\u5217\u8868","\u5361\u7247","\u6570\u636E\u5C55\u793A","\u5FAA\u73AF","\u904D\u5386","\u6E05\u5355"],basic:["\u6309\u94AE","\u6587\u5B57","\u56FE\u7247","\u56FE\u6807","\u6807\u9898","\u5BFC\u822A","banner","\u8F6E\u64AD","\u9876\u90E8","\u5E95\u90E8"]};for(const[i,t]of Object.entries(n))if(t.some(e=>a.toLowerCase().includes(e)))return i;return"custom"}generateConfigs(a,n,i=[]){const t=[],e=a.toLowerCase();return e.includes("\u5706\u89D2")&&t.push({displayName:"\u5706\u89D2",name:"radius",value:"0,0,0,0",type:"text",tip:"\u5DE6\u4E0A\u89D2\u3001\u53F3\u4E0A\u89D2\u3001\u53F3\u4E0B\u89D2\u3001\u5DE6\u4E0B\u89D2"}),(e.includes("\u989C\u8272")||e.includes("\u80CC\u666F"))&&(e.includes("\u6E10\u53D8")||e.includes("\u591A\u8272")?t.push({displayName:"\u914D\u8272",name:"colors",type:"colors",dynamic:!0,value:["#2ccbff"]}):t.push({name:"color",displayName:"\u989C\u8272",value:"rgba(18,137,221,1)",type:"color"})),e.includes("\u900F\u660E\u5EA6")&&t.push({name:"opacity",displayName:"\u900F\u660E\u5EA6",value:1,type:"range",min:0,max:1,step:.01}),(e.includes("\u56FE\u7247")||e.includes("icon")||e.includes("\u56FE\u6807"))&&t.push({name:"image",displayName:"\u56FE\u7247",value:"",type:"uploadimage"}),e.includes("\u89C6\u9891")&&t.push({name:"video",displayName:"\u89C6\u9891",value:"",type:"uploadvideo"}),(n==="list"||e.includes("\u5217\u8868")||e.includes("\u5FAA\u73AF"))&&t.push({name:"items",displayName:"\u5217\u8868\u9879",dynamic:!0,type:"array",value:[],template:{name:"item",displayName:"\u9879",value:[{name:"title",displayName:"\u6807\u9898",type:"text",value:"\u6807\u9898"}]}}),(e.includes("\u5F00\u5173")||e.includes("\u662F\u5426")||e.includes("\u52A8\u753B"))&&t.push({name:"enableEffect",displayName:"\u5F00\u542F\u7279\u6548",value:!0,type:"boolean"}),(e.includes("\u9009\u62E9")||e.includes("\u7C7B\u578B"))&&t.push({name:"type",displayName:"\u7C7B\u578B",type:"select",value:"option1",options:[{name:"\u9009\u98791",value:"option1"},{name:"\u9009\u98792",value:"option2"}]}),(e.includes("\u5730\u56FE")||e.includes("\u533A\u57DF"))&&t.push({name:"map",displayName:"\u5730\u56FE\u533A\u57DF",value:"320000",type:"area"}),t.length===0&&i.length===0&&t.push({displayName:"\u6807\u9898\u5185\u5BB9",name:"title",value:"\u9ED8\u8BA4\u6807\u9898",type:"text"}),[...t,...i]}generateIndexVue(a,n){return`<template>
4
- <div class="epoint-component">
5
- <div class="component-wrap" :style="[boxOptions]">
6
- <!-- \u7EC4\u4EF6\u5185\u5BB9\u533A\u57DF -->
7
- <div class="content">
8
- {{ textContent }}
9
- </div>
1
+ function p(a){const e=[];return(a.includes("\u6807\u9898")||a.includes("\u6587\u5B57"))&&(e.push({name:"title",type:"text",displayName:"\u6807\u9898\u5185\u5BB9"}),e.push({name:"fontSize",type:"font",displayName:"\u5B57\u4F53\u5927\u5C0F"}),e.push({name:"color",type:"color",displayName:"\u5B57\u4F53\u989C\u8272"})),(a.includes("\u56FE\u7247")||a.includes("\u8F6E\u64AD"))&&(e.push({name:"image",type:"uploadimage",displayName:"\u4E0A\u4F20\u56FE\u7247"}),e.push({name:"borderRadius",type:"text",displayName:"\u5706\u89D2"})),a.includes("\u80CC\u666F")&&e.push({name:"backgroundColor",type:"color",displayName:"\u80CC\u666F\u989C\u8272"}),(a.includes("\u5217\u8868")||a.includes("\u6570\u7EC4"))&&e.push({name:"list",type:"array",displayName:"\u5217\u8868\u6570\u636E"}),(a.includes("\u9AD8\u5EA6")||a.includes("\u5BBD\u5EA6"))&&e.push({name:"size",type:"text",displayName:"\u5C3A\u5BF8"}),e}function l(a){return`export default {
2
+ name: "${a}",
3
+ module_name: "${a}",
4
+ version: "0.1.0"
5
+ };`}function m(a,e){return`import base from "./base";
6
+ import boxOptions from "../plugin/boxoptions/config";
7
+
8
+ export default {
9
+ base,
10
+ dimension: {
11
+ width: "100%",
12
+ height: "auto"
13
+ },
14
+ configuration: [
15
+ {
16
+ name: "options",
17
+ value: [
18
+ boxOptions,
19
+ {
20
+ displayName: "\u57FA\u7840\u914D\u7F6E",
21
+ name: "basicSetting",
22
+ value: [
23
+ ${p(e).map(t=>{let n='""';return t.type==="color"&&(n='"#000000"'),t.type==="number"&&(n=14),t.type==="boolean"&&(n=!1),t.type==="array"&&(n="[]"),`{
24
+ displayName: "${t.displayName}",
25
+ name: "${t.name}",
26
+ value: ${n},
27
+ type: "${t.type}"
28
+ }`}).join(`,
29
+ `)}
30
+ ]
31
+ }
32
+ ]
33
+ },
34
+ {
35
+ name: "interaction",
36
+ displayName: "\u4EA4\u4E92",
37
+ value: [
38
+ {
39
+ name: "callback",
40
+ displayName: "\u56DE\u8C03\u53C2\u6570",
41
+ type: "array",
42
+ dynamic: true,
43
+ value: [],
44
+ template: {
45
+ name: "callback",
46
+ displayName: "\u53C2\u6570",
47
+ value: [
48
+ {
49
+ name: "field",
50
+ displayName: "\u5B57\u6BB5\u503C",
51
+ value: "",
52
+ type: "text"
53
+ },
54
+ {
55
+ name: "param",
56
+ displayName: "\u53D8\u91CF\u540D",
57
+ type: "text",
58
+ value: ""
59
+ }
60
+ ]
61
+ }
62
+ },
63
+ {
64
+ name: "events",
65
+ displayName: "\u4EA4\u4E92\u4E8B\u4EF6",
66
+ type: "array",
67
+ dynamic: true,
68
+ value: [],
69
+ template: {
70
+ name: "event",
71
+ displayName: "\u4E8B\u4EF6",
72
+ value: [
73
+ {
74
+ name: "type",
75
+ displayName: "\u4E8B\u4EF6\u7C7B\u578B",
76
+ type: "select",
77
+ value: "click",
78
+ options: [
79
+ {
80
+ name: "\u9F20\u6807\u5355\u51FB",
81
+ value: "click"
82
+ }
83
+ ]
84
+ },
85
+ {
86
+ name: "action",
87
+ displayName: "\u52A8\u4F5C",
88
+ type: "select",
89
+ value: "show",
90
+ options: [
91
+ {
92
+ name: "\u663E\u793A",
93
+ value: "show"
94
+ },
95
+ {
96
+ name: "\u9690\u85CF",
97
+ value: "hide"
98
+ },
99
+ {
100
+ name: "\u663E\u9690\u5207\u6362",
101
+ value: "toggle"
102
+ }
103
+ ]
104
+ },
105
+ {
106
+ name: "component",
107
+ displayName: "\u7EC4\u4EF6",
108
+ type: "componentselect",
109
+ value: "",
110
+ options: []
111
+ }
112
+ ]
113
+ }
114
+ },
115
+ {
116
+ name: "event",
117
+ displayName: "\u4E8B\u4EF6\uFF08\u65B0\uFF09",
118
+ type: "array",
119
+ value: [
120
+ {
121
+ name: "onMounted",
122
+ displayName: "onMounted\u4E8B\u4EF6",
123
+ dynamic: true,
124
+ type: "array",
125
+ value: [],
126
+ template: {
127
+ name: "templeteMounted_1",
128
+ displayName: "\u52A8\u4F5C",
129
+ type: "text",
130
+ value: 'console.log("onMounted\u4E8B\u4EF6:", e)'
131
+ }
132
+ },
133
+ {
134
+ name: "onClick",
135
+ displayName: "onClick\u4E8B\u4EF6",
136
+ dynamic: true,
137
+ type: "array",
138
+ value: [
139
+ {
140
+ name: "OnClick_1",
141
+ displayName: "\u52A8\u4F5C",
142
+ type: "text",
143
+ value: 'console.log("OnClick\u4E8B\u4EF6:", e)'
144
+ }
145
+ ],
146
+ template: {
147
+ name: "templeteOnClick_1",
148
+ displayName: "\u52A8\u4F5C",
149
+ type: "text",
150
+ value: 'console.log("OnClick\u4E8B\u4EF6:", e)'
151
+ }
152
+ },
153
+ {
154
+ name: "onChange",
155
+ displayName: "onChange\u4E8B\u4EF6",
156
+ dynamic: true,
157
+ type: "array",
158
+ value: [],
159
+ template: {
160
+ name: "templeteOnChange_1",
161
+ displayName: "\u503C\u53D8\u52A8",
162
+ type: "text",
163
+ value: 'console.log("onChange\u4E8B\u4EF6:", e)'
164
+ }
165
+ }
166
+ ]
167
+ }
168
+ ]
169
+ }
170
+ ]
171
+ };`}function r(a){return`<template>
172
+ <div class="epoint-component" :style="boxOptions">
173
+ <div class="${a.toLowerCase()}-container">
174
+ <!-- \u7EC4\u4EF6\u5185\u5BB9 -->
175
+ <div>{{ config.options.basicSetting.title || '\u9ED8\u8BA4\u6807\u9898' }}</div>
10
176
  </div>
11
177
  </div>
12
178
  </template>
13
179
 
14
180
  <script>
15
- // \u5C0F\u5C4F\u4F4E\u7801\u7EC4\u4EF6\u76F8\u5173\u914D\u7F6E
16
181
  import '@boot';
17
182
  import mockData from './mock/data';
18
183
  import defaultConfig from './js/config';
19
184
  import base from './js/base';
20
- // \u4E8B\u4EF6\u4EA4\u4E92
21
185
  import eventMixin from './plugin/eventgenerate';
22
186
 
23
187
  export default {
24
188
  name: base.module_name,
25
189
  mixins: [eventMixin],
26
190
  props: {
27
- // mock\u4E2D\u7684data.js
28
191
  data: {
29
192
  type: Array,
30
- default: () => {
31
- return mockData.data;
32
- }
193
+ default: () => mockData.data
33
194
  },
34
- // \u914D\u7F6E\u9879
35
195
  config: {
36
- type: Object
37
- },
38
- //\u83B7\u53D6\u7236\u7EA7\u7EC4\u4EF6\u6570\u636E
39
- cdata: Object
40
- },
41
- data() {
42
- return {
43
- };
44
- },
45
- watch: {
196
+ type: Object,
197
+ default: () => ({})
198
+ }
46
199
  },
47
200
  computed: {
48
- // \u6CE8\u610F\uFF1A\u4F7F\u7528el.style\u7B49\u64CD\u4F5CDOM\u7684\u65B9\u5F0F\u5728\u5FAE\u4FE1\u5C0F\u7A0B\u5E8F\u4E0D\u652F\u6301
49
201
  boxOptions() {
50
- const { boxOptions } = this.config.options;
51
- const boxmodel = boxOptions.boxmodel;
52
- //\u6839\u636E\u5B9E\u9645\u60C5\u51B5\u8FDB\u884C\u5355\u4F4D\u4FEE\u6539
53
- Object.keys(boxmodel).forEach((key) => {
54
- if (!isNaN(Number(boxmodel[key]))) {
55
- //\u662F\u7EAF\u6570\u5B57\u624D\u52A0\u5355\u4F4D
56
- boxmodel[key] = boxmodel[key] + 'px';
57
- }
58
- });
59
- return boxOptions;
60
- },
61
- myData() {
62
- return this.data;
63
- },
64
- // \u793A\u4F8B\uFF1A\u83B7\u53D6\u914D\u7F6E\u9879\u4E2D\u7684\u6807\u9898
65
- textContent() {
66
- // \u6CE8\u610F\uFF1A\u8FD9\u91CC\u9700\u8981\u6839\u636E\u5B9E\u9645config.js\u4E2D\u7684\u7ED3\u6784\u6765\u83B7\u53D6
67
- // \u5047\u8BBEconfig\u4E2D\u5B9A\u4E49\u4E86\u4E00\u4E2A\u540D\u4E3Atitle\u7684\u914D\u7F6E\u9879
68
- // \u5982\u679Ctitle\u662F\u5728\u6700\u5916\u5C42options\u4E2D
69
- const options = this.config.options;
70
- // \u5C1D\u8BD5\u67E5\u627E title \u5B57\u6BB5\uFF0C\u5982\u679C\u4E0D\u5728\u9876\u5C42\u53EF\u80FD\u5728\u67D0\u4E2A\u5BF9\u8C61\u6570\u7EC4\u7684value\u4E2D
71
- // \u8FD9\u91CC\u505A\u4E00\u4E2A\u7B80\u5355\u7684\u793A\u4F8B\u83B7\u53D6
72
- return options.title && options.title.content ? options.title.content : (options.title || '\u9ED8\u8BA4\u5185\u5BB9');
202
+ return this.config.options ? this.config.options.boxOptions : {};
73
203
  }
74
204
  },
75
- created() {},
76
205
  mounted() {
77
206
  this.eventGenerate('onMounted', '\u7EC4\u4EF6\u52A0\u8F7D\u5B8C\u6210');
78
207
  },
79
208
  methods: {
80
209
  handleClick() {
81
- this.eventGenerate('onClick', { type: 'click' });
210
+ this.eventGenerate('onClick', '\u70B9\u51FB\u4E8B\u4EF6');
82
211
  }
83
212
  },
84
- beforeDestroy() {},
85
- // \u6240\u6709\u7EC4\u4EF6\u5FC5\u987B\u8BBE\u7F6E_getConfig\u548C_getMockData\uFF0C\u7528\u4E8E\u4F4E\u7801\u5E73\u53F0\u83B7\u53D6\u7EC4\u4EF6\u914D\u7F6E\u4FE1\u606F
86
213
  _getConfig: () => defaultConfig,
87
214
  _getMockData: () => mockData
88
215
  };
@@ -90,13 +217,28 @@ export default {
90
217
 
91
218
  <style lang="scss" scoped>
92
219
  @import './css/index.scss';
93
- </style>
94
- `}generateIndexJs(){return`//\u6784\u5EFA\u5165\u53E3\uFF0C\u52FF\u52A8
95
- import Component from './index.vue';
220
+ </style>`}function c(a){return`.${a.toLowerCase()}-container {
221
+ width: 100%;
222
+ height: 100%;
223
+ position: relative;
224
+ font-size: 14px;
225
+ }`}function u(){return`export default {
226
+ data: [
227
+ {
228
+ title: "\u793A\u4F8B\u6570\u636E1",
229
+ value: 100
230
+ },
231
+ {
232
+ title: "\u793A\u4F8B\u6570\u636E2",
233
+ value: 200
234
+ }
235
+ ]
236
+ };`}function d(){return`import Component from './index.vue';
96
237
 
97
238
  if (!Component.name) {
98
- console.error('\u5361\u7247\u7EC4\u4EF6vue\u5185\u8BF7\u5B9A\u4E49name\u5B57\u6BB5\u540E\u91CD\u65B0\u6784\u5EFA\uFF01');
239
+ console.error('\u7EC4\u4EF6\u672A\u5B9A\u4E49 name \u5B57\u6BB5\uFF01');
99
240
  }
241
+
100
242
  const install = function (Vue) {
101
243
  Vue.component(Component.name, Component);
102
244
  };
@@ -109,154 +251,75 @@ export { default as component } from './index.vue';
109
251
 
110
252
  export default {
111
253
  install
112
- };
113
- `}generateScss(){return`.epoint-component {
114
- width: 100%;
115
- height: 100%;
116
-
117
- .component-wrap {
118
- width: 100%;
119
- height: 100%;
120
- position: relative;
121
- }
122
-
123
- .content {
124
- font-size: 14px;
125
- color: #333;
126
- }
127
- }
128
- `}generateBaseJs(a,n){return`export default {
129
- name: '${n}', //\u7EC4\u4EF6\u540D\u79F0
130
- module_name: '${a}', //\u9700\u8981\u548C\u7EC4\u4EF6\u6587\u4EF6\u5939\u540D\u5339\u914D
131
- version: '1.0.0'
132
- };
133
- `}generateConfigJs(a){const n=JSON.stringify(a,null,4);return`import base from './base';
134
- // \u901A\u7528\u5BB9\u5668\u6837\u5F0F
135
- import boxOptions from '../plugin/boxoptions/config';
136
-
137
- export default {
138
- base,
139
- dimension: {
140
- width: '100%',
141
- height: 'auto'
142
- },
143
- configuration: [
254
+ };`}function y(){return`export default {
255
+ displayName: '\u901A\u7528\u5BB9\u5668\u6837\u5F0F',
256
+ name: 'boxOptions',
257
+ value: [
144
258
  {
145
- name: 'options',
146
- displayName: '\u914D\u7F6E\u9879',
147
- value: [
148
- boxOptions,
149
- ...${JSON.stringify(a,null,16).slice(1,-1).trim()}
150
- ]
259
+ displayName: '\u80CC\u666F\u989C\u8272',
260
+ name: 'background',
261
+ value: '',
262
+ type: 'color'
151
263
  },
152
264
  {
153
- name: 'interaction',
154
- displayName: '\u4EA4\u4E92',
155
- value: [
265
+ displayName: '\u5916\u8FB9\u8DDD',
266
+ name: 'margin',
267
+ value: '',
268
+ tip: '\u4E0A \u53F3 \u4E0B \u5DE6',
269
+ type: 'text'
270
+ },
271
+ {
272
+ displayName: '\u5185\u8FB9\u8DDD',
273
+ name: 'padding',
274
+ value: '',
275
+ tip: '\u4E0A \u53F3 \u4E0B \u5DE6',
276
+ type: 'text'
277
+ },
278
+ {
279
+ displayName: '\u5BBD\u5EA6',
280
+ name: 'width',
281
+ value: '',
282
+ type: 'text'
283
+ },
284
+ {
285
+ displayName: '\u9AD8\u5EA6',
286
+ name: 'height',
287
+ value: '',
288
+ type: 'text'
289
+ },
290
+ {
291
+ displayName: '\u5706\u89D2',
292
+ name: 'borderRadius',
293
+ value: '',
294
+ type: 'text'
295
+ },
296
+ {
297
+ displayName: '\u5185\u5BB9\u663E\u793A',
298
+ name: 'overflow',
299
+ value: 'hidden',
300
+ type: 'select',
301
+ options: [
156
302
  {
157
- name: 'callback',
158
- displayName: '\u56DE\u8C03\u53C2\u6570',
159
- type: 'array',
160
- dynamic: true,
161
- value: [],
162
- template: {
163
- name: 'callback',
164
- displayName: '\u53C2\u6570',
165
- value: [
166
- {
167
- name: 'param',
168
- displayName: '\u53D8\u91CF\u540D',
169
- type: 'text',
170
- value: ''
171
- },
172
- {
173
- name: 'field',
174
- displayName: '\u5B57\u6BB5\u503C',
175
- type: 'text',
176
- value: ''
177
- }
178
- ]
179
- }
303
+ name: '\u81EA\u9002\u5E94',
304
+ value: 'auto'
180
305
  },
181
306
  {
182
- name: 'event',
183
- displayName: '\u4E8B\u4EF6\uFF08\u65B0\uFF09',
184
- type: 'array',
185
- value: [
186
- {
187
- name: 'onMounted',
188
- displayName: 'onMounted\u4E8B\u4EF6',
189
- dynamic: true,
190
- type: 'array',
191
- value: [],
192
- template: {
193
- name: 'templeteMounted_1',
194
- displayName: '\u52A8\u4F5C',
195
- type: 'text',
196
- value: 'console.log("onMounted\u4E8B\u4EF6:", e)'
197
- }
198
- },
199
- {
200
- name: 'onClick',
201
- displayName: 'onClick\u4E8B\u4EF6',
202
- dynamic: true,
203
- type: 'array',
204
- value: [],
205
- template: {
206
- name: 'templeteOnClick_1',
207
- displayName: '\u52A8\u4F5C',
208
- type: 'text',
209
- value: 'console.log("OnClick\u4E8B\u4EF6:", e)'
210
- }
211
- },
212
- {
213
- name: 'onChange',
214
- displayName: 'onChange\u4E8B\u4EF6',
215
- dynamic: true,
216
- type: 'array',
217
- value: [],
218
- template: {
219
- name: 'templeteOnChange_1',
220
- displayName: '\u503C\u53D8\u52A8',
221
- type: 'text',
222
- value: 'console.log("onChange\u4E8B\u4EF6:", e)'
223
- }
224
- }
225
- ]
307
+ name: '\u5185\u5BB9\u4FEE\u526A\uFF0C\u6EA2\u51FA\u5185\u5BB9\u6EDA\u52A8\u663E\u793A',
308
+ value: 'scroll'
309
+ },
310
+ {
311
+ name: '\u5185\u5BB9\u4FEE\u526A\uFF0C\u6EA2\u51FA\u5185\u5BB9\u4E0D\u663E\u793A',
312
+ value: 'hidden'
313
+ },
314
+ {
315
+ name: '\u5185\u5BB9\u4E0D\u4FEE\u526A\uFF0C\u5448\u73B0\u5728\u5143\u7D20\u6846\u5916',
316
+ value: 'visible'
226
317
  }
227
318
  ]
228
319
  }
229
320
  ]
230
- };
231
- `}generateMockData(){return`export default {
232
- data: [ //\u8FD9\u4E00\u5C42\u52FF\u5220
233
- {
234
- // \u6A21\u62DF\u6570\u636E
235
- id: 1,
236
- title: '\u793A\u4F8B\u6570\u636E'
237
- }
238
- ]
239
- };
240
- `}generatePluginBoxOptions(){return`export default {
241
- displayName: '\u76D2\u5B50\u95F4\u8DDD',
242
- name: 'boxmodel',
243
- tip: '\u8BBE\u7F6E\u76D2\u5B50\u7684\u5185\u5916\u95F4\u8DDD',
244
- type: 'boxmodel',
245
- //\u9ED8\u8BA4\u503C \u56FA\u5B9A\u683C\u5F0F
246
- value: [
247
- { name: 'marginTop', value: '0' },
248
- { name: 'marginRight', value: '0' },
249
- { name: 'marginBottom', value: '0' },
250
- { name: 'marginLeft', value: '0' },
251
- { name: 'paddingTop', value: '0' },
252
- { name: 'paddingRight', value: '0' },
253
- { name: 'paddingBottom', value: '0' },
254
- { name: 'paddingLeft', value: '0' }
255
- ]
256
- };
257
- `}generatePluginEventGenerate(){return`import eventGenerate from '@epoint-mrc/vue-cli-plugin-mc/src/mccontext/eventgenerate.js';
321
+ };`}function g(){return`import eventGenerate from '@epoint-mrc/vue-cli-plugin-mc/src/mccontext/eventgenerate.js';
258
322
 
259
323
  export default {
260
324
  mixins: [eventGenerate]
261
- };
262
- `}}export{p as CardComponentGenerator};
325
+ };`}function f(a){const{componentName:e,requirement:i,projectName:o}=a,t=o?`src/card_components/${o}/${e}`:`src/card_components/${e}`,n=[{path:`${t}/index.vue`,content:r(e),language:"vue"},{path:`${t}/index.js`,content:d(),language:"javascript"},{path:`${t}/js/base.js`,content:l(e),language:"javascript"},{path:`${t}/js/config.js`,content:m(e,i),language:"javascript"},{path:`${t}/mock/data.js`,content:u(),language:"javascript"},{path:`${t}/css/index.scss`,content:c(e),language:"scss"},{path:`${t}/plugin/boxoptions/config.js`,content:y(),language:"javascript"},{path:`${t}/plugin/eventgenerate/index.js`,content:g(),language:"javascript"}],s=`npm run ioc create ${e}`;return{files:n,createCommand:s,explanation:`\u5DF2\u751F\u6210\u7EC4\u4EF6 ${e} \u7684\u4EE3\u7801\u6587\u4EF6\u3002\u8BF7\u786E\u4FDD\u5148\u8FD0\u884C '${s}' \u521B\u5EFA\u7EC4\u4EF6\u6A21\u677F\u3002`}}export{f as generateCardComponentCode};
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * generate_card_component 工具实现
3
- * @作者 Antigravity
3
+ * @作者 li peng
4
4
  * @创建时间 2026-01-04
5
- * @描述 根据提示词生成低码平台组件代码
5
+ * @描述 根据需求生成符合 card_components 规范的低码组件代码
6
6
  */
7
7
  import type { ToolDefinition, ToolResult } from '../types/index.js';
8
8
  /**
@@ -11,6 +11,8 @@ import type { ToolDefinition, ToolResult } from '../types/index.js';
11
11
  export declare const generateCardComponentDefinition: ToolDefinition;
12
12
  /**
13
13
  * 执行工具
14
+ * @param args 工具参数
15
+ * @returns 工具执行结果
14
16
  */
15
17
  export declare function executeGenerateCardComponent(args: Record<string, unknown>): Promise<ToolResult>;
16
18
  //# sourceMappingURL=generate-card-component.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"generate-card-component.d.ts","sourceRoot":"","sources":["../../src/tools/generate-card-component.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAIpE;;GAEG;AACH,eAAO,MAAM,+BAA+B,EAAE,cAuB7C,CAAC;AAEF;;GAEG;AACH,wBAAsB,4BAA4B,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CAsErG"}
1
+ {"version":3,"file":"generate-card-component.d.ts","sourceRoot":"","sources":["../../src/tools/generate-card-component.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAwB,MAAM,mBAAmB,CAAC;AAG1F;;GAEG;AACH,eAAO,MAAM,+BAA+B,EAAE,cAqB7C,CAAC;AAEF;;;;GAIG;AACH,wBAAsB,4BAA4B,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CAqErG"}
@@ -1,4 +1,2 @@
1
- import{CardComponentGenerator as a}from"../generator/card-component.js";const m={name:"generate_card_component",description:`\u6839\u636E\u63D0\u793A\u8BCD\u751F\u6210\u4F4E\u7801\u5E73\u53F0\u7EC4\u4EF6\u4EE3\u7801\u3002
2
- \u63D0\u793A\u8BCD\u5FC5\u987B\u660E\u786E\u7EC4\u4EF6\u540D\u79F0\uFF08PascalCase\u683C\u5F0F\uFF09\u3002
3
- \u5DE5\u5177\u4F1A\u81EA\u52A8\u6839\u636E\u63CF\u8FF0\u63A8\u65AD\u7EC4\u4EF6\u7C7B\u578B\u548C\u914D\u7F6E\u9879\u3002`,inputSchema:{type:"object",properties:{componentName:{type:"string",description:"\u7EC4\u4EF6\u540D\u79F0 (PascalCase)\uFF0C\u5982 Test4, GoodsInfo, RankingList"},requirement:{type:"string",description:"\u7EC4\u4EF6\u529F\u80FD\u9700\u6C42\u63CF\u8FF0\uFF0C\u5305\u542B\u529F\u80FD\u3001\u6837\u5F0F\u3001\u914D\u7F6E\u9879\u7B49\u8981\u6C42"},displayName:{type:"string",description:"\u7EC4\u4EF6\u4E2D\u6587\u540D\u79F0\uFF08\u53EF\u9009\uFF09\uFF0C\u663E\u793A\u5728\u8BBE\u8BA1\u5668\u4E2D"}},required:["componentName","requirement"]}};async function u(n){try{const t=n.componentName,i=n.requirement,s=n.displayName;if(!t||!i)return{content:[{type:"text",text:"\u9519\u8BEF\uFF1A\u7EC4\u4EF6\u540D\u79F0\u548C\u9700\u6C42\u63CF\u8FF0\u4E0D\u80FD\u4E3A\u7A7A"}],isError:!0};const o=new a().generate({componentName:t,description:i,displayName:s||t,customConfigs:[]}),e=["# \u4F4E\u7801\u7EC4\u4EF6\u751F\u6210\u7ED3\u679C","","## \u521B\u5EFA\u6B65\u9AA4","","1. **\u9996\u5148\u6267\u884C\u547D\u4EE4\u521B\u5EFA\u7EC4\u4EF6\u6A21\u677F**\uFF1A"," ```bash",` ${o.createCommand}`," ```","","2. **\u5C06\u4EE5\u4E0B\u4EE3\u7801\u66FF\u6362\u5230\u5BF9\u5E94\u6587\u4EF6**\uFF1A",""];for(const r of o.files)e.push(`### ${r.relativePath}`),e.push("```"+r.language),e.push(r.content),e.push("```"),e.push("");return e.push("## \u8BF4\u660E"),e.push(o.explanation),{content:[{type:"text",text:e.join(`
1
+ import{generateCardComponentCode as i}from"../generator/card-component.js";const m={name:"generate_card_component",description:"\u6839\u636E\u63D0\u793A\u8BCD\u751F\u6210\u4F4E\u7801\u7EC4\u4EF6\u4EE3\u7801\uFF08\u7B26\u5408 card_components \u89C4\u8303\uFF09\u3002\u4F7F\u7528\u6B64\u5DE5\u5177\u524D\uFF0C\u8BF7\u786E\u4FDD\u7406\u89E3\u7EC4\u4EF6\u7ED3\u6784\u3002",inputSchema:{type:"object",properties:{componentName:{type:"string",description:"\u7EC4\u4EF6\u540D\u79F0 (PascalCase)\uFF0C\u5982 TestCard, ImageBanner"},requirement:{type:"string",description:'\u7EC4\u4EF6\u9700\u6C42\u63CF\u8FF0\uFF0C\u5982"\u5E26\u6709\u6807\u9898\u548C\u56FE\u7247\u7684\u5361\u7247"\uFF0C\u7CFB\u7EDF\u5C06\u6839\u636E\u63CF\u8FF0\u81EA\u52A8\u63A8\u65AD\u914D\u7F6E\u9879'},projectName:{type:"string",description:"\u9879\u76EE\u540D\u79F0\uFF08\u53EF\u9009\uFF09\uFF0C\u5982\u679C\u6307\u5B9A\uFF0C\u7EC4\u4EF6\u5C06\u751F\u6210\u5728 card_components/[projectName]/[componentName] \u4E0B"}},required:["componentName","requirement"]}};async function u(n){try{const t=n.componentName,s=n.requirement,p=n.projectName;if(!t)return{content:[{type:"text",text:"\u9519\u8BEF\uFF1A\u7EC4\u4EF6\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A"}],isError:!0};if(!s)return{content:[{type:"text",text:"\u9519\u8BEF\uFF1A\u9700\u6C42\u63CF\u8FF0\u4E0D\u80FD\u4E3A\u7A7A"}],isError:!0};const o=i({componentName:t,requirement:s,projectName:p}),e=["# \u4F4E\u7801\u7EC4\u4EF6\u751F\u6210\u7ED3\u679C","",`**\u7EC4\u4EF6\u540D\u79F0**: ${t}`,"**\u5FC5\u505A\u6B65\u9AA4**: \u8BF7\u5148\u5728\u7EC8\u7AEF\u8FD0\u884C\u4EE5\u4E0B\u547D\u4EE4\u521B\u5EFA\u7EC4\u4EF6\u6A21\u677F\uFF1A","","```bash",o.createCommand,"```","","## \u751F\u6210\u7684\u6587\u4EF6\u4EE3\u7801",""];for(const r of o.files)e.push(`### ${r.path}`),e.push(""),e.push("```"+r.language),e.push(r.content),e.push("```"),e.push("");return e.push(o.explanation),{content:[{type:"text",text:e.join(`
4
2
  `)}]}}catch(t){return{content:[{type:"text",text:`\u7EC4\u4EF6\u751F\u6210\u5931\u8D25: ${t instanceof Error?t.message:"\u672A\u77E5\u9519\u8BEF"}`}],isError:!0}}}export{u as executeGenerateCardComponent,m as generateCardComponentDefinition};
@@ -230,79 +230,6 @@ export interface GeneratedCode {
230
230
  language: string;
231
231
  explanation: string;
232
232
  }
233
- /**
234
- * 低码组件配置项类型
235
- */
236
- export type CardConfigItemType = 'text' | 'number' | 'boolean' | 'color' | 'colors' | 'select' | 'radio' | 'range' | 'array' | 'tab' | 'boxmodel' | 'uploadimage' | 'uploadvideo' | 'uploadfile' | 'area';
237
- /**
238
- * 低码组件配置项选项
239
- */
240
- export interface CardConfigOption {
241
- name: string;
242
- value: string | number | boolean;
243
- }
244
- /**
245
- * 低码组件单个配置项
246
- */
247
- export interface CardConfigItem {
248
- displayName?: string;
249
- name: string;
250
- value: string | number | boolean | CardConfigItem[] | unknown[];
251
- type?: CardConfigItemType;
252
- tip?: string;
253
- min?: number;
254
- max?: number;
255
- step?: number;
256
- options?: CardConfigOption[];
257
- dynamic?: boolean;
258
- template?: CardConfigItem;
259
- }
260
- /**
261
- * 低码组件生成选项
262
- */
263
- export interface CardComponentOptions {
264
- /** 组件名称 (PascalCase),如 MyChart */
265
- componentName: string;
266
- /** 组件中文名,显示在设计器中 */
267
- displayName: string;
268
- /** 组件描述 */
269
- description: string;
270
- /** 组件版本号 */
271
- version?: string;
272
- /** 组件默认宽度 */
273
- width?: string | number;
274
- /** 组件默认高度 */
275
- height?: string | number;
276
- /** 组件类型:基础组件、图表组件等 */
277
- componentType?: 'basic' | 'chart' | 'form' | 'list' | 'custom';
278
- /** 是否包含 ECharts */
279
- useEcharts?: boolean;
280
- /** 自定义配置项 */
281
- customConfigs?: CardConfigItem[];
282
- /** 自定义事件列表 */
283
- events?: string[];
284
- /** Mock 数据模板 */
285
- mockDataTemplate?: Record<string, unknown>;
286
- }
287
- /**
288
- * 低码组件生成的文件
289
- */
290
- export interface CardComponentFile {
291
- filename: string;
292
- relativePath: string;
293
- content: string;
294
- language: string;
295
- }
296
- /**
297
- * 低码组件生成结果
298
- */
299
- export interface CardComponentGeneratedResult {
300
- componentName: string;
301
- files: CardComponentFile[];
302
- explanation: string;
303
- /** 创建组件的命令 */
304
- createCommand: string;
305
- }
306
233
  /**
307
234
  * 推荐类型
308
235
  */
@@ -363,4 +290,32 @@ export interface DocumentIndex {
363
290
  standards: Map<string, CodingStandardDoc>;
364
291
  cases: CaseDoc[];
365
292
  }
293
+ /**
294
+ * 低码组件配置项类型
295
+ */
296
+ export type CardConfigItemType = 'number' | 'text' | 'boolean' | 'radio' | 'select' | 'color' | 'colors' | 'range' | 'area' | 'uploadimage' | 'uploadvideo' | 'uploadfile' | 'array' | 'tab' | 'boxmodel' | 'font';
297
+ /**
298
+ * 低码组件生成选项
299
+ */
300
+ export interface CardComponentOptions {
301
+ componentName: string;
302
+ requirement: string;
303
+ projectName?: string;
304
+ dimension?: {
305
+ width: string | number;
306
+ height: string | number;
307
+ };
308
+ }
309
+ /**
310
+ * 低码组件生成结果
311
+ */
312
+ export interface CardComponentResult {
313
+ files: Array<{
314
+ path: string;
315
+ content: string;
316
+ language: string;
317
+ }>;
318
+ createCommand: string;
319
+ explanation: string;
320
+ }
366
321
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "m8-mcp-server",
3
- "version": "1.0.8",
3
+ "version": "1.0.10",
4
4
  "description": "M8 移动前端跨端框架 MCP Server - 提供文档查询、智能推荐和代码生成服务",
5
5
  "main": "dist/index.js",
6
6
  "bin": {