w-web-api 1.0.4 → 1.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -11
- package/dist/connecting.svg +10 -0
- package/dist/css/app.ff30ea93.css +1 -0
- package/dist/css/chunk-vendors.f0a39794.css +5 -0
- package/dist/deny.png +0 -0
- package/dist/disconnect.png +0 -0
- package/dist/index.html +1 -0
- package/dist/js/app.462646b9.js +2 -0
- package/dist/js/app.462646b9.js.map +1 -0
- package/dist/js/chunk-vendors.f69911fd.js +28 -0
- package/dist/js/chunk-vendors.f69911fd.js.map +1 -0
- package/dist/logout.png +0 -0
- package/dist/w-web-api.umd.js +2 -2
- package/dist/w-web-api.umd.js.map +1 -1
- package/docs/WWebApi.html +39 -39
- package/docs/WWebApi.mjs.html +21 -23
- package/docs/index.html +1 -1
- package/{server/getSettings.mjs → g.getSettings.mjs} +0 -0
- package/{server/mDb.mjs → g.mDb.mjs} +3 -3
- package/{server/mInitialTestData.mjs → g.mInitialTestData.mjs} +3 -3
- package/{server/mOrm.mjs → g.mOrm.mjs} +7 -5
- package/package.json +13 -19
- package/server/WWebApi.mjs +20 -22
- package/server/provideApis.mjs +70 -0
- package/srv.mjs +2 -2
- package/tableTags-web-api.json +1 -0
- package/toolg/gDistRollup.mjs +5 -3
- package/tableTags.json +0 -1
package/dist/deny.png
ADDED
|
Binary file
|
|
Binary file
|
package/dist/index.html
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml" lang="zh-tw"><head><meta http-equiv="content-type" content="text/html; charset=UTF-8"><meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no,minimal-ui"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title></title><link href="https://cdn.jsdelivr.net/npm/@mdi/font/css/materialdesignicons.min.css" rel="stylesheet"><link href="https://pro.fontawesome.com/releases/v5.15.4/css/all.css" rel="stylesheet"><link href="/css/app.ff30ea93.css" rel="preload" as="style"><link href="/css/chunk-vendors.f0a39794.css" rel="preload" as="style"><link href="/js/app.462646b9.js" rel="preload" as="script"><link href="/js/chunk-vendors.f69911fd.js" rel="preload" as="script"><link href="/css/chunk-vendors.f0a39794.css" rel="stylesheet"><link href="/css/app.ff30ea93.css" rel="stylesheet"></head><body style="font-family:'Microsoft JhengHei','Avenir','Helvetica', 'Arial', 'sans-serif'; padding:0px; margin:0px;"><noscript><strong>We're sorry but w-component-vue doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div><script src="/js/chunk-vendors.f69911fd.js"></script><script src="/js/app.462646b9.js"></script></body></html>
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
(function(t){function e(e){for(var a,o,s=e[0],p=e[1],d=e[2],l=0,u=[];l<s.length;l++)o=s[l],Object.prototype.hasOwnProperty.call(r,o)&&r[o]&&u.push(r[o][0]),r[o]=0;for(a in p)Object.prototype.hasOwnProperty.call(p,a)&&(t[a]=p[a]);c&&c(e);while(u.length)u.shift()();return i.push.apply(i,d||[]),n()}function n(){for(var t,e=0;e<i.length;e++){for(var n=i[e],a=!0,s=1;s<n.length;s++){var p=n[s];0!==r[p]&&(a=!1)}a&&(i.splice(e--,1),t=o(o.s=n[0]))}return t}var a={},r={app:0},i=[];function o(e){if(a[e])return a[e].exports;var n=a[e]={i:e,l:!1,exports:{}};return t[e].call(n.exports,n,n.exports,o),n.l=!0,n.exports}o.m=t,o.c=a,o.d=function(t,e,n){o.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},o.r=function(t){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},o.t=function(t,e){if(1&e&&(t=o(t)),8&e)return t;if(4&e&&"object"===typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var a in t)o.d(n,a,function(e){return t[e]}.bind(null,a));return n},o.n=function(t){var e=t&&t.__esModule?function(){return t["default"]}:function(){return t};return o.d(e,"a",e),e},o.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},o.p="/";var s=window["webpackJsonp"]=window["webpackJsonp"]||[],p=s.push.bind(s);s.push=e,s=s.slice();for(var d=0;d<s.length;d++)e(s[d]);var c=p;i.push([1,"chunk-vendors"]),n()})({0:function(t,e){},"034f":function(t,e,n){"use strict";n("85ec")},1:function(t,e,n){t.exports=n("56d7")},"16cc":function(t,e,n){"use strict";n("8096")},2:function(t,e){},3:function(t,e){},"56d7":function(t,e,n){"use strict";n.r(e);var a={};n.r(a),n.d(a,"UpdateWebInfor",(function(){return yt})),n.d(a,"UpdateLang",(function(){return bt})),n.d(a,"UpdateConnState",(function(){return St})),n.d(a,"UpdateSyncState",(function(){return kt})),n.d(a,"UpdateLoading",(function(){return Tt})),n.d(a,"UpdateViewState",(function(){return It})),n.d(a,"UpdateTableData",(function(){return Et})),n.d(a,"UpdateData",(function(){return At})),n.d(a,"UpdateHeightApp",(function(){return Ot})),n.d(a,"UpdateHeightAppEff",(function(){return wt})),n.d(a,"UpdateHeightToolbar",(function(){return xt})),n.d(a,"UpdateMenu",(function(){return Bt})),n.d(a,"UpdateUserToken",(function(){return Gt})),n.d(a,"UpdateUserSelf",(function(){return Nt}));var r={};n.r(r);var i={};n.r(i);var o={};n.r(o),n.d(o,"at",(function(){return _e["a"]})),n.d(o,"gv",(function(){return Le})),n.d(o,"parseNameByVersion",(function(){return Pe})),n.d(o,"dtAddAndLtdtFind",(function(){return Ue})),n.d(o,"timeFormaterPast",(function(){return je}));var s=n("9b02"),p=n.n(s),d=n("2b0e"),c=n("e7c6"),l=n("ded4"),u=n("36ac"),m=n("7548"),f=n("8ce7"),g=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{directives:[{name:"domresize",rawName:"v-domresize"}],on:{domresize:t.resize}},[n("transition",{attrs:{"enter-active-class":"fade-enter-active","leave-active-class":"fade-leave-active"}},[t.ready?n("Layout"):t._e()],1)],1)},h=[],v=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticStyle:{height:"100vh",background:"#f5f5f5"}},[n("div",{style:"height:"+t.heightToolbar+"px; padding:0px 10px; display:flex; align-items:center; background:#fff; border-bottom:1px solid #ccc;"},[t._e(),t._e(),t._e(),n("div",{staticStyle:{"padding-left":"10px","font-size":"1.2rem",color:"#000","white-space":"nowrap"}},[n("div",[t._v(t._s(t.webName))])]),n("div",{staticStyle:{width:"100%"}}),n("div",{staticStyle:{"padding-right":"10px","white-space":"nowrap"}},[n("WTextSelect",{attrs:{items:t.tgLangs},on:{input:t.changeLang},model:{value:t.tgLangSelect,callback:function(e){t.tgLangSelect=e},expression:"tgLangSelect"}})],1)],1),n("div",{style:"height:calc( 100% - "+t.heightToolbar+"px );"},[n("LayoutContent")],1)])},y=[],b=n("ea3a"),S=n("d4e6"),k=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticStyle:{height:"100%"}},[t.syncState?[n("LayoutContentList")]:n("div",{staticStyle:{padding:"20px","font-size":"0.9rem"}},[t._v(" "+t._s(t.kpTexts.waitingData)+" ")])],2)},T=[],I=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticStyle:{height:"100%"},attrs:{changeApis:t.changeApis}},[t.hasApis?n("div",{staticStyle:{display:"flex",height:"100%"}},[n("div",{staticStyle:{"min-width":"400px",height:"100%","_font-size":"10pt",color:"#444",background:"#fff","overflow-y":"auto"}},[n("WTree",{attrs:{viewHeightMax:null,data:t.apisTree,iconHeight:t.lineHeightTree,defItemHeight:t.lineHeightTree,activable:!0,activeItem:t.apiActive,"fun-active":t.funActive,itemTextColorActive:"#000",itemBackgroundColorActive:"rgba(100,100,100,0.15)"},scopedSlots:t._u([{key:"item",fn:function(e){return["node"!==e.data.type?n("div",{style:"display:flex; align-items:center; min-height:"+t.lineHeightTree+"px;"},[t._v(" "+t._s(e.data.key)+" ")]):n("div",{style:"display:flex; align-items:center; min-height:"+t.lineHeightTree+"px; cursor:pointer;",on:{click:function(n){t.ckItem(t.getItemByKey(e.data.text))}}},[n("div",{staticStyle:{"padding-right":"5px"}},[n("div",{style:"padding:0px 6px; font-size:0.7rem; border-radius:10px; border:1px solid #ddd; color:#fff; background:"+t.getMethodColorByKey(e.data.text)+";"},[t._v(" "+t._s(t.getMethodByKey(e.data.text))+" ")])]),n("div",[t._v(" "+t._s(t.$s.gv(t.getItemByKey(e.data.text),"name"))+" ")])])]}}],null,!1,544334598)})],1),n("div",{staticStyle:{height:"100%","border-right":"1px solid #ddd"}}),t.apiSelect?n("div",{staticStyle:{width:"100%",height:"100%","overflow-y":"auto"}},[n("div",{staticStyle:{padding:"15px 20px 10px 10px"}},[n("div",{staticStyle:{padding:"5px"}},[n("div",{staticStyle:{padding:"10px","border-radius":"5px",border:"1px solid #ddd",background:"#fff",display:"flex","align-items":"center"}},[n("div",{staticStyle:{"padding-right":"5px"}},[n("div",{style:"padding:0px 6px; font-size:0.7rem; border-radius:10px; border:1px solid #ddd; color:#fff; background:"+t.getMethodColor(t.apiSelect)+";"},[t._v(" "+t._s(t.getMethod(t.apiSelect))+" ")])]),n("div",{staticStyle:{"font-size":"0.8rem"}},[t._v(" "+t._s(t.$s.gv(t.apiSelect,"url"))+" ")])])]),n("div",{staticStyle:{padding:"10px"}},[n("div",{staticStyle:{color:"#485ed5"}},[t._v(" "+t._s(t.$s.gv(t.apiSelect,"name"))+" ")]),n("div",{staticClass:"bk-title"},[t._v(" "+t._s(t.$s.gv(t.apiSelect,"description"))+" ")])]),n("div",{staticStyle:{padding:"10px"}},[n("div",{staticClass:"bk"},[n("div",{staticClass:"bk-title"},[t._v(" "+t._s(t.kpTexts.tokens)+" ")]),n("div",{staticClass:"bk-item"},[t._v(" "+t._s(t.$s.gv(t.apiSelect,"tokens"))+" ")])]),n("div",{staticClass:"bk"},[n("div",{staticClass:"bk-title"},[t._v(" "+t._s(t.kpTexts.version)+" ")]),n("div",{staticClass:"bk-item"},[t._v(" "+t._s(t.$s.gv(t.apiSelect,"version"))+" ")])]),n("div",{staticClass:"bk"},[n("div",{staticClass:"bk-title"},[t._v(" "+t._s(t.kpTexts.levels)+" ")]),n("div",{staticClass:"bk-item"},[t._v(" "+t._s(t.$s.gv(t.apiSelect,""))+" ")])]),n("div",{staticClass:"bk"},[n("div",{staticClass:"bk-title"},[t._v(" "+t._s(t.kpTexts.keywords)+" ")]),n("div",{staticClass:"bk-item"},[t._v(" "+t._s(t.$s.gv(t.apiSelect,""))+" ")])]),n("div",{staticClass:"bk"},[n("div",{staticClass:"bk-title"},[t._v(" "+t._s(t.kpTexts.state)+" ")]),n("div",{staticClass:"bk-item"},[t._v(" "+t._s(t.$s.gv(t.apiSelect,""))+" ")])]),n("div",{staticClass:"bk"},[n("div",{staticClass:"bk-title"},[t._v(" "+t._s(t.kpTexts.timeCreate)+" ")]),n("div",{staticClass:"bk-item"},[t._v(" "+t._s(t.getDay(t.$s.gv(t.apiSelect,"timeCreate")))+" ")])]),n("div",{staticClass:"bk"},[n("div",{staticClass:"bk-title"},[t._v(" "+t._s(t.kpTexts.timeUpdate)+" ")]),n("div",{staticClass:"bk-item"},[t._v(" "+t._s(t.getDay(t.$s.gv(t.apiSelect,"timeUpdate")))+" ")])]),n("div",{staticClass:"bk"},[n("div",{staticClass:"bk-title"},[t._v(" "+t._s(t.kpTexts.creator)+" ")]),n("div",{staticClass:"bk-item"},[t._v(" "+t._s(t.$s.gv(t.apiSelect,"creator"))+" ")])]),n("div",{staticClass:"bk"},[n("div",{staticClass:"bk-title"},[t._v(" "+t._s(t.kpTexts.dataSource)+" ")]),n("div",{staticClass:"bk-item"},[t._v(" "+t._s(t.$s.gv(t.apiSelect,"dataSource"))+" ")])]),n("div",{staticClass:"bk"},[n("div",{staticClass:"bk-title"},[t._v(" "+t._s(t.kpTexts.isActive)+" ")]),n("div",{staticClass:"bk-item"},[t._v(" "+t._s(t.$s.gv(t.apiSelect,"isActive"))+" ")])])]),n("div",{staticStyle:{padding:"10px"}},[n("div",{staticClass:"bk-title"},[t._v(" "+t._s(t.kpTexts.mdInputParams)+" ")]),n("div",{staticClass:"bk-item",staticStyle:{padding:"10px"}},[n("MdPanel",{attrs:{md:t.$s.gv(t.apiSelect,"mdInputParams")}})],1)]),n("div",{staticStyle:{padding:"10px"}},[n("div",{staticClass:"bk-title"},[t._v(" "+t._s(t.kpTexts.inputExample)+" ")]),n("div",{staticClass:"bk-item",staticStyle:{padding:"10px"}},[t._v(" "+t._s(t.$s.gv(t.apiSelect,"inputExample"))+" ")])]),n("div",{staticStyle:{padding:"10px"}},[n("div",{staticClass:"bk-title"},[t._v(" "+t._s(t.kpTexts.mdOutputParams)+" ")]),n("div",{staticClass:"bk-item",staticStyle:{padding:"10px"}},[n("MdPanel",{attrs:{md:t.$s.gv(t.apiSelect,"mdOutputParams")}})],1)]),n("div",{staticStyle:{padding:"10px"}},[n("div",{staticClass:"bk-title"},[t._v(" "+t._s(t.kpTexts.outputExample)+" ")]),n("div",{staticStyle:{"padding-top":"10px"}},[n("div",{staticStyle:{"padding-left":"10px","margin-bottom":"-1px"}},[n("WGroupRadio",{attrs:{items:t.optputMenuItems,value:t.optputMenuItemSelect,group:!0,"group-border-radius-style":{top:!0},"group-shift":7,"border-radius":20,"border-color":"#ddd","border-color-hover":"#dadada","border-color-active":"orange lighten-2","margin-style":{}},on:{input:t.changeOptputMenuItemSelect}})],1),n("div",{staticStyle:{border:"1px solid #ddd",background:"#fff"}},["tree"===t.optputMenuItemSelectId?n("div",{},[n("WJsonView",{staticStyle:{width:"100%"},attrs:{viewHeightMax:null,data:t.getOutputJsonObj(t.apiSelect)}})],1):t._e(),"raw"===t.optputMenuItemSelectId?n("div",{staticStyle:{padding:"10px",color:"#555","font-size":"0.85rem"}},[n("pre",[t._v(t._s(t.getOutputJson(t.apiSelect)))])]):t._e()])])])])]):n("div",{staticStyle:{padding:"20px","font-size":"0.9rem"}},[t._v(" "+t._s(t.kpTexts.noSelectApi)+" ")])]):n("div",{staticStyle:{padding:"20px","font-size":"0.9rem"}},[t._v(" "+t._s(t.kpTexts.waitingData)+" ")])])},E=[],A=n("0f5c"),O=n.n(A),w=n("c641"),x=n.n(w),B=n("d623"),G=n.n(B),N=n("66c7"),R=n.n(N),_=n("2769"),U=n.n(_),L=n("0644"),P=n.n(L),j=n("ec85"),C=n("524d"),D=n("73cf"),$=n("3b32"),M=n("1b73"),H=n("d502"),W=n("9dd0"),z=n("c0ce"),K=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",[n("div",{staticClass:"md",domProps:{innerHTML:t._s(t.mdh)}})])},J=[],V=n("339e"),F=n.n(V),X={components:{},props:{md:{type:String,default:""}},data:function(){return{}},computed:{mdh:function(){var t=this,e=new F.a.Converter;e.setOption("tables",!0);var n=e.makeHtml(t.md);return n}},methods:{}},q=X,Q=(n("16cc"),n("2877")),Y=Object(Q["a"])(q,K,J,!1,null,"6700278b",null),Z=Y.exports,tt={components:{WGroupRadio:H["a"],WTree:W["a"],WJsonView:z["a"],MdPanel:Z},props:{},data:function(){return{lineHeightTree:38,apisTree:[],kpApisTree:{},apiActive:null,apiSelect:null,kpColorMethod:{GET:"#7c2",POST:"#68f",PUT:"#f82",DEL:"#f26"},optputMenuItemSelectId:"tree"}},computed:{kpTexts:function(){return this.$ui.getKpLang()},apis:function(){return p()(this,"$store.state.apis")},changeApis:function(){var t=this;return t.genTree(t.apis),""},hasApis:function(){return G()(this.apisTree)>0},optputMenuItems:function(){var t=this,e=[{id:"tree",text:t.kpTexts.outputMenuTree,icon:"mdi-vanity-light"},{id:"raw",text:t.kpTexts.outputMenuRaw,icon:"mdi-lan"}];return e},optputMenuItemSelect:function(){var t=this,e=U()(t.optputMenuItems,{id:t.optputMenuItemSelectId});return e}},methods:{genTree:function(){var t=this;t.apisTree=[],t.kpApisTree={};var e=P()(t.apis),n={},a={};x()(e,(function(t){var e=t.id,r="".concat(t.levels,".").concat(t.name);a[e]=t,Object(j["a"])(p()(n,r))||O()(n,r,e)}));var r=Object(M["a"])(n,{bindRoot:"全部"}),i=p()(e,0,null);t.apiSelect=i,t.apisTree=r,t.kpApisTree=a},getItemByKey:function(t){var e=this,n=e.kpApisTree[t];return n},getMethod:function(t){var e=p()(t,"method","").toUpperCase();return e},getMethodByKey:function(t){var e=this,n=e.getItemByKey(t),a=p()(n,"method","").toUpperCase();return a},getMethodColor:function(t){var e=this,n=e.getMethod(t),a=p()(e.kpColorMethod,n,"#888");return a},getMethodColorByKey:function(t){var e=this,n=e.getMethodByKey(t),a=p()(e.kpColorMethod,n,"#888");return a},getDay:function(t){return Object($["a"])(t)},getOutputJson:function(t){var e=p()(t,"outputExample","");return e=R()(e),e},getOutputJsonObj:function(t){var e=this.getOutputJson(t),n=Object(D["a"])(e);return n},funActive:function(t){var e=this,n=!Array.isArray(t.item.children);if(n&&!Object(C["a"])(e.apiActive)){var a=t.item.id;e.apiActive={id:a}}return n},changeOptputMenuItemSelect:function(t){var e=this;e.optputMenuItemSelectId=t.id},ckItem:function(t){var e=this;e.apiSelect=P()(t)}}},et=tt,nt=(n("bda0"),Object(Q["a"])(et,I,E,!1,null,"721d333e",null)),at=nt.exports,rt={components:{LayoutContentList:at},props:{},data:function(){return{}},computed:{kpTexts:function(){return this.$ui.getKpLang()},syncState:function(){return p()(this,"$store.state.syncState")}},methods:{}},it=rt,ot=Object(Q["a"])(it,k,T,!1,null,"04642b6a",null),st=ot.exports,pt={components:{WButtonCircle:b["a"],WTextSelect:S["a"],LayoutContent:st},props:{},data:function(){return{drawer:!1,tgLangs:[{id:"cht",text:"中文"},{id:"eng",text:"English"}],tgLangSelect:{id:"cht",text:"中文"}}},computed:{heightToolbar:function(){return p()(this,"$store.state.heightToolbar")},kpTexts:function(){return this.$ui.getKpLang()},webName:function(){var t=p()(this,"kpTexts.webName",this.kpTexts.waitingData);return document.title=t,t},lang:function(){return p()(this,"$store.state.lang")},viewState:function(){return p()(this,"$store.state.viewState")}},methods:{changeLang:function(t){var e=this,n=t.id;e.$store.commit(e.$store.types.UpdateLang,n)}}},dt=pt,ct=Object(Q["a"])(dt,v,y,!1,null,"440097d2",null),lt=ct.exports,ut={components:{Layout:lt},data:function(){return{ready:!0}},methods:{resize:function(t){var e=this;e.$ui.syncHeight()}}},mt=ut,ft=(n("034f"),Object(Q["a"])(mt,g,h,!1,null,null,null)),gt=ft.exports,ht=n("d7a6"),vt=n("9523"),yt="UpdateWebInfor",bt="UpdateLang",St="UpdateConnState",kt="UpdateSyncState",Tt="UpdateLoading",It="UpdateViewState",Et="UpdateTableData",At="UpdateData",Ot="UpdateHeightApp",wt="UpdateHeightAppEff",xt="UpdateHeightToolbar",Bt="UpdateMenu",Gt="UpdateUserToken",Nt="UpdateUserSelf",Rt=n("dd61"),_t=n("ec69"),Ut=n("5cff"),Lt=n("80d1"),Pt=n("7092"),jt=n("e096"),Ct=n("7cc7"),Dt=n("c97c");function $t(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,a)}return n}function Mt(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?$t(Object(n),!0).forEach((function(e){vt(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):$t(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}var Ht="apis",Wt="APIs",zt="APIs",Kt={id:{pk:!0,name:"主鍵",type:"STRING"},order:{name:"順序",type:"INTEGER"},name:{name:"名稱",type:"STRING"},description:{name:"說明",type:"TEXT"},url:{name:"網址",type:"STRING"},method:{name:"方法",type:"STRING"},version:{name:"版本",type:"STRING"},levels:{name:"階層群組",type:"STRING"},keywords:{name:"關鍵字",type:"STRING"},state:{name:"狀態",type:"STRING"},creator:{name:"創建者",type:"STRING"},dataSource:{name:"資料提供者",type:"STRING"},tokens:{name:"金鑰",type:"TEXT"},mdInputParams:{name:"輸入參數md說明",type:"STRING"},inputExample:{name:"輸入範例",type:"STRING"},mdOutputParams:{name:"輸出資料md說明",type:"STRING"},outputExample:{name:"輸出範例",type:"STRING"},timeCreate:{name:"創建時間",type:"STRING"},timeUpdate:{name:"更新時間",type:"STRING"},isActive:{name:"是否有效",type:"STRING"}},Jt=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=Object(Lt["a"])(t,_t(Kt));return e.id="".concat(Object(Ct["a"])(),"-").concat(Object(Ut["a"])()),e.timeCreate=Object(jt["a"])(),e.timeUpdate=e.timeCreate,e.isActive="y",e},Vt=function(){var t=Rt([{id:"id-for-apis-sys-1",name:"取得API清單",description:"API管理中心取得API清單資訊",url:"http://localhost:11005/getAPIsList",method:"get",version:"v1",levels:"API",keywords:"API;center",state:"ok",creator:"apis-system",dataSource:"apis-data",mdInputParams:"### GET網址參數\n| 參數 | 型別 | 範例 |\n| -- | -- | -- |\n| token | STRING | key-for-token |\n| id | STRING | id-for-test |\n| paramA | INTEGER | 123 |\n| paramB | DOUBLE | 123.456 |\n ",inputExample:"http://localhost:11005/getAPIsList?token={token}&id={id}¶mA=123¶mB=123.456",mdOutputParams:"### 回傳數據結構: Array of objects\n| 參數 | 型別 | 範例 |\n| -- | -- | -- |\n| id | STRING | id-for-test |\n| weight | DOUBLE | 12.3 |\n| color | STRING | #f26 |\n| paramA | INTEGER | 321 |\n| paramB | DOUBLE | 654.321 |\n ",outputExample:'\n[\n {\n "id": "id-for-test-1",\n "weight": 12.3,\n "color": "#f26",\n "paramA": 101,\n "paramB": 0.01\n },\n {\n "id": "id-for-test-2",\n "weight": 22.3,\n "color": "#2f6",\n "paramA": 102,\n "paramB": 1.01\n },\n {\n "id": "id-for-test-3",\n "weight": 32.3,\n "color": "#26f",\n "paramA": 103,\n "paramB": 2.01\n }\n]\n '},{id:"id-for-apis-pets-1",name:"取得寵物清單",description:"寵物管理中心取得寵物清單資訊",url:"http://localhost:11005/getPetsList",method:"get",version:"v1",levels:"寵物",keywords:"pets",state:"ok",creator:"pets-system",dataSource:"pets-data",mdInputParams:"### GET網址參數\n| 參數 | 型別 | 範例 |\n| -- | -- | -- |\n| token | STRING | key-for-token |\n| id | STRING | id-for-test |\n| paramA | INTEGER | 123 |\n| paramB | DOUBLE | 123.456 |\n ",inputExample:"http://localhost:11005/getAPIsList?token={token}&id={id}¶mA=123¶mB=123.456",mdOutputParams:"### 回傳數據結構: Array of objects\n| 參數 | 型別 | 範例 |\n| -- | -- | -- |\n| id | STRING | id-for-test |\n| weight | DOUBLE | 12.3 |\n| color | STRING | #f26 |\n| paramA | INTEGER | 321 |\n| paramB | DOUBLE | 654.321 |\n ",outputExample:'\n[\n {\n "id": "id-for-test-1",\n "weight": 12.3,\n "color": "#f26",\n "paramA": 101,\n "paramB": 0.01\n },\n {\n "id": "id-for-test-2",\n "weight": 22.3,\n "color": "#2f6",\n "paramA": 102,\n "paramB": 1.01\n },\n {\n "id": "id-for-test-3",\n "weight": 32.3,\n "color": "#26f",\n "paramA": 103,\n "paramB": 2.01\n }\n]\n '},{id:"id-for-apis-pets-dogs-1",name:"取得狗狗清單",description:"取得狗狗清單資訊",url:"http://localhost:11005/getDogsList",method:"get",version:"v1",levels:"寵物.狗狗",keywords:"pets;dogs",state:"ok",creator:"pets-system",dataSource:"pets-data",mdInputParams:"### GET網址參數\n| 參數 | 型別 | 範例 |\n| -- | -- | -- |\n| token | STRING | key-for-token |\n| id | STRING | id-for-test |\n| paramA | INTEGER | 123 |\n| paramB | DOUBLE | 123.456 |\n ",inputExample:"http://localhost:11005/getAPIsList?token={token}&id={id}¶mA=123¶mB=123.456",mdOutputParams:"### 回傳數據結構: Array of objects\n| 參數 | 型別 | 範例 |\n| -- | -- | -- |\n| id | STRING | id-for-test |\n| weight | DOUBLE | 12.3 |\n| color | STRING | #f26 |\n| paramA | INTEGER | 321 |\n| paramB | DOUBLE | 654.321 |\n ",outputExample:'\n[\n {\n "id": "id-for-test-1",\n "weight": 12.3,\n "color": "#f26",\n "paramA": 101,\n "paramB": 0.01\n },\n {\n "id": "id-for-test-2",\n "weight": 22.3,\n "color": "#2f6",\n "paramA": 102,\n "paramB": 1.01\n },\n {\n "id": "id-for-test-3",\n "weight": 32.3,\n "color": "#26f",\n "paramA": 103,\n "paramB": 2.01\n }\n]\n '},{id:"id-for-apis-pets-dogs-2",name:"新增狗狗資訊",description:"新增狗狗資訊",url:"http://localhost:11005/addDog",method:"post",version:"v1",levels:"寵物.狗狗",keywords:"pets;dogs",state:"ok",creator:"pets-system",dataSource:"pets-data",mdInputParams:"### POST參數\n| 參數 | 型別 | 範例 |\n| -- | -- | -- |\n| token | STRING | key-for-token |\n| id | STRING | id-for-test |\n| paramA | INTEGER | 123 |\n| paramB | DOUBLE | 123.456 |\n ",inputExample:"http://localhost:11005/getAPIsList?token={token}&id={id}¶mA=123¶mB=123.456",mdOutputParams:"### 回傳數據結構: Array of objects\n| 參數 | 型別 | 範例 |\n| -- | -- | -- |\n| id | STRING | id-for-test |\n| weight | DOUBLE | 12.3 |\n| color | STRING | #f26 |\n| paramA | INTEGER | 321 |\n| paramB | DOUBLE | 654.321 |\n ",outputExample:'\n[\n {\n "id": "id-for-test-1",\n "weight": 12.3,\n "color": "#f26",\n "paramA": 101,\n "paramB": 0.01\n },\n {\n "id": "id-for-test-2",\n "weight": 22.3,\n "color": "#2f6",\n "paramA": 102,\n "paramB": 1.01\n },\n {\n "id": "id-for-test-3",\n "weight": 32.3,\n "color": "#26f",\n "paramA": 103,\n "paramB": 2.01\n }\n]\n '},{id:"id-for-apis-pets-dogs-3",name:"變更狗狗資訊",description:"變更狗狗資訊",url:"http://localhost:11005/updateDog",method:"put",version:"v1",levels:"寵物.狗狗",keywords:"pets;dogs",state:"ok",creator:"pets-system",dataSource:"pets-data",mdInputParams:"### GET網址參數\n| 參數 | 型別 | 範例 |\n| -- | -- | -- |\n| token | STRING | key-for-token |\n| id | STRING | id-for-test |\n| paramA | INTEGER | 123 |\n| paramB | DOUBLE | 123.456 |\n ",inputExample:"http://localhost:11005/getAPIsList?token={token}&id={id}¶mA=123¶mB=123.456",mdOutputParams:"### 回傳數據結構: Array of objects\n| 參數 | 型別 | 範例 |\n| -- | -- | -- |\n| id | STRING | id-for-test |\n| weight | DOUBLE | 12.3 |\n| color | STRING | #f26 |\n| paramA | INTEGER | 321 |\n| paramB | DOUBLE | 654.321 |\n ",outputExample:'\n[\n {\n "id": "id-for-test-1",\n "weight": 12.3,\n "color": "#f26",\n "paramA": 101,\n "paramB": 0.01\n },\n {\n "id": "id-for-test-2",\n "weight": 22.3,\n "color": "#2f6",\n "paramA": 102,\n "paramB": 1.01\n },\n {\n "id": "id-for-test-3",\n "weight": 32.3,\n "color": "#26f",\n "paramA": 103,\n "paramB": 2.01\n }\n]\n '},{id:"id-for-apis-pets-dogs-4",name:"刪除狗狗資訊",description:"刪除狗狗資訊",url:"http://localhost:11005/deleteDog",method:"del",version:"v1",levels:"寵物.狗狗",keywords:"pets;dogs",state:"ok",creator:"pets-system",dataSource:"pets-data",mdInputParams:"### GET網址參數\n| 參數 | 型別 | 範例 |\n| -- | -- | -- |\n| token | STRING | key-for-token |\n| id | STRING | id-for-test |\n| paramA | INTEGER | 123 |\n| paramB | DOUBLE | 123.456 |\n ",inputExample:"http://localhost:11005/getAPIsList?token={token}&id={id}¶mA=123¶mB=123.456",mdOutputParams:"### 回傳數據結構: Array of objects\n| 參數 | 型別 | 範例 |\n| -- | -- | -- |\n| id | STRING | id-for-test |\n| weight | DOUBLE | 12.3 |\n| color | STRING | #f26 |\n| paramA | INTEGER | 321 |\n| paramB | DOUBLE | 654.321 |\n ",outputExample:'\n[\n {\n "id": "id-for-test-1",\n "weight": 12.3,\n "color": "#f26",\n "paramA": 101,\n "paramB": 0.01\n },\n {\n "id": "id-for-test-2",\n "weight": 22.3,\n "color": "#2f6",\n "paramA": 102,\n "paramB": 1.01\n },\n {\n "id": "id-for-test-3",\n "weight": 32.3,\n "color": "#26f",\n "paramA": 103,\n "paramB": 2.01\n }\n]\n '},{id:"id-for-apis-pets-cats-1",name:"取得貓咪清單",description:"取得貓咪清單資訊",url:"http://localhost:11005/getCatsList",method:"get",version:"v1",levels:"寵物.貓咪",keywords:"pets;cats",state:"ok",creator:"pets-system",dataSource:"pets-data",mdInputParams:"### GET網址參數\n| 參數 | 型別 | 範例 |\n| -- | -- | -- |\n| token | STRING | key-for-token |\n| id | STRING | id-for-test |\n| paramA | INTEGER | 123 |\n| paramB | DOUBLE | 123.456 |\n ",inputExample:"http://localhost:11005/getAPIsList?token={token}&id={id}¶mA=123¶mB=123.456",mdOutputParams:"### 回傳數據結構: Array of objects\n| 參數 | 型別 | 範例 |\n| -- | -- | -- |\n| id | STRING | id-for-test |\n| weight | DOUBLE | 12.3 |\n| color | STRING | #f26 |\n| paramA | INTEGER | 321 |\n| paramB | DOUBLE | 654.321 |\n ",outputExample:'\n[\n {\n "id": "id-for-test-1",\n "weight": 12.3,\n "color": "#f26",\n "paramA": 101,\n "paramB": 0.01\n },\n {\n "id": "id-for-test-2",\n "weight": 22.3,\n "color": "#2f6",\n "paramA": 102,\n "paramB": 1.01\n },\n {\n "id": "id-for-test-3",\n "weight": 32.3,\n "color": "#26f",\n "paramA": 103,\n "paramB": 2.01\n }\n]\n '},{id:"id-for-apis-pets-cats-2",name:"新增貓咪資訊",description:"新增貓咪資訊",url:"http://localhost:11005/addCat",method:"post",version:"v1",levels:"寵物.貓咪",keywords:"pets;cats",state:"ok",creator:"pets-system",dataSource:"pets-data",mdInputParams:"### POST參數\n| 參數 | 型別 | 範例 |\n| -- | -- | -- |\n| token | STRING | key-for-token |\n| id | STRING | id-for-test |\n| paramA | INTEGER | 123 |\n| paramB | DOUBLE | 123.456 |\n ",inputExample:"http://localhost:11005/getAPIsList?token={token}&id={id}¶mA=123¶mB=123.456",mdOutputParams:"### 回傳數據結構: Array of objects\n| 參數 | 型別 | 範例 |\n| -- | -- | -- |\n| id | STRING | id-for-test |\n| weight | DOUBLE | 12.3 |\n| color | STRING | #f26 |\n| paramA | INTEGER | 321 |\n| paramB | DOUBLE | 654.321 |\n ",outputExample:'\n[\n {\n "id": "id-for-test-1",\n "weight": 12.3,\n "color": "#f26",\n "paramA": 101,\n "paramB": 0.01\n },\n {\n "id": "id-for-test-2",\n "weight": 22.3,\n "color": "#2f6",\n "paramA": 102,\n "paramB": 1.01\n },\n {\n "id": "id-for-test-3",\n "weight": 32.3,\n "color": "#26f",\n "paramA": 103,\n "paramB": 2.01\n }\n]\n '},{id:"id-for-apis-pets-cats-3",name:"變更貓咪資訊",description:"變更貓咪資訊",url:"http://localhost:11005/updateCat",method:"put",version:"v1",levels:"寵物.貓咪",keywords:"pets;cats",state:"ok",creator:"pets-system",dataSource:"pets-data",mdInputParams:"### GET網址參數\n| 參數 | 型別 | 範例 |\n| -- | -- | -- |\n| token | STRING | key-for-token |\n| id | STRING | id-for-test |\n| paramA | INTEGER | 123 |\n| paramB | DOUBLE | 123.456 |\n ",inputExample:"http://localhost:11005/getAPIsList?token={token}&id={id}¶mA=123¶mB=123.456",mdOutputParams:"### 回傳數據結構: Array of objects\n| 參數 | 型別 | 範例 |\n| -- | -- | -- |\n| id | STRING | id-for-test |\n| weight | DOUBLE | 12.3 |\n| color | STRING | #f26 |\n| paramA | INTEGER | 321 |\n| paramB | DOUBLE | 654.321 |\n ",outputExample:'\n[\n {\n "id": "id-for-test-1",\n "weight": 12.3,\n "color": "#f26",\n "paramA": 101,\n "paramB": 0.01\n },\n {\n "id": "id-for-test-2",\n "weight": 22.3,\n "color": "#2f6",\n "paramA": 102,\n "paramB": 1.01\n },\n {\n "id": "id-for-test-3",\n "weight": 32.3,\n "color": "#26f",\n "paramA": 103,\n "paramB": 2.01\n }\n]\n '},{id:"id-for-apis-pets-cats-4",name:"刪除貓咪資訊",description:"刪除貓咪資訊",url:"http://localhost:11005/deleteCat",method:"del",version:"v1",levels:"寵物.貓咪",keywords:"pets;cats",state:"ok",creator:"pets-system",dataSource:"pets-data",mdInputParams:"### GET網址參數\n| 參數 | 型別 | 範例 |\n| -- | -- | -- |\n| token | STRING | key-for-token |\n| id | STRING | id-for-test |\n| paramA | INTEGER | 123 |\n| paramB | DOUBLE | 123.456 |\n ",inputExample:"http://localhost:11005/getAPIsList?token={token}&id={id}¶mA=123¶mB=123.456",mdOutputParams:"### 回傳數據結構: Array of objects\n| 參數 | 型別 | 範例 |\n| -- | -- | -- |\n| id | STRING | id-for-test |\n| weight | DOUBLE | 12.3 |\n| color | STRING | #f26 |\n| paramA | INTEGER | 321 |\n| paramB | DOUBLE | 654.321 |\n ",outputExample:'\n[\n {\n "id": "id-for-test-1",\n "weight": 12.3,\n "color": "#f26",\n "paramA": 101,\n "paramB": 0.01\n },\n {\n "id": "id-for-test-2",\n "weight": 22.3,\n "color": "#2f6",\n "paramA": 102,\n "paramB": 1.01\n },\n {\n "id": "id-for-test-3",\n "weight": 32.3,\n "color": "#26f",\n "paramA": 103,\n "paramB": 2.01\n }\n]\n '},{id:"id-for-apis-vehicles-cars-1",name:"取得汽車清單",description:"取得汽車清單資訊",url:"http://localhost:11005/getcarsList",method:"get",version:"v1",levels:"交通工具.汽車",keywords:"vehicles;cars",state:"ok",creator:"vehicles-system",dataSource:"vehicles-data",mdInputParams:"### GET網址參數\n| 參數 | 型別 | 範例 |\n| -- | -- | -- |\n| token | STRING | key-for-token |\n| id | STRING | id-for-test |\n| paramA | INTEGER | 123 |\n| paramB | DOUBLE | 123.456 |\n ",inputExample:"http://localhost:11005/getAPIsList?token={token}&id={id}¶mA=123¶mB=123.456",mdOutputParams:"### 回傳數據結構: Array of objects\n| 參數 | 型別 | 範例 |\n| -- | -- | -- |\n| id | STRING | id-for-test |\n| weight | DOUBLE | 12.3 |\n| color | STRING | #f26 |\n| paramA | INTEGER | 321 |\n| paramB | DOUBLE | 654.321 |\n ",outputExample:'\n[\n {\n "id": "id-for-test-1",\n "weight": 12.3,\n "color": "#f26",\n "paramA": 101,\n "paramB": 0.01\n },\n {\n "id": "id-for-test-2",\n "weight": 22.3,\n "color": "#2f6",\n "paramA": 102,\n "paramB": 1.01\n },\n {\n "id": "id-for-test-3",\n "weight": 32.3,\n "color": "#26f",\n "paramA": 103,\n "paramB": 2.01\n }\n]\n '},{id:"id-for-apis-vehicles-cars-2",name:"新增汽車資訊",description:"新增汽車資訊",url:"http://localhost:11005/addDog",method:"post",version:"v1",levels:"交通工具.汽車",keywords:"vehicles;cars",state:"ok",creator:"vehicles-system",dataSource:"vehicles-data",mdInputParams:"### POST參數\n| 參數 | 型別 | 範例 |\n| -- | -- | -- |\n| token | STRING | key-for-token |\n| id | STRING | id-for-test |\n| paramA | INTEGER | 123 |\n| paramB | DOUBLE | 123.456 |\n ",inputExample:"http://localhost:11005/getAPIsList?token={token}&id={id}¶mA=123¶mB=123.456",mdOutputParams:"### 回傳數據結構: Array of objects\n| 參數 | 型別 | 範例 |\n| -- | -- | -- |\n| id | STRING | id-for-test |\n| weight | DOUBLE | 12.3 |\n| color | STRING | #f26 |\n| paramA | INTEGER | 321 |\n| paramB | DOUBLE | 654.321 |\n ",outputExample:'\n[\n {\n "id": "id-for-test-1",\n "weight": 12.3,\n "color": "#f26",\n "paramA": 101,\n "paramB": 0.01\n },\n {\n "id": "id-for-test-2",\n "weight": 22.3,\n "color": "#2f6",\n "paramA": 102,\n "paramB": 1.01\n },\n {\n "id": "id-for-test-3",\n "weight": 32.3,\n "color": "#26f",\n "paramA": 103,\n "paramB": 2.01\n }\n]\n '},{id:"id-for-apis-vehicles-cars-3",name:"變更汽車資訊",description:"變更汽車資訊",url:"http://localhost:11005/updateDog",method:"put",version:"v1",levels:"交通工具.汽車",keywords:"vehicles;cars",state:"ok",creator:"vehicles-system",dataSource:"vehicles-data",mdInputParams:"### GET網址參數\n| 參數 | 型別 | 範例 |\n| -- | -- | -- |\n| token | STRING | key-for-token |\n| id | STRING | id-for-test |\n| paramA | INTEGER | 123 |\n| paramB | DOUBLE | 123.456 |\n ",inputExample:"http://localhost:11005/getAPIsList?token={token}&id={id}¶mA=123¶mB=123.456",mdOutputParams:"### 回傳數據結構: Array of objects\n| 參數 | 型別 | 範例 |\n| -- | -- | -- |\n| id | STRING | id-for-test |\n| weight | DOUBLE | 12.3 |\n| color | STRING | #f26 |\n| paramA | INTEGER | 321 |\n| paramB | DOUBLE | 654.321 |\n ",outputExample:'\n[\n {\n "id": "id-for-test-1",\n "weight": 12.3,\n "color": "#f26",\n "paramA": 101,\n "paramB": 0.01\n },\n {\n "id": "id-for-test-2",\n "weight": 22.3,\n "color": "#2f6",\n "paramA": 102,\n "paramB": 1.01\n },\n {\n "id": "id-for-test-3",\n "weight": 32.3,\n "color": "#26f",\n "paramA": 103,\n "paramB": 2.01\n }\n]\n '},{id:"id-for-apis-vehicles-cars-4",name:"刪除汽車資訊",description:"刪除汽車資訊",url:"http://localhost:11005/deleteDog",method:"del",version:"v1",levels:"交通工具.汽車",keywords:"vehicles;cars",state:"ok",creator:"vehicles-system",dataSource:"vehicles-data",mdInputParams:"### GET網址參數\n| 參數 | 型別 | 範例 |\n| -- | -- | -- |\n| token | STRING | key-for-token |\n| id | STRING | id-for-test |\n| paramA | INTEGER | 123 |\n| paramB | DOUBLE | 123.456 |\n ",inputExample:"http://localhost:11005/getAPIsList?token={token}&id={id}¶mA=123¶mB=123.456",mdOutputParams:"### 回傳數據結構: Array of objects\n| 參數 | 型別 | 範例 |\n| -- | -- | -- |\n| id | STRING | id-for-test |\n| weight | DOUBLE | 12.3 |\n| color | STRING | #f26 |\n| paramA | INTEGER | 321 |\n| paramB | DOUBLE | 654.321 |\n ",outputExample:'\n[\n {\n "id": "id-for-test-1",\n "weight": 12.3,\n "color": "#f26",\n "paramA": 101,\n "paramB": 0.01\n },\n {\n "id": "id-for-test-2",\n "weight": 22.3,\n "color": "#2f6",\n "paramA": 102,\n "paramB": 1.01\n },\n {\n "id": "id-for-test-3",\n "weight": 32.3,\n "color": "#26f",\n "paramA": 103,\n "paramB": 2.01\n }\n]\n '}],(function(t,e){var n=Jt(Mt(Mt({},t),{},{order:e}));return n.id=t.id,Object(Dt["a"])(t.timeUpdate)&&(n.timeUpdate=t.timeUpdate),n=Object(Pt["a"])(n,_t(Kt)),n}));return console.log("已產生: {keyTable} 測試資料",t),t},Ft={keyTable:Ht,tableNameCht:Wt,tableNameEng:zt,settings:Kt,funNew:Jt,funTest:Vt},Xt=Ft,qt=n("a623"),Qt={apis:Xt},Yt={};for(var Zt in Qt)Yt[Zt]=Object(qt["a"])(Qt[Zt],{useCreateStorage:!1});var te,ee=Yt,ne={hostname:"".concat(window.location.origin),webInfor:{},connState:"連線中...",syncState:!1,viewState:"lists",loading:!1,settings:{leftDrawerWidth:200},heightApp:0,heightAppEff:0,heightToolbar:50,menu:{},userToken:"",userSelf:{id:"id-for-admin",name:"系統管理員",email:"admin@email.com",isAdmin:!0},lang:"cht",keyLangs:{noSelectApi:{eng:"No Select",cht:"尚未選擇API"},waitingData:{eng:"Waiting data...",cht:"等待數據中..."},tokens:{eng:"Tokens",cht:"授權金鑰"},version:{eng:"Version",cht:"版本"},levels:{eng:"Levels",cht:"所屬階層"},keywords:{eng:"Keywords",cht:"關鍵字"},state:{eng:"State",cht:"狀態"},timeCreate:{eng:"Create time",cht:"創建時間"},timeUpdate:{eng:"Update time",cht:"更新時間"},creator:{eng:"Creator",cht:"API創建者"},dataSource:{eng:"Source",cht:"資料提供者"},isActive:{eng:"Active",cht:"有效"},mdInputParams:{eng:"Input",cht:"輸入參數資訊或結構"},inputExample:{eng:"Input example",cht:"輸入範例"},mdOutputParams:{eng:"Output",cht:"回傳數據結構"},outputExample:{eng:"Output example",cht:"回傳數據範例"},outputMenuTree:{eng:"Tree",cht:"樹狀組件"},outputMenuRaw:{eng:"Raw",cht:"原始數據"}}};w(ee,(function(t,e){ne[e]=null}));var ae=(te={},vt(te,yt,(function(t,e){t.webInfor=e})),vt(te,bt,(function(t,e){t.lang=e})),vt(te,St,(function(t,e){t.connState=e})),vt(te,kt,(function(t,e){t.syncState=e})),vt(te,Tt,(function(t,e){t.loading=e})),vt(te,It,(function(t,e){t.viewState=e})),vt(te,Et,(function(t,e){t[e.tableName]=e.data})),vt(te,At,(function(t,e){A(t,e.path,e.data)})),vt(te,Ot,(function(t,e){t.heightApp=e})),vt(te,wt,(function(t,e){t.heightAppEff=e})),vt(te,xt,(function(t,e){t.heightToolbar=e})),vt(te,Bt,(function(t,e){t.menu=e})),vt(te,Gt,(function(t,e){t.userToken=e})),vt(te,Nt,(function(t,e){t.userSelf=e})),te);d["a"].use(ht);var re=new ht.Store({state:ne,mutations:ae,getters:r,actions:i,strict:!0});re.types=a,d["a"].prototype.$store=re;var ie=re,oe=n("f309");d["a"].use(oe["a"]);var se=new oe["a"]({icons:{iconfont:"mdiSvg"}}),pe=n("c973"),de=n("a34a"),ce=(n("004e"),n("5e9e"),n("63ea"),n("eed6"),n("9380"),n("4416"),n("6625"),n("ded5"),n("e726"),n("27d4"),n("6edf"),n("c707"),n("a7f7"),n("6578")),le=(n("fe98"),n("0bce"),n("60e1"),n("6560"),n("d029")),ue=(n("1fdc"),n("3001")),me=(n("05f1"),n("9871"),n("750f"),n("194f"),n("d71d"),n("04cd")),fe=(n("dd60"),n("40dd"),n("eeac"),n("94c5"),n("04a3"),n("b4cd"));n("a295"),n("1be0"),n("8264"),n("7dc1"),n("ed05"),n("bd82"),n("43e3"),n("c457");function ge(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,a)}return n}function he(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?ge(Object(n),!0).forEach((function(e){vt(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):ge(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}var ve=d["a"].prototype;function ye(t){ve.$store.commit(ve.$store.types.UpdateConnState,t)}function be(t){ve.$store.commit(ve.$store.types.UpdateLoading,t)}function Se(t){ve.$store.commit(ve.$store.types.UpdateViewState,t)}function ke(){var t=s(ve,"$store.state.keyLangs"),e=s(ve,"$store.state.webInfor.webName"),n=he(he({},t),{},{webName:he({},e)}),a=s(ve,"$store.state.lang"),r={};return w(n,(function(t,e){r[e]=t[a]})),r}function Te(){var t=s(ve,"$store.state.heightToolbar"),e=window.innerHeight-t;return ve.$store.commit(ve.$store.types.UpdateHeightApp,window.innerHeight),ve.$store.commit(ve.$store.types.UpdateHeightAppEff,e),""}function Ie(){return Ee.apply(this,arguments)}function Ee(){return Ee=pe(de.mark((function t(){var e,n=arguments;return de.wrap((function(t){while(1)switch(t.prev=t.next){case 0:if(e=n.length>0&&void 0!==n[0]?n[0]:0,!(e>0)){t.next=4;break}return t.next=4,Object(ce["a"])(e);case 4:return t.next=6,Object(me["a"])((function(){return Object(C["a"])(s(ve,"$dsrl"))}));case 6:return t.next=8,Object(me["a"])((function(){return s(ve,"$store.state.syncState")}));case 8:case"end":return t.stop()}}),t)}))),Ee.apply(this,arguments)}var Ae={updateConnState:ye,updateLoading:be,updateViewState:Se,getKpLang:ke,syncHeight:Te,waitData:Ie},Oe=Ae;function we(t){function e(e,n,a){var r=_(t,vt({},e,n));return r||(r=""),Object(Dt["a"])(a)&&(r=s(r,a,"")),r}function n(t){return e("keyTable",t,"tableNameCht")}return{getTableInforBy:e,getTableChtByKey:n}}var xe=we;function Be(t){return{}}var Ge=Be,Ne=(n("abdd"),n("501e"),n("459d"),n("3103"),n("8150"),n("3e25"),n("c6ff")),Re=(n("e0a9"),n("1729"),n("9b28")),_e=n("d5a1");function Ue(t,e,n,a){var r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"id",i=s(t,e,"");if(!Object(Dt["a"])(i))return{};var o=_(a,vt({},r,i));return Object(C["a"])(o)?(t[n]=o,t):{}}function Le(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"無",a=s(t,e,"");return Object(Dt["a"])(a)?a:n}function Pe(t){if(t.indexOf("R")<0)return{name:t,version:null};var e=Object(ue["a"])(t,"R"),n=s(e,0,""),a=s(e,1,""),r=B(a);if(r<5)return{name:t,version:null};r>5&&(a=Object(le["a"])(a,5));var i=Object(Re["a"])(a,0,1),o=Object(Re["a"])(a,1,1),p=Object(Re["a"])(a,2,1),d=Object(Re["a"])(a,3,1),c=Object(Re["a"])(a,4,1);if(!Object(Ne["a"])(i)||!Object(Ne["a"])(o)||!Object(Ne["a"])(d)||!Object(Ne["a"])(c)||"."!==p)return{name:t,version:null};var l="R".concat(a);return{name:n,version:l}}function je(t){var e=Object(fe["a"])(t);return e=s(e,"msg","無"),e}d["a"].config.productionTip=!1,d["a"].prototype.$alert=function(){var t=Array.prototype.slice.call(arguments),e=t[0],n=t[1];console.log(e,n),"close"!==e&&Object(l["a"])(e,n)};var Ce=xe(ee),De=Ge(d["a"].prototype);d["a"].prototype.$ui=Oe,d["a"].prototype.$s=o,d["a"].prototype.$dssm=Ce,d["a"].prototype.$dspt=De,d["a"].prototype.$dg={},d["a"].directive("domresize",Object(m["a"])()),d["a"].directive("dommutation",Object(u["a"])()),d["a"].directive("domdragdrop",Object(f["a"])());var $e=!1;Object(c["a"])({getUrl:function(){return window.location.origin+window.location.pathname},useWaitToken:!1,getToken:function(){return p()(d["a"].prototype,"$store.state.userToken","")},getServerMethods:function(t){console.log("$fapi",t),d["a"].prototype.$fapi=t,t.getWebInfor().then((function(t){d["a"].prototype.$store.commit(d["a"].prototype.$store.types.UpdateWebInfor,t)})).catch((function(t){console.log(t)}))},recvData:function(t){console.log("sync data",t.tableName,t.data),d["a"].prototype.$store.commit(d["a"].prototype.$store.types.UpdateTableData,t)},getAfterUpdateTableTags:function(t){$e||($e=!0,console.log("first-sync"),d["a"].prototype.$store.commit(d["a"].prototype.$store.types.UpdateSyncState,!0))}}),new d["a"]({vuetify:se,store:ie,render:function(t){return t(gt)}}).$mount("#app")},8096:function(t,e,n){},"85ec":function(t,e,n){},a0e4:function(t,e,n){},bda0:function(t,e,n){"use strict";n("a0e4")}});
|
|
2
|
+
//# sourceMappingURL=app.462646b9.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/App.vue?a022","webpack:///./src/components/MdPanel.vue?2ae0","webpack:///./src/App.vue?d8e3","webpack:///./src/components/Layout.vue?fbb7","webpack:///./src/components/LayoutContent.vue?ecd5","webpack:///./src/components/LayoutContentList.vue?f6ff","webpack:///./src/components/MdPanel.vue?45e1","webpack:///src/components/MdPanel.vue","webpack:///./src/components/MdPanel.vue?45ad","webpack:///./src/components/MdPanel.vue","webpack:///src/components/LayoutContentList.vue","webpack:///./src/components/LayoutContentList.vue?7190","webpack:///./src/components/LayoutContentList.vue","webpack:///src/components/LayoutContent.vue","webpack:///./src/components/LayoutContent.vue?5b65","webpack:///./src/components/LayoutContent.vue","webpack:///src/components/Layout.vue","webpack:///./src/components/Layout.vue?ff31","webpack:///./src/components/Layout.vue","webpack:///src/App.vue","webpack:///./src/App.vue?4c4f","webpack:///./src/App.vue?430b","webpack:///./src/store/types.mjs","webpack:///./src/schema/tables/apis.mjs","webpack:///./src/schema/index.mjs","webpack:///./src/store/mutations.mjs","webpack:///./src/store/index.mjs","webpack:///./src/plugins/mVuetify.mjs","webpack:///./src/plugins/mUI.mjs","webpack:///./src/plugins/mDataSelectorSchema.mjs","webpack:///./src/plugins/mDataSupport.mjs","webpack:///./src/plugins/mShare.mjs","webpack:///./src/main.js","webpack:///./src/components/LayoutContentList.vue?5d59"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","_vm","this","_h","$createElement","_c","_self","directives","rawName","on","resize","attrs","_e","staticRenderFns","staticStyle","style","heightToolbar","_v","_s","webName","tgLangs","changeLang","model","callback","$$v","tgLangSelect","expression","kpTexts","waitingData","changeApis","apisTree","lineHeightTree","apiActive","funActive","scopedSlots","_u","fn","props","type","$event","ckItem","getItemByKey","text","getMethodColorByKey","getMethodByKey","$s","gv","getMethodColor","apiSelect","getMethod","staticClass","tokens","version","levels","keywords","state","timeCreate","getDay","timeUpdate","creator","dataSource","isActive","mdInputParams","inputExample","mdOutputParams","outputExample","optputMenuItems","optputMenuItemSelect","top","changeOptputMenuItemSelect","optputMenuItemSelectId","getOutputJsonObj","getOutputJson","noSelectApi","domProps","mdh","components","md","default","computed","cv","methods","component","WGroupRadio","WTree","WJsonView","MdPanel","kpApisTree","kpColorMethod","GET","POST","PUT","DEL","apis","vo","hasApis","id","icon","genTree","each","kpTree","set","bindRoot","LayoutContentList","syncState","WButtonCircle","WTextSelect","LayoutContent","drawer","document","lang","viewState","Layout","ready","UpdateWebInfor","UpdateLang","UpdateConnState","UpdateSyncState","UpdateLoading","UpdateViewState","UpdateTableData","UpdateData","UpdateHeightApp","UpdateHeightAppEff","UpdateHeightToolbar","UpdateMenu","UpdateUserToken","UpdateUserSelf","keyTable","tableNameCht","tableNameEng","settings","pk","funNew","ndata","dtmapping","keys","now2strp","genID","nowms2str","funTest","rs","map","item","k","v","order","isestr","dtpick","console","log","tab","cs","ds","build","useCreateStorage","hostname","location","origin","webInfor","connState","loading","leftDrawerWidth","heightApp","heightAppEff","menu","userToken","userSelf","email","isAdmin","keyLangs","eng","cht","outputMenuTree","outputMenuRaw","mutations","types","msg","tableName","path","Vue","use","Vuex","st","Store","getters","actions","strict","$store","Vuetify","icons","iconfont","updateConnState","commit","updateLoading","updateViewState","getKpLang","kls","kp","syncHeight","innerHeight","waitData","delay","waitFun","iseobj","mUI","mDataSelectorSchema","getTableInforBy","keyFind","valueFind","keyPick","find","getTableChtByKey","mDataSupport","dtAddAndLtdtFind","dt","keyDtSrc","keyDtSave","ltdt","keyLtdt","def","parseNameByVersion","indexOf","sep","s0","s1","nv","size","strleft","c0","strmid","c1","c2","c3","c4","isnum","timeFormaterPast","timemsTZ2past","config","productionTip","$alert","arguments","WAlert","dssm","dspt","$ui","ui","$dssm","$dspt","$dg","directive","domResize","domMutation","domDragDrop","bFirstSync","WServHapiClient","getUrl","pathname","useWaitToken","getToken","getServerMethods","_fapi","$fapi","getWebInfor","then","wi","catch","err","recvData","getAfterUpdateTableTags","vuetify","mVuetify","store","render","h","App","$mount"],"mappings":"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","file":"js/app.462646b9.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([1,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=css&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MdPanel.vue?vue&type=style&index=0&id=6700278b&scoped=true&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"domresize\",rawName:\"v-domresize\"}],on:{\"domresize\":_vm.resize}},[_c('transition',{attrs:{\"enter-active-class\":\"fade-enter-active\",\"leave-active-class\":\"fade-leave-active\"}},[(_vm.ready)?_c('Layout'):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"height\":\"100vh\",\"background\":\"#f5f5f5\"}},[_c('div',{style:((\"height:\" + _vm.heightToolbar + \"px; padding:0px 10px; display:flex; align-items:center; background:#fff; border-bottom:1px solid #ccc;\"))},[(false)?_c('WButtonCircle',{attrs:{\"icon\":'mdi-menu',\"tooltip\":'左側選單',\"shadow\":false},on:{\"click\":function($event){_vm.drawer = !_vm.drawer}}}):_vm._e(),(false)?_c('WButtonCircle',{attrs:{\"icon\":'mdi-menu',\"tooltip\":'cht',\"shadow\":false},on:{\"click\":function($event){return _vm.$store.commit(_vm.$store.types.UpdateLang, 'cht')}}}):_vm._e(),(false)?_c('WButtonCircle',{attrs:{\"icon\":'mdi-menu',\"tooltip\":'eng',\"shadow\":false},on:{\"click\":function($event){return _vm.$store.commit(_vm.$store.types.UpdateLang, 'eng')}}}):_vm._e(),_c('div',{staticStyle:{\"padding-left\":\"10px\",\"font-size\":\"1.2rem\",\"color\":\"#000\",\"white-space\":\"nowrap\"}},[_c('div',[_vm._v(_vm._s(_vm.webName))])]),_c('div',{staticStyle:{\"width\":\"100%\"}}),_c('div',{staticStyle:{\"padding-right\":\"10px\",\"white-space\":\"nowrap\"}},[_c('WTextSelect',{attrs:{\"items\":_vm.tgLangs},on:{\"input\":_vm.changeLang},model:{value:(_vm.tgLangSelect),callback:function ($$v) {_vm.tgLangSelect=$$v},expression:\"tgLangSelect\"}})],1)],1),_c('div',{style:((\"height:calc( 100% - \" + _vm.heightToolbar + \"px );\"))},[_c('LayoutContent')],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"height\":\"100%\"}},[(_vm.syncState)?[_c('LayoutContentList')]:_c('div',{staticStyle:{\"padding\":\"20px\",\"font-size\":\"0.9rem\"}},[_vm._v(\" \"+_vm._s(_vm.kpTexts.waitingData)+\" \")])],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"height\":\"100%\"},attrs:{\"changeApis\":_vm.changeApis}},[(_vm.hasApis)?_c('div',{staticStyle:{\"display\":\"flex\",\"height\":\"100%\"}},[_c('div',{staticStyle:{\"min-width\":\"400px\",\"height\":\"100%\",\"_font-size\":\"10pt\",\"color\":\"#444\",\"background\":\"#fff\",\"overflow-y\":\"auto\"}},[_c('WTree',{attrs:{\"viewHeightMax\":null,\"data\":_vm.apisTree,\"iconHeight\":_vm.lineHeightTree,\"defItemHeight\":_vm.lineHeightTree,\"activable\":true,\"activeItem\":_vm.apiActive,\"fun-active\":_vm.funActive,\"itemTextColorActive\":'#000',\"itemBackgroundColorActive\":'rgba(100,100,100,0.15)'},scopedSlots:_vm._u([{key:\"item\",fn:function(props){return [(props.data.type!=='node')?_c('div',{style:((\"display:flex; align-items:center; min-height:\" + _vm.lineHeightTree + \"px;\"))},[_vm._v(\" \"+_vm._s(props.data.key)+\" \")]):_c('div',{style:((\"display:flex; align-items:center; min-height:\" + _vm.lineHeightTree + \"px; cursor:pointer;\")),on:{\"click\":function($event){_vm.ckItem(_vm.getItemByKey(props.data.text))}}},[_c('div',{staticStyle:{\"padding-right\":\"5px\"}},[_c('div',{style:((\"padding:0px 6px; font-size:0.7rem; border-radius:10px; border:1px solid #ddd; color:#fff; background:\" + (_vm.getMethodColorByKey(props.data.text)) + \";\"))},[_vm._v(\" \"+_vm._s(_vm.getMethodByKey(props.data.text))+\" \")])]),_c('div',[_vm._v(\" \"+_vm._s(_vm.$s.gv(_vm.getItemByKey(props.data.text),'name'))+\" \")])])]}}],null,false,544334598)})],1),_c('div',{staticStyle:{\"height\":\"100%\",\"border-right\":\"1px solid #ddd\"}}),(_vm.apiSelect)?_c('div',{staticStyle:{\"width\":\"100%\",\"height\":\"100%\",\"overflow-y\":\"auto\"}},[_c('div',{staticStyle:{\"padding\":\"15px 20px 10px 10px\"}},[_c('div',{staticStyle:{\"padding\":\"5px\"}},[_c('div',{staticStyle:{\"padding\":\"10px\",\"border-radius\":\"5px\",\"border\":\"1px solid #ddd\",\"background\":\"#fff\",\"display\":\"flex\",\"align-items\":\"center\"}},[_c('div',{staticStyle:{\"padding-right\":\"5px\"}},[_c('div',{style:((\"padding:0px 6px; font-size:0.7rem; border-radius:10px; border:1px solid #ddd; color:#fff; background:\" + (_vm.getMethodColor(_vm.apiSelect)) + \";\"))},[_vm._v(\" \"+_vm._s(_vm.getMethod(_vm.apiSelect))+\" \")])]),_c('div',{staticStyle:{\"font-size\":\"0.8rem\"}},[_vm._v(\" \"+_vm._s(_vm.$s.gv(_vm.apiSelect,'url'))+\" \")])])]),_c('div',{staticStyle:{\"padding\":\"10px\"}},[_c('div',{staticStyle:{\"color\":\"#485ed5\"}},[_vm._v(\" \"+_vm._s(_vm.$s.gv(_vm.apiSelect,'name'))+\" \")]),_c('div',{staticClass:\"bk-title\"},[_vm._v(\" \"+_vm._s(_vm.$s.gv(_vm.apiSelect,'description'))+\" \")])]),_c('div',{staticStyle:{\"padding\":\"10px\"}},[_c('div',{staticClass:\"bk\"},[_c('div',{staticClass:\"bk-title\"},[_vm._v(\" \"+_vm._s(_vm.kpTexts.tokens)+\" \")]),_c('div',{staticClass:\"bk-item\"},[_vm._v(\" \"+_vm._s(_vm.$s.gv(_vm.apiSelect,'tokens'))+\" \")])]),_c('div',{staticClass:\"bk\"},[_c('div',{staticClass:\"bk-title\"},[_vm._v(\" \"+_vm._s(_vm.kpTexts.version)+\" \")]),_c('div',{staticClass:\"bk-item\"},[_vm._v(\" \"+_vm._s(_vm.$s.gv(_vm.apiSelect,'version'))+\" \")])]),_c('div',{staticClass:\"bk\"},[_c('div',{staticClass:\"bk-title\"},[_vm._v(\" \"+_vm._s(_vm.kpTexts.levels)+\" \")]),_c('div',{staticClass:\"bk-item\"},[_vm._v(\" \"+_vm._s(_vm.$s.gv(_vm.apiSelect,''))+\" \")])]),_c('div',{staticClass:\"bk\"},[_c('div',{staticClass:\"bk-title\"},[_vm._v(\" \"+_vm._s(_vm.kpTexts.keywords)+\" \")]),_c('div',{staticClass:\"bk-item\"},[_vm._v(\" \"+_vm._s(_vm.$s.gv(_vm.apiSelect,''))+\" \")])]),_c('div',{staticClass:\"bk\"},[_c('div',{staticClass:\"bk-title\"},[_vm._v(\" \"+_vm._s(_vm.kpTexts.state)+\" \")]),_c('div',{staticClass:\"bk-item\"},[_vm._v(\" \"+_vm._s(_vm.$s.gv(_vm.apiSelect,''))+\" \")])]),_c('div',{staticClass:\"bk\"},[_c('div',{staticClass:\"bk-title\"},[_vm._v(\" \"+_vm._s(_vm.kpTexts.timeCreate)+\" \")]),_c('div',{staticClass:\"bk-item\"},[_vm._v(\" \"+_vm._s(_vm.getDay(_vm.$s.gv(_vm.apiSelect,'timeCreate')))+\" \")])]),_c('div',{staticClass:\"bk\"},[_c('div',{staticClass:\"bk-title\"},[_vm._v(\" \"+_vm._s(_vm.kpTexts.timeUpdate)+\" \")]),_c('div',{staticClass:\"bk-item\"},[_vm._v(\" \"+_vm._s(_vm.getDay(_vm.$s.gv(_vm.apiSelect,'timeUpdate')))+\" \")])]),_c('div',{staticClass:\"bk\"},[_c('div',{staticClass:\"bk-title\"},[_vm._v(\" \"+_vm._s(_vm.kpTexts.creator)+\" \")]),_c('div',{staticClass:\"bk-item\"},[_vm._v(\" \"+_vm._s(_vm.$s.gv(_vm.apiSelect,'creator'))+\" \")])]),_c('div',{staticClass:\"bk\"},[_c('div',{staticClass:\"bk-title\"},[_vm._v(\" \"+_vm._s(_vm.kpTexts.dataSource)+\" \")]),_c('div',{staticClass:\"bk-item\"},[_vm._v(\" \"+_vm._s(_vm.$s.gv(_vm.apiSelect,'dataSource'))+\" \")])]),_c('div',{staticClass:\"bk\"},[_c('div',{staticClass:\"bk-title\"},[_vm._v(\" \"+_vm._s(_vm.kpTexts.isActive)+\" \")]),_c('div',{staticClass:\"bk-item\"},[_vm._v(\" \"+_vm._s(_vm.$s.gv(_vm.apiSelect,'isActive'))+\" \")])])]),_c('div',{staticStyle:{\"padding\":\"10px\"}},[_c('div',{staticClass:\"bk-title\"},[_vm._v(\" \"+_vm._s(_vm.kpTexts.mdInputParams)+\" \")]),_c('div',{staticClass:\"bk-item\",staticStyle:{\"padding\":\"10px\"}},[_c('MdPanel',{attrs:{\"md\":_vm.$s.gv(_vm.apiSelect,'mdInputParams')}})],1)]),_c('div',{staticStyle:{\"padding\":\"10px\"}},[_c('div',{staticClass:\"bk-title\"},[_vm._v(\" \"+_vm._s(_vm.kpTexts.inputExample)+\" \")]),_c('div',{staticClass:\"bk-item\",staticStyle:{\"padding\":\"10px\"}},[_vm._v(\" \"+_vm._s(_vm.$s.gv(_vm.apiSelect,'inputExample'))+\" \")])]),_c('div',{staticStyle:{\"padding\":\"10px\"}},[_c('div',{staticClass:\"bk-title\"},[_vm._v(\" \"+_vm._s(_vm.kpTexts.mdOutputParams)+\" \")]),_c('div',{staticClass:\"bk-item\",staticStyle:{\"padding\":\"10px\"}},[_c('MdPanel',{attrs:{\"md\":_vm.$s.gv(_vm.apiSelect,'mdOutputParams')}})],1)]),_c('div',{staticStyle:{\"padding\":\"10px\"}},[_c('div',{staticClass:\"bk-title\"},[_vm._v(\" \"+_vm._s(_vm.kpTexts.outputExample)+\" \")]),_c('div',{staticStyle:{\"padding-top\":\"10px\"}},[_c('div',{staticStyle:{\"padding-left\":\"10px\",\"margin-bottom\":\"-1px\"}},[_c('WGroupRadio',{attrs:{\"items\":_vm.optputMenuItems,\"value\":_vm.optputMenuItemSelect,\"group\":true,\"group-border-radius-style\":{top:true},\"group-shift\":7,\"border-radius\":20,\"border-color\":'#ddd',\"border-color-hover\":'#dadada',\"border-color-active\":'orange lighten-2',\"margin-style\":{}},on:{\"input\":_vm.changeOptputMenuItemSelect}})],1),_c('div',{staticStyle:{\"border\":\"1px solid #ddd\",\"background\":\"#fff\"}},[(_vm.optputMenuItemSelectId==='tree')?_c('div',{},[_c('WJsonView',{staticStyle:{\"width\":\"100%\"},attrs:{\"viewHeightMax\":null,\"data\":_vm.getOutputJsonObj(_vm.apiSelect)}})],1):_vm._e(),(_vm.optputMenuItemSelectId==='raw')?_c('div',{staticStyle:{\"padding\":\"10px\",\"color\":\"#555\",\"font-size\":\"0.85rem\"}},[_c('pre',[_vm._v(_vm._s(_vm.getOutputJson(_vm.apiSelect)))])]):_vm._e()])])])])]):_c('div',{staticStyle:{\"padding\":\"20px\",\"font-size\":\"0.9rem\"}},[_vm._v(\" \"+_vm._s(_vm.kpTexts.noSelectApi)+\" \")])]):_c('div',{staticStyle:{\"padding\":\"20px\",\"font-size\":\"0.9rem\"}},[_vm._v(\" \"+_vm._s(_vm.kpTexts.waitingData)+\" \")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"md\",domProps:{\"innerHTML\":_vm._s(_vm.mdh)}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div>\r\n <div class=\"md\" v-html=\"mdh\"></div>\r\n </div>\r\n</template>\r\n\r\n<script>\r\n// import get from 'lodash/get'\r\n// import find from 'lodash/find'\r\n// import each from 'lodash/each'\r\n// import map from 'lodash/map'\r\n// import size from 'lodash/size'\r\n// import sortBy from 'lodash/sortBy'\r\n// import isNumber from 'lodash/isNumber'\r\n// import cloneDeep from 'lodash/cloneDeep'\r\n// import sep from 'wsemi/src/sep.mjs'\r\n// import isobj from 'wsemi/src/isobj.mjs'\r\n// import iseobj from 'wsemi/src/iseobj.mjs'\r\n// import isestr from 'wsemi/src/isestr.mjs'\r\n// import isearr from 'wsemi/src/isearr.mjs'\r\n// import pmSeries from 'wsemi/src/pmSeries.mjs'\r\n// import waitFun from 'wsemi/src/waitFun.mjs'\r\n// import strleft from 'wsemi/src/strleft.mjs'\r\n// import strdelleft from 'wsemi/src/strdelleft.mjs'\r\n// import str2aes from 'wsemi/src/str2aes.mjs'\r\n// import timeTZ2past from 'wsemi/src/timeTZ2past.mjs'\r\nimport Showdown from 'showdown'\r\n// import MarkdownIt from 'markdown-it'\r\n\r\n\r\nexport default {\r\n components: {\r\n },\r\n props: {\r\n md: {\r\n type: String,\r\n default: '',\r\n },\r\n },\r\n data: function() {\r\n return {\r\n }\r\n },\r\n computed: {\r\n\r\n mdh: function() {\r\n let vo = this\r\n\r\n // md = `| 參數 | 型別 | 範例 |\r\n // | -- | -- | -- |\r\n // | token | STRING | key-for-token |\r\n // | id | STRING | id-for-test |\r\n // | paramA | INTEGER | 123 |\r\n // | paramB | DOUBLE | 123.456 |\r\n // `\r\n\r\n let cv = new Showdown.Converter()\r\n cv.setOption('tables', true)\r\n let html = cv.makeHtml(vo.md)\r\n\r\n // let cv = new MarkdownIt()\r\n // let html = cv.render(vo.md)\r\n\r\n // console.log('md', md)\r\n // console.log('html', html)\r\n return html\r\n },\r\n\r\n },\r\n methods: {\r\n }\r\n}\r\n</script>\r\n\r\n<style scoped>\r\n\r\n.md >>> table {\r\n border-collapse: collapse;\r\n margin: 0;\r\n padding: 0;\r\n word-break: initial;\r\n}\r\n\r\n.md >>> tr {\r\n margin: 0;\r\n padding: 0;\r\n}\r\n\r\n.md >>> table tr th {\r\n font-weight: bold;\r\n background: #eee;\r\n border: 1px solid #ddd;\r\n border-bottom: 0;\r\n margin: 0;\r\n padding: 6px 13px;\r\n}\r\n\r\n.md >>> table tr td {\r\n border: 1px solid #ddd;\r\n margin: 0;\r\n padding: 6px 13px;\r\n}\r\n\r\n.md >>> h1 {\r\n font-weight: bold;\r\n font-size: 1.2rem;\r\n line-height: 1.2rem;\r\n margin-top: 0.5rem;\r\n margin-bottom: 0.5rem;\r\n}\r\n\r\n.md >>> h2 {\r\n font-weight: bold;\r\n font-size: 1.1rem;\r\n line-height: 1.1rem;\r\n margin-top: 0.5rem;\r\n margin-bottom: 0.5rem;\r\n}\r\n\r\n.md >>> h3 {\r\n font-weight: bold;\r\n font-size: 1rem;\r\n line-height: 1rem;\r\n margin-top: 0.5rem;\r\n margin-bottom: 0.5rem;\r\n}\r\n\r\n.md >>> h4 {\r\n font-weight: bold;\r\n font-size: 1rem;\r\n line-height: 1rem;\r\n margin-top: 0.5rem;\r\n margin-bottom: 0.5rem;\r\n}\r\n\r\n.md >>> h5 {\r\n font-weight: bold;\r\n font-size: 1rem;\r\n line-height: 1rem;\r\n margin-top: 0.5rem;\r\n margin-bottom: 0.5rem;\r\n}\r\n\r\n.md >>> h6 {\r\n font-weight: bold;\r\n font-size: 1rem;\r\n line-height: 1rem;\r\n margin-top: 0.5rem;\r\n margin-bottom: 0.5rem;\r\n}\r\n\r\n</style>\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MdPanel.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MdPanel.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MdPanel.vue?vue&type=template&id=6700278b&scoped=true&\"\nimport script from \"./MdPanel.vue?vue&type=script&lang=js&\"\nexport * from \"./MdPanel.vue?vue&type=script&lang=js&\"\nimport style0 from \"./MdPanel.vue?vue&type=style&index=0&id=6700278b&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6700278b\",\n null\n \n)\n\nexport default component.exports","<template>\r\n <div\r\n style=\"height:100%;\"\r\n :changeApis=\"changeApis\"\r\n >\r\n\r\n <div style=\"display:flex; height:100%;\" v-if=\"hasApis\">\r\n\r\n <div style=\"min-width:400px; height:100%; _font-size:10pt; color:#444; background:#fff; overflow-y:auto;\">\r\n\r\n <WTree\r\n :viewHeightMax=\"null\"\r\n :data=\"apisTree\"\r\n :iconHeight=\"lineHeightTree\"\r\n :defItemHeight=\"lineHeightTree\"\r\n :activable=\"true\"\r\n :activeItem=\"apiActive\"\r\n :fun-active=\"funActive\"\r\n :itemTextColorActive=\"'#000'\"\r\n :itemBackgroundColorActive =\"'rgba(100,100,100,0.15)'\"\r\n >\r\n <template v-slot:item=\"props\">\r\n\r\n <div\r\n :style=\"`display:flex; align-items:center; min-height:${lineHeightTree}px;`\"\r\n v-if=\"props.data.type!=='node'\"\r\n >\r\n {{props.data.key}}\r\n </div>\r\n\r\n <div\r\n :style=\"`display:flex; align-items:center; min-height:${lineHeightTree}px; cursor:pointer;`\"\r\n @click=\"ckItem(getItemByKey(props.data.text))\"\r\n v-else\r\n >\r\n\r\n <div style=\"padding-right:5px;\">\r\n <div :style=\"`padding:0px 6px; font-size:0.7rem; border-radius:10px; border:1px solid #ddd; color:#fff; background:${getMethodColorByKey(props.data.text)};`\">\r\n {{getMethodByKey(props.data.text)}}\r\n </div>\r\n </div>\r\n\r\n <div>\r\n {{$s.gv(getItemByKey(props.data.text),'name')}}\r\n </div>\r\n\r\n </div>\r\n\r\n </template>\r\n </WTree>\r\n\r\n </div>\r\n\r\n <div style=\"height:100%; border-right:1px solid #ddd;\"></div>\r\n\r\n <div style=\"width:100%; height:100%; overflow-y:auto;\" v-if=\"apiSelect\">\r\n <div style=\"padding:15px 20px 10px 10px;\">\r\n\r\n <div style=\"padding:5px;\">\r\n\r\n <div style=\"padding:10px; border-radius:5px; border:1px solid #ddd; background:#fff; display:flex; align-items:center;\">\r\n\r\n <div style=\"padding-right:5px;\">\r\n <div :style=\"`padding:0px 6px; font-size:0.7rem; border-radius:10px; border:1px solid #ddd; color:#fff; background:${getMethodColor(apiSelect)};`\">\r\n {{getMethod(apiSelect)}}\r\n </div>\r\n </div>\r\n\r\n <div style=\"font-size:0.8rem;\">\r\n {{$s.gv(apiSelect,'url')}}\r\n </div>\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n <div style=\"padding:10px;\">\r\n\r\n <div style=\"color:#485ed5;\">\r\n {{$s.gv(apiSelect,'name')}}\r\n </div>\r\n\r\n <div class=\"bk-title\" style=\"\">\r\n {{$s.gv(apiSelect,'description')}}\r\n </div>\r\n\r\n </div>\r\n\r\n <div style=\"padding:10px;\">\r\n\r\n <div class=\"bk\" style=\"\">\r\n\r\n <div class=\"bk-title\" style=\"\">\r\n {{kpTexts.tokens}}\r\n </div>\r\n\r\n <div class=\"bk-item\" style=\"\">\r\n {{$s.gv(apiSelect,'tokens')}}\r\n </div>\r\n\r\n </div>\r\n\r\n <div class=\"bk\" style=\"\">\r\n\r\n <div class=\"bk-title\" style=\"\">\r\n {{kpTexts.version}}\r\n </div>\r\n\r\n <div class=\"bk-item\" style=\"\">\r\n {{$s.gv(apiSelect,'version')}}\r\n </div>\r\n\r\n </div>\r\n\r\n <div class=\"bk\" style=\"\">\r\n\r\n <div class=\"bk-title\" style=\"\">\r\n {{kpTexts.levels}}\r\n </div>\r\n\r\n <div class=\"bk-item\" style=\"\">\r\n {{$s.gv(apiSelect,'')}}\r\n </div>\r\n\r\n </div>\r\n\r\n <div class=\"bk\" style=\"\">\r\n\r\n <div class=\"bk-title\" style=\"\">\r\n {{kpTexts.keywords}}\r\n </div>\r\n\r\n <div class=\"bk-item\" style=\"\">\r\n {{$s.gv(apiSelect,'')}}\r\n </div>\r\n\r\n </div>\r\n\r\n <div class=\"bk\" style=\"\">\r\n\r\n <div class=\"bk-title\" style=\"\">\r\n {{kpTexts.state}}\r\n </div>\r\n\r\n <div class=\"bk-item\" style=\"\">\r\n {{$s.gv(apiSelect,'')}}\r\n </div>\r\n\r\n </div>\r\n\r\n <div class=\"bk\" style=\"\">\r\n\r\n <div class=\"bk-title\" style=\"\">\r\n {{kpTexts.timeCreate}}\r\n </div>\r\n\r\n <div class=\"bk-item\" style=\"\">\r\n {{getDay($s.gv(apiSelect,'timeCreate'))}}\r\n </div>\r\n\r\n </div>\r\n\r\n <div class=\"bk\" style=\"\">\r\n\r\n <div class=\"bk-title\" style=\"\">\r\n {{kpTexts.timeUpdate}}\r\n </div>\r\n\r\n <div class=\"bk-item\" style=\"\">\r\n {{getDay($s.gv(apiSelect,'timeUpdate'))}}\r\n </div>\r\n\r\n </div>\r\n\r\n <div class=\"bk\" style=\"\">\r\n\r\n <div class=\"bk-title\" style=\"\">\r\n {{kpTexts.creator}}\r\n </div>\r\n\r\n <div class=\"bk-item\" style=\"\">\r\n {{$s.gv(apiSelect,'creator')}}\r\n </div>\r\n\r\n </div>\r\n\r\n <div class=\"bk\" style=\"\">\r\n\r\n <div class=\"bk-title\" style=\"\">\r\n {{kpTexts.dataSource}}\r\n </div>\r\n\r\n <div class=\"bk-item\" style=\"\">\r\n {{$s.gv(apiSelect,'dataSource')}}\r\n </div>\r\n\r\n </div>\r\n\r\n <div class=\"bk\" style=\"\">\r\n\r\n <div class=\"bk-title\" style=\"\">\r\n {{kpTexts.isActive}}\r\n </div>\r\n\r\n <div class=\"bk-item\" style=\"\">\r\n {{$s.gv(apiSelect,'isActive')}}\r\n </div>\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n <div style=\"padding:10px;\">\r\n\r\n <div class=\"bk-title\" style=\"\">\r\n {{kpTexts.mdInputParams}}\r\n </div>\r\n\r\n <div class=\"bk-item\" style=\"padding:10px;\">\r\n <MdPanel\r\n :md=\"$s.gv(apiSelect,'mdInputParams')\"\r\n ></MdPanel>\r\n </div>\r\n\r\n </div>\r\n\r\n <div style=\"padding:10px;\">\r\n\r\n <div class=\"bk-title\" style=\"\">\r\n {{kpTexts.inputExample}}\r\n </div>\r\n\r\n <div class=\"bk-item\" style=\"padding:10px;\">\r\n {{$s.gv(apiSelect,'inputExample')}}\r\n </div>\r\n\r\n </div>\r\n\r\n <div style=\"padding:10px;\">\r\n\r\n <div class=\"bk-title\" style=\"\">\r\n {{kpTexts.mdOutputParams}}\r\n </div>\r\n\r\n <div class=\"bk-item\" style=\"padding:10px;\">\r\n <MdPanel\r\n :md=\"$s.gv(apiSelect,'mdOutputParams')\"\r\n ></MdPanel>\r\n </div>\r\n\r\n </div>\r\n\r\n <div style=\"padding:10px;\">\r\n\r\n <div class=\"bk-title\" style=\"\">\r\n {{kpTexts.outputExample}}\r\n </div>\r\n\r\n <div style=\"padding-top:10px;\">\r\n\r\n <div style=\"padding-left:10px; margin-bottom:-1px;\">\r\n <!-- 因上下皆有border, 故需負margin-bottom來吃掉重複border -->\r\n <WGroupRadio\r\n :items=\"optputMenuItems\"\r\n :value=\"optputMenuItemSelect\"\r\n @input=\"changeOptputMenuItemSelect\"\r\n :group=\"true\"\r\n :group-border-radius-style=\"{top:true}\"\r\n :group-shift=\"7\"\r\n :border-radius=\"20\"\r\n :border-color=\"'#ddd'\"\r\n :border-color-hover=\"'#dadada'\"\r\n :border-color-active=\"'orange lighten-2'\"\r\n :margin-style=\"{}\"\r\n ></WGroupRadio>\r\n </div>\r\n\r\n <div style=\"border:1px solid #ddd; background:#fff\">\r\n\r\n <div style=\"\" v-if=\"optputMenuItemSelectId==='tree'\">\r\n <WJsonView\r\n style=\"width:100%;\"\r\n :viewHeightMax=\"null\"\r\n :data=\"getOutputJsonObj(apiSelect)\"\r\n ></WJsonView>\r\n </div>\r\n\r\n <div style=\"padding:10px; color:#555; font-size:0.85rem;\" v-if=\"optputMenuItemSelectId==='raw'\">\r\n <pre>{{getOutputJson(apiSelect)}}</pre>\r\n </div>\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n </div>\r\n </div>\r\n\r\n <div\r\n style=\"padding:20px; font-size:0.9rem;\"\r\n v-else\r\n >\r\n {{kpTexts.noSelectApi}}\r\n </div>\r\n\r\n </div>\r\n\r\n <div\r\n style=\"padding:20px; font-size:0.9rem;\"\r\n v-else\r\n >\r\n {{kpTexts.waitingData}}\r\n </div>\r\n\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport get from 'lodash/get'\r\nimport set from 'lodash/set'\r\n// import map from 'lodash/map'\r\nimport each from 'lodash/each'\r\nimport size from 'lodash/size'\r\n// import join from 'lodash/join'\r\nimport trim from 'lodash/trim'\r\nimport find from 'lodash/find'\r\nimport cloneDeep from 'lodash/cloneDeep'\r\n// import isestr from 'wsemi/src/isestr.mjs'\r\n// import isnum from 'wsemi/src/isnum.mjs'\r\n// import isarr from 'wsemi/src/isarr.mjs'\r\nimport isobj from 'wsemi/src/isobj.mjs'\r\nimport iseobj from 'wsemi/src/iseobj.mjs'\r\nimport j2o from 'wsemi/src/j2o.mjs'\r\n// import cdbl from 'wsemi/src/cdbl.mjs'\r\n// import str2md5 from 'wsemi/src/str2md5.mjs'\r\n// import sep from 'wsemi/src/sep.mjs'\r\nimport timemsTZ2day from 'wsemi/src/timemsTZ2day.mjs'\r\nimport convertToTree from 'wsemi/src/convertToTree.mjs'\r\nimport WGroupRadio from 'w-component-vue/src/components/WGroupRadio.vue'\r\nimport WTree from 'w-component-vue/src/components/WTree.vue'\r\nimport WJsonView from 'w-component-vue/src/components/WJsonView.vue'\r\nimport MdPanel from './MdPanel.vue'\r\n\r\n\r\nexport default {\r\n components: {\r\n WGroupRadio,\r\n WTree,\r\n WJsonView,\r\n MdPanel,\r\n },\r\n props: {\r\n },\r\n data: function() {\r\n return {\r\n\r\n lineHeightTree: 38,\r\n\r\n apisTree: [],\r\n kpApisTree: {},\r\n apiActive: null,\r\n apiSelect: null,\r\n\r\n kpColorMethod: {\r\n GET: '#7c2',\r\n POST: '#68f',\r\n PUT: '#f82',\r\n DEL: '#f26',\r\n },\r\n\r\n optputMenuItemSelectId: 'tree',\r\n\r\n }\r\n },\r\n computed: {\r\n\r\n kpTexts: function() {\r\n return this.$ui.getKpLang()\r\n },\r\n\r\n apis: function() {\r\n return get(this, '$store.state.apis')\r\n },\r\n\r\n changeApis: function() {\r\n let vo = this\r\n vo.genTree(vo.apis)\r\n return ''\r\n },\r\n\r\n hasApis: function() {\r\n return size(this.apisTree) > 0\r\n },\r\n\r\n optputMenuItems: function() {\r\n let vo = this\r\n let ms = [\r\n {\r\n id: 'tree',\r\n text: vo.kpTexts.outputMenuTree,\r\n icon: 'mdi-vanity-light',\r\n },\r\n {\r\n id: 'raw',\r\n text: vo.kpTexts.outputMenuRaw,\r\n icon: 'mdi-lan',\r\n },\r\n ]\r\n return ms\r\n },\r\n\r\n optputMenuItemSelect: function() {\r\n let vo = this\r\n let r = find(vo.optputMenuItems, { id: vo.optputMenuItemSelectId })\r\n // console.log(r)\r\n return r\r\n },\r\n\r\n },\r\n methods: {\r\n\r\n genTree: function () {\r\n let vo = this\r\n\r\n //default\r\n vo.apisTree = []\r\n vo.kpApisTree = {}\r\n\r\n //cloneDeep\r\n let apis = cloneDeep(vo.apis)\r\n // console.log('apis', cloneDeep(apis))\r\n\r\n //tr\r\n let tr = {}\r\n let kpTree = {}\r\n each(apis, (v) => {\r\n\r\n //id, levels\r\n let id = v.id\r\n let levels = `${v.levels}.${v.name}`\r\n\r\n //save\r\n kpTree[id] = v\r\n\r\n //check\r\n if (!isobj(get(tr, levels))) {\r\n set(tr, levels, id)\r\n }\r\n\r\n })\r\n // console.log('tr', cloneDeep(tr))\r\n // console.log('kpTree', cloneDeep(kpTree))\r\n\r\n //convertToTree, 由預處理tree物件轉成tree物件\r\n let tree = convertToTree(tr, { bindRoot: '全部' })\r\n // console.log('tree', cloneDeep(tree))\r\n\r\n //apiSelect, 預先選定api項目, 非tree選單active物件, 因id由convertToTree轉換提供, 故不能直接算得active選單物件id\r\n let apiSelect = get(apis, 0, null)\r\n // console.log('apiSelect', cloneDeep(apiSelect))\r\n\r\n //save\r\n vo.apiSelect = apiSelect\r\n vo.apisTree = tree\r\n vo.kpApisTree = kpTree\r\n\r\n },\r\n\r\n getItemByKey: function(key) {\r\n let vo = this\r\n // let k = `kpApisTree.${key}`\r\n // console.log('getItemByKey k', k)\r\n let r = vo.kpApisTree[key]\r\n // console.log('getItemByKey r', r, vo.kpApisTree)\r\n return r\r\n },\r\n\r\n getMethod: function(item) {\r\n // let vo = this\r\n let method = get(item, 'method', '').toUpperCase()\r\n return method\r\n },\r\n\r\n getMethodByKey: function(key) {\r\n let vo = this\r\n let item = vo.getItemByKey(key)\r\n let method = get(item, 'method', '').toUpperCase()\r\n return method\r\n },\r\n\r\n getMethodColor: function(item) {\r\n let vo = this\r\n let method = vo.getMethod(item)\r\n let color = get(vo.kpColorMethod, method, '#888')\r\n return color\r\n },\r\n\r\n getMethodColorByKey: function(key) {\r\n let vo = this\r\n let method = vo.getMethodByKey(key)\r\n let color = get(vo.kpColorMethod, method, '#888')\r\n return color\r\n },\r\n\r\n getDay: function(t) {\r\n return timemsTZ2day(t)\r\n },\r\n\r\n getOutputJson: function(item) {\r\n // let vo = this\r\n let j = get(item, 'outputExample', '')\r\n j = trim(j)\r\n return j\r\n },\r\n\r\n getOutputJsonObj: function(item) {\r\n // let vo = this\r\n let j = this.getOutputJson(item)\r\n let o = j2o(j)\r\n return o\r\n },\r\n\r\n funActive: function(msg) {\r\n let vo = this\r\n let b = !Array.isArray(msg.item.children) //children非陣列代表沒有所屬節點\r\n if (b) {\r\n if (!iseobj(vo.apiActive)) { //偵測若沒有apiActive才初始化預先選擇之api項目, 非api完整資訊\r\n let id = msg.item.id\r\n vo.apiActive = { id }\r\n // console.log('!iseobj(vo.apiActive)', vo.apiActive)\r\n }\r\n }\r\n return b\r\n },\r\n\r\n changeOptputMenuItemSelect: function(msg) {\r\n // console.log('changeOptputMenuItemSelect', msg)\r\n let vo = this\r\n vo.optputMenuItemSelectId = msg.id\r\n },\r\n\r\n ckItem: function(item) {\r\n // console.log('ckItem', item)\r\n let vo = this\r\n vo.apiSelect = cloneDeep(item)\r\n },\r\n\r\n }\r\n}\r\n</script>\r\n\r\n<style scoped>\r\n.bk {\r\n display:inline-block;\r\n width:200px;\r\n padding:0px 10px 10px 0px;\r\n vertical-align:top;\r\n}\r\n.bk-title {\r\n font-size:0.8rem;\r\n color:#888;\r\n}\r\n.bk-item {\r\n padding:3px 5px;\r\n font-size:0.9rem;\r\n line-height:0.9rem;\r\n border-radius:5px;\r\n border:1px solid #ddd;\r\n background:#fff;\r\n}\r\n</style>\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LayoutContentList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LayoutContentList.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LayoutContentList.vue?vue&type=template&id=721d333e&scoped=true&\"\nimport script from \"./LayoutContentList.vue?vue&type=script&lang=js&\"\nexport * from \"./LayoutContentList.vue?vue&type=script&lang=js&\"\nimport style0 from \"./LayoutContentList.vue?vue&type=style&index=0&id=721d333e&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"721d333e\",\n null\n \n)\n\nexport default component.exports","<template>\r\n <div style=\"height:100%;\">\r\n\r\n <template v-if=\"syncState\">\r\n\r\n <LayoutContentList></LayoutContentList>\r\n\r\n </template>\r\n\r\n <div\r\n style=\"padding:20px; font-size:0.9rem;\"\r\n v-else\r\n >\r\n {{kpTexts.waitingData}}\r\n </div>\r\n\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport get from 'lodash/get'\r\n// import map from 'lodash/map'\r\n// import each from 'lodash/each'\r\n// import size from 'lodash/size'\r\n// import cloneDeep from 'lodash/cloneDeep'\r\n// import isestr from 'wsemi/src/isestr.mjs'\r\n// import isnum from 'wsemi/src/isnum.mjs'\r\n// import cdbl from 'wsemi/src/cdbl.mjs'\r\n// import WPanelBulge from 'w-component-vue/src/components/WPanelBulge.vue'\r\n// import WButtonChip from 'w-component-vue/src/components/WButtonChip.vue'\r\n// import WGroupCheck from 'w-component-vue/src/components/WGroupCheck.vue'\r\n// import WTree from 'w-component-vue/src/components/WTree.vue'\r\nimport LayoutContentList from './LayoutContentList.vue'\r\n\r\n\r\nexport default {\r\n components: {\r\n // WPanelBulge,\r\n // WButtonChip,\r\n // WGroupCheck,\r\n // WTree,\r\n LayoutContentList,\r\n },\r\n props: {\r\n },\r\n data: function() {\r\n return {\r\n }\r\n },\r\n computed: {\r\n\r\n kpTexts: function() {\r\n return this.$ui.getKpLang()\r\n },\r\n\r\n syncState: function() {\r\n return get(this, '$store.state.syncState')\r\n },\r\n\r\n },\r\n methods: {\r\n }\r\n}\r\n</script>\r\n\r\n<style scoped>\r\n</style>\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LayoutContent.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LayoutContent.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LayoutContent.vue?vue&type=template&id=04642b6a&scoped=true&\"\nimport script from \"./LayoutContent.vue?vue&type=script&lang=js&\"\nexport * from \"./LayoutContent.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"04642b6a\",\n null\n \n)\n\nexport default component.exports","<template>\r\n <div style=\"height:100vh; background:#f5f5f5;\">\r\n\r\n <div :style=\"`height:${heightToolbar}px; padding:0px 10px; display:flex; align-items:center; background:#fff; border-bottom:1px solid #ccc;`\">\r\n\r\n <WButtonCircle\r\n :icon=\"'mdi-menu'\"\r\n :tooltip=\"'左側選單'\"\r\n :shadow=\"false\"\r\n @click=\"drawer = !drawer\"\r\n v-if=\"false\"\r\n ></WButtonCircle>\r\n\r\n <WButtonCircle\r\n :icon=\"'mdi-menu'\"\r\n :tooltip=\"'cht'\"\r\n :shadow=\"false\"\r\n @click=\"$store.commit($store.types.UpdateLang, 'cht')\"\r\n v-if=\"false\"\r\n ></WButtonCircle>\r\n\r\n <WButtonCircle\r\n :icon=\"'mdi-menu'\"\r\n :tooltip=\"'eng'\"\r\n :shadow=\"false\"\r\n @click=\"$store.commit($store.types.UpdateLang, 'eng')\"\r\n v-if=\"false\"\r\n ></WButtonCircle>\r\n\r\n <div style=\"padding-left:10px; font-size:1.2rem; color:#000; white-space:nowrap\">\r\n <div>{{webName}}</div>\r\n </div>\r\n\r\n <div style=\"width:100%;\"></div>\r\n\r\n <div style=\"padding-right:10px; white-space:nowrap\">\r\n <WTextSelect\r\n :items=\"tgLangs\"\r\n v-model=\"tgLangSelect\"\r\n @input=\"changeLang\"\r\n ></WTextSelect>\r\n </div>\r\n\r\n </div>\r\n\r\n <div :style=\"`height:calc( 100% - ${heightToolbar}px );`\">\r\n <LayoutContent\r\n ></LayoutContent>\r\n </div>\r\n\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport get from 'lodash/get'\r\n// import cloneDeep from 'lodash/cloneDeep'\r\nimport WButtonCircle from 'w-component-vue/src/components/WButtonCircle.vue'\r\nimport WTextSelect from 'w-component-vue/src/components/WTextSelect.vue'\r\nimport LayoutContent from './LayoutContent.vue'\r\n\r\n\r\nexport default {\r\n components: {\r\n WButtonCircle,\r\n WTextSelect,\r\n LayoutContent,\r\n },\r\n props: {\r\n },\r\n data: function() {\r\n return {\r\n\r\n drawer: false, //null,\r\n\r\n tgLangs: [\r\n {\r\n id: 'cht',\r\n text: '中文',\r\n },\r\n {\r\n id: 'eng',\r\n text: 'English',\r\n },\r\n ],\r\n tgLangSelect: {\r\n id: 'cht',\r\n text: '中文',\r\n },\r\n\r\n }\r\n },\r\n computed: {\r\n\r\n heightToolbar: function() {\r\n return get(this, `$store.state.heightToolbar`)\r\n },\r\n\r\n kpTexts: function() {\r\n return this.$ui.getKpLang()\r\n },\r\n\r\n webName: function() {\r\n let name = get(this, 'kpTexts.webName', this.kpTexts.waitingData)\r\n document.title = name //更換網頁title\r\n return name\r\n },\r\n\r\n lang: function() {\r\n return get(this, `$store.state.lang`)\r\n },\r\n\r\n viewState: function() {\r\n return get(this, `$store.state.viewState`)\r\n },\r\n\r\n },\r\n methods: {\r\n\r\n changeLang: function(msg) {\r\n // console.log('methods changeLang', msg)\r\n let vo = this\r\n let lang = msg.id\r\n vo.$store.commit(vo.$store.types.UpdateLang, lang)\r\n },\r\n\r\n }\r\n}\r\n</script>\r\n\r\n<style scoped>\r\n</style>\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Layout.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Layout.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Layout.vue?vue&type=template&id=440097d2&scoped=true&\"\nimport script from \"./Layout.vue?vue&type=script&lang=js&\"\nexport * from \"./Layout.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"440097d2\",\n null\n \n)\n\nexport default component.exports","<template>\n <div\n v-domresize\n @domresize=\"resize\"\n >\n\n <transition enter-active-class=\"fade-enter-active\" leave-active-class=\"fade-leave-active\">\n <Layout v-if=\"ready\"></Layout>\n </transition>\n\n </div>\n</template>\n\n<script>\n// import get from 'lodash/get'\n// import find from 'lodash/find'\nimport Layout from './components/Layout.vue'\n\n\nexport default {\n components: {\n Layout,\n },\n data: function() {\n return {\n\n ready: true,\n\n }\n },\n methods: {\n\n resize: function(msg) {\n // console.log('methods resize', msg)\n\n let vo = this\n\n //syncHeight\n vo.$ui.syncHeight()\n\n },\n\n },\n}\n</script>\n\n<style>\nhtml,\nbody {\n font-family: '微軟正黑體', 'Microsoft JhengHei', 'MicrosoftJhengHeiRegular', 'Avenir', Helvetica, Arial, sans-serif;\n overflow-y: hidden;\n}\n\ndiv,\np,\nspan,\na,\npre,\ninput,\ntextarea,\nbutton {\n font-family: inherit;\n}\n\n.v-application, .v-application--wrap {\n font-family: inherit;\n}\n\n.v-chip {\n cursor: inherit;\n}\n\n.fade-enter-active {\n animation: go 1s;\n}\n\n.fade-leave-active {\n animation: back 1s;\n}\n\n@keyframes go {\n from { opacity: 0; }\n to {opacity: 1;}\n}\n\n@keyframes back {\n from { opacity: 1; }\n to { opacity: 0; }\n}\n\n</style>\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--13-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--13-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=190a26e9&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export const UpdateWebInfor = 'UpdateWebInfor'\r\nexport const UpdateLang = 'UpdateLang'\r\nexport const UpdateConnState = 'UpdateConnState'\r\nexport const UpdateSyncState = 'UpdateSyncState'\r\nexport const UpdateLoading = 'UpdateLoading'\r\nexport const UpdateViewState = 'UpdateViewState'\r\nexport const UpdateTableData = 'UpdateTableData'\r\nexport const UpdateData = 'UpdateData'\r\nexport const UpdateHeightApp = 'UpdateHeightApp'\r\nexport const UpdateHeightAppEff = 'UpdateHeightAppEff'\r\nexport const UpdateHeightToolbar = 'UpdateHeightToolbar'\r\nexport const UpdateMenu = 'UpdateMenu'\r\nexport const UpdateUserToken = 'UpdateUserToken'\r\nexport const UpdateUserSelf = 'UpdateUserSelf'\r\n","import map from 'lodash/map'\r\nimport keys from 'lodash/keys'\r\nimport get from 'lodash/get'\r\nimport genID from 'wsemi/src/genID.mjs'\r\nimport dtmapping from 'wsemi/src/dtmapping.mjs'\r\nimport dtpick from 'wsemi/src/dtpick.mjs'\r\nimport nowms2str from 'wsemi/src/nowms2str.mjs'\r\nimport now2strp from 'wsemi/src/now2strp.mjs'\r\nimport isestr from 'wsemi/src/isestr'\r\n\r\n\r\nlet keyTable = 'apis'\r\nlet tableNameCht = 'APIs'\r\nlet tableNameEng = 'APIs'\r\n\r\nlet settings = {\r\n 'id': {\r\n pk: true,\r\n name: '主鍵',\r\n type: 'STRING',\r\n },\r\n 'order': {\r\n name: '順序',\r\n type: 'INTEGER',\r\n },\r\n 'name': {\r\n name: '名稱',\r\n type: 'STRING',\r\n },\r\n 'description': {\r\n name: '說明',\r\n type: 'TEXT',\r\n },\r\n 'url': {\r\n name: '網址',\r\n type: 'STRING',\r\n },\r\n 'method': {\r\n name: '方法',\r\n type: 'STRING',\r\n },\r\n 'version': {\r\n name: '版本',\r\n type: 'STRING',\r\n },\r\n 'levels': { //階層群組用英文句點「.」分隔\r\n name: '階層群組',\r\n type: 'STRING',\r\n },\r\n 'keywords': {\r\n name: '關鍵字',\r\n type: 'STRING',\r\n },\r\n 'state': {\r\n name: '狀態',\r\n type: 'STRING',\r\n },\r\n 'creator': {\r\n name: '創建者',\r\n type: 'STRING',\r\n },\r\n 'dataSource': {\r\n name: '資料提供者',\r\n type: 'STRING',\r\n },\r\n 'tokens': { //多金鑰用分號分隔\r\n name: '金鑰',\r\n type: 'TEXT',\r\n },\r\n 'mdInputParams': {\r\n name: '輸入參數md說明',\r\n type: 'STRING',\r\n },\r\n 'inputExample': {\r\n name: '輸入範例',\r\n type: 'STRING',\r\n },\r\n 'mdOutputParams': {\r\n name: '輸出資料md說明',\r\n type: 'STRING',\r\n },\r\n 'outputExample': {\r\n name: '輸出範例',\r\n type: 'STRING',\r\n },\r\n 'timeCreate': {\r\n name: '創建時間',\r\n type: 'STRING',\r\n },\r\n 'timeUpdate': {\r\n name: '更新時間',\r\n type: 'STRING',\r\n },\r\n 'isActive': {\r\n name: '是否有效',\r\n type: 'STRING',\r\n },\r\n}\r\n\r\nlet funNew = (ndata = {}) => {\r\n let o = dtmapping(ndata, keys(settings))\r\n o.id = `${now2strp()}-${genID()}`\r\n o.timeCreate = nowms2str()\r\n o.timeUpdate = o.timeCreate\r\n o.isActive = 'y'\r\n return o\r\n}\r\n\r\nlet funTest = () => {\r\n let rs = map([\r\n {\r\n 'id': 'id-for-apis-sys-1',\r\n 'name': '取得API清單',\r\n 'description': 'API管理中心取得API清單資訊',\r\n 'url': 'http://localhost:11005/getAPIsList',\r\n 'method': 'get',\r\n 'version': 'v1',\r\n 'levels': 'API',\r\n 'keywords': 'API;center',\r\n 'state': 'ok',\r\n 'creator': 'apis-system',\r\n 'dataSource': 'apis-data',\r\n 'mdInputParams': `### GET網址參數\r\n| 參數 | 型別 | 範例 |\r\n| -- | -- | -- |\r\n| token | STRING | key-for-token |\r\n| id | STRING | id-for-test |\r\n| paramA | INTEGER | 123 |\r\n| paramB | DOUBLE | 123.456 |\r\n `,\r\n 'inputExample': `http://localhost:11005/getAPIsList?token={token}&id={id}¶mA=123¶mB=123.456`,\r\n 'mdOutputParams': `### 回傳數據結構: Array of objects\r\n| 參數 | 型別 | 範例 |\r\n| -- | -- | -- |\r\n| id | STRING | id-for-test |\r\n| weight | DOUBLE | 12.3 |\r\n| color | STRING | #f26 |\r\n| paramA | INTEGER | 321 |\r\n| paramB | DOUBLE | 654.321 |\r\n `,\r\n 'outputExample': `\r\n[\r\n {\r\n \"id\": \"id-for-test-1\",\r\n \"weight\": 12.3,\r\n \"color\": \"#f26\",\r\n \"paramA\": 101,\r\n \"paramB\": 0.01\r\n },\r\n {\r\n \"id\": \"id-for-test-2\",\r\n \"weight\": 22.3,\r\n \"color\": \"#2f6\",\r\n \"paramA\": 102,\r\n \"paramB\": 1.01\r\n },\r\n {\r\n \"id\": \"id-for-test-3\",\r\n \"weight\": 32.3,\r\n \"color\": \"#26f\",\r\n \"paramA\": 103,\r\n \"paramB\": 2.01\r\n }\r\n]\r\n `,\r\n },\r\n {\r\n 'id': 'id-for-apis-pets-1',\r\n 'name': '取得寵物清單',\r\n 'description': '寵物管理中心取得寵物清單資訊',\r\n 'url': 'http://localhost:11005/getPetsList',\r\n 'method': 'get',\r\n 'version': 'v1',\r\n 'levels': '寵物',\r\n 'keywords': 'pets',\r\n 'state': 'ok',\r\n 'creator': 'pets-system',\r\n 'dataSource': 'pets-data',\r\n 'mdInputParams': `### GET網址參數\r\n| 參數 | 型別 | 範例 |\r\n| -- | -- | -- |\r\n| token | STRING | key-for-token |\r\n| id | STRING | id-for-test |\r\n| paramA | INTEGER | 123 |\r\n| paramB | DOUBLE | 123.456 |\r\n `,\r\n 'inputExample': `http://localhost:11005/getAPIsList?token={token}&id={id}¶mA=123¶mB=123.456`,\r\n 'mdOutputParams': `### 回傳數據結構: Array of objects\r\n| 參數 | 型別 | 範例 |\r\n| -- | -- | -- |\r\n| id | STRING | id-for-test |\r\n| weight | DOUBLE | 12.3 |\r\n| color | STRING | #f26 |\r\n| paramA | INTEGER | 321 |\r\n| paramB | DOUBLE | 654.321 |\r\n `,\r\n 'outputExample': `\r\n[\r\n {\r\n \"id\": \"id-for-test-1\",\r\n \"weight\": 12.3,\r\n \"color\": \"#f26\",\r\n \"paramA\": 101,\r\n \"paramB\": 0.01\r\n },\r\n {\r\n \"id\": \"id-for-test-2\",\r\n \"weight\": 22.3,\r\n \"color\": \"#2f6\",\r\n \"paramA\": 102,\r\n \"paramB\": 1.01\r\n },\r\n {\r\n \"id\": \"id-for-test-3\",\r\n \"weight\": 32.3,\r\n \"color\": \"#26f\",\r\n \"paramA\": 103,\r\n \"paramB\": 2.01\r\n }\r\n]\r\n `,\r\n },\r\n {\r\n 'id': 'id-for-apis-pets-dogs-1',\r\n 'name': '取得狗狗清單',\r\n 'description': '取得狗狗清單資訊',\r\n 'url': 'http://localhost:11005/getDogsList',\r\n 'method': 'get',\r\n 'version': 'v1',\r\n 'levels': '寵物.狗狗',\r\n 'keywords': 'pets;dogs',\r\n 'state': 'ok',\r\n 'creator': 'pets-system',\r\n 'dataSource': 'pets-data',\r\n 'mdInputParams': `### GET網址參數\r\n| 參數 | 型別 | 範例 |\r\n| -- | -- | -- |\r\n| token | STRING | key-for-token |\r\n| id | STRING | id-for-test |\r\n| paramA | INTEGER | 123 |\r\n| paramB | DOUBLE | 123.456 |\r\n `,\r\n 'inputExample': `http://localhost:11005/getAPIsList?token={token}&id={id}¶mA=123¶mB=123.456`,\r\n 'mdOutputParams': `### 回傳數據結構: Array of objects\r\n| 參數 | 型別 | 範例 |\r\n| -- | -- | -- |\r\n| id | STRING | id-for-test |\r\n| weight | DOUBLE | 12.3 |\r\n| color | STRING | #f26 |\r\n| paramA | INTEGER | 321 |\r\n| paramB | DOUBLE | 654.321 |\r\n `,\r\n 'outputExample': `\r\n[\r\n {\r\n \"id\": \"id-for-test-1\",\r\n \"weight\": 12.3,\r\n \"color\": \"#f26\",\r\n \"paramA\": 101,\r\n \"paramB\": 0.01\r\n },\r\n {\r\n \"id\": \"id-for-test-2\",\r\n \"weight\": 22.3,\r\n \"color\": \"#2f6\",\r\n \"paramA\": 102,\r\n \"paramB\": 1.01\r\n },\r\n {\r\n \"id\": \"id-for-test-3\",\r\n \"weight\": 32.3,\r\n \"color\": \"#26f\",\r\n \"paramA\": 103,\r\n \"paramB\": 2.01\r\n }\r\n]\r\n `,\r\n },\r\n {\r\n 'id': 'id-for-apis-pets-dogs-2',\r\n 'name': '新增狗狗資訊',\r\n 'description': '新增狗狗資訊',\r\n 'url': 'http://localhost:11005/addDog',\r\n 'method': 'post',\r\n 'version': 'v1',\r\n 'levels': '寵物.狗狗',\r\n 'keywords': 'pets;dogs',\r\n 'state': 'ok',\r\n 'creator': 'pets-system',\r\n 'dataSource': 'pets-data',\r\n 'mdInputParams': `### POST參數\r\n| 參數 | 型別 | 範例 |\r\n| -- | -- | -- |\r\n| token | STRING | key-for-token |\r\n| id | STRING | id-for-test |\r\n| paramA | INTEGER | 123 |\r\n| paramB | DOUBLE | 123.456 |\r\n `,\r\n 'inputExample': `http://localhost:11005/getAPIsList?token={token}&id={id}¶mA=123¶mB=123.456`,\r\n 'mdOutputParams': `### 回傳數據結構: Array of objects\r\n| 參數 | 型別 | 範例 |\r\n| -- | -- | -- |\r\n| id | STRING | id-for-test |\r\n| weight | DOUBLE | 12.3 |\r\n| color | STRING | #f26 |\r\n| paramA | INTEGER | 321 |\r\n| paramB | DOUBLE | 654.321 |\r\n `,\r\n 'outputExample': `\r\n[\r\n {\r\n \"id\": \"id-for-test-1\",\r\n \"weight\": 12.3,\r\n \"color\": \"#f26\",\r\n \"paramA\": 101,\r\n \"paramB\": 0.01\r\n },\r\n {\r\n \"id\": \"id-for-test-2\",\r\n \"weight\": 22.3,\r\n \"color\": \"#2f6\",\r\n \"paramA\": 102,\r\n \"paramB\": 1.01\r\n },\r\n {\r\n \"id\": \"id-for-test-3\",\r\n \"weight\": 32.3,\r\n \"color\": \"#26f\",\r\n \"paramA\": 103,\r\n \"paramB\": 2.01\r\n }\r\n]\r\n `,\r\n },\r\n {\r\n 'id': 'id-for-apis-pets-dogs-3',\r\n 'name': '變更狗狗資訊',\r\n 'description': '變更狗狗資訊',\r\n 'url': 'http://localhost:11005/updateDog',\r\n 'method': 'put',\r\n 'version': 'v1',\r\n 'levels': '寵物.狗狗',\r\n 'keywords': 'pets;dogs',\r\n 'state': 'ok',\r\n 'creator': 'pets-system',\r\n 'dataSource': 'pets-data',\r\n 'mdInputParams': `### GET網址參數\r\n| 參數 | 型別 | 範例 |\r\n| -- | -- | -- |\r\n| token | STRING | key-for-token |\r\n| id | STRING | id-for-test |\r\n| paramA | INTEGER | 123 |\r\n| paramB | DOUBLE | 123.456 |\r\n `,\r\n 'inputExample': `http://localhost:11005/getAPIsList?token={token}&id={id}¶mA=123¶mB=123.456`,\r\n 'mdOutputParams': `### 回傳數據結構: Array of objects\r\n| 參數 | 型別 | 範例 |\r\n| -- | -- | -- |\r\n| id | STRING | id-for-test |\r\n| weight | DOUBLE | 12.3 |\r\n| color | STRING | #f26 |\r\n| paramA | INTEGER | 321 |\r\n| paramB | DOUBLE | 654.321 |\r\n `,\r\n 'outputExample': `\r\n[\r\n {\r\n \"id\": \"id-for-test-1\",\r\n \"weight\": 12.3,\r\n \"color\": \"#f26\",\r\n \"paramA\": 101,\r\n \"paramB\": 0.01\r\n },\r\n {\r\n \"id\": \"id-for-test-2\",\r\n \"weight\": 22.3,\r\n \"color\": \"#2f6\",\r\n \"paramA\": 102,\r\n \"paramB\": 1.01\r\n },\r\n {\r\n \"id\": \"id-for-test-3\",\r\n \"weight\": 32.3,\r\n \"color\": \"#26f\",\r\n \"paramA\": 103,\r\n \"paramB\": 2.01\r\n }\r\n]\r\n `,\r\n },\r\n {\r\n 'id': 'id-for-apis-pets-dogs-4',\r\n 'name': '刪除狗狗資訊',\r\n 'description': '刪除狗狗資訊',\r\n 'url': 'http://localhost:11005/deleteDog',\r\n 'method': 'del',\r\n 'version': 'v1',\r\n 'levels': '寵物.狗狗',\r\n 'keywords': 'pets;dogs',\r\n 'state': 'ok',\r\n 'creator': 'pets-system',\r\n 'dataSource': 'pets-data',\r\n 'mdInputParams': `### GET網址參數\r\n| 參數 | 型別 | 範例 |\r\n| -- | -- | -- |\r\n| token | STRING | key-for-token |\r\n| id | STRING | id-for-test |\r\n| paramA | INTEGER | 123 |\r\n| paramB | DOUBLE | 123.456 |\r\n `,\r\n 'inputExample': `http://localhost:11005/getAPIsList?token={token}&id={id}¶mA=123¶mB=123.456`,\r\n 'mdOutputParams': `### 回傳數據結構: Array of objects\r\n| 參數 | 型別 | 範例 |\r\n| -- | -- | -- |\r\n| id | STRING | id-for-test |\r\n| weight | DOUBLE | 12.3 |\r\n| color | STRING | #f26 |\r\n| paramA | INTEGER | 321 |\r\n| paramB | DOUBLE | 654.321 |\r\n `,\r\n 'outputExample': `\r\n[\r\n {\r\n \"id\": \"id-for-test-1\",\r\n \"weight\": 12.3,\r\n \"color\": \"#f26\",\r\n \"paramA\": 101,\r\n \"paramB\": 0.01\r\n },\r\n {\r\n \"id\": \"id-for-test-2\",\r\n \"weight\": 22.3,\r\n \"color\": \"#2f6\",\r\n \"paramA\": 102,\r\n \"paramB\": 1.01\r\n },\r\n {\r\n \"id\": \"id-for-test-3\",\r\n \"weight\": 32.3,\r\n \"color\": \"#26f\",\r\n \"paramA\": 103,\r\n \"paramB\": 2.01\r\n }\r\n]\r\n `,\r\n },\r\n {\r\n 'id': 'id-for-apis-pets-cats-1',\r\n 'name': '取得貓咪清單',\r\n 'description': '取得貓咪清單資訊',\r\n 'url': 'http://localhost:11005/getCatsList',\r\n 'method': 'get',\r\n 'version': 'v1',\r\n 'levels': '寵物.貓咪',\r\n 'keywords': 'pets;cats',\r\n 'state': 'ok',\r\n 'creator': 'pets-system',\r\n 'dataSource': 'pets-data',\r\n 'mdInputParams': `### GET網址參數\r\n| 參數 | 型別 | 範例 |\r\n| -- | -- | -- |\r\n| token | STRING | key-for-token |\r\n| id | STRING | id-for-test |\r\n| paramA | INTEGER | 123 |\r\n| paramB | DOUBLE | 123.456 |\r\n `,\r\n 'inputExample': `http://localhost:11005/getAPIsList?token={token}&id={id}¶mA=123¶mB=123.456`,\r\n 'mdOutputParams': `### 回傳數據結構: Array of objects\r\n| 參數 | 型別 | 範例 |\r\n| -- | -- | -- |\r\n| id | STRING | id-for-test |\r\n| weight | DOUBLE | 12.3 |\r\n| color | STRING | #f26 |\r\n| paramA | INTEGER | 321 |\r\n| paramB | DOUBLE | 654.321 |\r\n `,\r\n 'outputExample': `\r\n[\r\n {\r\n \"id\": \"id-for-test-1\",\r\n \"weight\": 12.3,\r\n \"color\": \"#f26\",\r\n \"paramA\": 101,\r\n \"paramB\": 0.01\r\n },\r\n {\r\n \"id\": \"id-for-test-2\",\r\n \"weight\": 22.3,\r\n \"color\": \"#2f6\",\r\n \"paramA\": 102,\r\n \"paramB\": 1.01\r\n },\r\n {\r\n \"id\": \"id-for-test-3\",\r\n \"weight\": 32.3,\r\n \"color\": \"#26f\",\r\n \"paramA\": 103,\r\n \"paramB\": 2.01\r\n }\r\n]\r\n `,\r\n },\r\n {\r\n 'id': 'id-for-apis-pets-cats-2',\r\n 'name': '新增貓咪資訊',\r\n 'description': '新增貓咪資訊',\r\n 'url': 'http://localhost:11005/addCat',\r\n 'method': 'post',\r\n 'version': 'v1',\r\n 'levels': '寵物.貓咪',\r\n 'keywords': 'pets;cats',\r\n 'state': 'ok',\r\n 'creator': 'pets-system',\r\n 'dataSource': 'pets-data',\r\n 'mdInputParams': `### POST參數\r\n| 參數 | 型別 | 範例 |\r\n| -- | -- | -- |\r\n| token | STRING | key-for-token |\r\n| id | STRING | id-for-test |\r\n| paramA | INTEGER | 123 |\r\n| paramB | DOUBLE | 123.456 |\r\n `,\r\n 'inputExample': `http://localhost:11005/getAPIsList?token={token}&id={id}¶mA=123¶mB=123.456`,\r\n 'mdOutputParams': `### 回傳數據結構: Array of objects\r\n| 參數 | 型別 | 範例 |\r\n| -- | -- | -- |\r\n| id | STRING | id-for-test |\r\n| weight | DOUBLE | 12.3 |\r\n| color | STRING | #f26 |\r\n| paramA | INTEGER | 321 |\r\n| paramB | DOUBLE | 654.321 |\r\n `,\r\n 'outputExample': `\r\n[\r\n {\r\n \"id\": \"id-for-test-1\",\r\n \"weight\": 12.3,\r\n \"color\": \"#f26\",\r\n \"paramA\": 101,\r\n \"paramB\": 0.01\r\n },\r\n {\r\n \"id\": \"id-for-test-2\",\r\n \"weight\": 22.3,\r\n \"color\": \"#2f6\",\r\n \"paramA\": 102,\r\n \"paramB\": 1.01\r\n },\r\n {\r\n \"id\": \"id-for-test-3\",\r\n \"weight\": 32.3,\r\n \"color\": \"#26f\",\r\n \"paramA\": 103,\r\n \"paramB\": 2.01\r\n }\r\n]\r\n `,\r\n },\r\n {\r\n 'id': 'id-for-apis-pets-cats-3',\r\n 'name': '變更貓咪資訊',\r\n 'description': '變更貓咪資訊',\r\n 'url': 'http://localhost:11005/updateCat',\r\n 'method': 'put',\r\n 'version': 'v1',\r\n 'levels': '寵物.貓咪',\r\n 'keywords': 'pets;cats',\r\n 'state': 'ok',\r\n 'creator': 'pets-system',\r\n 'dataSource': 'pets-data',\r\n 'mdInputParams': `### GET網址參數\r\n| 參數 | 型別 | 範例 |\r\n| -- | -- | -- |\r\n| token | STRING | key-for-token |\r\n| id | STRING | id-for-test |\r\n| paramA | INTEGER | 123 |\r\n| paramB | DOUBLE | 123.456 |\r\n `,\r\n 'inputExample': `http://localhost:11005/getAPIsList?token={token}&id={id}¶mA=123¶mB=123.456`,\r\n 'mdOutputParams': `### 回傳數據結構: Array of objects\r\n| 參數 | 型別 | 範例 |\r\n| -- | -- | -- |\r\n| id | STRING | id-for-test |\r\n| weight | DOUBLE | 12.3 |\r\n| color | STRING | #f26 |\r\n| paramA | INTEGER | 321 |\r\n| paramB | DOUBLE | 654.321 |\r\n `,\r\n 'outputExample': `\r\n[\r\n {\r\n \"id\": \"id-for-test-1\",\r\n \"weight\": 12.3,\r\n \"color\": \"#f26\",\r\n \"paramA\": 101,\r\n \"paramB\": 0.01\r\n },\r\n {\r\n \"id\": \"id-for-test-2\",\r\n \"weight\": 22.3,\r\n \"color\": \"#2f6\",\r\n \"paramA\": 102,\r\n \"paramB\": 1.01\r\n },\r\n {\r\n \"id\": \"id-for-test-3\",\r\n \"weight\": 32.3,\r\n \"color\": \"#26f\",\r\n \"paramA\": 103,\r\n \"paramB\": 2.01\r\n }\r\n]\r\n `,\r\n },\r\n {\r\n 'id': 'id-for-apis-pets-cats-4',\r\n 'name': '刪除貓咪資訊',\r\n 'description': '刪除貓咪資訊',\r\n 'url': 'http://localhost:11005/deleteCat',\r\n 'method': 'del',\r\n 'version': 'v1',\r\n 'levels': '寵物.貓咪',\r\n 'keywords': 'pets;cats',\r\n 'state': 'ok',\r\n 'creator': 'pets-system',\r\n 'dataSource': 'pets-data',\r\n 'mdInputParams': `### GET網址參數\r\n| 參數 | 型別 | 範例 |\r\n| -- | -- | -- |\r\n| token | STRING | key-for-token |\r\n| id | STRING | id-for-test |\r\n| paramA | INTEGER | 123 |\r\n| paramB | DOUBLE | 123.456 |\r\n `,\r\n 'inputExample': `http://localhost:11005/getAPIsList?token={token}&id={id}¶mA=123¶mB=123.456`,\r\n 'mdOutputParams': `### 回傳數據結構: Array of objects\r\n| 參數 | 型別 | 範例 |\r\n| -- | -- | -- |\r\n| id | STRING | id-for-test |\r\n| weight | DOUBLE | 12.3 |\r\n| color | STRING | #f26 |\r\n| paramA | INTEGER | 321 |\r\n| paramB | DOUBLE | 654.321 |\r\n `,\r\n 'outputExample': `\r\n[\r\n {\r\n \"id\": \"id-for-test-1\",\r\n \"weight\": 12.3,\r\n \"color\": \"#f26\",\r\n \"paramA\": 101,\r\n \"paramB\": 0.01\r\n },\r\n {\r\n \"id\": \"id-for-test-2\",\r\n \"weight\": 22.3,\r\n \"color\": \"#2f6\",\r\n \"paramA\": 102,\r\n \"paramB\": 1.01\r\n },\r\n {\r\n \"id\": \"id-for-test-3\",\r\n \"weight\": 32.3,\r\n \"color\": \"#26f\",\r\n \"paramA\": 103,\r\n \"paramB\": 2.01\r\n }\r\n]\r\n `,\r\n },\r\n {\r\n 'id': 'id-for-apis-vehicles-cars-1',\r\n 'name': '取得汽車清單',\r\n 'description': '取得汽車清單資訊',\r\n 'url': 'http://localhost:11005/getcarsList',\r\n 'method': 'get',\r\n 'version': 'v1',\r\n 'levels': '交通工具.汽車',\r\n 'keywords': 'vehicles;cars',\r\n 'state': 'ok',\r\n 'creator': 'vehicles-system',\r\n 'dataSource': 'vehicles-data',\r\n 'mdInputParams': `### GET網址參數\r\n| 參數 | 型別 | 範例 |\r\n| -- | -- | -- |\r\n| token | STRING | key-for-token |\r\n| id | STRING | id-for-test |\r\n| paramA | INTEGER | 123 |\r\n| paramB | DOUBLE | 123.456 |\r\n `,\r\n 'inputExample': `http://localhost:11005/getAPIsList?token={token}&id={id}¶mA=123¶mB=123.456`,\r\n 'mdOutputParams': `### 回傳數據結構: Array of objects\r\n| 參數 | 型別 | 範例 |\r\n| -- | -- | -- |\r\n| id | STRING | id-for-test |\r\n| weight | DOUBLE | 12.3 |\r\n| color | STRING | #f26 |\r\n| paramA | INTEGER | 321 |\r\n| paramB | DOUBLE | 654.321 |\r\n `,\r\n 'outputExample': `\r\n[\r\n {\r\n \"id\": \"id-for-test-1\",\r\n \"weight\": 12.3,\r\n \"color\": \"#f26\",\r\n \"paramA\": 101,\r\n \"paramB\": 0.01\r\n },\r\n {\r\n \"id\": \"id-for-test-2\",\r\n \"weight\": 22.3,\r\n \"color\": \"#2f6\",\r\n \"paramA\": 102,\r\n \"paramB\": 1.01\r\n },\r\n {\r\n \"id\": \"id-for-test-3\",\r\n \"weight\": 32.3,\r\n \"color\": \"#26f\",\r\n \"paramA\": 103,\r\n \"paramB\": 2.01\r\n }\r\n]\r\n `,\r\n },\r\n {\r\n 'id': 'id-for-apis-vehicles-cars-2',\r\n 'name': '新增汽車資訊',\r\n 'description': '新增汽車資訊',\r\n 'url': 'http://localhost:11005/addDog',\r\n 'method': 'post',\r\n 'version': 'v1',\r\n 'levels': '交通工具.汽車',\r\n 'keywords': 'vehicles;cars',\r\n 'state': 'ok',\r\n 'creator': 'vehicles-system',\r\n 'dataSource': 'vehicles-data',\r\n 'mdInputParams': `### POST參數\r\n| 參數 | 型別 | 範例 |\r\n| -- | -- | -- |\r\n| token | STRING | key-for-token |\r\n| id | STRING | id-for-test |\r\n| paramA | INTEGER | 123 |\r\n| paramB | DOUBLE | 123.456 |\r\n `,\r\n 'inputExample': `http://localhost:11005/getAPIsList?token={token}&id={id}¶mA=123¶mB=123.456`,\r\n 'mdOutputParams': `### 回傳數據結構: Array of objects\r\n| 參數 | 型別 | 範例 |\r\n| -- | -- | -- |\r\n| id | STRING | id-for-test |\r\n| weight | DOUBLE | 12.3 |\r\n| color | STRING | #f26 |\r\n| paramA | INTEGER | 321 |\r\n| paramB | DOUBLE | 654.321 |\r\n `,\r\n 'outputExample': `\r\n[\r\n {\r\n \"id\": \"id-for-test-1\",\r\n \"weight\": 12.3,\r\n \"color\": \"#f26\",\r\n \"paramA\": 101,\r\n \"paramB\": 0.01\r\n },\r\n {\r\n \"id\": \"id-for-test-2\",\r\n \"weight\": 22.3,\r\n \"color\": \"#2f6\",\r\n \"paramA\": 102,\r\n \"paramB\": 1.01\r\n },\r\n {\r\n \"id\": \"id-for-test-3\",\r\n \"weight\": 32.3,\r\n \"color\": \"#26f\",\r\n \"paramA\": 103,\r\n \"paramB\": 2.01\r\n }\r\n]\r\n `,\r\n },\r\n {\r\n 'id': 'id-for-apis-vehicles-cars-3',\r\n 'name': '變更汽車資訊',\r\n 'description': '變更汽車資訊',\r\n 'url': 'http://localhost:11005/updateDog',\r\n 'method': 'put',\r\n 'version': 'v1',\r\n 'levels': '交通工具.汽車',\r\n 'keywords': 'vehicles;cars',\r\n 'state': 'ok',\r\n 'creator': 'vehicles-system',\r\n 'dataSource': 'vehicles-data',\r\n 'mdInputParams': `### GET網址參數\r\n| 參數 | 型別 | 範例 |\r\n| -- | -- | -- |\r\n| token | STRING | key-for-token |\r\n| id | STRING | id-for-test |\r\n| paramA | INTEGER | 123 |\r\n| paramB | DOUBLE | 123.456 |\r\n `,\r\n 'inputExample': `http://localhost:11005/getAPIsList?token={token}&id={id}¶mA=123¶mB=123.456`,\r\n 'mdOutputParams': `### 回傳數據結構: Array of objects\r\n| 參數 | 型別 | 範例 |\r\n| -- | -- | -- |\r\n| id | STRING | id-for-test |\r\n| weight | DOUBLE | 12.3 |\r\n| color | STRING | #f26 |\r\n| paramA | INTEGER | 321 |\r\n| paramB | DOUBLE | 654.321 |\r\n `,\r\n 'outputExample': `\r\n[\r\n {\r\n \"id\": \"id-for-test-1\",\r\n \"weight\": 12.3,\r\n \"color\": \"#f26\",\r\n \"paramA\": 101,\r\n \"paramB\": 0.01\r\n },\r\n {\r\n \"id\": \"id-for-test-2\",\r\n \"weight\": 22.3,\r\n \"color\": \"#2f6\",\r\n \"paramA\": 102,\r\n \"paramB\": 1.01\r\n },\r\n {\r\n \"id\": \"id-for-test-3\",\r\n \"weight\": 32.3,\r\n \"color\": \"#26f\",\r\n \"paramA\": 103,\r\n \"paramB\": 2.01\r\n }\r\n]\r\n `,\r\n },\r\n {\r\n 'id': 'id-for-apis-vehicles-cars-4',\r\n 'name': '刪除汽車資訊',\r\n 'description': '刪除汽車資訊',\r\n 'url': 'http://localhost:11005/deleteDog',\r\n 'method': 'del',\r\n 'version': 'v1',\r\n 'levels': '交通工具.汽車',\r\n 'keywords': 'vehicles;cars',\r\n 'state': 'ok',\r\n 'creator': 'vehicles-system',\r\n 'dataSource': 'vehicles-data',\r\n 'mdInputParams': `### GET網址參數\r\n| 參數 | 型別 | 範例 |\r\n| -- | -- | -- |\r\n| token | STRING | key-for-token |\r\n| id | STRING | id-for-test |\r\n| paramA | INTEGER | 123 |\r\n| paramB | DOUBLE | 123.456 |\r\n `,\r\n 'inputExample': `http://localhost:11005/getAPIsList?token={token}&id={id}¶mA=123¶mB=123.456`,\r\n 'mdOutputParams': `### 回傳數據結構: Array of objects\r\n| 參數 | 型別 | 範例 |\r\n| -- | -- | -- |\r\n| id | STRING | id-for-test |\r\n| weight | DOUBLE | 12.3 |\r\n| color | STRING | #f26 |\r\n| paramA | INTEGER | 321 |\r\n| paramB | DOUBLE | 654.321 |\r\n `,\r\n 'outputExample': `\r\n[\r\n {\r\n \"id\": \"id-for-test-1\",\r\n \"weight\": 12.3,\r\n \"color\": \"#f26\",\r\n \"paramA\": 101,\r\n \"paramB\": 0.01\r\n },\r\n {\r\n \"id\": \"id-for-test-2\",\r\n \"weight\": 22.3,\r\n \"color\": \"#2f6\",\r\n \"paramA\": 102,\r\n \"paramB\": 1.01\r\n },\r\n {\r\n \"id\": \"id-for-test-3\",\r\n \"weight\": 32.3,\r\n \"color\": \"#26f\",\r\n \"paramA\": 103,\r\n \"paramB\": 2.01\r\n }\r\n]\r\n `,\r\n },\r\n ], (item, k) => {\r\n let v = funNew({ ...item, order: k })\r\n v.id = item.id\r\n if (isestr(item.timeUpdate)) {\r\n v.timeUpdate = item.timeUpdate\r\n }\r\n v = dtpick(v, keys(settings))\r\n return v\r\n })\r\n console.log(`已產生: {keyTable} 測試資料`, rs)\r\n return rs\r\n}\r\n\r\nlet tab = {\r\n keyTable,\r\n tableNameCht,\r\n tableNameEng,\r\n settings,\r\n funNew,\r\n funTest,\r\n}\r\n\r\n\r\nexport default tab\r\n","import apis from './tables/apis.mjs'\nimport build from 'w-data-collector/src/build.mjs'\n\n\nlet cs = {\n apis,\n}\n\n//ds\nlet ds = {}\nfor (let k in cs) {\n ds[k] = build(cs[k], { useCreateStorage: false })\n}\n\n\nexport default ds\n","import each from 'lodash/each'\r\nimport set from 'lodash/set'\r\nimport * as types from './types.mjs'\r\nimport ds from '../schema/index.mjs'\r\n\r\n\r\n//state, 全域狀態\r\nlet state = {\r\n\r\n hostname: `${window.location.origin}`,\r\n webInfor: {},\r\n connState: '連線中...',\r\n syncState: false,\r\n viewState: 'lists',\r\n loading: false,\r\n settings: {\r\n leftDrawerWidth: 200,\r\n },\r\n\r\n heightApp: 0,\r\n heightAppEff: 0,\r\n heightToolbar: 50,\r\n\r\n menu: {}, //初始值需為物件, 否則LayoutContent會取menu.key出錯\r\n\r\n userToken: '',\r\n userSelf: {\r\n id: 'id-for-admin',\r\n name: '系統管理員',\r\n email: 'admin@email.com',\r\n isAdmin: true,\r\n },\r\n\r\n lang: 'cht',\r\n keyLangs: {\r\n\r\n noSelectApi: {\r\n eng: 'No Select',\r\n cht: '尚未選擇API',\r\n },\r\n waitingData: {\r\n eng: 'Waiting data...',\r\n cht: '等待數據中...',\r\n },\r\n tokens: {\r\n eng: 'Tokens',\r\n cht: '授權金鑰',\r\n },\r\n version: {\r\n eng: 'Version',\r\n cht: '版本',\r\n },\r\n levels: {\r\n eng: 'Levels',\r\n cht: '所屬階層',\r\n },\r\n keywords: {\r\n eng: 'Keywords',\r\n cht: '關鍵字',\r\n },\r\n state: {\r\n eng: 'State',\r\n cht: '狀態',\r\n },\r\n timeCreate: {\r\n eng: 'Create time',\r\n cht: '創建時間',\r\n },\r\n timeUpdate: {\r\n eng: 'Update time',\r\n cht: '更新時間',\r\n },\r\n creator: {\r\n eng: 'Creator',\r\n cht: 'API創建者',\r\n },\r\n dataSource: {\r\n eng: 'Source',\r\n cht: '資料提供者',\r\n },\r\n isActive: {\r\n eng: 'Active',\r\n cht: '有效',\r\n },\r\n mdInputParams: {\r\n eng: 'Input',\r\n cht: '輸入參數資訊或結構',\r\n },\r\n inputExample: {\r\n eng: 'Input example',\r\n cht: '輸入範例',\r\n },\r\n mdOutputParams: {\r\n eng: 'Output',\r\n cht: '回傳數據結構',\r\n },\r\n outputExample: {\r\n eng: 'Output example',\r\n cht: '回傳數據範例',\r\n },\r\n\r\n outputMenuTree: {\r\n eng: 'Tree',\r\n cht: '樹狀組件',\r\n },\r\n outputMenuRaw: {\r\n eng: 'Raw',\r\n cht: '原始數據',\r\n },\r\n\r\n },\r\n\r\n}\r\n\r\n//添加各資料表\r\neach(ds, (v, k) => {\r\n state[k] = null //初始化null\r\n})\r\n\r\n//儲存至state\r\nexport { state }\r\n\r\n//mutations, 同步執行\r\nexport let mutations = {\r\n\r\n [types.UpdateWebInfor] (state, webInfor) {\r\n state.webInfor = webInfor\r\n },\r\n\r\n [types.UpdateLang] (state, lang) {\r\n state.lang = lang\r\n },\r\n\r\n [types.UpdateConnState] (state, connState) {\r\n state.connState = connState\r\n },\r\n\r\n [types.UpdateSyncState] (state, syncState) {\r\n state.syncState = syncState\r\n },\r\n\r\n [types.UpdateLoading] (state, loading) {\r\n state.loading = loading\r\n },\r\n\r\n [types.UpdateViewState] (state, viewState) {\r\n state.viewState = viewState\r\n },\r\n\r\n [types.UpdateTableData] (state, msg) {\r\n state[msg.tableName] = msg.data\r\n },\r\n\r\n [types.UpdateData] (state, msg) {\r\n //msg.path內為存取路徑, 需使用lodash的set處理\r\n // console.log('UpdateData msg', msg)\r\n set(state, msg.path, msg.data)\r\n },\r\n\r\n [types.UpdateHeightApp] (state, heightApp) {\r\n state.heightApp = heightApp\r\n },\r\n\r\n [types.UpdateHeightAppEff] (state, heightAppEff) {\r\n state.heightAppEff = heightAppEff\r\n },\r\n\r\n [types.UpdateHeightToolbar] (state, heightToolbar) {\r\n state.heightToolbar = heightToolbar\r\n },\r\n\r\n [types.UpdateMenu] (state, menu) {\r\n state.menu = menu\r\n },\r\n\r\n [types.UpdateUserToken] (state, userToken) {\r\n state.userToken = userToken\r\n },\r\n\r\n [types.UpdateUserSelf] (state, userSelf) {\r\n state.userSelf = userSelf\r\n },\r\n\r\n}\r\n\r\n","import Vue from 'vue'\r\nimport Vuex from 'vuex'\r\nimport { state, mutations } from './mutations.mjs'\r\nimport * as getters from './getters.mjs'\r\nimport * as actions from './actions.mjs'\r\nimport * as types from './types.mjs'\r\n\r\n\r\n//use\r\nVue.use(Vuex)\r\n\r\nlet st = new Vuex.Store({\r\n state,\r\n mutations,\r\n getters,\r\n actions,\r\n strict: true, //嚴格模式禁止修改state\r\n})\r\n\r\n//save to $store\r\nst.types = types\r\nVue.prototype.$store = st\r\n// console.log('$store', st)\r\n\r\nexport default st\r\n","import Vue from 'vue'\nimport Vuetify from 'vuetify/lib'\n// import Vuetify from 'vuetify'\n// import 'vuetify/dist/vuetify.min.css'\n\nVue.use(Vuetify)\n\nexport default new Vuetify({\n icons: {\n iconfont: 'mdiSvg',\n },\n})\n","import Vue from 'vue'\r\nimport min from 'lodash/min'\r\nimport size from 'lodash/size'\r\nimport take from 'lodash/take'\r\nimport isEqual from 'lodash/isEqual'\r\nimport uniq from 'lodash/uniq'\r\nimport set from 'lodash/set'\r\nimport get from 'lodash/get'\r\nimport each from 'lodash/each'\r\nimport map from 'lodash/map'\r\nimport filter from 'lodash/filter'\r\nimport last from 'lodash/last'\r\nimport split from 'lodash/split'\r\nimport join from 'lodash/join'\r\nimport drop from 'lodash/drop'\r\nimport dropRight from 'lodash/dropRight'\r\nimport groupBy from 'lodash/groupBy'\r\nimport sortBy from 'lodash/sortBy'\r\nimport cloneDeep from 'lodash/cloneDeep'\r\nimport cint from 'wsemi/src/cint.mjs'\r\nimport delay from 'wsemi/src/delay.mjs'\r\nimport isarr from 'wsemi/src/isarr.mjs'\r\nimport isestr from 'wsemi/src/isestr.mjs'\r\nimport isfun from 'wsemi/src/isfun.mjs'\r\nimport iseobj from 'wsemi/src/iseobj.mjs'\r\nimport isearr from 'wsemi/src/isearr.mjs'\r\nimport isEle from 'wsemi/src/isEle.mjs'\r\nimport strleft from 'wsemi/src/strleft.mjs'\r\nimport strdelleft from 'wsemi/src/strdelleft.mjs'\r\nimport sep from 'wsemi/src/sep.mjs'\r\nimport aes2str from 'wsemi/src/aes2str.mjs'\r\nimport str2aes from 'wsemi/src/str2aes.mjs'\r\nimport haskey from 'wsemi/src/haskey.mjs'\r\nimport genPm from 'wsemi/src/genPm.mjs'\r\nimport pmSeries from 'wsemi/src/pmSeries.mjs'\r\nimport waitFun from 'wsemi/src/waitFun.mjs'\r\nimport browserView from 'wsemi/src/browserView.mjs'\r\nimport arrHas from 'wsemi/src/arrHas.mjs'\r\nimport arrSort from 'wsemi/src/arrSort.mjs'\r\nimport arrInsert from 'wsemi/src/arrInsert.mjs'\r\nimport replace from 'wsemi/src/replace.mjs'\r\nimport timemsTZ2past from 'wsemi/src/timemsTZ2past.mjs'\r\nimport convertToTree from 'wsemi/src/convertToTree.mjs'\r\nimport html2picDyn from 'wsemi/src/html2picDyn.mjs'\r\nimport urlParse from 'wsemi/src/urlParse.mjs'\r\nimport domConvertToPicDyn from 'wsemi/src/domConvertToPicDyn.mjs'\r\nimport ltdtkeysheads2mat from 'wsemi/src/ltdtkeysheads2mat.mjs'\r\nimport downloadFileFromB64 from 'wsemi/src/downloadFileFromB64.mjs'\r\nimport downloadExcelFileFromDataDyn from 'wsemi/src/downloadExcelFileFromDataDyn.mjs'\r\nimport getFileAccept from 'wsemi/src/getFileAccept.mjs'\r\nimport downloadFileFromU8Arr from 'wsemi/src/downloadFileFromU8Arr.mjs'\r\n// import WUiDwload from 'w-ui-dwload/src/WUiDwload.mjs'\r\n\r\n\r\nlet vo = Vue.prototype\r\n\r\n\r\nfunction updateConnState(connState) {\r\n vo.$store.commit(vo.$store.types.UpdateConnState, connState)\r\n}\r\n\r\n\r\nfunction updateLoading(loading) {\r\n vo.$store.commit(vo.$store.types.UpdateLoading, loading)\r\n}\r\n\r\n\r\nfunction updateViewState(viewState) {\r\n vo.$store.commit(vo.$store.types.UpdateViewState, viewState)\r\n}\r\n\r\n\r\nfunction getKpLang() {\r\n let keyLangs = get(vo, '$store.state.keyLangs')\r\n let webName = get(vo, '$store.state.webInfor.webName')\r\n let kls = {\r\n ...keyLangs,\r\n webName: {\r\n ...webName,\r\n },\r\n }\r\n let lang = get(vo, '$store.state.lang')\r\n let kp = {}\r\n each(kls, (v, k) => {\r\n kp[k] = v[lang]\r\n })\r\n return kp\r\n}\r\n\r\n\r\nfunction syncHeight() {\r\n\r\n //heightToolbar\r\n let heightToolbar = get(vo, '$store.state.heightToolbar')\r\n\r\n //heightAppEff\r\n let heightAppEff = window.innerHeight - heightToolbar\r\n\r\n //commit\r\n // vo.$store.commit(vo.$store.types.UpdateHeightToolbar, heightToolbar)\r\n vo.$store.commit(vo.$store.types.UpdateHeightApp, window.innerHeight)\r\n vo.$store.commit(vo.$store.types.UpdateHeightAppEff, heightAppEff)\r\n\r\n return ''\r\n}\r\n\r\n\r\nasync function waitData(t = 0) {\r\n\r\n //delay\r\n if (t > 0) {\r\n await delay(t)\r\n }\r\n\r\n //waitFun, 等待dsrl模組掛載\r\n await waitFun(() => {\r\n return iseobj(get(vo, '$dsrl'))\r\n })\r\n\r\n //等待前端第一次同步完畢數據\r\n await waitFun(() => {\r\n return get(vo, '$store.state.syncState')\r\n })\r\n\r\n}\r\n\r\n\r\nlet mUI = {\r\n\r\n updateConnState,\r\n updateLoading,\r\n updateViewState,\r\n getKpLang,\r\n syncHeight,\r\n\r\n waitData,\r\n\r\n}\r\n\r\n\r\nexport default mUI\r\n","import get from 'lodash/get'\r\nimport find from 'lodash/find'\r\nimport isestr from 'wsemi/src/isestr.mjs'\r\n\r\n\r\nfunction mDataSelectorSchema(ds, opt = {}) {\r\n\r\n function getTableInforBy(keyFind, valueFind, keyPick) {\r\n let r = find(ds, { [keyFind]: valueFind })\r\n if (!r) {\r\n r = ''\r\n }\r\n if (isestr(keyPick)) {\r\n r = get(r, keyPick, '')\r\n }\r\n return r\r\n }\r\n\r\n function getTableChtByKey(valueFind) {\r\n return getTableInforBy('keyTable', valueFind, 'tableNameCht')\r\n }\r\n\r\n return {\r\n getTableInforBy,\r\n getTableChtByKey,\r\n }\r\n}\r\n\r\n\r\nexport default mDataSelectorSchema\r\n","import min from 'lodash/min'\r\nimport size from 'lodash/size'\r\nimport take from 'lodash/take'\r\nimport isEqual from 'lodash/isEqual'\r\nimport uniq from 'lodash/uniq'\r\nimport set from 'lodash/set'\r\nimport get from 'lodash/get'\r\nimport each from 'lodash/each'\r\nimport map from 'lodash/map'\r\nimport filter from 'lodash/filter'\r\nimport last from 'lodash/last'\r\nimport split from 'lodash/split'\r\nimport join from 'lodash/join'\r\nimport drop from 'lodash/drop'\r\nimport dropRight from 'lodash/dropRight'\r\nimport groupBy from 'lodash/groupBy'\r\nimport sortBy from 'lodash/sortBy'\r\nimport cloneDeep from 'lodash/cloneDeep'\r\nimport cint from 'wsemi/src/cint.mjs'\r\nimport delay from 'wsemi/src/delay.mjs'\r\nimport isarr from 'wsemi/src/isarr.mjs'\r\nimport isestr from 'wsemi/src/isestr.mjs'\r\nimport isfun from 'wsemi/src/isfun.mjs'\r\nimport iseobj from 'wsemi/src/iseobj.mjs'\r\nimport isearr from 'wsemi/src/isearr.mjs'\r\nimport isEle from 'wsemi/src/isEle.mjs'\r\nimport strleft from 'wsemi/src/strleft.mjs'\r\nimport strdelleft from 'wsemi/src/strdelleft.mjs'\r\nimport sep from 'wsemi/src/sep.mjs'\r\nimport aes2str from 'wsemi/src/aes2str.mjs'\r\nimport str2aes from 'wsemi/src/str2aes.mjs'\r\nimport haskey from 'wsemi/src/haskey.mjs'\r\nimport genPm from 'wsemi/src/genPm.mjs'\r\nimport pmSeries from 'wsemi/src/pmSeries.mjs'\r\nimport waitFun from 'wsemi/src/waitFun.mjs'\r\nimport browserView from 'wsemi/src/browserView.mjs'\r\nimport arrHas from 'wsemi/src/arrHas.mjs'\r\nimport arrSort from 'wsemi/src/arrSort.mjs'\r\nimport arrInsert from 'wsemi/src/arrInsert.mjs'\r\nimport replace from 'wsemi/src/replace.mjs'\r\nimport timemsTZ2past from 'wsemi/src/timemsTZ2past.mjs'\r\nimport convertToTree from 'wsemi/src/convertToTree.mjs'\r\nimport html2picDyn from 'wsemi/src/html2picDyn.mjs'\r\nimport urlParse from 'wsemi/src/urlParse.mjs'\r\nimport domConvertToPicDyn from 'wsemi/src/domConvertToPicDyn.mjs'\r\nimport ltdtkeysheads2mat from 'wsemi/src/ltdtkeysheads2mat.mjs'\r\nimport downloadFileFromB64 from 'wsemi/src/downloadFileFromB64.mjs'\r\nimport downloadExcelFileFromDataDyn from 'wsemi/src/downloadExcelFileFromDataDyn.mjs'\r\nimport getFileAccept from 'wsemi/src/getFileAccept.mjs'\r\nimport downloadFileFromU8Arr from 'wsemi/src/downloadFileFromU8Arr.mjs'\r\n\r\n\r\nfunction mDataSupport(vo, opt = {}) {\r\n\r\n\r\n return {\r\n\r\n // getMetadataByTablenameAndId,\r\n\r\n // getProjectBasic,\r\n // getProjectsBasic,\r\n\r\n // treeMds,\r\n // treeProjectsBasicAndMds,\r\n\r\n // mdCheckKeyInd,\r\n // mdGetTItemsByKeyInd,\r\n // mdGetSizeByKeyInd,\r\n // mdGetTItemsLast,\r\n // mdGetTableChtByKeyInd,\r\n // mdGetTextByKey,\r\n // mdGetTextByKeyIndAndKey,\r\n\r\n }\r\n}\r\n\r\n\r\nexport default mDataSupport\r\n","//前後端共用函數區\r\n// import min from 'lodash/min'\r\nimport max from 'lodash/max'\r\nimport trim from 'lodash/trim'\r\n// import isEqual from 'lodash/isEqual'\r\nimport uniq from 'lodash/uniq'\r\nimport set from 'lodash/set'\r\nimport get from 'lodash/get'\r\nimport map from 'lodash/map'\r\nimport each from 'lodash/each'\r\nimport isNumber from 'lodash/isNumber'\r\nimport sortBy from 'lodash/sortBy'\r\nimport find from 'lodash/find'\r\nimport size from 'lodash/size'\r\nimport filter from 'lodash/filter'\r\nimport last from 'lodash/last'\r\nimport split from 'lodash/split'\r\nimport join from 'lodash/join'\r\nimport cloneDeep from 'lodash/cloneDeep'\r\nimport cstr from 'wsemi/src/cstr.mjs'\r\nimport sep from 'wsemi/src/sep.mjs'\r\nimport isarr from 'wsemi/src/isarr.mjs'\r\nimport isearr from 'wsemi/src/isearr.mjs'\r\nimport isstr from 'wsemi/src/isstr.mjs'\r\nimport isestr from 'wsemi/src/isestr.mjs'\r\nimport isbol from 'wsemi/src/isbol.mjs'\r\nimport iseobj from 'wsemi/src/iseobj.mjs'\r\nimport ispint from 'wsemi/src/ispint.mjs'\r\nimport isnum from 'wsemi/src/isnum.mjs'\r\nimport ispnum from 'wsemi/src/ispnum.mjs'\r\nimport isfun from 'wsemi/src/isfun.mjs'\r\nimport cdbl from 'wsemi/src/cdbl.mjs'\r\nimport cint from 'wsemi/src/cint.mjs'\r\nimport strleft from 'wsemi/src/strleft.mjs'\r\nimport strmid from 'wsemi/src/strmid.mjs'\r\nimport haskey from 'wsemi/src/haskey.mjs'\r\nimport timemsTZ2past from 'wsemi/src/timemsTZ2past.mjs'\r\nimport getFileAccept from 'wsemi/src/getFileAccept.mjs'\r\nimport at from 'wsemi/src/attstr.mjs'\r\n\r\n\r\nfunction dtAddAndLtdtFind(dt, keyDtSrc, keyDtSave, ltdt, keyLtdt = 'id') {\r\n\r\n //id\r\n let id = get(dt, keyDtSrc, '')\r\n // console.log('id', id)\r\n\r\n //check\r\n if (!isestr(id)) {\r\n return {}\r\n }\r\n\r\n //find\r\n let r = find(ltdt, { [keyLtdt]: id })\r\n // console.log('find r', r)\r\n\r\n //check\r\n if (!iseobj(r)) {\r\n return {}\r\n }\r\n\r\n //join\r\n dt[keyDtSave] = r\r\n // console.log('dt', dt)\r\n\r\n return dt\r\n}\r\n\r\n\r\nfunction gv(o, k, def = '無') {\r\n let r = get(o, k, '')\r\n if (!isestr(r)) {\r\n return def\r\n }\r\n return r\r\n}\r\n\r\n\r\nfunction parseNameByVersion(name) {\r\n\r\n //check\r\n if (name.indexOf('R') < 0) {\r\n return {\r\n name,\r\n version: null,\r\n }\r\n }\r\n\r\n let s = sep(name, 'R')\r\n let s0 = get(s, 0, '')\r\n let s1 = get(s, 1, '')\r\n let nv = size(s1)\r\n\r\n //check\r\n if (nv < 5) { //版本號為R00.00, 不包括R需為5位\r\n return {\r\n name,\r\n version: null,\r\n }\r\n }\r\n else if (nv > 5) { //版本號為R00.00-1091019, 後面可能有其他文字數字\r\n s1 = strleft(s1, 5)\r\n }\r\n\r\n //check, 提取出版本號為00.00, 需針對各字元檢查\r\n let c0 = strmid(s1, 0, 1)\r\n let c1 = strmid(s1, 1, 1)\r\n let c2 = strmid(s1, 2, 1)\r\n let c3 = strmid(s1, 3, 1)\r\n let c4 = strmid(s1, 4, 1)\r\n if (!isnum(c0) || !isnum(c1) || !isnum(c3) || !isnum(c4) || (c2 !== '.')) {\r\n return {\r\n name,\r\n version: null,\r\n }\r\n }\r\n\r\n //version\r\n let version = `R${s1}`\r\n\r\n return {\r\n name: s0,\r\n version,\r\n }\r\n}\r\n\r\n\r\nfunction timeFormaterPast(t) {\r\n let c = timemsTZ2past(t)\r\n c = get(c, 'msg', '無')\r\n return c\r\n}\r\n\r\n\r\n// function parseSerialNumberByVersion(serialNumber) {\r\n\r\n// //check\r\n// if (serialNumber.indexOf('R') < 0) {\r\n// return {\r\n// serialNumber,\r\n// serialNumberBase: serialNumber,\r\n// version: null,\r\n// }\r\n// }\r\n\r\n// let s = sep(serialNumber, 'R')\r\n// let s0 = get(s, 0, '')\r\n// let s1 = get(s, 1, '')\r\n// let nv = size(s1)\r\n\r\n// //check\r\n// if (nv !== 5) { //版本號為R00.00, 不包括R需為5位\r\n// return {\r\n// serialNumber,\r\n// serialNumberBase: serialNumber,\r\n// version: null,\r\n// }\r\n// }\r\n\r\n// //version\r\n// let version = `R${s1}`\r\n\r\n// return {\r\n// serialNumber,\r\n// serialNumberBase: s0,\r\n// version,\r\n// }\r\n// }\r\n\r\n\r\n// function isNumOrEng(str) {\r\n// let regExp = /^[\\d|a-zA-Z]+$/\r\n// if (regExp.test(str)) {\r\n// return true\r\n// }\r\n// else {\r\n// return false\r\n// }\r\n// }\r\n\r\n\r\n// function getKpTableData(rows) {\r\n// rows = filter(rows, (v) => {\r\n// return v.isActive === 'y'\r\n// })\r\n// let kp = {}\r\n// each(rows, (v) => {\r\n// kp[v.id] = v\r\n// })\r\n// return kp\r\n// }\r\n\r\n\r\n// function getItemsByIds(ids, kp) {\r\n// let ts = atParse(ids)\r\n// let rs = []\r\n// each(ts, (v) => {\r\n// let r = get(kp, v.id)\r\n// if (iseobj(r)) {\r\n// rs.push(r)\r\n// }\r\n// })\r\n// return rs\r\n// }\r\n\r\n\r\n// function extractFileType(fileName, fileType) {\r\n// let r = ''\r\n\r\n// //find\r\n// let ar = getFileAccept()\r\n// for (let i = 0; i < ar.length; i++) {\r\n// if (ar[i].acp === fileType) {\r\n// return ar[i].name\r\n// }\r\n// }\r\n\r\n// //from name ext\r\n// let s = split(fileName, '.')\r\n// if (size(s) > 1) {\r\n// return last(s)\r\n// }\r\n\r\n// return r\r\n// }\r\n\r\n\r\nexport {\r\n at,\r\n gv,\r\n parseNameByVersion,\r\n // parseSerialNumberByVersion,\r\n dtAddAndLtdtFind,\r\n timeFormaterPast\r\n}\r\n","import get from 'lodash/get'\r\n// import '@babel/polyfill' //需提供Vuetify的Symbol等API\r\n// import 'core-js/stable' //需提供Vuetify的Symbol等API, 官網說使用transpileDependencies但不夠, 改用之前提到的@babel/polyfill會被提示已廢棄, 改使用給webpack的polyfill方式才行\r\n// import 'regenerator-runtime/runtime'\r\n// import 'intersection-observer' //需供Vuetify的Intersection Observer, 專案內有使用v-intersect才需引入, 而w-component-vue沒用v-intersect\r\nimport Vue from 'vue'\r\nimport WServHapiClient from 'w-serv-hapi/src/WServHapiClient.mjs'\r\nimport WAlert from 'w-component-vue/src/components/WAlert.mjs'\r\nimport domMutation from 'w-component-vue/src/js/domMutation.mjs'\r\nimport domResize from 'w-component-vue/src/js/domResize.mjs'\r\nimport domDragDrop from 'w-component-vue/src/js/domDragDrop.mjs'\r\nimport App from './App.vue'\r\nimport store from './store/index.mjs'\r\nimport mVuetify from './plugins/mVuetify.mjs'\r\nimport ui from './plugins/mUI.mjs'\r\nimport mDataSelectorSchema from './plugins/mDataSelectorSchema.mjs'\r\nimport mDataSupport from './plugins/mDataSupport.mjs'\r\nimport * as s from './plugins/mShare.mjs'\r\nimport ds from './schema/index.mjs'\r\n// console.log('globalState', globalState)\r\n// console.log('ds', ds)\r\n\r\n\r\n//不提示vue產品\r\nVue.config.productionTip = false\r\n\r\n//$alert\r\nVue.prototype.$alert = function() {\r\n let [msg, type] = arguments\r\n console.log(msg, type)\r\n if (msg !== 'close') {\r\n WAlert(msg, type)\r\n }\r\n}\r\n\r\n//dssm\r\nlet dssm = mDataSelectorSchema(ds)\r\n\r\n//dspt\r\nlet dspt = mDataSupport(Vue.prototype)\r\n\r\n//prototype\r\nVue.prototype.$ui = ui\r\nVue.prototype.$s = s\r\nVue.prototype.$dssm = dssm\r\nVue.prototype.$dspt = dspt\r\n// Vue.prototype.$ds = ds\r\nVue.prototype.$dg = {}\r\n\r\n//directive\r\nVue.directive('domresize', domResize())\r\nVue.directive('dommutation', domMutation())\r\nVue.directive('domdragdrop', domDragDrop())\r\n\r\n//WServHapiClient\r\nlet bFirstSync = false\r\nWServHapiClient({\r\n getUrl: () => {\r\n return window.location.origin + window.location.pathname\r\n },\r\n useWaitToken: false,\r\n getToken: () => {\r\n return get(Vue.prototype, `$store.state.userToken`, '')\r\n },\r\n getServerMethods: (_fapi) => {\r\n console.log('$fapi', _fapi)\r\n Vue.prototype.$fapi = _fapi\r\n _fapi.getWebInfor() //已有fapi時優先取得web資訊\r\n .then((wi) => {\r\n // console.log('$fapi wi', wi)\r\n Vue.prototype.$store.commit(Vue.prototype.$store.types.UpdateWebInfor, wi)\r\n })\r\n .catch((err) => {\r\n console.log(err)\r\n })\r\n },\r\n recvData: (r) => {\r\n console.log('sync data', r.tableName, r.data)\r\n Vue.prototype.$store.commit(Vue.prototype.$store.types.UpdateTableData, r)\r\n },\r\n getAfterUpdateTableTags: (r) => {\r\n // console.log('getAfterUpdateTableTags', r, 'needToRefresh', JSON.stringify(r.oldTableTags) !== JSON.stringify(r.newTableTags))\r\n if (bFirstSync) {\r\n return\r\n }\r\n bFirstSync = true\r\n console.log('first-sync')\r\n Vue.prototype.$store.commit(Vue.prototype.$store.types.UpdateSyncState, true)\r\n },\r\n})\r\n\r\n//new\r\nnew Vue({\r\n vuetify: mVuetify,\r\n store,\r\n render: h => h(App)\r\n}).$mount('#app')\r\n\r\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LayoutContentList.vue?vue&type=style&index=0&id=721d333e&scoped=true&lang=css&\""],"sourceRoot":""}
|