w-web-api 1.0.8 → 1.0.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -23,8 +23,8 @@ npm i w-web-api
23
23
  > **Link:** [[dev source code](https://github.com/yuda-lyu/w-web-api/blob/master/srv.mjs)]
24
24
  ```alias
25
25
  import WOrm from 'w-orm-mongodb/src/WOrmMongodb.mjs' //自行選擇引用ORM, 使用Mongodb測試
26
- import getSettings from './server/getSettings.mjs'
27
26
  import WWebApi from './server/WWebApi.mjs'
27
+ import getSettings from './g.getSettings.mjs'
28
28
 
29
29
 
30
30
  //st
@@ -42,8 +42,13 @@ let opt = {
42
42
 
43
43
  webName: {
44
44
  'eng': 'API Service',
45
- 'cht': 'API管理系統'
45
+ 'cht': 'API管理系統',
46
46
  },
47
+ webDescription: {
48
+ 'eng': 'A web service package as methods to send requests to and receive responses from an API.',
49
+ 'cht': 'A web service package as methods to send requests to and receive responses from an API.',
50
+ },
51
+ webLogo: 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/PjwhRE9DVFlQRSBzdmcgIFBVQkxJQyAnLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4nICAnaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkJz48c3ZnIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMyIDMyIiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGcgaWQ9IkxheWVyXzIiLz48ZyBpZD0iTGF5ZXJfMyIvPjxnIGlkPSJMYXllcl80Ij48Zz48cGF0aCBkPSJNOS4wMiw2QzkuMDEyNyw2LDkuMDA2OCw1Ljk5OSw5LDZIMkMxLjQ0NzgsNiwxLDUuNTUyNywxLDVWMmMwLTAuNTUyNywwLjQ0NzgtMSwxLTFoNiAgICBjMC40MzA3LDAsMC44MTI1LDAuMjc1NCwwLjk0ODcsMC42ODM2bDAuOTQwNCwyLjgyMTNDOS45NzIyLDQuNjUxNCwxMC4wMiw0LjgyMDMsMTAuMDIsNUMxMC4wMiw1LjU1MjcsOS41NzIzLDYsOS4wMiw2eiBNMyw0ICAgIGg0LjYxMjhMNy4yNzkzLDNIM1Y0eiIgZmlsbD0iI0Y1RDgwMyIvPjwvZz48Zz48cGF0aCBkPSJNMjQuMDE5NSwyMmMtMC4wMDM5LDAtMC4wMTE3LDAuMDAxLTAuMDE5NSwwaC03Yy0wLjU1MjIsMC0xLTAuNDQ3My0xLTF2LTNjMC0wLjU1MjcsMC40NDc4LTEsMS0xaDYgICAgYzAuNDMwNywwLDAuODEyNSwwLjI3NTQsMC45NDgyLDAuNjgzNmwwLjk0MDQsMi44MjEzYzAuMDg0LDAuMTQ2NSwwLjEzMDksMC4zMTU0LDAuMTMwOSwwLjQ5NTEgICAgQzI1LjAxOTUsMjEuNTUyNywyNC41NzIzLDIyLDI0LjAxOTUsMjJ6IE0xOCwyMGg0LjYxMjNsLTAuMzMzLTFIMThWMjB6IiBmaWxsPSIjRjVEODAzIi8+PC9nPjxnPjxwYXRoIGQ9Ik0xNSwxNUgyYy0wLjU1MjIsMC0xLTAuNDQ3My0xLTFWNWMwLTAuNTUyNywwLjQ0NzgtMSwxLTFoMTNjMC41NTIyLDAsMSwwLjQ0NzMsMSwxdjkgICAgQzE2LDE0LjU1MjcsMTUuNTUyMiwxNSwxNSwxNXogTTMsMTNoMTFWNkgzVjEzeiIgZmlsbD0iIzAxODFCMCIvPjwvZz48Zz48cGF0aCBkPSJNMzAsMzFIMTdjLTAuNTUyMiwwLTEtMC40NDczLTEtMXYtOWMwLTAuNTUyNywwLjQ0NzgtMSwxLTFoMTNjMC41NTI3LDAsMSwwLjQ0NzMsMSwxdjkgICAgQzMxLDMwLjU1MjcsMzAuNTUyNywzMSwzMCwzMXogTTE4LDI5aDExdi03SDE4VjI5eiIgZmlsbD0iIzAxODFCMCIvPjwvZz48Zz48cGF0aCBkPSJNMjYsOGgtOGMtMC41NTI3LDAtMSwwLjQ0NzMtMSwxczAuNDQ3MywxLDEsMWg3djZjMCwwLjU1MjcsMC40NDczLDEsMSwxczEtMC40NDczLDEtMVY5ICAgIEMyNyw4LjQ0NzMsMjYuNTUyNyw4LDI2LDh6IiBmaWxsPSIjMDBBQ0JBIi8+PGc+PHBhdGggZD0iTTIwLDEyYy0wLjI1NTksMC0wLjUxMTctMC4wOTc3LTAuNzA3LTAuMjkzbC0yLTJjLTAuMzkwNi0wLjM5MDYtMC4zOTA2LTEuMDIzNCwwLTEuNDE0MWwyLTIgICAgIGMwLjM5MDYtMC4zOTA2LDEuMDIzNC0wLjM5MDYsMS40MTQxLDBzMC4zOTA2LDEuMDIzNCwwLDEuNDE0MUwxOS40MTQxLDlsMS4yOTMsMS4yOTNjMC4zOTA2LDAuMzkwNiwwLjM5MDYsMS4wMjM0LDAsMS40MTQxICAgICBDMjAuNTExNywxMS45MDIzLDIwLjI1NTksMTIsMjAsMTJ6IiBmaWxsPSIjRjVEODAzIi8+PC9nPjwvZz48Zz48cGF0aCBkPSJNMTQsMjVIN3YtNmMwLTAuNTUyNy0wLjQ0NzgtMS0xLTFzLTEsMC40NDczLTEsMXY3YzAsMC41NTI3LDAuNDQ3OCwxLDEsMWg4YzAuNTUyMiwwLDEtMC40NDczLDEtMSAgICBTMTQuNTUyMiwyNSwxNCwyNXoiIGZpbGw9IiMwMEFDQkEiLz48Zz48cGF0aCBkPSJNMTIsMjljLTAuMjU1OSwwLTAuNTExNy0wLjA5NzctMC43MDctMC4yOTNjLTAuMzkwNi0wLjM5MDYtMC4zOTA2LTEuMDIzNCwwLTEuNDE0MUwxMi41ODU5LDI2ICAgICBsLTEuMjkzLTEuMjkzYy0wLjM5MDYtMC4zOTA2LTAuMzkwNi0xLjAyMzQsMC0xLjQxNDFzMS4wMjM0LTAuMzkwNiwxLjQxNDEsMGwyLDJjMC4zOTA2LDAuMzkwNiwwLjM5MDYsMS4wMjM0LDAsMS40MTQxbC0yLDIgICAgIEMxMi41MTE3LDI4LjkwMjMsMTIuMjU1OSwyOSwxMiwyOXoiIGZpbGw9IiNGNUQ4MDMiLz48L2c+PC9nPjwvZz48ZyBpZD0iTGF5ZXJfNSIvPjxnIGlkPSJMYXllcl82Ii8+PGcgaWQ9IkxheWVyXzciLz48ZyBpZD0iTGF5ZXJfOCIvPjxnIGlkPSJMYXllcl85Ii8+PGcgaWQ9IkxheWVyXzEwIi8+PGcgaWQ9IkxheWVyXzExIi8+PGcgaWQ9IkxheWVyXzEyIi8+PGcgaWQ9IkxheWVyXzEzIi8+PGcgaWQ9IkxheWVyXzE0Ii8+PGcgaWQ9IkxheWVyXzE1Ii8+PGcgaWQ9IkxheWVyXzE2Ii8+PGcgaWQ9IkxheWVyXzE3Ii8+PGcgaWQ9IkxheWVyXzE4Ii8+PGcgaWQ9IkxheWVyXzE5Ii8+PGcgaWQ9IkxheWVyXzIwIi8+PGcgaWQ9IkxheWVyXzIxIi8+PGcgaWQ9IkxheWVyXzIyIi8+PGcgaWQ9IkxheWVyXzIzIi8+PGcgaWQ9IkxheWVyXzI0Ii8+PGcgaWQ9IkxheWVyXzI1Ii8+PGcgaWQ9IkxheWVyXzI2Ii8+PC9zdmc+',
47
52
 
48
53
  }
49
54
 
@@ -1 +1 @@
1
- .md[data-v-6700278b] table{border-collapse:collapse;margin:0;padding:0;word-break:normal}.md[data-v-6700278b] tr{margin:0;padding:0}.md[data-v-6700278b] table tr th{font-weight:700;background:#eee;border:1px solid #ddd;border-bottom:0;margin:0;padding:6px 13px}.md[data-v-6700278b] table tr td{border:1px solid #ddd;margin:0;padding:6px 13px}.md[data-v-6700278b] h1{font-size:1.2rem;line-height:1.2rem}.md[data-v-6700278b] h1,.md[data-v-6700278b] h2{font-weight:700;margin-top:.5rem;margin-bottom:.5rem}.md[data-v-6700278b] h2{font-size:1.1rem;line-height:1.1rem}.md[data-v-6700278b] h3,.md[data-v-6700278b] h4,.md[data-v-6700278b] h5,.md[data-v-6700278b] h6{font-weight:700;font-size:1rem;line-height:1rem;margin-top:.5rem;margin-bottom:.5rem}.bk[data-v-721d333e]{display:inline-block;width:200px;padding:0 10px 10px 0;vertical-align:top}.bk-title[data-v-721d333e]{font-size:.8rem;color:#888}.bk-item[data-v-721d333e]{padding:3px 5px;font-size:.9rem;line-height:.9rem;border-radius:5px;border:1px solid #ddd;background:#fff}body,html{font-family:微軟正黑體,Microsoft JhengHei,MicrosoftJhengHeiRegular,Avenir,Helvetica,Arial,sans-serif;overflow-y:hidden}.v-application,.v-application--wrap,a,button,div,input,p,pre,span,textarea{font-family:inherit}.v-chip{cursor:inherit}.fade-enter-active{-webkit-animation:go 1s;animation:go 1s}.fade-leave-active{-webkit-animation:back 1s;animation:back 1s}@-webkit-keyframes go{0%{opacity:0}to{opacity:1}}@keyframes go{0%{opacity:0}to{opacity:1}}@-webkit-keyframes back{0%{opacity:1}to{opacity:0}}@keyframes back{0%{opacity:1}to{opacity:0}}
1
+ .md[data-v-6700278b] table{border-collapse:collapse;margin:0;padding:0;word-break:normal}.md[data-v-6700278b] tr{margin:0;padding:0}.md[data-v-6700278b] table tr th{font-weight:700;background:#eee;border:1px solid #ddd;border-bottom:0;margin:0;padding:6px 13px}.md[data-v-6700278b] table tr td{border:1px solid #ddd;margin:0;padding:6px 13px}.md[data-v-6700278b] h1{font-size:1.2rem;line-height:1.2rem}.md[data-v-6700278b] h1,.md[data-v-6700278b] h2{font-weight:700;margin-top:.5rem;margin-bottom:.5rem}.md[data-v-6700278b] h2{font-size:1.1rem;line-height:1.1rem}.md[data-v-6700278b] h3,.md[data-v-6700278b] h4,.md[data-v-6700278b] h5,.md[data-v-6700278b] h6{font-weight:700;font-size:1rem;line-height:1rem;margin-top:.5rem;margin-bottom:.5rem}.bk[data-v-00461acf]{display:inline-block;width:200px;padding:0 10px 10px 0;vertical-align:top}.bk-title[data-v-00461acf]{font-size:.8rem;color:#888}.bk-item[data-v-00461acf]{padding:3px 5px;font-size:.9rem;line-height:.9rem;border-radius:5px;border:1px solid #ddd;background:#fff}body,html{font-family:微軟正黑體,Microsoft JhengHei,MicrosoftJhengHeiRegular,Avenir,Helvetica,Arial,sans-serif;overflow-y:hidden}.v-application,.v-application--wrap,a,button,div,input,p,pre,span,textarea{font-family:inherit}.v-chip{cursor:inherit}.fade-enter-active{-webkit-animation:go 1s;animation:go 1s}.fade-leave-active{-webkit-animation:back 1s;animation:back 1s}@-webkit-keyframes go{0%{opacity:0}to{opacity:1}}@keyframes go{0%{opacity:0}to{opacity:1}}@-webkit-keyframes back{0%{opacity:1}to{opacity:0}}@keyframes back{0%{opacity:1}to{opacity:0}}
package/dist/index.html CHANGED
@@ -1 +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.3a02c6c0.js" rel="preload" as="script"><link href="/js/chunk-vendors.ea519469.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.ea519469.js"></script><script src="/js/app.3a02c6c0.js"></script></body></html>
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.45ca8069.css" rel="preload" as="style"><link href="/css/chunk-vendors.f0a39794.css" rel="preload" as="style"><link href="/js/app.3066e83f.js" rel="preload" as="script"><link href="/js/chunk-vendors.8193f50a.js" rel="preload" as="script"><link href="/css/chunk-vendors.f0a39794.css" rel="stylesheet"><link href="/css/app.45ca8069.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.8193f50a.js"></script><script src="/js/app.3066e83f.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([0,"chunk-vendors"]),n()})({0:function(t,e,n){t.exports=n("56d7")},"034f":function(t,e,n){"use strict";n("85ec")},1:function(t,e){},"16cc":function(t,e,n){"use strict";n("8096")},"56d7":function(t,e,n){"use strict";n.r(e);var a={};n.r(a),n.d(a,"UpdateWebInfor",(function(){return St})),n.d(a,"UpdateLang",(function(){return bt})),n.d(a,"UpdateKpText",(function(){return kt})),n.d(a,"UpdateConnState",(function(){return Tt})),n.d(a,"UpdateSyncState",(function(){return It})),n.d(a,"UpdateLoading",(function(){return Et})),n.d(a,"UpdateViewState",(function(){return wt})),n.d(a,"UpdateTableData",(function(){return At})),n.d(a,"UpdateData",(function(){return Ot})),n.d(a,"UpdateHeightApp",(function(){return Bt})),n.d(a,"UpdateHeightAppEff",(function(){return xt})),n.d(a,"UpdateHeightToolbar",(function(){return Gt})),n.d(a,"UpdateMenu",(function(){return Nt})),n.d(a,"UpdateUserToken",(function(){return Rt})),n.d(a,"UpdateUserSelf",(function(){return Ut}));var r={};n.r(r);var i={};n.r(i);var o={};n.r(o),n.d(o,"at",(function(){return Le["a"]}));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(),n("div",{staticStyle:{"padding-left":"5px","white-space":"nowrap"}},[n("div",{staticStyle:{display:"flex","align-items":"center"}},[t.webLogo?n("div",{staticStyle:{"padding-right":"10px",display:"flex","align-items":"center"}},[n("img",{staticStyle:{width:"36px",height:"36px"},attrs:{src:t.webLogo}})]):t._e(),n("div",[n("div",{staticStyle:{"font-size":"1.2rem",color:"#000"}},[t._v(t._s(t.webName))]),n("div",{staticStyle:{"font-size":"0.8rem",color:"#666"}},[t._v(t._s(t.$t("webDescription")))])])])]),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=[],S=n("c97c"),b=n("ea3a"),k=n("d4e6"),T=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.$t("waitingData"))+" ")])],2)},I=[],E=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.$ui.gv(t.getItemByKey(e.data.text),"name"))+" ")])])]}}],null,!1,901240009)})],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.$ui.gv(t.apiSelect,"url"))+" ")])])]),n("div",{staticStyle:{padding:"10px"}},[n("div",{staticStyle:{color:"#485ed5"}},[t._v(" "+t._s(t.$ui.gv(t.apiSelect,"name"))+" ")]),n("div",{staticClass:"bk-title"},[t._v(" "+t._s(t.$ui.gv(t.apiSelect,"description"))+" ")])]),n("div",{staticStyle:{padding:"10px"}},[n("div",{staticClass:"bk"},[n("div",{staticClass:"bk-title"},[t._v(" "+t._s(t.$t("tokens"))+" ")]),n("div",{staticClass:"bk-item"},[t._v(" "+t._s(t.$ui.gv(t.apiSelect,"tokens"))+" ")])]),n("div",{staticClass:"bk"},[n("div",{staticClass:"bk-title"},[t._v(" "+t._s(t.$t("version"))+" ")]),n("div",{staticClass:"bk-item"},[t._v(" "+t._s(t.$ui.gv(t.apiSelect,"version"))+" ")])]),n("div",{staticClass:"bk"},[n("div",{staticClass:"bk-title"},[t._v(" "+t._s(t.$t("levels"))+" ")]),n("div",{staticClass:"bk-item"},[t._v(" "+t._s(t.$ui.gv(t.apiSelect,""))+" ")])]),n("div",{staticClass:"bk"},[n("div",{staticClass:"bk-title"},[t._v(" "+t._s(t.$t("keywords"))+" ")]),n("div",{staticClass:"bk-item"},[t._v(" "+t._s(t.$ui.gv(t.apiSelect,""))+" ")])]),n("div",{staticClass:"bk"},[n("div",{staticClass:"bk-title"},[t._v(" "+t._s(t.$t("state"))+" ")]),n("div",{staticClass:"bk-item"},[t._v(" "+t._s(t.$ui.gv(t.apiSelect,""))+" ")])]),n("div",{staticClass:"bk"},[n("div",{staticClass:"bk-title"},[t._v(" "+t._s(t.$t("timeCreate"))+" ")]),n("div",{staticClass:"bk-item"},[t._v(" "+t._s(t.$ui.gv(t.apiSelect,"timeCreate",t.getDay))+" ")])]),n("div",{staticClass:"bk"},[n("div",{staticClass:"bk-title"},[t._v(" "+t._s(t.$t("timeUpdate"))+" ")]),n("div",{staticClass:"bk-item"},[t._v(" "+t._s(t.$ui.gv(t.apiSelect,"timeUpdate",t.getDay))+" ")])]),n("div",{staticClass:"bk"},[n("div",{staticClass:"bk-title"},[t._v(" "+t._s(t.$t("creator"))+" ")]),n("div",{staticClass:"bk-item"},[t._v(" "+t._s(t.$ui.gv(t.apiSelect,"creator"))+" ")])]),n("div",{staticClass:"bk"},[n("div",{staticClass:"bk-title"},[t._v(" "+t._s(t.$t("dataSource"))+" ")]),n("div",{staticClass:"bk-item"},[t._v(" "+t._s(t.$ui.gv(t.apiSelect,"dataSource"))+" ")])]),n("div",{staticClass:"bk"},[n("div",{staticClass:"bk-title"},[t._v(" "+t._s(t.$t("isActive"))+" ")]),n("div",{staticClass:"bk-item"},[t._v(" "+t._s(t.$ui.gv(t.apiSelect,"isActive"))+" ")])])]),n("div",{staticStyle:{padding:"10px"}},[n("div",{staticClass:"bk-title"},[t._v(" "+t._s(t.$t("mdInputParams"))+" ")]),n("div",{staticClass:"bk-item",staticStyle:{padding:"10px"}},[n("MdPanel",{attrs:{md:t.$ui.gv(t.apiSelect,"mdInputParams")}})],1)]),n("div",{staticStyle:{padding:"10px"}},[n("div",{staticClass:"bk-title"},[t._v(" "+t._s(t.$t("inputExample"))+" ")]),n("div",{staticClass:"bk-item",staticStyle:{padding:"10px"}},[t._v(" "+t._s(t.$ui.gv(t.apiSelect,"inputExample"))+" ")])]),n("div",{staticStyle:{padding:"10px"}},[n("div",{staticClass:"bk-title"},[t._v(" "+t._s(t.$t("mdOutputParams"))+" ")]),n("div",{staticClass:"bk-item",staticStyle:{padding:"10px"}},[n("MdPanel",{attrs:{md:t.$ui.gv(t.apiSelect,"mdOutputParams")}})],1)]),n("div",{staticStyle:{padding:"10px"}},[n("div",{staticClass:"bk-title"},[t._v(" "+t._s(t.$t("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.$t("noSelectApi"))+" ")])]):n("div",{staticStyle:{padding:"20px","font-size":"0.9rem"}},[t._v(" "+t._s(t.$t("waitingData"))+" ")])])},w=[],A=n("0f5c"),O=n.n(A),B=n("c641"),x=n.n(B),G=n("d623"),N=n.n(G),R=n("66c7"),U=n.n(R),_=n("2769"),L=n.n(_),$=n("0644"),P=n.n($),j=n("ec85"),C=n("524d"),D=n("73cf"),M=n("3b32"),H=n("1b73"),K=n("d502"),W=n("9dd0"),z=n("c0ce"),J=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)}})])},V=[],X=n("339e"),q=n.n(X),F={components:{},props:{md:{type:String,default:""}},data:function(){return{}},computed:{mdh:function(){var t=this,e=new q.a.Converter;e.setOption("tables",!0);var n=e.makeHtml(t.md);return n}},methods:{}},Q=F,Y=(n("16cc"),n("2877")),Z=Object(Y["a"])(Q,J,V,!1,null,"6700278b",null),tt=Z.exports,et={components:{WGroupRadio:K["a"],WTree:W["a"],WJsonView:z["a"],MdPanel:tt},props:{},data:function(){return{lineHeightTree:38,apisTree:[],kpApisTree:{},apiActive:null,apiSelect:null,kpColorMethod:{GET:"#7c2",POST:"#68f",PUT:"#f82",DEL:"#f26"},optputMenuItemSelectId:"tree"}},computed:{apis:function(){return p()(this,"$store.state.apis")},changeApis:function(){var t=this;return t.genTree(t.apis),""},hasApis:function(){return N()(this.apisTree)>0},optputMenuItems:function(){var t=this,e=[{id:"tree",text:t.$t("outputMenuTree"),icon:"mdi-vanity-light"},{id:"raw",text:t.$t("outputMenuRaw"),icon:"mdi-lan"}];return e},optputMenuItemSelect:function(){var t=this,e=L()(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(H["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(M["a"])(t)},getOutputJson:function(t){var e=p()(t,"outputExample","");return e=U()(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)}}},nt=et,at=(n("c9eb"),Object(Y["a"])(nt,E,w,!1,null,"00461acf",null)),rt=at.exports,it={components:{LayoutContentList:rt},props:{},data:function(){return{}},computed:{syncState:function(){return p()(this,"$store.state.syncState")}},methods:{}},ot=it,st=Object(Y["a"])(ot,T,I,!1,null,"9b2333d2",null),pt=st.exports,dt={components:{WButtonCircle:b["a"],WTextSelect:k["a"],LayoutContent:pt},props:{},data:function(){return{drawer:!1,tgLangs:[{id:"cht",text:"中文"},{id:"eng",text:"English"}],tgLangSelect:{id:"cht",text:"中文"}}},beforeMount:function(){var t=this;t.$ui.setLang(t.tgLangSelect.id)},computed:{viewState:function(){return p()(this,"$store.state.viewState")},heightToolbar:function(){return p()(this,"$store.state.heightToolbar")},webName:{get:function(){var t=this,e=t.$t("webName");return Object(S["a"])(e)||(e=t.$t("waitingData")),document.title=e,e}},webLogo:function(){return p()(this,"$store.state.webInfor.webLogo")}},methods:{changeLang:function(t){var e=this,n=t.id;e.$ui.setLang(n)}}},ct=dt,lt=Object(Y["a"])(ct,v,y,!1,null,"a357a654",null),ut=lt.exports,mt={components:{Layout:ut},data:function(){return{ready:!0}},mounted:function(){var t=this;t.$ui.setVo(t)},methods:{resize:function(t){var e=this;e.$ui.syncHeight()}}},ft=mt,gt=(n("034f"),Object(Y["a"])(ft,g,h,!1,null,null,null)),ht=gt.exports,vt=n("d7a6"),yt=n("9523"),St="UpdateWebInfor",bt="UpdateLang",kt="UpdateKpText",Tt="UpdateConnState",It="UpdateSyncState",Et="UpdateLoading",wt="UpdateViewState",At="UpdateTableData",Ot="UpdateData",Bt="UpdateHeightApp",xt="UpdateHeightAppEff",Gt="UpdateHeightToolbar",Nt="UpdateMenu",Rt="UpdateUserToken",Ut="UpdateUserSelf",_t=n("dd61"),Lt=n("ec69"),$t=n("5cff"),Pt=n("80d1"),jt=n("7092"),Ct=n("e096"),Dt=n("7cc7");function Mt(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 Ht(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?Mt(Object(n),!0).forEach((function(e){yt(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Mt(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}var Kt="apis",Wt="APIs",zt="APIs",Jt={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"}},Vt=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=Object(Pt["a"])(t,Lt(Jt));return e.id="".concat(Object(Dt["a"])(),"-").concat(Object($t["a"])()),e.timeCreate=Object(Ct["a"])(),e.timeUpdate=e.timeCreate,e.isActive="y",e},Xt=function(){var t=_t([{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}&paramA=123&paramB=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}&paramA=123&paramB=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}&paramA=123&paramB=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}&paramA=123&paramB=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}&paramA=123&paramB=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}&paramA=123&paramB=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}&paramA=123&paramB=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}&paramA=123&paramB=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}&paramA=123&paramB=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}&paramA=123&paramB=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}&paramA=123&paramB=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}&paramA=123&paramB=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}&paramA=123&paramB=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}&paramA=123&paramB=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=Vt(Ht(Ht({},t),{},{order:e}));return n.id=t.id,Object(S["a"])(t.timeUpdate)&&(n.timeUpdate=t.timeUpdate),n=Object(jt["a"])(n,Lt(Jt)),n}));return console.log("已產生: {keyTable} 測試資料",t),t},qt={keyTable:Kt,tableNameCht:Wt,tableNameEng:zt,settings:Jt,funNew:Vt,funTest:Xt},Ft=qt,Qt=n("a623"),Yt={apis:Ft},Zt={};for(var te in Yt)Zt[te]=Object(Qt["a"])(Yt[te],{useCreateStorage:!1});var ee,ne=Zt,ae={hostname:"".concat(window.location.origin),webInfor:{},connState:"連線中...",syncState:!1,viewState:"lists",loading:!1,settings:{leftDrawerWidth:200},heightApp:0,heightAppEff:0,heightToolbar:60,menu:{},userToken:"",userSelf:{id:"id-for-admin",name:"系統管理員",email:"admin@email.com",isAdmin:!0},lang:"cht",keyLangs:{empty:{eng:"Empty",cht:"無"},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:"原始數據"}},kpText:{}};B(ne,(function(t,e){ae[e]=null}));var re=(ee={},yt(ee,St,(function(t,e){t.webInfor=e})),yt(ee,bt,(function(t,e){t.lang=e})),yt(ee,kt,(function(t,e){t.kpText=e})),yt(ee,Tt,(function(t,e){t.connState=e})),yt(ee,It,(function(t,e){t.syncState=e})),yt(ee,Et,(function(t,e){t.loading=e})),yt(ee,wt,(function(t,e){t.viewState=e})),yt(ee,At,(function(t,e){t[e.tableName]=e.data})),yt(ee,Ot,(function(t,e){A(t,e.path,e.data)})),yt(ee,Bt,(function(t,e){t.heightApp=e})),yt(ee,xt,(function(t,e){t.heightAppEff=e})),yt(ee,Gt,(function(t,e){t.heightToolbar=e})),yt(ee,Nt,(function(t,e){t.menu=e})),yt(ee,Rt,(function(t,e){t.userToken=e})),yt(ee,Ut,(function(t,e){t.userSelf=e})),ee);d["a"].use(vt);var ie=new vt.Store({state:ae,mutations:re,getters:r,actions:i,strict:!0});ie.types=a,d["a"].prototype.$store=ie;var oe=ie,se=n("f309");d["a"].use(se["a"]);var pe=new se["a"]({icons:{iconfont:"mdiSvg"}}),de=n("c973"),ce=n("a34a"),le=(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")),ue=(n("fe98"),n("0bce")),me=(n("60e1"),n("6560"),n("d029"),n("1fdc"),n("3001"),n("05f1"),n("9871"),n("750f"),n("194f"),n("d71d"),n("04cd"));n("dd60"),n("40dd"),n("eeac"),n("94c5"),n("04a3"),n("b4cd");function fe(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 ge(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?fe(Object(n),!0).forEach((function(e){yt(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):fe(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}var he=d["a"].prototype;function ve(t){he=t}function ye(t){he.$store.commit(he.$store.types.UpdateConnState,t)}function Se(t){he.$store.commit(he.$store.types.UpdateLoading,t)}function be(t){he.$store.commit(he.$store.types.UpdateViewState,t)}function ke(){function t(e){B(e,(function(e){e.$forceUpdate(),e.$children&&t(e.$children)}))}t(he.$children)}function Te(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;Object(S["a"])(t)&&he.$store.commit(he.$store.types.UpdateLang,t),Ie(),ke()}function Ie(){var t=s(he,"$store.state.keyLangs"),e=s(he,"$store.state.webInfor.webName"),n=s(he,"$store.state.webInfor.webDescription"),a=ge(ge({},t),{},{webName:ge({},e),webDescription:ge({},n)}),r=s(he,"$store.state.lang"),i={};return B(a,(function(t,e){i[e]=t[r]})),he.$store.commit(he.$store.types.UpdateKpText,i),i}function Ee(t){var e=s(he,"$store.state.kpText");return s(e,t,"")}function we(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=s(t,e,"");if(!Object(S["a"])(a)){var r=Ee("empty");return r}return Object(ue["a"])(n)&&(a=n(a)),a}function Ae(){var t=s(he,"$store.state.heightToolbar"),e=window.innerHeight-t;return he.$store.commit(he.$store.types.UpdateHeightApp,window.innerHeight),he.$store.commit(he.$store.types.UpdateHeightAppEff,e),""}function Oe(){return Be.apply(this,arguments)}function Be(){return Be=de(ce.mark((function t(){var e,n=arguments;return ce.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(le["a"])(e);case 4:return t.next=6,Object(me["a"])((function(){return Object(C["a"])(s(he,"$dsrl"))}));case 6:return t.next=8,Object(me["a"])((function(){return s(he,"$store.state.syncState")}));case 8:case"end":return t.stop()}}),t)}))),Be.apply(this,arguments)}var xe={setVo:ve,updateConnState:ye,updateLoading:Se,updateViewState:be,forceUpdate:ke,setLang:Te,getKpLang:Ie,getKpText:Ee,gv:we,syncHeight:Ae,waitData:Oe},Ge=xe;function Ne(t){function e(e,n,a){var r=_(t,yt({},e,n));return r||(r=""),Object(S["a"])(a)&&(r=s(r,a,"")),r}function n(t){return e("keyTable",t,"tableNameCht")}return{getTableInforBy:e,getTableChtByKey:n}}var Re=Ne;function Ue(t){return{}}var _e=Ue,Le=n("d5a1");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 $e=Re(ne),Pe=_e(d["a"].prototype);d["a"].prototype.$ui=Ge,d["a"].prototype.$t=Ge.getKpText,d["a"].prototype.$s=o,d["a"].prototype.$dssm=$e,d["a"].prototype.$dspt=Pe,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 je=!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){console.log("$fapi getWebInfor",t),d["a"].prototype.$store.commit(d["a"].prototype.$store.types.UpdateWebInfor,t),Ge.setLang()})).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){je||(je=!0,console.log("first-sync"),d["a"].prototype.$store.commit(d["a"].prototype.$store.types.UpdateSyncState,!0))}}),new d["a"]({vuetify:pe,store:oe,render:function(t){return t(ht)}}).$mount("#app")},8096:function(t,e,n){},"85ec":function(t,e,n){},c9eb:function(t,e,n){"use strict";n("fe1f")},fe1f:function(t,e,n){}});
2
+ //# sourceMappingURL=app.3066e83f.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?f395","webpack:///./src/components/Layout.vue?a037","webpack:///./src/components/LayoutContent.vue?7ca4","webpack:///./src/components/LayoutContentList.vue?7723","webpack:///./src/components/MdPanel.vue?4ea9","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/main.js","webpack:///./src/components/LayoutContentList.vue?8564"],"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","webLogo","_v","_s","webName","$t","tgLangs","changeLang","model","callback","$$v","tgLangSelect","expression","changeApis","apisTree","lineHeightTree","apiActive","funActive","scopedSlots","_u","fn","props","type","$event","ckItem","getItemByKey","text","getMethodColorByKey","getMethodByKey","$ui","gv","getMethodColor","apiSelect","getMethod","staticClass","getDay","optputMenuItems","optputMenuItemSelect","top","changeOptputMenuItemSelect","optputMenuItemSelectId","getOutputJsonObj","getOutputJson","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","beforeMount","viewState","document","Layout","ready","mounted","UpdateWebInfor","UpdateLang","UpdateKpText","UpdateConnState","UpdateSyncState","UpdateLoading","UpdateViewState","UpdateTableData","UpdateData","UpdateHeightApp","UpdateHeightAppEff","UpdateHeightToolbar","UpdateMenu","UpdateUserToken","UpdateUserSelf","keyTable","tableNameCht","tableNameEng","settings","pk","funNew","ndata","dtmapping","keys","now2strp","genID","timeCreate","nowms2str","timeUpdate","isActive","funTest","rs","map","item","k","v","order","isestr","dtpick","console","log","tab","cs","ds","build","useCreateStorage","state","hostname","location","origin","webInfor","connState","loading","leftDrawerWidth","heightApp","heightAppEff","menu","userToken","userSelf","email","isAdmin","lang","keyLangs","empty","eng","cht","noSelectApi","waitingData","tokens","version","levels","keywords","creator","dataSource","mdInputParams","inputExample","mdOutputParams","outputExample","outputMenuTree","outputMenuRaw","kpText","mutations","types","msg","tableName","path","Vue","use","Vuex","st","Store","getters","actions","strict","$store","Vuetify","icons","iconfont","setVo","vObj","updateConnState","commit","updateLoading","updateViewState","forceUpdate","broadcast","chs","$forceUpdate","$children","setLang","getKpLang","webDescription","kls","getKpText","def","isfun","syncHeight","innerHeight","waitData","delay","waitFun","iseobj","mUI","mDataSelectorSchema","getTableInforBy","keyFind","valueFind","keyPick","find","getTableChtByKey","mDataSupport","config","productionTip","$alert","arguments","WAlert","dssm","dspt","ui","$s","$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.3066e83f.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([0,\"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(),_c('div',{staticStyle:{\"padding-left\":\"5px\",\"white-space\":\"nowrap\"}},[_c('div',{staticStyle:{\"display\":\"flex\",\"align-items\":\"center\"}},[(_vm.webLogo)?_c('div',{staticStyle:{\"padding-right\":\"10px\",\"display\":\"flex\",\"align-items\":\"center\"}},[_c('img',{staticStyle:{\"width\":\"36px\",\"height\":\"36px\"},attrs:{\"src\":_vm.webLogo}})]):_vm._e(),_c('div',[_c('div',{staticStyle:{\"font-size\":\"1.2rem\",\"color\":\"#000\"}},[_vm._v(_vm._s(_vm.webName))]),_c('div',{staticStyle:{\"font-size\":\"0.8rem\",\"color\":\"#666\"}},[_vm._v(_vm._s(_vm.$t('webDescription')))])])])]),_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.$t('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.$ui.gv(_vm.getItemByKey(props.data.text),'name'))+\" \")])])]}}],null,false,901240009)})],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.$ui.gv(_vm.apiSelect,'url'))+\" \")])])]),_c('div',{staticStyle:{\"padding\":\"10px\"}},[_c('div',{staticStyle:{\"color\":\"#485ed5\"}},[_vm._v(\" \"+_vm._s(_vm.$ui.gv(_vm.apiSelect,'name'))+\" \")]),_c('div',{staticClass:\"bk-title\"},[_vm._v(\" \"+_vm._s(_vm.$ui.gv(_vm.apiSelect,'description'))+\" \")])]),_c('div',{staticStyle:{\"padding\":\"10px\"}},[_c('div',{staticClass:\"bk\"},[_c('div',{staticClass:\"bk-title\"},[_vm._v(\" \"+_vm._s(_vm.$t('tokens'))+\" \")]),_c('div',{staticClass:\"bk-item\"},[_vm._v(\" \"+_vm._s(_vm.$ui.gv(_vm.apiSelect,'tokens'))+\" \")])]),_c('div',{staticClass:\"bk\"},[_c('div',{staticClass:\"bk-title\"},[_vm._v(\" \"+_vm._s(_vm.$t('version'))+\" \")]),_c('div',{staticClass:\"bk-item\"},[_vm._v(\" \"+_vm._s(_vm.$ui.gv(_vm.apiSelect,'version'))+\" \")])]),_c('div',{staticClass:\"bk\"},[_c('div',{staticClass:\"bk-title\"},[_vm._v(\" \"+_vm._s(_vm.$t('levels'))+\" \")]),_c('div',{staticClass:\"bk-item\"},[_vm._v(\" \"+_vm._s(_vm.$ui.gv(_vm.apiSelect,''))+\" \")])]),_c('div',{staticClass:\"bk\"},[_c('div',{staticClass:\"bk-title\"},[_vm._v(\" \"+_vm._s(_vm.$t('keywords'))+\" \")]),_c('div',{staticClass:\"bk-item\"},[_vm._v(\" \"+_vm._s(_vm.$ui.gv(_vm.apiSelect,''))+\" \")])]),_c('div',{staticClass:\"bk\"},[_c('div',{staticClass:\"bk-title\"},[_vm._v(\" \"+_vm._s(_vm.$t('state'))+\" \")]),_c('div',{staticClass:\"bk-item\"},[_vm._v(\" \"+_vm._s(_vm.$ui.gv(_vm.apiSelect,''))+\" \")])]),_c('div',{staticClass:\"bk\"},[_c('div',{staticClass:\"bk-title\"},[_vm._v(\" \"+_vm._s(_vm.$t('timeCreate'))+\" \")]),_c('div',{staticClass:\"bk-item\"},[_vm._v(\" \"+_vm._s(_vm.$ui.gv(_vm.apiSelect,'timeCreate',_vm.getDay))+\" \")])]),_c('div',{staticClass:\"bk\"},[_c('div',{staticClass:\"bk-title\"},[_vm._v(\" \"+_vm._s(_vm.$t('timeUpdate'))+\" \")]),_c('div',{staticClass:\"bk-item\"},[_vm._v(\" \"+_vm._s(_vm.$ui.gv(_vm.apiSelect,'timeUpdate',_vm.getDay))+\" \")])]),_c('div',{staticClass:\"bk\"},[_c('div',{staticClass:\"bk-title\"},[_vm._v(\" \"+_vm._s(_vm.$t('creator'))+\" \")]),_c('div',{staticClass:\"bk-item\"},[_vm._v(\" \"+_vm._s(_vm.$ui.gv(_vm.apiSelect,'creator'))+\" \")])]),_c('div',{staticClass:\"bk\"},[_c('div',{staticClass:\"bk-title\"},[_vm._v(\" \"+_vm._s(_vm.$t('dataSource'))+\" \")]),_c('div',{staticClass:\"bk-item\"},[_vm._v(\" \"+_vm._s(_vm.$ui.gv(_vm.apiSelect,'dataSource'))+\" \")])]),_c('div',{staticClass:\"bk\"},[_c('div',{staticClass:\"bk-title\"},[_vm._v(\" \"+_vm._s(_vm.$t('isActive'))+\" \")]),_c('div',{staticClass:\"bk-item\"},[_vm._v(\" \"+_vm._s(_vm.$ui.gv(_vm.apiSelect,'isActive'))+\" \")])])]),_c('div',{staticStyle:{\"padding\":\"10px\"}},[_c('div',{staticClass:\"bk-title\"},[_vm._v(\" \"+_vm._s(_vm.$t('mdInputParams'))+\" \")]),_c('div',{staticClass:\"bk-item\",staticStyle:{\"padding\":\"10px\"}},[_c('MdPanel',{attrs:{\"md\":_vm.$ui.gv(_vm.apiSelect,'mdInputParams')}})],1)]),_c('div',{staticStyle:{\"padding\":\"10px\"}},[_c('div',{staticClass:\"bk-title\"},[_vm._v(\" \"+_vm._s(_vm.$t('inputExample'))+\" \")]),_c('div',{staticClass:\"bk-item\",staticStyle:{\"padding\":\"10px\"}},[_vm._v(\" \"+_vm._s(_vm.$ui.gv(_vm.apiSelect,'inputExample'))+\" \")])]),_c('div',{staticStyle:{\"padding\":\"10px\"}},[_c('div',{staticClass:\"bk-title\"},[_vm._v(\" \"+_vm._s(_vm.$t('mdOutputParams'))+\" \")]),_c('div',{staticClass:\"bk-item\",staticStyle:{\"padding\":\"10px\"}},[_c('MdPanel',{attrs:{\"md\":_vm.$ui.gv(_vm.apiSelect,'mdOutputParams')}})],1)]),_c('div',{staticStyle:{\"padding\":\"10px\"}},[_c('div',{staticClass:\"bk-title\"},[_vm._v(\" \"+_vm._s(_vm.$t('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.$t('noSelectApi'))+\" \")])]):_c('div',{staticStyle:{\"padding\":\"20px\",\"font-size\":\"0.9rem\"}},[_vm._v(\" \"+_vm._s(_vm.$t('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 {{$ui.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 {{$ui.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 {{$ui.gv(apiSelect,'name')}}\r\n </div>\r\n\r\n <div class=\"bk-title\" style=\"\">\r\n {{$ui.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 {{$t('tokens')}}\r\n </div>\r\n\r\n <div class=\"bk-item\" style=\"\">\r\n {{$ui.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 {{$t('version')}}\r\n </div>\r\n\r\n <div class=\"bk-item\" style=\"\">\r\n {{$ui.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 {{$t('levels')}}\r\n </div>\r\n\r\n <div class=\"bk-item\" style=\"\">\r\n {{$ui.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 {{$t('keywords')}}\r\n </div>\r\n\r\n <div class=\"bk-item\" style=\"\">\r\n {{$ui.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 {{$t('state')}}\r\n </div>\r\n\r\n <div class=\"bk-item\" style=\"\">\r\n {{$ui.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 {{$t('timeCreate')}}\r\n </div>\r\n\r\n <div class=\"bk-item\" style=\"\">\r\n {{$ui.gv(apiSelect,'timeCreate',getDay)}}\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 {{$t('timeUpdate')}}\r\n </div>\r\n\r\n <div class=\"bk-item\" style=\"\">\r\n {{$ui.gv(apiSelect,'timeUpdate',getDay)}}\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 {{$t('creator')}}\r\n </div>\r\n\r\n <div class=\"bk-item\" style=\"\">\r\n {{$ui.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 {{$t('dataSource')}}\r\n </div>\r\n\r\n <div class=\"bk-item\" style=\"\">\r\n {{$ui.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 {{$t('isActive')}}\r\n </div>\r\n\r\n <div class=\"bk-item\" style=\"\">\r\n {{$ui.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 {{$t('mdInputParams')}}\r\n </div>\r\n\r\n <div class=\"bk-item\" style=\"padding:10px;\">\r\n <MdPanel\r\n :md=\"$ui.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 {{$t('inputExample')}}\r\n </div>\r\n\r\n <div class=\"bk-item\" style=\"padding:10px;\">\r\n {{$ui.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 {{$t('mdOutputParams')}}\r\n </div>\r\n\r\n <div class=\"bk-item\" style=\"padding:10px;\">\r\n <MdPanel\r\n :md=\"$ui.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 {{$t('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 {{$t('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 {{$t('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 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.$t('outputMenuTree'),\r\n icon: 'mdi-vanity-light',\r\n },\r\n {\r\n id: 'raw',\r\n text: vo.$t('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=00461acf&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=00461acf&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 \"00461acf\",\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 {{$t('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 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=9b2333d2&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 \"9b2333d2\",\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 <div style=\"padding-left:5px; white-space:nowrap\">\r\n <div style=\"display:flex; align-items:center;\">\r\n\r\n <div style=\"padding-right:10px; display:flex; align-items:center;\" v-if=\"webLogo\">\r\n <img style=\"width:36px; height:36px;\" :src=\"webLogo\" />\r\n </div>\r\n\r\n <div>\r\n <div style=\"font-size:1.2rem; color:#000;\">{{webName}}</div>\r\n <div style=\"font-size:0.8rem; color:#666;\">{{$t('webDescription')}}</div>\r\n </div>\r\n\r\n </div>\r\n\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 isestr from 'wsemi/src/isestr.mjs'\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 beforeMount: function() {\r\n // console.log('beforeMount')\r\n\r\n let vo = this\r\n\r\n //setLang\r\n vo.$ui.setLang(vo.tgLangSelect.id)\r\n\r\n },\r\n computed: {\r\n\r\n viewState: function() {\r\n return get(this, `$store.state.viewState`)\r\n },\r\n\r\n heightToolbar: function() {\r\n return get(this, `$store.state.heightToolbar`)\r\n },\r\n\r\n webName: {\r\n get() {\r\n let vo = this\r\n let c = vo.$t('webName')\r\n // console.log('get webName1', c)\r\n if (!isestr(c)) {\r\n c = vo.$t('waitingData')\r\n }\r\n // console.log('get webName2', c)\r\n document.title = c //更換網頁title\r\n return c\r\n },\r\n // set(value) {\r\n // return value\r\n // },\r\n },\r\n\r\n webLogo: function() {\r\n return get(this, `$store.state.webInfor.webLogo`)\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.$ui.setLang(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=a357a654&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 \"a357a654\",\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 mounted: function() {\n // console.log('mounted')\n\n let vo = this\n\n //setVo, 更換ui內vo, 才能使用廣播技術, 更換語系才能用廣播通知全部組件forceUpdate\n vo.$ui.setVo(vo)\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=289b1ebc&\"\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 UpdateKpText = 'UpdateKpText'\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}&paramA=123&paramB=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}&paramA=123&paramB=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}&paramA=123&paramB=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}&paramA=123&paramB=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}&paramA=123&paramB=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}&paramA=123&paramB=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}&paramA=123&paramB=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}&paramA=123&paramB=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}&paramA=123&paramB=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}&paramA=123&paramB=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}&paramA=123&paramB=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}&paramA=123&paramB=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}&paramA=123&paramB=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}&paramA=123&paramB=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: 60,\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 empty: {\r\n eng: 'Empty',\r\n cht: '無',\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 kpText: {},\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.UpdateKpText] (state, kpText) {\r\n state.kpText = kpText\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\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 setVo(vObj) {\r\n vo = vObj\r\n}\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 forceUpdate() {\r\n // console.log('call forceUpdate')\r\n\r\n function broadcast(chs) {\r\n each(chs, (v) => {\r\n // console.log(v.$el)\r\n v.$forceUpdate()\r\n if (v.$children) {\r\n broadcast(v.$children)\r\n }\r\n })\r\n }\r\n\r\n //broadcast, 注意此處需使用更換ui內vo為mounted後的vo, 也就是含元素, 才能使用廣播技術\r\n broadcast(vo.$children)\r\n\r\n}\r\n\r\n\r\nfunction setLang(lang = null) {\r\n // console.log('call setLang')\r\n\r\n //check lang, 若有輸入才commit\r\n if (isestr(lang)) {\r\n vo.$store.commit(vo.$store.types.UpdateLang, lang)\r\n }\r\n\r\n //getKpLang, 切換lang得調用getKpLang重算kpText\r\n getKpLang()\r\n\r\n //forceUpdate\r\n forceUpdate()\r\n\r\n}\r\n\r\n\r\nfunction getKpLang() {\r\n // console.log('call getKpLang')\r\n\r\n //merge keyLangs\r\n let keyLangs = get(vo, '$store.state.keyLangs')\r\n let webName = get(vo, '$store.state.webInfor.webName')\r\n let webDescription = get(vo, '$store.state.webInfor.webDescription')\r\n let kls = {\r\n ...keyLangs,\r\n webName: {\r\n ...webName,\r\n },\r\n webDescription: {\r\n ...webDescription,\r\n },\r\n }\r\n\r\n //lang\r\n let lang = get(vo, '$store.state.lang')\r\n\r\n //kpText\r\n let kpText = {}\r\n each(kls, (v, k) => {\r\n kpText[k] = v[lang]\r\n })\r\n\r\n //commit\r\n vo.$store.commit(vo.$store.types.UpdateKpText, kpText)\r\n\r\n return kpText\r\n}\r\n\r\n\r\nfunction getKpText(key) {\r\n // console.log('call getKpText')\r\n let kpText = get(vo, '$store.state.kpText')\r\n return get(kpText, key, '')\r\n}\r\n\r\n\r\nfunction gv(o, k, cv = null) {\r\n let r = get(o, k, '')\r\n if (!isestr(r)) {\r\n let def = getKpText('empty')\r\n return def\r\n }\r\n if (isfun(cv)) {\r\n r = cv(r)\r\n }\r\n return r\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 setVo,\r\n\r\n updateConnState,\r\n updateLoading,\r\n updateViewState,\r\n forceUpdate,\r\n\r\n setLang,\r\n getKpLang,\r\n getKpText,\r\n\r\n gv,\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\n// import size from 'lodash/size'\r\n// import take from 'lodash/take'\r\n// import isEqual from 'lodash/isEqual'\r\n// import uniq from 'lodash/uniq'\r\n// import set from 'lodash/set'\r\n// import get from 'lodash/get'\r\n// import each from 'lodash/each'\r\n// import map from 'lodash/map'\r\n// import filter from 'lodash/filter'\r\n// import last from 'lodash/last'\r\n// import split from 'lodash/split'\r\n// import join from 'lodash/join'\r\n// import drop from 'lodash/drop'\r\n// import dropRight from 'lodash/dropRight'\r\n// import groupBy from 'lodash/groupBy'\r\n// import sortBy from 'lodash/sortBy'\r\n// import cloneDeep from 'lodash/cloneDeep'\r\n// import cint from 'wsemi/src/cint.mjs'\r\n// import delay from 'wsemi/src/delay.mjs'\r\n// import isarr from 'wsemi/src/isarr.mjs'\r\n// import isestr from 'wsemi/src/isestr.mjs'\r\n// import isfun from 'wsemi/src/isfun.mjs'\r\n// import iseobj from 'wsemi/src/iseobj.mjs'\r\n// import isearr from 'wsemi/src/isearr.mjs'\r\n// import isEle from 'wsemi/src/isEle.mjs'\r\n// import strleft from 'wsemi/src/strleft.mjs'\r\n// import strdelleft from 'wsemi/src/strdelleft.mjs'\r\n// import sep from 'wsemi/src/sep.mjs'\r\n// import aes2str from 'wsemi/src/aes2str.mjs'\r\n// import str2aes from 'wsemi/src/str2aes.mjs'\r\n// import haskey from 'wsemi/src/haskey.mjs'\r\n// import genPm from 'wsemi/src/genPm.mjs'\r\n// import pmSeries from 'wsemi/src/pmSeries.mjs'\r\n// import waitFun from 'wsemi/src/waitFun.mjs'\r\n// import browserView from 'wsemi/src/browserView.mjs'\r\n// import arrHas from 'wsemi/src/arrHas.mjs'\r\n// import arrSort from 'wsemi/src/arrSort.mjs'\r\n// import arrInsert from 'wsemi/src/arrInsert.mjs'\r\n// import replace from 'wsemi/src/replace.mjs'\r\n// import timemsTZ2past from 'wsemi/src/timemsTZ2past.mjs'\r\n// import convertToTree from 'wsemi/src/convertToTree.mjs'\r\n// import html2picDyn from 'wsemi/src/html2picDyn.mjs'\r\n// import urlParse from 'wsemi/src/urlParse.mjs'\r\n// import domConvertToPicDyn from 'wsemi/src/domConvertToPicDyn.mjs'\r\n// import ltdtkeysheads2mat from 'wsemi/src/ltdtkeysheads2mat.mjs'\r\n// import downloadFileFromB64 from 'wsemi/src/downloadFileFromB64.mjs'\r\n// import downloadExcelFileFromDataDyn from 'wsemi/src/downloadExcelFileFromDataDyn.mjs'\r\n// import getFileAccept from 'wsemi/src/getFileAccept.mjs'\r\n// import 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 // mdCheckKeyInd,\r\n // mdGetTextByKey,\r\n // mdGetTextByKeyIndAndKey,\r\n\r\n }\r\n}\r\n\r\n\r\nexport default mDataSupport\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.$t = ui.getKpText\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 getWebInfor', wi)\r\n Vue.prototype.$store.commit(Vue.prototype.$store.types.UpdateWebInfor, wi)\r\n ui.setLang() //因更新webInfor得要重刷語系才能依照語言取得顯示文字\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=00461acf&scoped=true&lang=css&\""],"sourceRoot":""}