m8-mcp-server 1.0.10 → 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,CA0D/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;AAqSD;;;;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
+ {"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 j,generateFileHeader as k}from"./header.js";import{readdirSync as T,existsSync as D}from"fs";import{join as F,dirname as M}from"path";import{fileURLToPath as U}from"url";const _=U(import.meta.url),S=M(_);function P(){const i=F(S,"../resources/components"),s=new Set,e=["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(D(i)){const t=T(i).filter(a=>a.endsWith(".json")&&a!=="index.json");for(const a of t){const r=a.replace(".json","");s.add(`em-${r}`)}}}catch{}if(s.size===0)for(const t of e)s.add(t);return s}const V=P(),f={"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 I(i){let s=i.toLowerCase().trim();if(f[s]!==void 0){const e=f[s];if(e==="")return null;s=e}else if(!s.startsWith("em-")){const e=`em-${s}`;if(f[e]!==void 0){const t=f[e];if(t==="")return null;s=t}else s=e}return V.has(s)?s:null}function x(i){const s=[],e=[],t={"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 a of i){const r=a.toLowerCase().trim();if(t[r]){e.push(`"${a}" \u5EFA\u8BAE\u4F7F\u7528 API \u65B9\u5F0F\u8C03\u7528\uFF1A${t[r]}`);continue}const l=I(a);l?(s.includes(l)||s.push(l),(a.toLowerCase().startsWith("em-")?a:`em-${a}`).toLowerCase()!==l&&e.push(`\u7EC4\u4EF6 "${a}" \u5DF2\u81EA\u52A8\u4FEE\u6B63\u4E3A "${l}"`)):e.push(`\u7EC4\u4EF6 "${a}" \u4E0D\u5B58\u5728\u4E8E M8 \u7EC4\u4EF6\u5E93\u4E2D\uFF0C\u5DF2\u5FFD\u7565`)}return{valid:s,warnings:e}}function h(i){const s=[],e=i.toLowerCase();return(e.includes("\u624B\u673A\u53F7")||e.includes("\u624B\u673A")||e.includes("mobile"))&&s.push({name:"\u624B\u673A\u53F7",propertyName:"mobile",type:"tel",validation:"mobile",validationMethod:"Util.string.isMobile"}),(e.includes("\u8EAB\u4EFD\u8BC1")||e.includes("idcard")||e.includes("\u8BC1\u4EF6\u53F7"))&&s.push({name:"\u8EAB\u4EFD\u8BC1\u53F7",propertyName:"idCard",type:"text",validation:"idcard",validationMethod:"Util.string.isIdCard"}),(e.includes("\u90AE\u7BB1")||e.includes("email"))&&s.push({name:"\u90AE\u7BB1",propertyName:"email",type:"text",validation:"email",validationMethod:"Util.string.isEmail"}),(e.includes("\u56FA\u5B9A\u7535\u8BDD")||e.includes("\u56FA\u8BDD")||e.includes("\u5EA7\u673A"))&&s.push({name:"\u56FA\u5B9A\u7535\u8BDD",propertyName:"tel",type:"tel",validation:"tel",validationMethod:"Util.string.isTel"}),(e.includes("\u59D3\u540D")||e.includes("\u540D\u5B57"))&&s.push({name:"\u59D3\u540D",propertyName:"name",type:"text",validation:"required"}),(e.includes("\u7528\u6237\u540D")||e.includes("username"))&&s.push({name:"\u7528\u6237\u540D",propertyName:"username",type:"text",validation:"required"}),(e.includes("\u5BC6\u7801")||e.includes("password"))&&s.push({name:"\u5BC6\u7801",propertyName:"password",type:"password",validation:"required"}),(e.includes("\u9644\u4EF6")||e.includes("\u4E0A\u4F20")||e.includes("\u6587\u4EF6\u4E0A\u4F20")||e.includes("upload"))&&s.push({name:"\u9644\u4EF6",propertyName:"attachments",type:"uploader"}),s}function w(i){const s=[],e=i.toLowerCase(),t=h(i);(e.includes("\u767B\u5F55")||e.includes("login"))&&s.push("em-field","em-button"),(e.includes("\u8868\u5355")||e.includes("form")||e.includes("\u63D0\u4EA4"))&&s.push("em-form","em-field","em-button"),(e.includes("\u8F93\u5165")||e.includes("input"))&&s.push("em-field"),(e.includes("\u6309\u94AE")||e.includes("button"))&&s.push("em-button"),(e.includes("\u5217\u8868")||e.includes("list"))&&s.push("em-cell","em-minirefresh"),(e.includes("\u9009\u62E9")||e.includes("picker")||e.includes("\u4E0B\u62C9"))&&s.push("em-picker"),(e.includes("\u65E5\u671F")||e.includes("date"))&&s.push("em-datepicker"),(e.includes("\u641C\u7D22")||e.includes("search"))&&s.push("em-search"),(e.includes("\u4E0A\u4F20")||e.includes("upload")||e.includes("\u9644\u4EF6")||e.includes("\u6587\u4EF6"))&&s.push("em-uploader");for(const a of t)a.type==="uploader"?s.push("em-uploader"):s.push("em-field");return t.length>0&&s.push("em-form","em-button"),[...new Set(s)]}function q(i){const{name:s,description:e,components:t=[],author:a,useMock:r=!0,pageTitle:l="\u9875\u9762\u6807\u9898"}=i,u={author:a,description:e},d=j(u),m=k(u),{valid:p,warnings:c}=x(t),n=p.length>0?p:w(e),o=h(e),g=O(n,s,e),v=s.replace(/-/g,"_"),b=W(o),y=L(o),$=n.includes("em-uploader")||o.some(N=>N.type==="uploader")?R():"";return`${d}
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
- ${m}
9
+ ${n}
10
10
 
11
11
  export default {
12
- name: '${J(s)}',
12
+ name: '${ae(t)}',
13
13
 
14
14
  data() {
15
15
  return {
16
16
  // \u8868\u5355\u6570\u636E
17
- formData: ${b},
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 + '${r?"/rest/mock/"+s:"/api/"+s}',
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
- ${y}
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 + '${r?"/rest/mock/"+s+"/submit":"/api/"+s+"/submit"}',
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/${s}.scss';
104
+ @import './css/${t}.scss';
105
105
  </style>
106
- `}function W(i){if(i.length===0)return"{}";const s=[];for(const e of i)e.type==="uploader"?s.push(`${e.propertyName}: []`):s.push(`${e.propertyName}: ''`);return`{
107
- ${s.join(`,
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 L(i){if(i.length===0)return`
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 s=[];for(const e of i)e.validationMethod?s.push(` // \u6821\u9A8C${e.name}
117
- if (!this.formData.${e.propertyName}) {
118
- ejs.ui.toast({ message: '\u8BF7\u8F93\u5165${e.name}' });
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 (!${e.validationMethod}(this.formData.${e.propertyName})) {
122
- ejs.ui.toast({ message: '${e.name}\u683C\u5F0F\u4E0D\u6B63\u786E' });
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
- }`):e.validation==="required"&&e.type!=="uploader"&&s.push(` // \u6821\u9A8C${e.name}
125
- if (!this.formData.${e.propertyName}) {
126
- ejs.ui.toast({ message: '\u8BF7\u8F93\u5165${e.name}' });
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
- ${s.join(`
134
+ ${t.join(`
135
135
 
136
136
  `)}
137
137
 
138
138
  return true;
139
139
  },
140
- `}function R(){return`,
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 A(i){const{name:s,description:e,components:t=[],author:a,useMock:r=!0,pageTitle:l="\u9875\u9762\u6807\u9898"}=i,d=j({author:a,description:e}),{valid:m}=x(t),p=m.length>0?m:w(e),c=h(e),n=O(p,s,e),o=s.replace(/-/g,"_"),g=H(c),v=E(c),y=p.includes("em-uploader")||c.some($=>$.type==="uploader")?z():"";return`${d}
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="${o}">
182
- ${n}
181
+ <div class="${m}">
182
+ ${l}
183
183
  </div>
184
184
  </template>
185
185
 
186
186
  <script setup>
187
187
  /**
188
- * @\u63CF\u8FF0 ${e}
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 + '${r?"/rest/mock/"+s:"/api/"+s}',
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 + '${r?"/rest/mock/"+s+"/submit":"/api/"+s+"/submit"}',
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
- ${y}
275
+ ${_}
276
276
  </script>
277
277
 
278
278
  <style lang="scss" scoped>
279
- @import './css/${s}.scss';
279
+ @import './css/${t}.scss';
280
280
  </style>
281
- `}function H(i){if(i.length===0)return"{}";const s=[];for(const e of i)e.type==="uploader"?s.push(`${e.propertyName}: []`):s.push(`${e.propertyName}: ''`);return`{
282
- ${s.join(`,
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 E(i){if(i.length===0)return`
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 s=[];for(const e of i)e.validationMethod?s.push(` // \u6821\u9A8C${e.name}
292
- if (!formData.${e.propertyName}) {
293
- ejs.ui.toast({ message: '\u8BF7\u8F93\u5165${e.name}' });
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 (!${e.validationMethod}(formData.${e.propertyName})) {
297
- ejs.ui.toast({ message: '${e.name}\u683C\u5F0F\u4E0D\u6B63\u786E' });
296
+ if (!${i.validationMethod}(formData.${i.propertyName})) {
297
+ ejs.ui.toast({ message: '${i.name}\u683C\u5F0F\u4E0D\u6B63\u786E' });
298
298
  return false;
299
- }`):e.validation==="required"&&e.type!=="uploader"&&s.push(` // \u6821\u9A8C${e.name}
300
- if (!formData.${e.propertyName}) {
301
- ejs.ui.toast({ message: '\u8BF7\u8F93\u5165${e.name}' });
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
- ${s.join(`
309
+ ${t.join(`
310
310
 
311
311
  `)}
312
312
 
313
313
  return true;
314
314
  };
315
- `}function z(){return`
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 O(i,s,e){const t=[],a=s.replace(/-/g,"_"),r=e.toLowerCase(),l=h(e),u=l.some(n=>!["username","password"].includes(n.propertyName)),d=(r.includes("\u767B\u5F55")||r.includes("login"))&&!u,m=r.includes("\u8868\u5355")||r.includes("form")||r.includes("\u63D0\u4EA4")||l.length>0,p=r.includes("\u5217\u8868")||r.includes("list"),c=i.includes("em-uploader")||l.some(n=>n.type==="uploader");if(d&&!u)t.push(" <!-- \u767B\u5F55\u8868\u5355 -->"),t.push(` <div class="${a}__form">`),t.push(" <em-field"),t.push(' v-model="formData.username"'),t.push(' label="\u7528\u6237\u540D"'),t.push(' placeholder="\u8BF7\u8F93\u5165\u7528\u6237\u540D"'),t.push(" clearable"),t.push(" required"),t.push(" />"),t.push(" <em-field"),t.push(' v-model="formData.password"'),t.push(' type="password"'),t.push(' label="\u5BC6\u7801"'),t.push(' placeholder="\u8BF7\u8F93\u5165\u5BC6\u7801"'),t.push(" clearable"),t.push(" required"),t.push(" />"),t.push(` <div class="${a}__actions">`),t.push(' <em-button type="primary" block @click="handleSubmit">\u767B\u5F55</em-button>'),t.push(" </div>"),t.push(" </div>");else if(m&&l.length>0){t.push(" <!-- \u8868\u5355\u5185\u5BB9 -->"),t.push(' <em-form ref="formRef">');for(const o of l)o.type==="uploader"?(t.push(` <!-- ${o.name}\u4E0A\u4F20 -->`),t.push(` <div class="${a}__uploader">`),t.push(` <div class="${a}__uploader-label">${o.name}</div>`),t.push(" <em-uploader"),t.push(` v-model="formData.${o.propertyName}"`),t.push(' :after-read="afterRead"'),t.push(' :max-count="9"'),t.push(" multiple"),t.push(" />"),t.push(" </div>")):(t.push(" <em-field"),t.push(` v-model="formData.${o.propertyName}"`),o.type==="tel"?t.push(' type="tel"'):o.type==="password"&&t.push(' type="password"'),t.push(` label="${o.name}"`),t.push(` placeholder="\u8BF7\u8F93\u5165${o.name}"`),t.push(" clearable"),(o.validation==="required"||o.validationMethod)&&t.push(" required"),t.push(" />"));t.push(` <div class="${a}__actions">`);const n=r.includes("\u767B\u5F55")?"\u767B\u5F55":"\u63D0\u4EA4";t.push(` <em-button type="primary" block @click="handleSubmit">${n}</em-button>`),t.push(" </div>"),t.push(" </em-form>")}else if(m){t.push(" <!-- \u8868\u5355\u5185\u5BB9 -->"),t.push(' <em-form ref="formRef">');for(const n of i)n==="em-field"?(t.push(" <em-field"),t.push(' v-model="formData.field1"'),t.push(' label="\u5B57\u6BB5\u540D"'),t.push(' placeholder="\u8BF7\u8F93\u5165"'),t.push(" required"),t.push(" />")):n==="em-uploader"&&(t.push(" <!-- \u9644\u4EF6\u4E0A\u4F20 -->"),t.push(` <div class="${a}__uploader">`),t.push(` <div class="${a}__uploader-label">\u9644\u4EF6</div>`),t.push(" <em-uploader"),t.push(' v-model="formData.attachments"'),t.push(' :after-read="afterRead"'),t.push(' :max-count="9"'),t.push(" multiple"),t.push(" />"),t.push(" </div>"));t.push(` <div class="${a}__actions">`),t.push(' <em-button type="primary" block @click="handleSubmit">\u63D0\u4EA4</em-button>'),t.push(" </div>"),t.push(" </em-form>")}else if(p)t.push(" <!-- \u5217\u8868\u5185\u5BB9 -->"),t.push(" <em-minirefresh"),t.push(' @refresh="onRefresh"'),t.push(' @loadmore="onLoadMore"'),t.push(" >"),t.push(" <em-cell"),t.push(' v-for="item in list"'),t.push(' :key="item.id"'),t.push(' :title="item.title"'),t.push(" is-link"),t.push(' @click="handleItemClick(item)"'),t.push(" />"),t.push(" </em-minirefresh>");else{t.push(" <!-- \u9875\u9762\u5185\u5BB9 -->"),t.push(` <div class="${a}__content">`);for(const n of i){const o=n.startsWith("em-")?n:`em-${n}`;n==="em-uploader"?t.push(' <em-uploader v-model="fileList" :after-read="afterRead" />'):t.push(` <${o} />`)}i.length===0&&t.push(" <!-- TODO: \u6DFB\u52A0\u9875\u9762\u5185\u5BB9 -->"),t.push(" </div>")}return t.join(`
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 +1 @@
1
- {"version":3,"file":"generate-code.d.ts","sourceRoot":"","sources":["../../src/tools/generate-code.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAoC,MAAM,mBAAmB,CAAC;AAGtG;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,cAqFpC,CAAC;AAEF;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CAmH5F"}
1
+ {"version":3,"file":"generate-code.d.ts","sourceRoot":"","sources":["../../src/tools/generate-code.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAoC,MAAM,mBAAmB,CAAC;AAGtG;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,cAiDpC,CAAC;AAEF;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CAmH5F"}
@@ -1,39 +1,3 @@
1
- import{codeGenerator as a}from"../generator/index.js";const y={name:"generate_code",description:`\u6839\u636E\u9700\u6C42\u751F\u6210\u7B26\u5408 M8 \u6846\u67B6\u89C4\u8303\u7684\u4EE3\u7801\uFF0C\u4E25\u683C\u9075\u5FAA\u5185\u7F6E\u89C4\u8303\u3002
2
-
3
- ## \u5FC5\u987B\u9075\u5FAA\u7684\u89C4\u8303
4
-
5
- ### 1. \u7EC4\u4EF6\u4F7F\u7528\u89C4\u8303
6
- - **\u53EA\u80FD\u4F7F\u7528 M8 \u7EC4\u4EF6\u5E93\u4E2D\u7684\u7EC4\u4EF6**\uFF1A\u5982 em-field\uFF08\u8F93\u5165\u6846\uFF09\u3001em-button\uFF08\u6309\u94AE\uFF09\u3001em-cell\uFF08\u5355\u5143\u683C\uFF09\u7B49
7
- - **\u4E0D\u5B58\u5728\u7684\u7EC4\u4EF6\u4F1A\u88AB\u81EA\u52A8\u8FC7\u6EE4**\uFF1A\u5982 em-input \u4F1A\u81EA\u52A8\u4FEE\u6B63\u4E3A em-field
8
- - \u5E38\u89C1\u7EC4\u4EF6\u6620\u5C04\uFF1A
9
- - em-input/em-textarea \u2192 em-field
10
- - em-select \u2192 em-picker
11
- - em-date/em-time \u2192 em-datepicker
12
-
13
- ### 2. API \u8C03\u7528\u89C4\u8303
14
- - **Toast/\u63D0\u793A**\uFF1A\u5FC5\u987B\u4F7F\u7528 \`ejs.ui.toast({ message: "\u63D0\u793A\u5185\u5BB9" })\` \u800C\u975E uni.showToast
15
- - **Loading**\uFF1A\u5FC5\u987B\u4F7F\u7528 \`ejs.ui.showWaiting({ message: "\u52A0\u8F7D\u4E2D..." })\` \u548C \`ejs.ui.closeWaiting()\`
16
- - **\u786E\u8BA4\u6846**\uFF1A\u5FC5\u987B\u4F7F\u7528 \`ejs.ui.confirm({ title: "\u6807\u9898", message: "\u5185\u5BB9" })\`
17
- - **\u9009\u62E9\u5668**\uFF1A\u4F18\u5148\u4F7F\u7528 \`ejs.ui.picker\`\u3001\`ejs.ui.pickDate\` \u7B49 API
18
-
19
- ### 3. \u8BF7\u6C42\u89C4\u8303
20
- - **\u5FC5\u987B\u4F7F\u7528** \`Util.ajax + Config.serverUrl\` \u53D1\u9001\u8BF7\u6C42
21
- - **\u7981\u6B62\u4F7F\u7528** fetch\u3001axios\u3001uni.request
22
- - Mock \u8DEF\u5F84\u683C\u5F0F\uFF1A\`/rest/mock/[\u6A21\u5757\u540D]/[\u63A5\u53E3\u540D]\`
23
-
24
- ### 4. \u6587\u4EF6\u7ED3\u6784\u89C4\u8303
25
- - **Vue \u6837\u5F0F\u5FC5\u987B\u5265\u79BB**\uFF1A\u6837\u5F0F\u653E\u5728 \`css/[\u6A21\u5757\u540D].scss\`\uFF0C\u901A\u8FC7 \`@import\` \u5F15\u5165
26
- - **\u8DEF\u5F84\u56FA\u5B9A**\uFF1A\u9875\u9762\u9ED8\u8BA4\u751F\u6210\u5728 \`src/pages/[\u6A21\u5757\u540D]/\` \u4E0B
27
- - **full-page \u7C7B\u578B**\uFF1A\u81EA\u52A8\u751F\u6210 index.vue + css/[\u6A21\u5757\u540D].scss + router.js + mock.js
28
-
29
- ### 5. \u751F\u6210\u7684\u6587\u4EF6
30
- \`\`\`
31
- src/pages/[\u6A21\u5757\u540D]/
32
- \u251C\u2500\u2500 index.vue # Vue \u9875\u9762\u7EC4\u4EF6
33
- \u251C\u2500\u2500 router.js # \u8DEF\u7531\u914D\u7F6E
34
- \u251C\u2500\u2500 mock.js # Mock \u6570\u636E
35
- \u2514\u2500\u2500 css/
36
- \u2514\u2500\u2500 [\u6A21\u5757\u540D].scss # \u6837\u5F0F\u6587\u4EF6
37
- \`\`\``,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(s){try{const t=s.type,n=s.requirement,r=s.vueVersion||2,c=s.components||[],m=s.modulePath,i=s.useMock!==!1;if(!t)return{content:[{type:"text",text:"\u9519\u8BEF\uFF1A\u4EE3\u7801\u7C7B\u578B\u4E0D\u80FD\u4E3A\u7A7A"}],isError:!0};if(!n||n.trim().length===0)return{content:[{type:"text",text:"\u9519\u8BEF\uFF1A\u9700\u6C42\u63CF\u8FF0\u4E0D\u80FD\u4E3A\u7A7A"}],isError:!0};let u;if(t==="full-page")u=["vue-component","scss","router","mock"];else if(Array.isArray(t))u=t;else{const e=a.generateCode({type:t,requirement:n,vueVersion:r,components:c,useMock:i});return{content:[{type:"text",text:["# \u751F\u6210\u7684\u4EE3\u7801","",`**\u8BED\u8A00**: ${e.language}`,`**Vue \u7248\u672C**: ${r}`,`**\u4F7F\u7528 Mock**: ${i?"\u662F":"\u5426"}`,"","```"+e.language,e.code,"```","","## \u8BF4\u660E","",e.explanation].join(`
38
- `)}]}}const p=a.generateMultipleCode({types:u,requirement:n,vueVersion:r,components:c,modulePath:m,useMock:i}),o=["# \u751F\u6210\u7684\u4EE3\u7801","",`**\u6A21\u5757\u8DEF\u5F84**: ${p.modulePath}`,`**Vue \u7248\u672C**: ${r}`,`**\u4F7F\u7528 Mock**: ${i?"\u662F":"\u5426"}`,""];for(const e of p.files)o.push(`## ${e.relativePath||e.filename}`),o.push(""),o.push("```"+e.language),o.push(e.code),o.push("```"),o.push("");return o.push(p.explanation),{content:[{type:"text",text:o.join(`
39
- `)}]}}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,y as generateCodeDefinition};
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
+ `)}]}}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
+ `)}]}}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};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "m8-mcp-server",
3
- "version": "1.0.10",
3
+ "version": "1.0.12",
4
4
  "description": "M8 移动前端跨端框架 MCP Server - 提供文档查询、智能推荐和代码生成服务",
5
5
  "main": "dist/index.js",
6
6
  "bin": {