m8-mcp-server 1.0.11 → 1.0.12
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vue-template.d.ts","sourceRoot":"","sources":["../../src/generator/vue-template.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,qBAAqB;IACrB,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC;IAClB,WAAW;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB;IAClB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,sBAAsB;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS;IACT,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mBAAmB;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAkHD;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAkC1E;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG;IAC3D,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnB,CA0CA;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,eAAe;IACf,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW;IACX,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,QAAQ,GAAG,KAAK,GAAG,QAAQ,GAAG,UAAU,GAAG,UAAU,CAAC;IAClF,cAAc;IACd,UAAU,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,KAAK,GAAG,UAAU,CAAC;IAChE,2BAA2B;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa,EAAE,CAwFtE;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"vue-template.d.ts","sourceRoot":"","sources":["../../src/generator/vue-template.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,qBAAqB;IACrB,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC;IAClB,WAAW;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB;IAClB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,sBAAsB;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS;IACT,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mBAAmB;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAkHD;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAkC1E;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG;IAC3D,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnB,CA0CA;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,eAAe;IACf,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW;IACX,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,QAAQ,GAAG,KAAK,GAAG,QAAQ,GAAG,UAAU,GAAG,UAAU,CAAC;IAClF,cAAc;IACd,UAAU,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,KAAK,GAAG,UAAU,CAAC;IAChE,2BAA2B;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa,EAAE,CAwFtE;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CA4H/D;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,CAyJxE;AA8HD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,CAqJxE;AA8oBD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,CAKvE;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGlD;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGtD"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{generateVueFileHeader as
|
|
1
|
+
import{generateVueFileHeader as b,generateFileHeader as O}from"./header.js";import{readdirSync as D,existsSync as F}from"fs";import{join as M,dirname as S}from"path";import{fileURLToPath as U}from"url";const I=U(import.meta.url),P=S(I);function V(){const e=M(P,"../resources/components"),t=new Set,i=["em-actionsheet","em-amap","em-button","em-cell","em-checkbox","em-circle","em-datepicker","em-field","em-form","em-header","em-icon","em-loading","em-noticebar","em-numberkeyboard","em-pagination","em-panel","em-passwordinput","em-picker","em-popup","em-progress","em-radio","em-rate","em-search","em-slider","em-stepper","em-swipecell","em-switch","em-switchcell","em-tag","em-treeselect","em-uploader","em-verifycode","em-minirefresh","em-layout","em-image","em-toast","em-calendar","em-area","em-tab","em-dialog","em-dropdownmenu","em-notify","em-overlay","em-collapse","em-grid","em-countdown","em-divider","em-empty","em-imagepreview","em-lazyload","em-skeleton","em-steps","em-sticky","em-indexbar","em-sidebar","em-tabbar","em-badge","em-popover","em-cascader","em-selectperson","em-swipe","em-easycalendar","em-qrcode","em-imagescale","em-dragsort","em-chart","em-rtc","em-table"];try{if(F(e)){const a=D(e).filter(s=>s.endsWith(".json")&&s!=="index.json");for(const s of a){const o=s.replace(".json","");t.add(`em-${o}`)}}}catch{}if(t.size===0)for(const a of i)t.add(a);return t}const L=V(),h={"em-input":"em-field","em-text-field":"em-field","em-textfield":"em-field","em-textarea":"em-field","em-text":"em-field",input:"em-field","text-field":"em-field","em-select":"em-picker","em-dropdown":"em-picker",select:"em-picker","em-date":"em-datepicker","em-time":"em-datepicker","em-datetime":"em-datepicker","date-picker":"em-datepicker","em-nav":"em-header","em-navbar":"em-header","em-navigation":"em-header",navbar:"em-header","em-list":"em-cell","em-item":"em-cell","em-list-item":"em-cell","list-item":"em-cell",btn:"em-button","em-message":"","em-alert":""};function q(e){let t=e.toLowerCase().trim();if(h[t]!==void 0){const i=h[t];if(i==="")return null;t=i}else if(!t.startsWith("em-")){const i=`em-${t}`;if(h[i]!==void 0){const a=h[i];if(a==="")return null;t=a}else t=i}return L.has(t)?t:null}function k(e){const t=[],i=[],a={"em-message":'ejs.ui.toast({ message: "\u63D0\u793A\u5185\u5BB9" })',"em-alert":'ejs.ui.alert({ title: "\u6807\u9898", message: "\u5185\u5BB9" })',"em-toast":'ejs.ui.toast({ message: "\u63D0\u793A\u5185\u5BB9" })',"em-loading":'ejs.ui.showWaiting({ message: "\u52A0\u8F7D\u4E2D..." })',"em-confirm":'ejs.ui.confirm({ title: "\u786E\u8BA4", message: "\u786E\u8BA4\u64CD\u4F5C\u5417?" })',message:'ejs.ui.toast({ message: "\u63D0\u793A\u5185\u5BB9" })',alert:'ejs.ui.alert({ title: "\u6807\u9898", message: "\u5185\u5BB9" })',toast:'ejs.ui.toast({ message: "\u63D0\u793A\u5185\u5BB9" })',loading:'ejs.ui.showWaiting({ message: "\u52A0\u8F7D\u4E2D..." })'};for(const s of e){const o=s.toLowerCase().trim();if(a[o]){i.push(`"${s}" \u5EFA\u8BAE\u4F7F\u7528 API \u65B9\u5F0F\u8C03\u7528\uFF1A${a[o]}`);continue}const r=q(s);r?(t.includes(r)||t.push(r),(s.toLowerCase().startsWith("em-")?s:`em-${s}`).toLowerCase()!==r&&i.push(`\u7EC4\u4EF6 "${s}" \u5DF2\u81EA\u52A8\u4FEE\u6B63\u4E3A "${r}"`)):i.push(`\u7EC4\u4EF6 "${s}" \u4E0D\u5B58\u5728\u4E8E M8 \u7EC4\u4EF6\u5E93\u4E2D\uFF0C\u5DF2\u5FFD\u7565`)}return{valid:t,warnings:i}}function d(e){const t=[],i=e.toLowerCase();return(i.includes("\u624B\u673A\u53F7")||i.includes("\u624B\u673A")||i.includes("mobile"))&&t.push({name:"\u624B\u673A\u53F7",propertyName:"mobile",type:"tel",validation:"mobile",validationMethod:"Util.string.isMobile"}),(i.includes("\u8EAB\u4EFD\u8BC1")||i.includes("idcard")||i.includes("\u8BC1\u4EF6\u53F7"))&&t.push({name:"\u8EAB\u4EFD\u8BC1\u53F7",propertyName:"idCard",type:"text",validation:"idcard",validationMethod:"Util.string.isIdCard"}),(i.includes("\u90AE\u7BB1")||i.includes("email"))&&t.push({name:"\u90AE\u7BB1",propertyName:"email",type:"text",validation:"email",validationMethod:"Util.string.isEmail"}),(i.includes("\u56FA\u5B9A\u7535\u8BDD")||i.includes("\u56FA\u8BDD")||i.includes("\u5EA7\u673A"))&&t.push({name:"\u56FA\u5B9A\u7535\u8BDD",propertyName:"tel",type:"tel",validation:"tel",validationMethod:"Util.string.isTel"}),(i.includes("\u59D3\u540D")||i.includes("\u540D\u5B57"))&&t.push({name:"\u59D3\u540D",propertyName:"name",type:"text",validation:"required"}),(i.includes("\u7528\u6237\u540D")||i.includes("username"))&&t.push({name:"\u7528\u6237\u540D",propertyName:"username",type:"text",validation:"required"}),(i.includes("\u5BC6\u7801")||i.includes("password"))&&t.push({name:"\u5BC6\u7801",propertyName:"password",type:"password",validation:"required"}),(i.includes("\u9644\u4EF6")||i.includes("\u4E0A\u4F20")||i.includes("\u6587\u4EF6\u4E0A\u4F20")||i.includes("upload"))&&t.push({name:"\u9644\u4EF6",propertyName:"attachments",type:"uploader"}),t}function w(e){const t=[],i=e.toLowerCase(),a=d(e),s={login:["em-field","em-button"],\u767B\u5F55:["em-field","em-button"],\u767B\u9646:["em-field","em-button"],\u6D88\u606F:["em-cell","em-minirefresh","em-badge","em-empty","em-swipecell"],message:["em-cell","em-minirefresh","em-badge","em-empty","em-swipecell"],\u901A\u77E5:["em-cell","em-minirefresh","em-badge","em-empty"],\u516C\u544A:["em-cell","em-minirefresh","em-empty"],\u5217\u8868:["em-cell","em-minirefresh","em-empty"],list:["em-cell","em-minirefresh","em-empty"],\u8BB0\u5F55:["em-cell","em-minirefresh","em-empty"],\u8BE6\u60C5:["em-cell","em-panel","em-button","em-image"],detail:["em-cell","em-panel","em-button","em-image"],\u8868\u5355:["em-form","em-field","em-button","em-picker"],form:["em-form","em-field","em-button","em-picker"],\u63D0\u4EA4:["em-form","em-field","em-button"],\u7533\u8BF7:["em-form","em-field","em-button","em-datepicker"],\u641C\u7D22:["em-search","em-cell","em-minirefresh","em-empty","em-tag"],search:["em-search","em-cell","em-minirefresh","em-empty","em-tag"],\u4E2A\u4EBA:["em-cell","em-image","em-button"],profile:["em-cell","em-image","em-button"],\u6211\u7684:["em-cell","em-image","em-button"],\u8BBE\u7F6E:["em-cell","em-switch","em-switchcell","em-dialog"],settings:["em-cell","em-switch","em-switchcell","em-dialog"],\u9996\u9875:["em-grid","em-cell","em-panel"],\u5DE5\u4F5C\u53F0:["em-grid","em-cell","em-panel","em-chart"],dashboard:["em-grid","em-cell","em-panel","em-chart"]};for(const[o,r]of Object.entries(s))i.includes(o.toLowerCase())&&t.push(...r);(i.includes("\u9009\u62E9")||i.includes("picker")||i.includes("\u4E0B\u62C9"))&&t.push("em-picker"),(i.includes("\u65E5\u671F")||i.includes("date")||i.includes("\u65F6\u95F4"))&&t.push("em-datepicker"),(i.includes("\u4E0A\u4F20")||i.includes("upload")||i.includes("\u9644\u4EF6")||i.includes("\u6587\u4EF6"))&&t.push("em-uploader"),(i.includes("\u56FE\u7247")||i.includes("image")||i.includes("\u7167\u7247"))&&t.push("em-image","em-imagepreview"),(i.includes("\u6807\u7B7E")||i.includes("tag"))&&t.push("em-tag"),(i.includes("\u5F39\u7A97")||i.includes("dialog")||i.includes("\u786E\u8BA4"))&&t.push("em-dialog"),(i.includes("\u4E0B\u62C9\u5237\u65B0")||i.includes("\u52A0\u8F7D\u66F4\u591A")||i.includes("\u5206\u9875"))&&t.push("em-minirefresh"),(i.includes("tab")||i.includes("\u9009\u9879\u5361")||i.includes("\u6807\u7B7E\u9875"))&&t.push("em-tab"),(i.includes("\u6B65\u9AA4")||i.includes("step")||i.includes("\u6D41\u7A0B"))&&t.push("em-steps"),(i.includes("\u8BC4\u5206")||i.includes("rate")||i.includes("\u661F\u7EA7"))&&t.push("em-rate"),(i.includes("\u5F00\u5173")||i.includes("switch"))&&t.push("em-switch"),(i.includes("\u6ED1\u5757")||i.includes("slider"))&&t.push("em-slider"),(i.includes("\u5730\u56FE")||i.includes("map")||i.includes("\u5B9A\u4F4D"))&&t.push("em-amap"),(i.includes("\u56FE\u8868")||i.includes("chart")||i.includes("\u7EDF\u8BA1"))&&t.push("em-chart");for(const o of a)o.type==="uploader"?t.push("em-uploader"):t.push("em-field");return a.length>0&&t.push("em-form","em-button"),t.length===0&&t.push("em-cell","em-button"),[...new Set(t)]}function R(e){const{name:t,description:i,components:a=[],author:s,useMock:o=!0,pageTitle:r="\u9875\u9762\u6807\u9898"}=e,u={author:s,description:i},f=b(u),n=O(u),{valid:p,warnings:c}=k(a),l=p.length>0?p:w(i),m=d(i),g=T(l,t,i),v=t.replace(/-/g,"_"),$=W(m),_=A(m),y=l.includes("em-uploader")||m.some(x=>x.type==="uploader")?H():"";return`${f}
|
|
2
2
|
<template>
|
|
3
3
|
<div class="${v}">
|
|
4
4
|
${g}
|
|
@@ -6,15 +6,15 @@ ${g}
|
|
|
6
6
|
</template>
|
|
7
7
|
|
|
8
8
|
<script>
|
|
9
|
-
${
|
|
9
|
+
${n}
|
|
10
10
|
|
|
11
11
|
export default {
|
|
12
|
-
name: '${
|
|
12
|
+
name: '${ae(t)}',
|
|
13
13
|
|
|
14
14
|
data() {
|
|
15
15
|
return {
|
|
16
16
|
// \u8868\u5355\u6570\u636E
|
|
17
|
-
formData: ${
|
|
17
|
+
formData: ${$},
|
|
18
18
|
// \u52A0\u8F7D\u72B6\u6001
|
|
19
19
|
loading: false
|
|
20
20
|
};
|
|
@@ -41,7 +41,7 @@ export default {
|
|
|
41
41
|
ejs.ui.showWaiting({ message: '\u52A0\u8F7D\u4E2D...' });
|
|
42
42
|
|
|
43
43
|
const result = await Util.ajax({
|
|
44
|
-
url: Config.serverUrl + '${
|
|
44
|
+
url: Config.serverUrl + '${o?"/rest/mock/"+t:"/api/"+t}',
|
|
45
45
|
type: 'POST',
|
|
46
46
|
data: {
|
|
47
47
|
params: JSON.stringify({})
|
|
@@ -62,7 +62,7 @@ export default {
|
|
|
62
62
|
ejs.ui.closeWaiting();
|
|
63
63
|
}
|
|
64
64
|
},
|
|
65
|
-
${
|
|
65
|
+
${_}
|
|
66
66
|
/**
|
|
67
67
|
* \u63D0\u4EA4\u8868\u5355
|
|
68
68
|
*/
|
|
@@ -76,7 +76,7 @@ ${y}
|
|
|
76
76
|
ejs.ui.showWaiting({ message: '\u63D0\u4EA4\u4E2D...' });
|
|
77
77
|
|
|
78
78
|
const result = await Util.ajax({
|
|
79
|
-
url: Config.serverUrl + '${
|
|
79
|
+
url: Config.serverUrl + '${o?"/rest/mock/"+t+"/submit":"/api/"+t+"/submit"}',
|
|
80
80
|
type: 'POST',
|
|
81
81
|
data: {
|
|
82
82
|
params: JSON.stringify(this.formData)
|
|
@@ -95,35 +95,35 @@ ${y}
|
|
|
95
95
|
} finally {
|
|
96
96
|
ejs.ui.closeWaiting();
|
|
97
97
|
}
|
|
98
|
-
}${
|
|
98
|
+
}${y}
|
|
99
99
|
}
|
|
100
100
|
};
|
|
101
101
|
</script>
|
|
102
102
|
|
|
103
103
|
<style lang="scss" scoped>
|
|
104
|
-
@import './css/${
|
|
104
|
+
@import './css/${t}.scss';
|
|
105
105
|
</style>
|
|
106
|
-
`}function W(
|
|
107
|
-
${
|
|
106
|
+
`}function W(e){if(e.length===0)return"{}";const t=[];for(const i of e)i.type==="uploader"?t.push(`${i.propertyName}: []`):t.push(`${i.propertyName}: ''`);return`{
|
|
107
|
+
${t.join(`,
|
|
108
108
|
`)}
|
|
109
|
-
}`}function
|
|
109
|
+
}`}function A(e){if(e.length===0)return`
|
|
110
110
|
/**
|
|
111
111
|
* \u8868\u5355\u6821\u9A8C
|
|
112
112
|
*/
|
|
113
113
|
validateForm() {
|
|
114
114
|
return true;
|
|
115
115
|
},
|
|
116
|
-
`;const
|
|
117
|
-
if (!this.formData.${
|
|
118
|
-
ejs.ui.toast({ message: '\u8BF7\u8F93\u5165${
|
|
116
|
+
`;const t=[];for(const i of e)i.validationMethod?t.push(` // \u6821\u9A8C${i.name}
|
|
117
|
+
if (!this.formData.${i.propertyName}) {
|
|
118
|
+
ejs.ui.toast({ message: '\u8BF7\u8F93\u5165${i.name}' });
|
|
119
119
|
return false;
|
|
120
120
|
}
|
|
121
|
-
if (!${
|
|
122
|
-
ejs.ui.toast({ message: '${
|
|
121
|
+
if (!${i.validationMethod}(this.formData.${i.propertyName})) {
|
|
122
|
+
ejs.ui.toast({ message: '${i.name}\u683C\u5F0F\u4E0D\u6B63\u786E' });
|
|
123
123
|
return false;
|
|
124
|
-
}`):
|
|
125
|
-
if (!this.formData.${
|
|
126
|
-
ejs.ui.toast({ message: '\u8BF7\u8F93\u5165${
|
|
124
|
+
}`):i.validation==="required"&&i.type!=="uploader"&&t.push(` // \u6821\u9A8C${i.name}
|
|
125
|
+
if (!this.formData.${i.propertyName}) {
|
|
126
|
+
ejs.ui.toast({ message: '\u8BF7\u8F93\u5165${i.name}' });
|
|
127
127
|
return false;
|
|
128
128
|
}`);return`
|
|
129
129
|
/**
|
|
@@ -131,13 +131,13 @@ ${y}
|
|
|
131
131
|
* \u4F7F\u7528 Util.string \u63D0\u4F9B\u7684\u6821\u9A8C\u65B9\u6CD5\uFF0C\u7B26\u5408 M8 \u89C4\u8303
|
|
132
132
|
*/
|
|
133
133
|
validateForm() {
|
|
134
|
-
${
|
|
134
|
+
${t.join(`
|
|
135
135
|
|
|
136
136
|
`)}
|
|
137
137
|
|
|
138
138
|
return true;
|
|
139
139
|
},
|
|
140
|
-
`}function
|
|
140
|
+
`}function H(){return`,
|
|
141
141
|
|
|
142
142
|
/**
|
|
143
143
|
* \u6587\u4EF6\u4E0A\u4F20\u540E\u7684\u56DE\u8C03
|
|
@@ -176,16 +176,16 @@ ${s.join(`
|
|
|
176
176
|
file.message = '';
|
|
177
177
|
console.log('\u6587\u4EF6\u4E0A\u4F20\u5B8C\u6210:', file);
|
|
178
178
|
}, 1000);
|
|
179
|
-
}`}function
|
|
179
|
+
}`}function E(e){const{name:t,description:i,components:a=[],author:s,useMock:o=!0,pageTitle:r="\u9875\u9762\u6807\u9898"}=e,f=b({author:s,description:i}),{valid:n}=k(a),p=n.length>0?n:w(i),c=d(i),l=T(p,t,i),m=t.replace(/-/g,"_"),g=z(c),v=J(c),_=p.includes("em-uploader")||c.some(y=>y.type==="uploader")?G():"";return`${f}
|
|
180
180
|
<template>
|
|
181
|
-
<div class="${
|
|
182
|
-
${
|
|
181
|
+
<div class="${m}">
|
|
182
|
+
${l}
|
|
183
183
|
</div>
|
|
184
184
|
</template>
|
|
185
185
|
|
|
186
186
|
<script setup>
|
|
187
187
|
/**
|
|
188
|
-
* @\u63CF\u8FF0 ${
|
|
188
|
+
* @\u63CF\u8FF0 ${i}
|
|
189
189
|
*/
|
|
190
190
|
|
|
191
191
|
import { ref, reactive, onMounted } from 'vue';
|
|
@@ -217,7 +217,7 @@ const loadData = async () => {
|
|
|
217
217
|
ejs.ui.showWaiting({ message: '\u52A0\u8F7D\u4E2D...' });
|
|
218
218
|
|
|
219
219
|
const result = await Util.ajax({
|
|
220
|
-
url: Config.serverUrl + '${
|
|
220
|
+
url: Config.serverUrl + '${o?"/rest/mock/"+t:"/api/"+t}',
|
|
221
221
|
type: 'POST',
|
|
222
222
|
data: {
|
|
223
223
|
params: JSON.stringify({})
|
|
@@ -252,7 +252,7 @@ const handleSubmit = async () => {
|
|
|
252
252
|
ejs.ui.showWaiting({ message: '\u63D0\u4EA4\u4E2D...' });
|
|
253
253
|
|
|
254
254
|
const result = await Util.ajax({
|
|
255
|
-
url: Config.serverUrl + '${
|
|
255
|
+
url: Config.serverUrl + '${o?"/rest/mock/"+t+"/submit":"/api/"+t+"/submit"}',
|
|
256
256
|
type: 'POST',
|
|
257
257
|
data: {
|
|
258
258
|
params: JSON.stringify(formData)
|
|
@@ -272,33 +272,33 @@ const handleSubmit = async () => {
|
|
|
272
272
|
ejs.ui.closeWaiting();
|
|
273
273
|
}
|
|
274
274
|
};
|
|
275
|
-
${
|
|
275
|
+
${_}
|
|
276
276
|
</script>
|
|
277
277
|
|
|
278
278
|
<style lang="scss" scoped>
|
|
279
|
-
@import './css/${
|
|
279
|
+
@import './css/${t}.scss';
|
|
280
280
|
</style>
|
|
281
|
-
`}function
|
|
282
|
-
${
|
|
281
|
+
`}function z(e){if(e.length===0)return"{}";const t=[];for(const i of e)i.type==="uploader"?t.push(`${i.propertyName}: []`):t.push(`${i.propertyName}: ''`);return`{
|
|
282
|
+
${t.join(`,
|
|
283
283
|
`)}
|
|
284
|
-
}`}function
|
|
284
|
+
}`}function J(e){if(e.length===0)return`
|
|
285
285
|
/**
|
|
286
286
|
* \u8868\u5355\u6821\u9A8C
|
|
287
287
|
*/
|
|
288
288
|
const validateForm = () => {
|
|
289
289
|
return true;
|
|
290
290
|
};
|
|
291
|
-
`;const
|
|
292
|
-
if (!formData.${
|
|
293
|
-
ejs.ui.toast({ message: '\u8BF7\u8F93\u5165${
|
|
291
|
+
`;const t=[];for(const i of e)i.validationMethod?t.push(` // \u6821\u9A8C${i.name}
|
|
292
|
+
if (!formData.${i.propertyName}) {
|
|
293
|
+
ejs.ui.toast({ message: '\u8BF7\u8F93\u5165${i.name}' });
|
|
294
294
|
return false;
|
|
295
295
|
}
|
|
296
|
-
if (!${
|
|
297
|
-
ejs.ui.toast({ message: '${
|
|
296
|
+
if (!${i.validationMethod}(formData.${i.propertyName})) {
|
|
297
|
+
ejs.ui.toast({ message: '${i.name}\u683C\u5F0F\u4E0D\u6B63\u786E' });
|
|
298
298
|
return false;
|
|
299
|
-
}`):
|
|
300
|
-
if (!formData.${
|
|
301
|
-
ejs.ui.toast({ message: '\u8BF7\u8F93\u5165${
|
|
299
|
+
}`):i.validation==="required"&&i.type!=="uploader"&&t.push(` // \u6821\u9A8C${i.name}
|
|
300
|
+
if (!formData.${i.propertyName}) {
|
|
301
|
+
ejs.ui.toast({ message: '\u8BF7\u8F93\u5165${i.name}' });
|
|
302
302
|
return false;
|
|
303
303
|
}`);return`
|
|
304
304
|
/**
|
|
@@ -306,13 +306,13 @@ const validateForm = () => {
|
|
|
306
306
|
* \u4F7F\u7528 Util.string \u63D0\u4F9B\u7684\u6821\u9A8C\u65B9\u6CD5\uFF0C\u7B26\u5408 M8 \u89C4\u8303
|
|
307
307
|
*/
|
|
308
308
|
const validateForm = () => {
|
|
309
|
-
${
|
|
309
|
+
${t.join(`
|
|
310
310
|
|
|
311
311
|
`)}
|
|
312
312
|
|
|
313
313
|
return true;
|
|
314
314
|
};
|
|
315
|
-
`}function
|
|
315
|
+
`}function G(){return`
|
|
316
316
|
/**
|
|
317
317
|
* \u6587\u4EF6\u4E0A\u4F20\u540E\u7684\u56DE\u8C03
|
|
318
318
|
* @param file \u4E0A\u4F20\u7684\u6587\u4EF6\u4FE1\u606F
|
|
@@ -350,5 +350,5 @@ const afterRead = (file, detail) => {
|
|
|
350
350
|
file.message = '';
|
|
351
351
|
console.log('\u6587\u4EF6\u4E0A\u4F20\u5B8C\u6210:', file);
|
|
352
352
|
}, 1000);
|
|
353
|
-
};`}function
|
|
354
|
-
`)}function J(i){return i.split("-").map(s=>s.charAt(0).toUpperCase()+s.slice(1)).join("")}function Y(i){return i.vueVersion===3?A(i):q(i)}function Z(i){return i.includes("export default {")&&(i.includes("data()")||i.includes("methods:")||i.includes("computed:"))}function ee(i){return i.includes("<script setup>")||i.includes("setup()")&&i.includes("return {")}export{h as extractFormFields,x as filterValidComponents,q as generateVue2Template,A as generateVue3Template,Y as generateVueTemplate,ee as isCompositionApi,Z as isOptionsApi,w as suggestComponents,I as validateComponentName};
|
|
353
|
+
};`}function K(e){const t=e.toLowerCase();return d(e).length>0&&!t.includes("\u5217\u8868")?"form":(t.includes("\u767B\u5F55")||t.includes("login"))&&!t.includes("\u5217\u8868")&&!t.includes("\u624B\u673A")&&!t.includes("\u8EAB\u4EFD\u8BC1")&&!t.includes("\u9644\u4EF6")?"login":t.includes("\u6D88\u606F")||t.includes("message")||t.includes("\u901A\u77E5")||t.includes("\u516C\u544A")?"message":t.includes("\u641C\u7D22")||t.includes("search")?"search":t.includes("\u4E2A\u4EBA")||t.includes("profile")||t.includes("\u6211\u7684")?"profile":t.includes("\u8BBE\u7F6E")||t.includes("settings")?"settings":t.includes("\u9996\u9875")||t.includes("\u5DE5\u4F5C\u53F0")||t.includes("dashboard")?"dashboard":t.includes("\u8BE6\u60C5")||t.includes("detail")?"detail":t.includes("\u5217\u8868")||t.includes("list")||t.includes("\u8BB0\u5F55")?"list":t.includes("\u8868\u5355")||t.includes("form")||t.includes("\u63D0\u4EA4")||t.includes("\u7533\u8BF7")?"form":"generic"}function T(e,t,i){const a=[],s=t.replace(/-/g,"_"),o=i.toLowerCase(),r=d(i);switch(K(i)){case"login":Q(a,s);break;case"message":B(a,s);break;case"search":X(a,s);break;case"profile":Y(a,s);break;case"settings":Z(a,s);break;case"dashboard":C(a,s);break;case"detail":N(a,s);break;case"list":ee(a,s);break;case"form":te(a,s,r,e,o);break;default:ie(a,s,e)}return a.join(`
|
|
354
|
+
`)}function Q(e,t){e.push(" <!-- \u767B\u5F55\u9875\u9762 -->"),e.push(` <div class="${t}__logo">`),e.push(" <!-- Logo \u56FE\u7247 -->"),e.push(" </div>"),e.push(` <div class="${t}__form">`),e.push(" <em-field"),e.push(' v-model="formData.username"'),e.push(' label="\u7528\u6237\u540D"'),e.push(' placeholder="\u8BF7\u8F93\u5165\u7528\u6237\u540D"'),e.push(" clearable"),e.push(" required"),e.push(" />"),e.push(" <em-field"),e.push(' v-model="formData.password"'),e.push(' type="password"'),e.push(' label="\u5BC6\u7801"'),e.push(' placeholder="\u8BF7\u8F93\u5165\u5BC6\u7801"'),e.push(" clearable"),e.push(" required"),e.push(" />"),e.push(` <div class="${t}__actions">`),e.push(' <em-button type="primary" block @click="handleSubmit">\u767B\u5F55</em-button>'),e.push(" </div>"),e.push(" </div>"),e.push(` <div class="${t}__footer">`),e.push(" <!-- \u5E95\u90E8\u4FE1\u606F -->"),e.push(" </div>")}function B(e,t){e.push(" <!-- \u6D88\u606F\u5217\u8868\u9875\u9762 -->"),e.push(` <div class="${t}__tabs">`),e.push(' <em-tab v-model="activeTab" @change="onTabChange">'),e.push(' <em-tab-item title="\u5168\u90E8" />'),e.push(' <em-tab-item title="\u672A\u8BFB">'),e.push(" <template #title>"),e.push(" <span>\u672A\u8BFB</span>"),e.push(' <em-badge v-if="unreadCount > 0" :content="unreadCount" />'),e.push(" </template>"),e.push(" </em-tab-item>"),e.push(' <em-tab-item title="\u5DF2\u8BFB" />'),e.push(" </em-tab>"),e.push(" </div>"),e.push(""),e.push(` <div class="${t}__list">`),e.push(" <em-minirefresh"),e.push(' ref="minirefresh"'),e.push(' @refresh="onRefresh"'),e.push(' @loadmore="onLoadMore"'),e.push(" >"),e.push(" <!-- \u6D88\u606F\u5217\u8868\u4E3A\u7A7A\u65F6\u663E\u793A -->"),e.push(' <em-empty v-if="list.length === 0 && !loading" description="\u6682\u65E0\u6D88\u606F" />'),e.push(""),e.push(" <!-- \u6D88\u606F\u5217\u8868\u9879 -->"),e.push(' <em-swipecell v-for="item in list" :key="item.id">'),e.push(" <div"),e.push(` class="${t}__item"`),e.push(` :class="{ '${t}__item--unread': !item.isRead }"`),e.push(' @click="handleItemClick(item)"'),e.push(" >"),e.push(` <div class="${t}__item-header">`),e.push(` <div class="${t}__item-title">{{ item.title }}</div>`),e.push(` <div class="${t}__item-time">{{ item.createTime }}</div>`),e.push(" </div>"),e.push(` <div class="${t}__item-content">{{ item.content }}</div>`),e.push(" </div>"),e.push(" <template #right>"),e.push(' <em-button square type="danger" text="\u5220\u9664" @click="handleDelete(item)" />'),e.push(" </template>"),e.push(" </em-swipecell>"),e.push(" </em-minirefresh>"),e.push(" </div>")}function X(e,t){e.push(" <!-- \u641C\u7D22\u9875\u9762 -->"),e.push(` <div class="${t}__header">`),e.push(" <em-search"),e.push(' v-model="keyword"'),e.push(' placeholder="\u8BF7\u8F93\u5165\u641C\u7D22\u5173\u952E\u8BCD"'),e.push(" show-action"),e.push(' @search="onSearch"'),e.push(' @cancel="onCancel"'),e.push(" />"),e.push(" </div>"),e.push(""),e.push(" <!-- \u641C\u7D22\u5386\u53F2 -->"),e.push(` <div v-if="!keyword && history.length > 0" class="${t}__history">`),e.push(` <div class="${t}__history-header">`),e.push(` <span class="${t}__history-title">\u641C\u7D22\u5386\u53F2</span>`),e.push(` <span class="${t}__history-clear" @click="clearHistory">\u6E05\u7A7A</span>`),e.push(" </div>"),e.push(` <div class="${t}__history-tags">`),e.push(" <em-tag"),e.push(' v-for="(item, index) in history"'),e.push(' :key="index"'),e.push(' @click="onHistoryClick(item)"'),e.push(" >"),e.push(" {{ item }}"),e.push(" </em-tag>"),e.push(" </div>"),e.push(" </div>"),e.push(""),e.push(" <!-- \u70ED\u95E8\u641C\u7D22 -->"),e.push(` <div v-if="!keyword && hotKeywords.length > 0" class="${t}__hot">`),e.push(` <div class="${t}__history-title">\u70ED\u95E8\u641C\u7D22</div>`),e.push(` <div class="${t}__history-tags">`),e.push(" <em-tag"),e.push(' v-for="(item, index) in hotKeywords"'),e.push(' :key="index"'),e.push(' type="primary"'),e.push(" plain"),e.push(' @click="onHotClick(item)"'),e.push(" >"),e.push(" {{ item }}"),e.push(" </em-tag>"),e.push(" </div>"),e.push(" </div>"),e.push(""),e.push(" <!-- \u641C\u7D22\u7ED3\u679C -->"),e.push(` <div v-if="keyword" class="${t}__results">`),e.push(' <em-empty v-if="list.length === 0 && !loading" description="\u6682\u65E0\u641C\u7D22\u7ED3\u679C" />'),e.push(" <em-cell"),e.push(' v-for="item in list"'),e.push(' :key="item.id"'),e.push(' :title="item.title"'),e.push(' :label="item.description"'),e.push(" is-link"),e.push(' @click="handleItemClick(item)"'),e.push(" />"),e.push(" </div>")}function Y(e,t){e.push(" <!-- \u4E2A\u4EBA\u4E2D\u5FC3\u9875\u9762 -->"),e.push(` <div class="${t}__header">`),e.push(" <em-image"),e.push(` class="${t}__avatar"`),e.push(' :src="userInfo.avatar"'),e.push(" round"),e.push(' fit="cover"'),e.push(" />"),e.push(` <div class="${t}__name">{{ userInfo.name }}</div>`),e.push(` <div class="${t}__info">{{ userInfo.department }}</div>`),e.push(" </div>"),e.push(""),e.push(` <div class="${t}__menu">`),e.push(' <em-cell title="\u6211\u7684\u6D88\u606F" is-link @click="goToMessage">'),e.push(" <template #right-icon>"),e.push(' <em-badge v-if="unreadCount > 0" :content="unreadCount" />'),e.push(" </template>"),e.push(" </em-cell>"),e.push(' <em-cell title="\u6211\u7684\u6536\u85CF" is-link @click="goToFavorite" />'),e.push(' <em-cell title="\u8BBE\u7F6E" is-link @click="goToSettings" />'),e.push(' <em-cell title="\u5173\u4E8E" is-link @click="goToAbout" />'),e.push(" </div>"),e.push(""),e.push(` <div class="${t}__logout">`),e.push(' <em-button type="danger" plain block @click="handleLogout">\u9000\u51FA\u767B\u5F55</em-button>'),e.push(" </div>")}function Z(e,t){e.push(" <!-- \u8BBE\u7F6E\u9875\u9762 -->"),e.push(` <div class="${t}__group">`),e.push(` <div class="${t}__group-title">\u901A\u77E5\u8BBE\u7F6E</div>`),e.push(' <em-switchcell v-model="settings.notification" title="\u6D88\u606F\u901A\u77E5" />'),e.push(' <em-switchcell v-model="settings.sound" title="\u58F0\u97F3" />'),e.push(' <em-switchcell v-model="settings.vibration" title="\u9707\u52A8" />'),e.push(" </div>"),e.push(""),e.push(` <div class="${t}__group">`),e.push(` <div class="${t}__group-title">\u5176\u4ED6\u8BBE\u7F6E</div>`),e.push(' <em-cell title="\u6E05\u9664\u7F13\u5B58" is-link @click="clearCache" />'),e.push(' <em-cell title="\u68C0\u67E5\u66F4\u65B0" is-link @click="checkUpdate" />'),e.push(" </div>"),e.push(""),e.push(` <div class="${t}__version">`),e.push(" \u5F53\u524D\u7248\u672C v1.0.0"),e.push(" </div>")}function C(e,t){e.push(" <!-- \u9996\u9875/\u5DE5\u4F5C\u53F0 -->"),e.push(` <div class="${t}__header">`),e.push(` <div class="${t}__welcome">\u60A8\u597D\uFF0C{{ userInfo.name }}</div>`),e.push(` <div class="${t}__date">{{ currentDate }}</div>`),e.push(" </div>"),e.push(""),e.push(" <!-- \u7EDF\u8BA1\u6570\u636E -->"),e.push(` <div class="${t}__stats">`),e.push(` <div class="${t}__stat-item">`),e.push(` <div class="${t}__stat-value">{{ statistics.totalCount }}</div>`),e.push(` <div class="${t}__stat-label">\u603B\u6570</div>`),e.push(" </div>"),e.push(` <div class="${t}__stat-item">`),e.push(` <div class="${t}__stat-value">{{ statistics.todayCount }}</div>`),e.push(` <div class="${t}__stat-label">\u4ECA\u65E5</div>`),e.push(" </div>"),e.push(` <div class="${t}__stat-item">`),e.push(` <div class="${t}__stat-value">{{ statistics.pendingCount }}</div>`),e.push(` <div class="${t}__stat-label">\u5F85\u5904\u7406</div>`),e.push(" </div>"),e.push(" </div>"),e.push(""),e.push(" <!-- \u5FEB\u6377\u5165\u53E3 -->"),e.push(` <div class="${t}__section">`),e.push(` <div class="${t}__section-header">`),e.push(` <span class="${t}__section-title">\u5FEB\u6377\u5165\u53E3</span>`),e.push(" </div>"),e.push(' <em-grid :column-num="4">'),e.push(' <em-grid-item v-for="item in quickLinks" :key="item.id" :icon="item.icon" :text="item.name" @click="handleQuickLink(item)" />'),e.push(" </em-grid>"),e.push(" </div>"),e.push(""),e.push(" <!-- \u6700\u8FD1\u52A8\u6001 -->"),e.push(` <div class="${t}__section">`),e.push(` <div class="${t}__section-header">`),e.push(` <span class="${t}__section-title">\u6700\u8FD1\u52A8\u6001</span>`),e.push(` <span class="${t}__section-more" @click="goToMore">\u66F4\u591A</span>`),e.push(" </div>"),e.push(" <em-cell"),e.push(' v-for="item in recentItems"'),e.push(' :key="item.id"'),e.push(' :title="item.title"'),e.push(' :value="item.time"'),e.push(" is-link"),e.push(' @click="handleItemClick(item)"'),e.push(" />"),e.push(" </div>")}function N(e,t){e.push(" <!-- \u8BE6\u60C5\u9875\u9762 -->"),e.push(` <div class="${t}__header">`),e.push(` <div class="${t}__title">{{ detail.title }}</div>`),e.push(` <div class="${t}__meta">`),e.push(" <span>{{ detail.author }}</span>"),e.push(" <span>{{ detail.createTime }}</span>"),e.push(" </div>"),e.push(" </div>"),e.push(""),e.push(` <div class="${t}__content" v-html="detail.content"></div>`),e.push(""),e.push(" <!-- \u5E95\u90E8\u64CD\u4F5C\u680F -->"),e.push(` <div class="${t}__actions">`),e.push(' <em-button type="primary" @click="handleAction">\u64CD\u4F5C</em-button>'),e.push(" </div>")}function ee(e,t){e.push(" <!-- \u5217\u8868\u9875\u9762 -->"),e.push(` <div class="${t}__search">`),e.push(' <em-search v-model="keyword" placeholder="\u641C\u7D22" @search="onSearch" />'),e.push(" </div>"),e.push(""),e.push(` <div class="${t}__list">`),e.push(" <em-minirefresh"),e.push(' ref="minirefresh"'),e.push(' @refresh="onRefresh"'),e.push(' @loadmore="onLoadMore"'),e.push(" >"),e.push(' <em-empty v-if="list.length === 0 && !loading" description="\u6682\u65E0\u6570\u636E" />'),e.push(" <div"),e.push(' v-for="item in list"'),e.push(' :key="item.id"'),e.push(` class="${t}__item"`),e.push(' @click="handleItemClick(item)"'),e.push(" >"),e.push(' <em-cell :title="item.title" :label="item.description" is-link />'),e.push(" </div>"),e.push(" </em-minirefresh>"),e.push(" </div>")}function te(e,t,i,a,s){if(i.length>0){e.push(" <!-- \u8868\u5355\u5185\u5BB9 -->"),e.push(' <em-form ref="formRef">');for(const r of i)r.type==="uploader"?(e.push(` <!-- ${r.name}\u4E0A\u4F20 -->`),e.push(` <div class="${t}__uploader">`),e.push(` <div class="${t}__uploader-label">${r.name}</div>`),e.push(" <em-uploader"),e.push(` v-model="formData.${r.propertyName}"`),e.push(' :after-read="afterRead"'),e.push(' :max-count="9"'),e.push(" multiple"),e.push(" />"),e.push(" </div>")):(e.push(" <em-field"),e.push(` v-model="formData.${r.propertyName}"`),r.type==="tel"?e.push(' type="tel"'):r.type==="password"&&e.push(' type="password"'),e.push(` label="${r.name}"`),e.push(` placeholder="\u8BF7\u8F93\u5165${r.name}"`),e.push(" clearable"),(r.validation==="required"||r.validationMethod)&&e.push(" required"),e.push(" />"));e.push(` <div class="${t}__actions">`);const o=s.includes("\u767B\u5F55")?"\u767B\u5F55":"\u63D0\u4EA4";e.push(` <em-button type="primary" block @click="handleSubmit">${o}</em-button>`),e.push(" </div>"),e.push(" </em-form>")}else e.push(" <!-- \u8868\u5355\u5185\u5BB9 -->"),e.push(` <div class="${t}__section">`),e.push(' <em-form ref="formRef">'),e.push(" <em-field"),e.push(' v-model="formData.field1"'),e.push(' label="\u5B57\u6BB51"'),e.push(' placeholder="\u8BF7\u8F93\u5165"'),e.push(" required"),e.push(" />"),e.push(" <em-field"),e.push(' v-model="formData.field2"'),e.push(' label="\u5B57\u6BB52"'),e.push(' placeholder="\u8BF7\u8F93\u5165"'),e.push(" />"),a.includes("em-uploader")&&(e.push(` <div class="${t}__uploader">`),e.push(` <div class="${t}__uploader-label">\u9644\u4EF6</div>`),e.push(" <em-uploader"),e.push(' v-model="formData.attachments"'),e.push(' :after-read="afterRead"'),e.push(' :max-count="9"'),e.push(" multiple"),e.push(" />"),e.push(" </div>")),e.push(" </em-form>"),e.push(" </div>"),e.push(""),e.push(` <div class="${t}__actions">`),e.push(' <em-button type="primary" block @click="handleSubmit">\u63D0\u4EA4</em-button>'),e.push(" </div>")}function ie(e,t,i){e.push(" <!-- \u9875\u9762\u5185\u5BB9 -->"),e.push(` <div class="${t}__content">`);for(const a of i){const s=a.startsWith("em-")?a:`em-${a}`;a==="em-uploader"?e.push(' <em-uploader v-model="fileList" :after-read="afterRead" />'):a==="em-cell"?e.push(' <em-cell title="\u6807\u9898" value="\u5185\u5BB9" is-link />'):a==="em-button"?e.push(' <em-button type="primary" @click="handleClick">\u6309\u94AE</em-button>'):e.push(` <${s} />`)}i.length===0&&e.push(" <!-- TODO: \u6DFB\u52A0\u9875\u9762\u5185\u5BB9 -->"),e.push(" </div>")}function ae(e){return e.split("-").map(t=>t.charAt(0).toUpperCase()+t.slice(1)).join("")}function me(e){return e.vueVersion===3?E(e):R(e)}function de(e){return e.includes("export default {")&&(e.includes("data()")||e.includes("methods:")||e.includes("computed:"))}function ne(e){return e.includes("<script setup>")||e.includes("setup()")&&e.includes("return {")}export{d as extractFormFields,k as filterValidComponents,R as generateVue2Template,E as generateVue3Template,me as generateVueTemplate,ne as isCompositionApi,de as isOptionsApi,w as suggestComponents,q as validateComponentName};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{codeGenerator as a}from"../generator/index.js";const d={name:"generate_code",description:"\u6839\u636E\u9700\u6C42\u751F\u6210\u7B26\u5408 M8 \u6846\u67B6\u89C4\u8303\u7684\u4EE3\u7801\uFF0C\
|
|
1
|
+
import{codeGenerator as a}from"../generator/index.js";const d={name:"generate_code",description:"\u6839\u636E\u9700\u6C42\u751F\u6210\u7B26\u5408 M8 \u6846\u67B6\u89C4\u8303\u7684\u4EE3\u7801\uFF0C\u81EA\u52A8\u5E94\u7528\u7EC4\u4EF6\u6620\u5C04\u3001EJS API\u3001Util.ajax \u8BF7\u6C42\u7B49\u5185\u7F6E\u89C4\u8303\u3002",inputSchema:{type:"object",properties:{type:{oneOf:[{type:"string",enum:["vue-component","javascript","scss","api-call","full-page"],description:"\u5355\u4E00\u4EE3\u7801\u7C7B\u578B\uFF0Cfull-page \u4F1A\u751F\u6210\u5B8C\u6574\u9875\u9762\uFF08Vue + SCSS + Router + Mock\uFF09"},{type:"array",items:{type:"string",enum:["vue-component","javascript","scss","api-call","router","mock"]},description:"\u591A\u9009\u4EE3\u7801\u7C7B\u578B\u6570\u7EC4\uFF0C\u4E00\u6B21\u751F\u6210\u591A\u79CD\u4EE3\u7801"}],description:"\u4EE3\u7801\u7C7B\u578B\uFF1A\u5355\u9009\u5B57\u7B26\u4E32\u6216\u591A\u9009\u6570\u7EC4\u3002\u63A8\u8350\u4F7F\u7528 full-page \u4E00\u6B21\u751F\u6210\u5B8C\u6574\u9875\u9762"},requirement:{type:"string",description:'\u9700\u6C42\u63CF\u8FF0\uFF0C\u5982"\u767B\u5F55\u9875\u9762\uFF0C\u5305\u542B\u7528\u6237\u540D\u3001\u5BC6\u7801\u8F93\u5165\u6846\u548C\u767B\u5F55\u6309\u94AE"'},vueVersion:{type:"number",enum:[2,3],description:"Vue \u7248\u672C\uFF0C2 \u4F7F\u7528 Options API (M8.3)\uFF0C3 \u4F7F\u7528 Composition API (M8.4)\uFF0C\u9ED8\u8BA4 2"},components:{type:"array",items:{type:"string"},description:"\u4F7F\u7528\u7684\u7EC4\u4EF6\u5217\u8868\uFF0C\u53EA\u80FD\u4F7F\u7528 M8 \u7EC4\u4EF6\u5E93\u4E2D\u7684\u7EC4\u4EF6\uFF08\u5982 em-field\u3001em-button\uFF09\u3002\u5982\u4E0D\u6307\u5B9A\u4F1A\u6839\u636E\u9700\u6C42\u81EA\u52A8\u63A8\u8350"},modulePath:{type:"string",description:"\u6A21\u5757\u8DEF\u5F84\uFF0C\u9ED8\u8BA4\u4E3A src/pages/[\u6A21\u5757\u540D]\u3002\u901A\u5E38\u65E0\u9700\u6307\u5B9A"},useMock:{type:"boolean",description:"\u662F\u5426\u4F7F\u7528 Mock \u6570\u636E\uFF0C\u9ED8\u8BA4 true"}},required:["type","requirement"]}};async function f(n){try{const t=n.type,r=n.requirement,s=n.vueVersion||2,c=n.components||[],l=n.modulePath,i=n.useMock!==!1;if(!t)return{content:[{type:"text",text:"\u9519\u8BEF\uFF1A\u4EE3\u7801\u7C7B\u578B\u4E0D\u80FD\u4E3A\u7A7A"}],isError:!0};if(!r||r.trim().length===0)return{content:[{type:"text",text:"\u9519\u8BEF\uFF1A\u9700\u6C42\u63CF\u8FF0\u4E0D\u80FD\u4E3A\u7A7A"}],isError:!0};let p;if(t==="full-page")p=["vue-component","scss","router","mock"];else if(Array.isArray(t))p=t;else{const e=a.generateCode({type:t,requirement:r,vueVersion:s,components:c,useMock:i});return{content:[{type:"text",text:["# \u751F\u6210\u7684\u4EE3\u7801","",`**\u8BED\u8A00**: ${e.language}`,`**Vue \u7248\u672C**: ${s}`,`**\u4F7F\u7528 Mock**: ${i?"\u662F":"\u5426"}`,"","```"+e.language,e.code,"```","","## \u8BF4\u660E","",e.explanation].join(`
|
|
2
2
|
`)}]}}const u=a.generateMultipleCode({types:p,requirement:r,vueVersion:s,components:c,modulePath:l,useMock:i}),o=["# \u751F\u6210\u7684\u4EE3\u7801","",`**\u6A21\u5757\u8DEF\u5F84**: ${u.modulePath}`,`**Vue \u7248\u672C**: ${s}`,`**\u4F7F\u7528 Mock**: ${i?"\u662F":"\u5426"}`,""];for(const e of u.files)o.push(`## ${e.relativePath||e.filename}`),o.push(""),o.push("```"+e.language),o.push(e.code),o.push("```"),o.push("");return o.push(u.explanation),{content:[{type:"text",text:o.join(`
|
|
3
3
|
`)}]}}catch(t){return{content:[{type:"text",text:`\u4EE3\u7801\u751F\u6210\u5931\u8D25: ${t instanceof Error?t.message:"\u672A\u77E5\u9519\u8BEF"}`}],isError:!0}}}export{f as executeGenerateCode,d as generateCodeDefinition};
|