w-web-api 1.0.32 → 1.0.34

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.
Files changed (43) hide show
  1. package/.github/workflows/ci-test.yml +1 -1
  2. package/README.md +1 -0
  3. package/dist/css/app.28edf29a.css +1 -0
  4. package/dist/index.tmp +1 -1
  5. package/dist/js/app-legacy.44d096fd.js +2 -0
  6. package/dist/js/app-legacy.44d096fd.js.map +1 -0
  7. package/dist/js/app.44d096fd.js +2 -0
  8. package/dist/js/app.44d096fd.js.map +1 -0
  9. package/dist/js/chunk-vendors-legacy.65d2bd6b.js +14 -0
  10. package/dist/js/chunk-vendors-legacy.65d2bd6b.js.map +1 -0
  11. package/dist/js/chunk-vendors.65d2bd6b.js +14 -0
  12. package/dist/js/chunk-vendors.65d2bd6b.js.map +1 -0
  13. package/dist/w-web-api.umd.js +2 -2
  14. package/dist/w-web-api.umd.js.map +1 -1
  15. package/docs/WWebApi.html +1 -1
  16. package/docs/WWebApi.mjs.html +4 -4
  17. package/docs/index.html +1 -1
  18. package/package.json +12 -12
  19. package/script.txt +22 -0
  20. package/server/WWebApi.mjs +3 -3
  21. package/src/App.vue +2 -2
  22. package/src/components/Layout.vue +2 -2
  23. package/src/components/LayoutContent.vue +10 -10
  24. package/src/components/LayoutState.vue +1 -1
  25. package/src/components/MdPanel.vue +8 -8
  26. package/src/main.js +1 -1
  27. package/src/plugins/mDataSelectorSchema.mjs +2 -2
  28. package/src/plugins/mDataSupport.mjs +18 -18
  29. package/src/plugins/mShare.mjs +18 -18
  30. package/src/plugins/mUI.mjs +18 -18
  31. package/src/schema/tables/apis.mjs +4 -4
  32. package/src/store/mutations.mjs +3 -3
  33. package/tableTags-web-api.json +1 -1
  34. package/toolg/genEntry.mjs +1 -1
  35. package/dist/css/app.d38a4241.css +0 -1
  36. package/dist/js/app-legacy.9b4e9f9b.js +0 -2
  37. package/dist/js/app-legacy.9b4e9f9b.js.map +0 -1
  38. package/dist/js/app.9b4e9f9b.js +0 -2
  39. package/dist/js/app.9b4e9f9b.js.map +0 -1
  40. package/dist/js/chunk-vendors-legacy.96a55c4e.js +0 -14
  41. package/dist/js/chunk-vendors-legacy.96a55c4e.js.map +0 -1
  42. package/dist/js/chunk-vendors.96a55c4e.js +0 -14
  43. package/dist/js/chunk-vendors.96a55c4e.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"js/app-legacy.44d096fd.js","mappings":"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","sources":["webpack://w-web-api/./src/App.vue","webpack://w-web-api/./src/components/Layout.vue","webpack://w-web-api/./src/components/LayoutContent.vue","webpack://w-web-api/./src/components/MdPanel.vue","webpack://w-web-api/src/components/MdPanel.vue","webpack://w-web-api/./src/components/MdPanel.vue?963b","webpack://w-web-api/./src/components/MdPanel.vue?7004","webpack://w-web-api/src/components/LayoutContent.vue","webpack://w-web-api/./src/components/LayoutContent.vue?67e3","webpack://w-web-api/./src/components/LayoutContent.vue?a8dd","webpack://w-web-api/src/components/Layout.vue","webpack://w-web-api/./src/components/Layout.vue?de2e","webpack://w-web-api/./src/components/Layout.vue?6d15","webpack://w-web-api/./src/components/LayoutState.vue","webpack://w-web-api/src/components/LayoutState.vue","webpack://w-web-api/./src/components/LayoutState.vue?64bf","webpack://w-web-api/./src/components/LayoutState.vue?272c","webpack://w-web-api/src/App.vue","webpack://w-web-api/./src/App.vue?51dd","webpack://w-web-api/./src/App.vue?0e40","webpack://w-web-api/./src/store/types.mjs","webpack://w-web-api/./server/filePathToCode.mjs","webpack://w-web-api/./src/schema/tables/apis.mjs","webpack://w-web-api/./src/schema/index.mjs","webpack://w-web-api/./src/store/mutations.mjs","webpack://w-web-api/./src/store/index.mjs","webpack://w-web-api/./src/plugins/mUI.mjs","webpack://w-web-api/./src/plugins/mDataSelectorSchema.mjs","webpack://w-web-api/./src/plugins/mDataSupport.mjs","webpack://w-web-api/./src/main.js","webpack://w-web-api/webpack/bootstrap","webpack://w-web-api/webpack/runtime/chunk loaded","webpack://w-web-api/webpack/runtime/compat get default export","webpack://w-web-api/webpack/runtime/define property getters","webpack://w-web-api/webpack/runtime/global","webpack://w-web-api/webpack/runtime/hasOwnProperty shorthand","webpack://w-web-api/webpack/runtime/make namespace object","webpack://w-web-api/webpack/runtime/jsonp chunk loading","webpack://w-web-api/webpack/startup"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{directives:[{name:\"domresize\",rawName:\"v-domresize\"}],on:{\"domresize\":_vm.resize}},[(!_vm.ready)?_c('LayoutState',{style:(`opacity:${_vm.ready?0:1};`)}):_vm._e(),_c('transition',{attrs:{\"enter-active-class\":\"fade-enter-active\",\"leave-active-class\":\"fade-leave-active\"}},[(_vm.ready)?_c('Layout'):_vm._e()],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticStyle:{\"height\":\"100vh\",\"background\":\"#f5f5f5\"}},[_c('div',{style:(`height:${_vm.heightToolbar}px; overflow-y:hidden; padding:0px 10px; background:#fff; border-bottom:1px solid #ccc; display:flex; align-items:center;`)},[(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',{staticStyle:{\"width\":\"100px\"},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)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{directives:[{name:\"domresize\",rawName:\"v-domresize\"}],staticStyle:{\"height\":\"100%\",\"width\":\"100%\"},attrs:{\"changeApis\":_vm.changeApis},on:{\"domresize\":_vm.resize}},[(_vm.syncState)?[_c('WDrawer',{style:(`height:${_vm.panelHeight}px; width:100%;`),attrs:{\"drawerWidth\":_vm.drawerWidth,\"drawerWidthMin\":_vm.drawerWidthMin,\"drawerWidthMax\":_vm.drawerWidthMax,\"mode\":'from-left',\"dragDrawerWidth\":true,\"autoSwitch\":true,\"switchWidth\":_vm.drawerWidth*2.3},on:{\"update:drawerWidth\":function($event){_vm.drawerWidth=$event},\"update:drawer-width\":function($event){_vm.drawerWidth=$event}},scopedSlots:_vm._u([{key:\"drawer\",fn:function(props){return [_c('div',{style:(`height:${props.height}px; background:#fff; position:relative;`)},[_c('WTree',{style:(`height:${props.height}px;`),attrs:{\"viewHeightMax\":props.height,\"data\":_vm.apisTree,\"iconHeight\":_vm.lineHeightTree,\"defItemHeight\":_vm.lineHeightTree,\"activable\":true,\"itemActive\":_vm.apiActive,\"funActive\":_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,true)}),(_vm.drawer)?_c('div',{style:(`position:absolute; top:1px; right:12px;`)},[_c('WButtonCircle',{attrs:{\"paddingStyle\":{v:3,h:3},\"icon\":'mdi-arrow-left',\"iconSize\":16,\"backgroundColor\":'#fff',\"backgroundColorHover\":'#eee',\"backgroundColorFocus\":'#fff',\"borderColor\":'transparent',\"borderColorHover\":'#eee',\"borderColorFocus\":'#eee',\"tooltip\":_vm.$t('menuTreeHide'),\"shadow\":true},on:{\"click\":function($event){_vm.drawer=false}}})],1):_vm._e()],1)]}},{key:\"content\",fn:function(props){return [_c('div',{style:(`height:${props.height}px; width:${props.width}px; position:relative;`)},[[(_vm.apiSelect)?_c('div',{style:(`height:${props.height}px; overflow-y:auto;`)},[_c('div',{staticStyle:{\"padding\":\"20px\"}},[_c('div',{staticStyle:{\"padding\":\"5px\"}},[_c('div',{staticClass:\"bk-title\"},[_vm._v(\" \"+_vm._s(_vm.$t('apiUrl'))+\" \")]),_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\":\"3px\"}},[_c('div',{staticStyle:{\"padding-left\":\"10px\",\"margin-bottom\":\"-1px\"}},[_c('WGroupChipRadio',{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',{staticStyle:{\"padding\":\"10px 15px\"}},[_c('WJsonView',{staticStyle:{\"width\":\"100%\"},attrs:{\"viewHeightMax\":null,\"data\":_vm.getOutputJsonObj(_vm.apiSelect)}})],1):_vm._e(),(_vm.optputMenuItemSelectId==='raw'\n )?_c('div',{staticStyle:{\"padding\":\"15px\",\"color\":\"#555\",\"font-size\":\"0.85rem\"}},[_c('pre',{staticStyle:{\"margin\":\"0px\",\"padding\":\"0px\"}},[_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'))+\" \")])],(!_vm.drawer)?_c('div',{style:(`position:absolute; top:1px; left:4px;`)},[_c('WButtonCircle',{attrs:{\"paddingStyle\":{v:3,h:3},\"icon\":'mdi-arrow-right',\"iconSize\":16,\"backgroundColor\":'#fff',\"backgroundColorHover\":'#eee',\"backgroundColorFocus\":'#fff',\"borderColor\":'transparent',\"borderColorHover\":'#eee',\"borderColorFocus\":'#eee',\"tooltip\":_vm.$t('menuTreeShow'),\"shadow\":true},on:{\"click\":function($event){_vm.drawer=true}}})],1):_vm._e()],2)]}}],null,false,2779191999),model:{value:(_vm.drawer),callback:function ($$v) {_vm.drawer=$$v},expression:\"drawer\"}})]:[_c('div',{staticStyle:{\"padding\":\"20px\",\"font-size\":\"0.9rem\"}},[_vm._v(\" \"+_vm._s(_vm.$t('waitingData'))+\" \")])]],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('div',{staticClass:\"md\",domProps:{\"innerHTML\":_vm._s(_vm.mdh)}})])\n}\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-es/get.js'\n// import find from 'lodash-es/find.js'\n// import each from 'lodash-es/each.js'\n// import map from 'lodash-es/map.js'\n// import size from 'lodash-es/size.js'\n// import sortBy from 'lodash-es/sortBy.js'\n// import isNumber from 'lodash-es/isNumber.js'\n// import cloneDeep from 'lodash-es/cloneDeep.js'\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/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MdPanel.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MdPanel.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MdPanel.vue?vue&type=template&id=1a0f86f5&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=1a0f86f5&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1a0f86f5\",\n null\n \n)\n\nexport default component.exports","<template>\r\n <div\r\n style=\"height:100%; width:100%;\"\r\n :changeApis=\"changeApis\"\r\n v-domresize\r\n @domresize=\"resize\"\r\n >\r\n\r\n <template v-if=\"syncState\">\r\n\r\n <WDrawer\r\n :style=\"`height:${panelHeight}px; width:100%;`\"\r\n v-model=\"drawer\"\r\n :drawerWidth.sync=\"drawerWidth\"\r\n :drawerWidthMin=\"drawerWidthMin\"\r\n :drawerWidthMax=\"drawerWidthMax\"\r\n :mode=\"'from-left'\"\r\n :dragDrawerWidth=\"true\"\r\n :autoSwitch=\"true\"\r\n :switchWidth=\"drawerWidth*2.3\"\r\n >\r\n\r\n <template v-slot:drawer=\"props\">\r\n <div :style=\"`height:${props.height}px; background:#fff; position:relative;`\">\r\n\r\n <WTree\r\n :style=\"`height:${props.height}px;`\"\r\n :viewHeightMax=\"props.height\"\r\n :data=\"apisTree\"\r\n :iconHeight=\"lineHeightTree\"\r\n :defItemHeight=\"lineHeightTree\"\r\n :activable=\"true\"\r\n :itemActive=\"apiActive\"\r\n :funActive=\"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 :style=\"`position:absolute; top:1px; right:12px;`\"\r\n v-if=\"drawer\"\r\n >\r\n <WButtonCircle\r\n :paddingStyle=\"{v:3,h:3}\"\r\n :icon=\"'mdi-arrow-left'\"\r\n :iconSize=\"16\"\r\n :backgroundColor=\"'#fff'\"\r\n :backgroundColorHover=\"'#eee'\"\r\n :backgroundColorFocus=\"'#fff'\"\r\n :borderColor=\"'transparent'\"\r\n :borderColorHover=\"'#eee'\"\r\n :borderColorFocus=\"'#eee'\"\r\n :tooltip=\"$t('menuTreeHide')\"\r\n :shadow=\"true\"\r\n @click=\"drawer=false\"\r\n ></WButtonCircle>\r\n </div>\r\n\r\n </div>\r\n </template>\r\n\r\n <template v-slot:content=\"props\">\r\n <div :style=\"`height:${props.height}px; width:${props.width}px; position:relative;`\">\r\n\r\n <!-- 選擇API之顯示區 -->\r\n <template>\r\n\r\n <div\r\n :style=\"`height:${props.height}px; overflow-y:auto;`\"\r\n v-if=\"apiSelect\"\r\n >\r\n <div style=\"padding:20px;\">\r\n\r\n <div style=\"padding:5px;\">\r\n\r\n <div class=\"bk-title\" style=\"\">\r\n {{$t('apiUrl')}}\r\n </div>\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:3px;\">\r\n\r\n <div style=\"padding-left:10px; margin-bottom:-1px;\">\r\n <!-- 因上下皆有border, 故需負margin-bottom來吃掉重複border -->\r\n <WGroupChipRadio\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 ></WGroupChipRadio>\r\n </div>\r\n\r\n <div style=\"border:1px solid #ddd; background:#fff\">\r\n\r\n <div\r\n style=\"padding:10px 15px;\"\r\n v-if=\"optputMenuItemSelectId==='tree'\"\r\n >\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\r\n style=\"padding:15px; color:#555; font-size:0.85rem;\"\r\n v-if=\"optputMenuItemSelectId==='raw'\r\n \">\r\n <pre style=\"margin:0px; padding:0px;\">{{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 </template>\r\n\r\n <div\r\n :style=\"`position:absolute; top:1px; left:4px;`\"\r\n v-if=\"!drawer\"\r\n >\r\n <WButtonCircle\r\n :paddingStyle=\"{v:3,h:3}\"\r\n :icon=\"'mdi-arrow-right'\"\r\n :iconSize=\"16\"\r\n :backgroundColor=\"'#fff'\"\r\n :backgroundColorHover=\"'#eee'\"\r\n :backgroundColorFocus=\"'#fff'\"\r\n :borderColor=\"'transparent'\"\r\n :borderColorHover=\"'#eee'\"\r\n :borderColorFocus=\"'#eee'\"\r\n :tooltip=\"$t('menuTreeShow')\"\r\n :shadow=\"true\"\r\n @click=\"drawer=true\"\r\n ></WButtonCircle>\r\n </div>\r\n\r\n </div>\r\n </template>\r\n\r\n </WDrawer>\r\n\r\n </template>\r\n\r\n <template v-else>\r\n <div\r\n style=\"padding:20px; font-size:0.9rem;\"\r\n >\r\n {{$t('waitingData')}}\r\n </div>\r\n </template>\r\n\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport get from 'lodash-es/get.js'\nimport set from 'lodash-es/set.js'\nimport each from 'lodash-es/each.js'\nimport trim from 'lodash-es/trim.js'\nimport find from 'lodash-es/find.js'\nimport cloneDeep from 'lodash-es/cloneDeep.js'\nimport isobj from 'wsemi/src/isobj.mjs'\r\nimport iseobj from 'wsemi/src/iseobj.mjs'\r\nimport j2o from 'wsemi/src/j2o.mjs'\r\nimport timemsTZ2day from 'wsemi/src/timemsTZ2day.mjs'\r\nimport convertToTree from 'wsemi/src/convertToTree.mjs'\r\nimport WButtonCircle from 'w-component-vue/src/components/WButtonCircle.vue'\r\nimport WGroupChipRadio from 'w-component-vue/src/components/WGroupChipRadio.vue'\r\nimport WDrawer from 'w-component-vue/src/components/WDrawer.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 WButtonCircle,\r\n WGroupChipRadio,\r\n WDrawer,\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 panelWidth: 0,\r\n panelHeight: 0,\r\n\r\n drawer: true,\r\n drawerWidth: 320,\r\n drawerWidthMin: 200,\r\n drawerWidthMax: 700,\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 syncState: function() {\r\n return get(this, '$store.state.syncState')\r\n },\r\n\r\n apis: function() {\r\n return get(this, '$store.state.apis')\r\n },\r\n\r\n changeApis: function() {\r\n let vo = this\r\n //trigger\r\n let apis = vo.apis\r\n vo.genTree(apis)\r\n return ''\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 resize: function(msg) {\r\n // console.log('methods resize', msg)\r\n\r\n let vo = this\r\n\r\n //save\r\n vo.panelWidth = msg.snew.clientWidth\r\n vo.panelHeight = msg.snew.clientHeight\r\n // console.log('vo.panelHeight', vo.panelHeight)\r\n\r\n },\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 //filepathToTree\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 // console.log(j)\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 padding:3px;\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/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./LayoutContent.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./LayoutContent.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LayoutContent.vue?vue&type=template&id=550471bd&scoped=true&\"\nimport script from \"./LayoutContent.vue?vue&type=script&lang=js&\"\nexport * from \"./LayoutContent.vue?vue&type=script&lang=js&\"\nimport style0 from \"./LayoutContent.vue?vue&type=style&index=0&id=550471bd&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"550471bd\",\n null\n \n)\n\nexport default component.exports","<template>\r\n <div style=\"height:100vh; background:#f5f5f5;\">\r\n\r\n <!-- menu top, 因窄版導致名稱換行故須使用overflow-y:hidden -->\r\n <div :style=\"`height:${heightToolbar}px; overflow-y:hidden; padding:0px 10px; background:#fff; border-bottom:1px solid #ccc; display:flex; align-items:center;`\">\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 </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 style=\"width:100px;\"\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-es/get.js'\n// import cloneDeep from 'lodash-es/cloneDeep.js'\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/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Layout.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Layout.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Layout.vue?vue&type=template&id=5ff21eed&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/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5ff21eed\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{style:(`position:absolute; top:0px; left:0px; width:100%; height:100%; transition:all 0.5s linear; display:flex; align-items:center; justify-content:center;`)},[(_vm.connState==='已連線' || _vm.connState==='連線中...')?[_c('img',{staticStyle:{\"width\":\"100px\",\"height\":\"100px\"},attrs:{\"src\":_vm.img_connection}}),_c('div',{staticStyle:{\"margin-left\":\"10px\"}},[_c('div',{staticStyle:{\"color\":\"#aaa\"}},[_vm._v(\" \"+_vm._s(_vm.connState)+\" \")])])]:(_vm.connState==='已登出')?[_c('img',{staticStyle:{\"width\":\"75px\",\"height\":\"75px\"},attrs:{\"src\":_vm.img_logout}}),_c('div',{staticStyle:{\"margin-left\":\"10px\"}},[_c('div',{staticStyle:{\"color\":\"#aaa\"}},[_vm._v(\" \"+_vm._s(_vm.connState)+\" \")])])]:(_vm.connState==='無法連線')?[_c('img',{staticStyle:{\"width\":\"75px\",\"height\":\"75px\"},attrs:{\"src\":_vm.img_dissconnection}}),_c('div',{staticStyle:{\"margin-left\":\"10px\"}},[_c('div',{staticStyle:{\"color\":\"#aaa\"}},[_vm._v(\" \"+_vm._s(_vm.connState)+\" \")])])]:[_c('img',{staticStyle:{\"width\":\"75px\",\"height\":\"75px\"},attrs:{\"src\":_vm.img_deny}}),_c('div',{staticStyle:{\"margin-left\":\"10px\"}},[_c('div',{staticStyle:{\"color\":\"#aaa\"}},[_vm._v(\" \"+_vm._s(_vm.connState)+\" \")])])]],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div\r\n :style=\"`position:absolute; top:0px; left:0px; width:100%; height:100%; transition:all 0.5s linear; display:flex; align-items:center; justify-content:center;`\"\r\n >\r\n\r\n <template v-if=\"connState==='已連線' || connState==='連線中...'\">\r\n\r\n <img style=\"width:100px; height:100px;\" :src=\"img_connection\">\r\n\r\n <div style=\"margin-left:10px;\">\r\n <div style=\"color:#aaa;\">\r\n {{connState}}\r\n </div>\r\n </div>\r\n\r\n </template>\r\n\r\n <template v-else-if=\"connState==='已登出'\">\r\n\r\n <img style=\"width:75px; height:75px;\" :src=\"img_logout\">\r\n\r\n <div style=\"margin-left:10px;\">\r\n <div style=\"color:#aaa;\">\r\n {{connState}}\r\n </div>\r\n </div>\r\n\r\n </template>\r\n\r\n <template v-else-if=\"connState==='無法連線'\">\r\n\r\n <img style=\"width:75px; height:75px;\" :src=\"img_dissconnection\">\r\n\r\n <div style=\"margin-left:10px;\">\r\n <div style=\"color:#aaa;\">\r\n {{connState}}\r\n </div>\r\n </div>\r\n\r\n </template>\r\n\r\n <template v-else>\r\n\r\n <img style=\"width:75px; height:75px;\" :src=\"img_deny\">\r\n\r\n <div style=\"margin-left:10px;\">\r\n <div style=\"color:#aaa;\">\r\n {{connState}}\r\n </div>\r\n </div>\r\n\r\n </template>\r\n\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport get from 'lodash-es/get.js'\n\r\n\r\nexport default {\r\n components: {\r\n },\r\n props: {\r\n },\r\n data: function() {\r\n return {\r\n img_connection: `data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMTAwcHgiIGhlaWdodD0iMTAwcHgiIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCI+DQo8Y2lyY2xlIGN4PSI1MCIgY3k9IjUwIiByPSIxMy44MTkzIiBmaWxsPSJub25lIiBzdHJva2U9IiM1ZjJhNjIiIHN0cm9rZS13aWR0aD0iMiI+DQogIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9InIiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiBkdXI9IjEuMjY1ODIyNzg0ODEwMTI2NHMiIHZhbHVlcz0iMDs0NCIga2V5VGltZXM9IjA7MSIga2V5U3BsaW5lcz0iMCAwLjIgMC44IDEiIGNhbGNNb2RlPSJzcGxpbmUiIGJlZ2luPSItMC42MzI5MTEzOTI0MDUwNjMycyI+PC9hbmltYXRlPg0KICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJvcGFjaXR5IiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgZHVyPSIxLjI2NTgyMjc4NDgxMDEyNjRzIiB2YWx1ZXM9IjE7MCIga2V5VGltZXM9IjA7MSIga2V5U3BsaW5lcz0iMC4yIDAgMC44IDEiIGNhbGNNb2RlPSJzcGxpbmUiIGJlZ2luPSItMC42MzI5MTEzOTI0MDUwNjMycyI+PC9hbmltYXRlPg0KPC9jaXJjbGU+DQo8Y2lyY2xlIGN4PSI1MCIgY3k9IjUwIiByPSIzNS44MTY1IiBmaWxsPSJub25lIiBzdHJva2U9IiNhOTc2YzMiIHN0cm9rZS13aWR0aD0iMiI+DQogIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9InIiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiBkdXI9IjEuMjY1ODIyNzg0ODEwMTI2NHMiIHZhbHVlcz0iMDs0NCIga2V5VGltZXM9IjA7MSIga2V5U3BsaW5lcz0iMCAwLjIgMC44IDEiIGNhbGNNb2RlPSJzcGxpbmUiPjwvYW5pbWF0ZT4NCiAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0ib3BhY2l0eSIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiIGR1cj0iMS4yNjU4MjI3ODQ4MTAxMjY0cyIgdmFsdWVzPSIxOzAiIGtleVRpbWVzPSIwOzEiIGtleVNwbGluZXM9IjAuMiAwIDAuOCAxIiBjYWxjTW9kZT0ic3BsaW5lIj48L2FuaW1hdGU+DQo8L2NpcmNsZT4NCjwvc3ZnPg==`,\r\n img_logout: `data:image/png;base64,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`,\r\n img_dissconnection: `data:image/png;base64,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`,\r\n img_deny: `data:image/png;base64,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`,\r\n }\r\n },\r\n computed: {\r\n\r\n connState: function() {\r\n //console.log('computed loading')\r\n\r\n let vo = this\r\n\r\n return get(vo, `$store.state.connState`)\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/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./LayoutState.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./LayoutState.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LayoutState.vue?vue&type=template&id=3630a75a&scoped=true&\"\nimport script from \"./LayoutState.vue?vue&type=script&lang=js&\"\nexport * from \"./LayoutState.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3630a75a\",\n null\n \n)\n\nexport default component.exports","<template>\n <div\n v-domresize\n @domresize=\"resize\"\n >\n\n <LayoutState :style=\"`opacity:${ready?0:1};`\" v-if=\"!ready\"></LayoutState>\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>\nimport get from 'lodash-es/get.js'\nimport cloneDeep from 'lodash-es/cloneDeep.js'\nimport isestr from 'wsemi/src/isestr.mjs'\nimport isDev from 'wsemi/src/isDev.mjs'\nimport wui from 'w-ui-loginout/src/WUiLoginout.mjs'\nimport Layout from './components/Layout.vue'\nimport LayoutState from './components/LayoutState.vue'\n\n\nexport default {\n components: {\n Layout,\n LayoutState,\n },\n data: function() {\n return {\n ll: null,\n }\n },\n beforeMount: function() {\n // console.log('methods beforeMount')\n\n let vo = this\n\n //setVo, 更換ui內vo, 才能使用廣播技術, 更換語系才能用廣播通知全部組件forceUpdate\n vo.$ui.setVo(vo)\n\n function loginSuccess(data) {\n console.log('login success', cloneDeep(data.user))\n vo.$ui.updateConnState('已連線')\n vo.$ui.updateUserToken(data.token)\n vo.$ui.updateUserSelf(data.user)\n }\n\n function loginError(data) {\n console.log('login error', cloneDeep(data))\n vo.$ui.updateConnState(data.text)\n vo.$ui.updateUserToken('')\n let urlRedirect = get(window, '___pmwapi___.urlRedirect', '')\n if (!isestr(urlRedirect)) {\n console.log('urlRedirect', urlRedirect)\n throw new Error(`invalid urlRedirect`)\n }\n if (isDev()) {\n console.log('60s redirect to:', urlRedirect)\n setTimeout(() => {\n window.location.href = urlRedirect\n }, 60 * 1000)\n }\n else {\n window.location.href = urlRedirect\n }\n }\n\n //login\n console.log('login...')\n let ll = wui('wapi', {\n timeWaitAnimation: 2000,\n params: {},\n })\n ll.login({\n afterGetUser: null,\n afterLogin: null,\n loginSuccess,\n loginError,\n })\n vo.ll = ll\n\n },\n computed: {\n\n ready: function() {\n let connState = get(this, `$store.state.connState`)\n return connState === '已連線'\n },\n\n },\n methods: {\n\n resize: function(msg) {\n // console.log('methods resize', msg)\n\n let vo = this\n\n //syncHeight\n vo.$ui.syncHeight()\n\n },\n\n },\n}\n</script>\n\n<style>\nhtml,\nbody {\n font-family: '微軟正黑體', 'Microsoft JhengHei', 'MicrosoftJhengHeiRegular', 'Avenir', Helvetica, Arial, sans-serif;\n overflow-y: hidden;\n}\n\ndiv,\np,\nspan,\na,\npre,\ninput,\ntextarea,\nbutton {\n font-family: inherit;\n}\n\n.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/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=011aaaa4&\"\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&id=011aaaa4&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/@vue/vue-loader-v15/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","function filePathToCode(c) {\r\n if (c.indexOf('\\\\\\\\') >= 0) {\r\n return '```' + c + '```'\r\n }\r\n return c\r\n}\r\n\r\n\r\nexport default filePathToCode\r\n","import map from 'lodash-es/map.js'\nimport keys from 'lodash-es/keys.js'\n// import get from 'lodash-es/get.js'\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.mjs'\nimport filePathToCode from '../../../server/filePathToCode.mjs'\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 'group': { //用來統一管理外部API來源\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 'group': '全部',\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| paramC | STRING | ${filePathToCode('C:\\\\\\\\pj\\\\abc\\\\filename.pdf')} |\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 \"paramC\": \"C:\\\\\\\\\\\\\\\\pj\\\\\\\\abc\\\\\\\\filename1.pdf\"\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 \"paramC\": \"C:\\\\\\\\\\\\\\\\pj\\\\\\\\abc\\\\\\\\filename2.pdf\"\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 \"paramC\": \"C:\\\\\\\\\\\\\\\\pj\\\\\\\\abc\\\\\\\\filename3.pdf\"\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 'group': '寵物',\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| paramC | STRING | ${filePathToCode('C:\\\\\\\\pj\\\\abc\\\\filename.pdf')} |\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 \"paramC\": \"C:\\\\\\\\\\\\\\\\pj\\\\\\\\abc\\\\\\\\filename1.pdf\"\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 \"paramC\": \"C:\\\\\\\\\\\\\\\\pj\\\\\\\\abc\\\\\\\\filename2.pdf\"\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 \"paramC\": \"C:\\\\\\\\\\\\\\\\pj\\\\\\\\abc\\\\\\\\filename3.pdf\"\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 'group': '寵物',\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| paramC | STRING | ${filePathToCode('C:\\\\\\\\pj\\\\abc\\\\filename.pdf')} |\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 \"paramC\": \"C:\\\\\\\\\\\\\\\\pj\\\\\\\\abc\\\\\\\\filename1.pdf\"\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 \"paramC\": \"C:\\\\\\\\\\\\\\\\pj\\\\\\\\abc\\\\\\\\filename2.pdf\"\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 \"paramC\": \"C:\\\\\\\\\\\\\\\\pj\\\\\\\\abc\\\\\\\\filename3.pdf\"\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 'group': '寵物',\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| paramC | STRING | ${filePathToCode('C:\\\\\\\\pj\\\\abc\\\\filename.pdf')} |\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 \"paramC\": \"C:\\\\\\\\\\\\\\\\pj\\\\\\\\abc\\\\\\\\filename1.pdf\"\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 \"paramC\": \"C:\\\\\\\\\\\\\\\\pj\\\\\\\\abc\\\\\\\\filename2.pdf\"\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 \"paramC\": \"C:\\\\\\\\\\\\\\\\pj\\\\\\\\abc\\\\\\\\filename3.pdf\"\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 'group': '寵物',\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| paramC | STRING | ${filePathToCode('C:\\\\\\\\pj\\\\abc\\\\filename.pdf')} |\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 \"paramC\": \"C:\\\\\\\\\\\\\\\\pj\\\\\\\\abc\\\\\\\\filename1.pdf\"\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 \"paramC\": \"C:\\\\\\\\\\\\\\\\pj\\\\\\\\abc\\\\\\\\filename2.pdf\"\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 \"paramC\": \"C:\\\\\\\\\\\\\\\\pj\\\\\\\\abc\\\\\\\\filename3.pdf\"\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 'group': '寵物',\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| paramC | STRING | ${filePathToCode('C:\\\\\\\\pj\\\\abc\\\\filename.pdf')} |\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 \"paramC\": \"C:\\\\\\\\\\\\\\\\pj\\\\\\\\abc\\\\\\\\filename1.pdf\"\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 \"paramC\": \"C:\\\\\\\\\\\\\\\\pj\\\\\\\\abc\\\\\\\\filename2.pdf\"\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 \"paramC\": \"C:\\\\\\\\\\\\\\\\pj\\\\\\\\abc\\\\\\\\filename3.pdf\"\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 'group': '寵物',\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| paramC | STRING | ${filePathToCode('C:\\\\\\\\pj\\\\abc\\\\filename.pdf')} |\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 \"paramC\": \"C:\\\\\\\\\\\\\\\\pj\\\\\\\\abc\\\\\\\\filename1.pdf\"\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 \"paramC\": \"C:\\\\\\\\\\\\\\\\pj\\\\\\\\abc\\\\\\\\filename2.pdf\"\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 \"paramC\": \"C:\\\\\\\\\\\\\\\\pj\\\\\\\\abc\\\\\\\\filename3.pdf\"\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 'group': '寵物',\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| paramC | STRING | ${filePathToCode('C:\\\\\\\\pj\\\\abc\\\\filename.pdf')} |\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 \"paramC\": \"C:\\\\\\\\\\\\\\\\pj\\\\\\\\abc\\\\\\\\filename1.pdf\"\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 \"paramC\": \"C:\\\\\\\\\\\\\\\\pj\\\\\\\\abc\\\\\\\\filename2.pdf\"\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 \"paramC\": \"C:\\\\\\\\\\\\\\\\pj\\\\\\\\abc\\\\\\\\filename3.pdf\"\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 'group': '寵物',\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| paramC | STRING | ${filePathToCode('C:\\\\\\\\pj\\\\abc\\\\filename.pdf')} |\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 \"paramC\": \"C:\\\\\\\\\\\\\\\\pj\\\\\\\\abc\\\\\\\\filename1.pdf\"\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 \"paramC\": \"C:\\\\\\\\\\\\\\\\pj\\\\\\\\abc\\\\\\\\filename2.pdf\"\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 \"paramC\": \"C:\\\\\\\\\\\\\\\\pj\\\\\\\\abc\\\\\\\\filename3.pdf\"\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 'group': '寵物',\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| paramC | STRING | ${filePathToCode('C:\\\\\\\\pj\\\\abc\\\\filename.pdf')} |\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 \"paramC\": \"C:\\\\\\\\\\\\\\\\pj\\\\\\\\abc\\\\\\\\filename1.pdf\"\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 \"paramC\": \"C:\\\\\\\\\\\\\\\\pj\\\\\\\\abc\\\\\\\\filename2.pdf\"\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 \"paramC\": \"C:\\\\\\\\\\\\\\\\pj\\\\\\\\abc\\\\\\\\filename3.pdf\"\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 'group': '寵物',\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| paramC | STRING | ${filePathToCode('C:\\\\\\\\pj\\\\abc\\\\filename.pdf')} |\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 \"paramC\": \"C:\\\\\\\\\\\\\\\\pj\\\\\\\\abc\\\\\\\\filename1.pdf\"\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 \"paramC\": \"C:\\\\\\\\\\\\\\\\pj\\\\\\\\abc\\\\\\\\filename2.pdf\"\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 \"paramC\": \"C:\\\\\\\\\\\\\\\\pj\\\\\\\\abc\\\\\\\\filename3.pdf\"\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 'group': '寵物',\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| paramC | STRING | ${filePathToCode('C:\\\\\\\\pj\\\\abc\\\\filename.pdf')} |\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 \"paramC\": \"C:\\\\\\\\\\\\\\\\pj\\\\\\\\abc\\\\\\\\filename1.pdf\"\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 \"paramC\": \"C:\\\\\\\\\\\\\\\\pj\\\\\\\\abc\\\\\\\\filename2.pdf\"\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 \"paramC\": \"C:\\\\\\\\\\\\\\\\pj\\\\\\\\abc\\\\\\\\filename3.pdf\"\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 'group': '寵物',\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| paramC | STRING | ${filePathToCode('C:\\\\\\\\pj\\\\abc\\\\filename.pdf')} |\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 \"paramC\": \"C:\\\\\\\\\\\\\\\\pj\\\\\\\\abc\\\\\\\\filename1.pdf\"\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 \"paramC\": \"C:\\\\\\\\\\\\\\\\pj\\\\\\\\abc\\\\\\\\filename2.pdf\"\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 \"paramC\": \"C:\\\\\\\\\\\\\\\\pj\\\\\\\\abc\\\\\\\\filename3.pdf\"\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 'group': '寵物',\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| paramC | STRING | ${filePathToCode('C:\\\\\\\\pj\\\\abc\\\\filename.pdf')} |\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 \"paramC\": \"C:\\\\\\\\\\\\\\\\pj\\\\\\\\abc\\\\\\\\filename1.pdf\"\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 \"paramC\": \"C:\\\\\\\\\\\\\\\\pj\\\\\\\\abc\\\\\\\\filename2.pdf\"\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 \"paramC\": \"C:\\\\\\\\\\\\\\\\pj\\\\\\\\abc\\\\\\\\filename3.pdf\"\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-es/each.js'\nimport set from 'lodash-es/set.js'\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 user: {\r\n id: '', //id-for-admin\r\n name: '', //測試者\r\n email: '', //admin@example.com\r\n isAdmin: 'n',\r\n },\r\n\r\n lang: 'cht',\r\n keyLangs: {\r\n\r\n menuTreeShow: {\r\n eng: 'Show API list',\r\n cht: '顯示API清單',\r\n },\r\n menuTreeHide: {\r\n eng: 'Hide API list',\r\n cht: '隱藏API清單',\r\n },\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 apiUrl: {\r\n eng: 'API url',\r\n cht: 'API網址',\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內為存取路徑, 需使用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'\r\nimport min from 'lodash-es/min.js'\nimport size from 'lodash-es/size.js'\nimport take from 'lodash-es/take.js'\nimport isEqual from 'lodash-es/isEqual.js'\nimport uniq from 'lodash-es/uniq.js'\nimport set from 'lodash-es/set.js'\nimport get from 'lodash-es/get.js'\nimport each from 'lodash-es/each.js'\nimport map from 'lodash-es/map.js'\nimport filter from 'lodash-es/filter.js'\nimport last from 'lodash-es/last.js'\nimport split from 'lodash-es/split.js'\nimport join from 'lodash-es/join.js'\nimport drop from 'lodash-es/drop.js'\nimport dropRight from 'lodash-es/dropRight.js'\nimport groupBy from 'lodash-es/groupBy.js'\nimport sortBy from 'lodash-es/sortBy.js'\nimport cloneDeep from 'lodash-es/cloneDeep.js'\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 updateUserToken(userToken) {\r\n vo.$store.commit(vo.$store.types.UpdateUserToken, userToken)\r\n}\r\n\r\n\r\nfunction updateUserSelf(userSelf) {\r\n vo.$store.commit(vo.$store.types.UpdateUserSelf, userSelf)\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 updateUserToken,\r\n updateUserSelf,\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-es/get.js'\nimport find from 'lodash-es/find.js'\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-es/min.js'\n// import size from 'lodash-es/size.js'\n// import take from 'lodash-es/take.js'\n// import isEqual from 'lodash-es/isEqual.js'\n// import uniq from 'lodash-es/uniq.js'\n// import set from 'lodash-es/set.js'\n// import get from 'lodash-es/get.js'\n// import each from 'lodash-es/each.js'\n// import map from 'lodash-es/map.js'\n// import filter from 'lodash-es/filter.js'\n// import last from 'lodash-es/last.js'\n// import split from 'lodash-es/split.js'\n// import join from 'lodash-es/join.js'\n// import drop from 'lodash-es/drop.js'\n// import dropRight from 'lodash-es/dropRight.js'\n// import groupBy from 'lodash-es/groupBy.js'\n// import sortBy from 'lodash-es/sortBy.js'\n// import cloneDeep from 'lodash-es/cloneDeep.js'\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-es/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 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 showLog: false,\r\n getUrl: () => {\r\n return window.location.origin + window.location.pathname\r\n },\r\n useWaitToken: true,\r\n getToken: () => {\r\n let token = get(Vue.prototype, `$store.state.userToken`, '')\r\n // console.log('getToken', token)\r\n return token\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 store,\r\n render: h => h(App)\r\n}).$mount('#app')\r\n\r\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t143: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkw_web_api\"] = self[\"webpackChunkw_web_api\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [998], function() { return __webpack_require__(2321); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["render","_vm","this","_c","_self","directives","name","rawName","on","resize","ready","_e","style","concat","attrs","staticRenderFns","staticStyle","heightToolbar","webLogo","_v","_s","webName","$t","tgLangs","changeLang","model","value","tgLangSelect","callback","$$v","expression","changeApis","syncState","panelHeight","drawerWidth","drawerWidthMin","drawerWidthMax","$event","scopedSlots","_u","key","fn","props","height","apisTree","lineHeightTree","apiActive","funActive","data","type","ckItem","getItemByKey","text","getMethodColorByKey","getMethodByKey","$ui","gv","drawer","v","h","width","apiSelect","staticClass","getMethodColor","getMethod","getDay","optputMenuItems","optputMenuItemSelect","top","changeOptputMenuItemSelect","optputMenuItemSelectId","getOutputJsonObj","getOutputJson","domProps","mdh","components","md","String","default","computed","vo","cv","Showdown","setOption","html","makeHtml","methods","component","WButtonCircle","WGroupChipRadio","WDrawer","WTree","WJsonView","MdPanel","panelWidth","kpApisTree","kpColorMethod","GET","POST","PUT","DEL","get","apis","genTree","ms","id","icon","r","find","msg","snew","clientWidth","clientHeight","cloneDeep","tr","kpTree","each","levels","isobj","set","tree","convertToTree","bindRoot","item","method","toUpperCase","color","t","timemsTZ2day","j","trim","o","j2o","b","Array","isArray","children","iseobj","WTextSelect","LayoutContent","beforeMount","setLang","viewState","c","isestr","document","title","lang","connState","img_connection","img_logout","img_dissconnection","img_deny","Layout","LayoutState","ll","loginSuccess","console","log","user","updateConnState","updateUserToken","token","updateUserSelf","loginError","urlRedirect","window","Error","isDev","setTimeout","location","href","setVo","wui","timeWaitAnimation","params","login","afterGetUser","afterLogin","syncHeight","UpdateWebInfor","UpdateLang","UpdateKpText","UpdateConnState","UpdateSyncState","UpdateLoading","UpdateViewState","UpdateTableData","UpdateData","UpdateHeightApp","UpdateHeightAppEff","UpdateHeightToolbar","UpdateMenu","UpdateUserToken","UpdateUserSelf","filePathToCode","indexOf","keyTable","tableNameCht","tableNameEng","settings","pk","funNew","ndata","arguments","length","undefined","dtmapping","keys","now2strp","genID","timeCreate","nowms2str","timeUpdate","isActive","funTest","rs","map","k","_objectSpread","order","dtpick","tab","cs","ds","build","useCreateStorage","state","hostname","origin","webInfor","loading","leftDrawerWidth","heightApp","heightAppEff","menu","userToken","email","isAdmin","keyLangs","menuTreeShow","eng","cht","menuTreeHide","empty","noSelectApi","waitingData","tokens","apiUrl","version","keywords","creator","dataSource","mdInputParams","inputExample","mdOutputParams","outputExample","outputMenuTree","outputMenuRaw","kpText","mutations","_mutations","_defineProperty","types","tableName","path","userSelf","Vue","Vuex","st","getters","actions","strict","vObj","$store","commit","updateLoading","updateViewState","forceUpdate","broadcast","chs","$forceUpdate","$children","getKpLang","webDescription","kls","getKpText","def","isfun","innerHeight","waitData","_waitData","apply","_asyncToGenerator","_regeneratorRuntime","_callee","_args","_context","prev","next","delay","waitFun","stop","mUI","mDataSelectorSchema","getTableInforBy","keyFind","valueFind","keyPick","getTableChtByKey","mDataSupport","_arguments","prototype","slice","call","WAlert","dssm","dspt","ui","s","domResize","domMutation","domDragDrop","bFirstSync","WServHapiClient","showLog","getUrl","pathname","useWaitToken","getToken","getServerMethods","_fapi","getWebInfor","then","wi","catch","err","recvData","getAfterUpdateTableTags","store","App","$mount","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","module","__webpack_modules__","m","deferred","O","result","chunkIds","priority","notFulfilled","Infinity","i","fulfilled","Object","every","splice","n","getter","__esModule","d","a","definition","defineProperty","enumerable","g","globalThis","Function","e","obj","prop","hasOwnProperty","Symbol","toStringTag","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","self","forEach","bind","push","__webpack_exports__"],"sourceRoot":""}