w-web-api 1.0.20 → 1.0.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/css/{app.5eff8f8a.css → app.5b03c2b6.css} +1 -1
- package/dist/css/{chunk-vendors.f0a39794.css → chunk-vendors.b4caa718.css} +1 -1
- package/dist/index.tmp +1 -1
- package/dist/js/app.0c5f01fa.js +2 -0
- package/dist/js/app.0c5f01fa.js.map +1 -0
- package/dist/js/chunk-vendors.27062223.js +24 -0
- package/dist/js/chunk-vendors.27062223.js.map +1 -0
- package/dist/w-web-api.umd.js +2 -2
- package/dist/w-web-api.umd.js.map +1 -1
- package/docs/WWebApi.html +1 -1
- package/docs/WWebApi.mjs.html +1 -1
- package/docs/index.html +1 -1
- package/package.json +5 -5
- package/src/components/LayoutContentList.vue +2 -2
- package/tableTags-web-api.json +1 -1
- package/vue.config.js +1 -1
- package/dist/js/app.3b169a5f.js +0 -2
- package/dist/js/app.3b169a5f.js.map +0 -1
- package/dist/js/chunk-vendors.ec21cce7.js +0 -24
- package/dist/js/chunk-vendors.ec21cce7.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/App.vue?a022","webpack:///./src/components/MdPanel.vue?2ae0","webpack:///./src/App.vue?8076","webpack:///./src/components/Layout.vue?9dfe","webpack:///./src/components/LayoutContent.vue?dcaa","webpack:///./src/components/LayoutContentList.vue?dab2","webpack:///./src/components/MdPanel.vue?9c1c","webpack:///src/components/MdPanel.vue","webpack:///./src/components/MdPanel.vue?45ad","webpack:///./src/components/MdPanel.vue","webpack:///src/components/LayoutContentList.vue","webpack:///./src/components/LayoutContentList.vue?7190","webpack:///./src/components/LayoutContentList.vue","webpack:///src/components/LayoutContent.vue","webpack:///./src/components/LayoutContent.vue?5b65","webpack:///./src/components/LayoutContent.vue","webpack:///src/components/Layout.vue","webpack:///./src/components/Layout.vue?ff31","webpack:///./src/components/Layout.vue","webpack:///src/App.vue","webpack:///./src/App.vue?4c4f","webpack:///./src/App.vue?430b","webpack:///./src/store/types.mjs","webpack:///./server/filePathToCode.mjs","webpack:///./src/schema/tables/apis.mjs","webpack:///./src/schema/index.mjs","webpack:///./src/store/mutations.mjs","webpack:///./src/store/index.mjs","webpack:///./src/plugins/mVuetify.mjs","webpack:///./src/plugins/mUI.mjs","webpack:///./src/plugins/mDataSelectorSchema.mjs","webpack:///./src/plugins/mDataSupport.mjs","webpack:///./src/main.js","webpack:///./src/components/LayoutContentList.vue?435f"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","_vm","this","_h","$createElement","_c","_self","directives","rawName","on","resize","attrs","_e","staticRenderFns","staticStyle","style","heightToolbar","webLogo","_v","_s","webName","$t","tgLangs","changeLang","model","callback","$$v","tgLangSelect","expression","changeApis","resizeTree","heightTree","apisTree","lineHeightTree","apiActive","funActive","scopedSlots","_u","fn","props","type","$event","ckItem","getItemByKey","text","getMethodColorByKey","getMethodByKey","$ui","gv","getMethodColor","apiSelect","getMethod","staticClass","getDay","optputMenuItems","optputMenuItemSelect","top","changeOptputMenuItemSelect","optputMenuItemSelectId","getOutputJsonObj","getOutputJson","domProps","mdh","components","md","default","computed","cv","methods","component","WGroupRadio","WTree","WJsonView","MdPanel","kpApisTree","kpColorMethod","GET","POST","PUT","DEL","apis","vo","hasApis","id","icon","genTree","each","kpTree","set","bindRoot","LayoutContentList","syncState","WButtonCircle","WTextSelect","LayoutContent","drawer","beforeMount","viewState","document","Layout","ready","mounted","UpdateWebInfor","UpdateLang","UpdateKpText","UpdateConnState","UpdateSyncState","UpdateLoading","UpdateViewState","UpdateTableData","UpdateData","UpdateHeightApp","UpdateHeightAppEff","UpdateHeightToolbar","UpdateMenu","UpdateUserToken","UpdateUserSelf","filePathToCode","indexOf","keyTable","tableNameCht","tableNameEng","settings","pk","funNew","ndata","dtmapping","keys","now2strp","genID","timeCreate","nowms2str","timeUpdate","isActive","funTest","rs","map","item","k","v","order","isestr","dtpick","console","log","tab","cs","ds","build","useCreateStorage","state","hostname","location","origin","webInfor","connState","loading","leftDrawerWidth","heightApp","heightAppEff","menu","userToken","userSelf","email","isAdmin","lang","keyLangs","empty","eng","cht","noSelectApi","waitingData","tokens","version","levels","keywords","creator","dataSource","mdInputParams","inputExample","mdOutputParams","outputExample","outputMenuTree","outputMenuRaw","kpText","mutations","types","msg","tableName","path","Vue","use","Vuex","st","Store","getters","actions","strict","$store","Vuetify","icons","iconfont","setVo","vObj","updateConnState","commit","updateLoading","updateViewState","forceUpdate","broadcast","chs","$forceUpdate","$children","setLang","getKpLang","webDescription","kls","getKpText","def","isfun","syncHeight","innerHeight","waitData","delay","waitFun","iseobj","mUI","mDataSelectorSchema","getTableInforBy","keyFind","valueFind","keyPick","find","getTableChtByKey","mDataSupport","config","productionTip","$alert","arguments","WAlert","dssm","dspt","ui","$s","$dssm","$dspt","$dg","directive","domResize","domMutation","domDragDrop","bFirstSync","WServHapiClient","getUrl","pathname","useWaitToken","getToken","getServerMethods","_fapi","$fapi","getWebInfor","then","wi","catch","err","recvData","getAfterUpdateTableTags","vuetify","mVuetify","store","render","h","App","$mount"],"mappings":"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","file":"js/app.3b169a5f.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/mapi/\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=css&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MdPanel.vue?vue&type=style&index=0&id=6700278b&scoped=true&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"domresize\",rawName:\"v-domresize\"}],on:{\"domresize\":_vm.resize}},[_c('transition',{attrs:{\"enter-active-class\":\"fade-enter-active\",\"leave-active-class\":\"fade-leave-active\"}},[(_vm.ready)?_c('Layout'):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"height\":\"100vh\",\"background\":\"#f5f5f5\"}},[_c('div',{style:((\"height:\" + _vm.heightToolbar + \"px; padding:0px 10px; display:flex; align-items:center; background:#fff; border-bottom:1px solid #ccc;\"))},[(false)?_c('WButtonCircle',{attrs:{\"icon\":'mdi-menu',\"tooltip\":'左側選單',\"shadow\":false},on:{\"click\":function($event){_vm.drawer=!_vm.drawer}}}):_vm._e(),_c('div',{staticStyle:{\"padding-left\":\"5px\",\"white-space\":\"nowrap\"}},[_c('div',{staticStyle:{\"display\":\"flex\",\"align-items\":\"center\"}},[(_vm.webLogo)?_c('div',{staticStyle:{\"padding-right\":\"10px\",\"display\":\"flex\",\"align-items\":\"center\"}},[_c('img',{staticStyle:{\"width\":\"36px\",\"height\":\"36px\"},attrs:{\"src\":_vm.webLogo}})]):_vm._e(),_c('div',[_c('div',{staticStyle:{\"font-size\":\"1.2rem\",\"color\":\"#000\"}},[_vm._v(_vm._s(_vm.webName))]),_c('div',{staticStyle:{\"font-size\":\"0.8rem\",\"color\":\"#666\"}},[_vm._v(_vm._s(_vm.$t('webDescription')))])])])]),_c('div',{staticStyle:{\"width\":\"100%\"}}),_c('div',{staticStyle:{\"padding-right\":\"10px\",\"white-space\":\"nowrap\"}},[_c('WTextSelect',{attrs:{\"items\":_vm.tgLangs},on:{\"input\":_vm.changeLang},model:{value:(_vm.tgLangSelect),callback:function ($$v) {_vm.tgLangSelect=$$v},expression:\"tgLangSelect\"}})],1)],1),_c('div',{style:((\"height:calc( 100% - \" + _vm.heightToolbar + \"px );\"))},[_c('LayoutContent')],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"height\":\"100%\"}},[(_vm.syncState)?[_c('LayoutContentList')]:_c('div',{staticStyle:{\"padding\":\"20px\",\"font-size\":\"0.9rem\"}},[_vm._v(\" \"+_vm._s(_vm.$t('waitingData'))+\" \")])],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"height\":\"100%\"},attrs:{\"changeApis\":_vm.changeApis}},[(_vm.hasApis)?_c('div',{staticStyle:{\"display\":\"flex\",\"height\":\"100%\"}},[_c('div',{directives:[{name:\"domresize\",rawName:\"v-domresize\"}],staticStyle:{\"min-width\":\"400px\",\"height\":\"100%\",\"color\":\"#444\",\"background\":\"#fff\"},on:{\"domresize\":_vm.resizeTree}},[_c('WTree',{attrs:{\"viewHeightMax\":_vm.heightTree,\"data\":_vm.apisTree,\"iconHeight\":_vm.lineHeightTree,\"defItemHeight\":_vm.lineHeightTree,\"activable\":true,\"activeItem\":_vm.apiActive,\"fun-active\":_vm.funActive,\"itemTextColorActive\":'#000',\"itemBackgroundColorActive\":'rgba(100,100,100,0.15)'},scopedSlots:_vm._u([{key:\"item\",fn:function(props){return [(props.data.type!=='node')?_c('div',{style:((\"display:flex; align-items:center; min-height:\" + _vm.lineHeightTree + \"px;\"))},[_vm._v(\" \"+_vm._s(props.data.key)+\" \")]):_c('div',{style:((\"display:flex; align-items:center; min-height:\" + _vm.lineHeightTree + \"px; cursor:pointer;\")),on:{\"click\":function($event){_vm.ckItem(_vm.getItemByKey(props.data.text))}}},[_c('div',{staticStyle:{\"padding-right\":\"5px\"}},[_c('div',{style:((\"padding:0px 6px; font-size:0.7rem; border-radius:10px; border:1px solid #ddd; color:#fff; background:\" + (_vm.getMethodColorByKey(props.data.text)) + \";\"))},[_vm._v(\" \"+_vm._s(_vm.getMethodByKey(props.data.text))+\" \")])]),_c('div',[_vm._v(\" \"+_vm._s(_vm.$ui.gv(_vm.getItemByKey(props.data.text),'name'))+\" \")])])]}}],null,false,901240009)})],1),_c('div',{staticStyle:{\"height\":\"100%\",\"border-right\":\"1px solid #ddd\"}}),(_vm.apiSelect)?_c('div',{staticStyle:{\"width\":\"100%\",\"height\":\"100%\",\"overflow-y\":\"auto\"}},[_c('div',{staticStyle:{\"padding\":\"15px 20px 10px 10px\"}},[_c('div',{staticStyle:{\"padding\":\"5px\"}},[_c('div',{staticStyle:{\"padding\":\"10px\",\"border-radius\":\"5px\",\"border\":\"1px solid #ddd\",\"background\":\"#fff\",\"display\":\"flex\",\"align-items\":\"center\"}},[_c('div',{staticStyle:{\"padding-right\":\"5px\"}},[_c('div',{style:((\"padding:0px 6px; font-size:0.7rem; border-radius:10px; border:1px solid #ddd; color:#fff; background:\" + (_vm.getMethodColor(_vm.apiSelect)) + \";\"))},[_vm._v(\" \"+_vm._s(_vm.getMethod(_vm.apiSelect))+\" \")])]),_c('div',{staticStyle:{\"font-size\":\"0.8rem\"}},[_vm._v(\" \"+_vm._s(_vm.$ui.gv(_vm.apiSelect,'url'))+\" \")])])]),_c('div',{staticStyle:{\"padding\":\"10px\"}},[_c('div',{staticStyle:{\"color\":\"#485ed5\"}},[_vm._v(\" \"+_vm._s(_vm.$ui.gv(_vm.apiSelect,'name'))+\" \")]),_c('div',{staticClass:\"bk-title\"},[_vm._v(\" \"+_vm._s(_vm.$ui.gv(_vm.apiSelect,'description'))+\" \")])]),_c('div',{staticStyle:{\"padding\":\"10px\"}},[_c('div',{staticClass:\"bk\"},[_c('div',{staticClass:\"bk-title\"},[_vm._v(\" \"+_vm._s(_vm.$t('tokens'))+\" \")]),_c('div',{staticClass:\"bk-item\"},[_vm._v(\" \"+_vm._s(_vm.$ui.gv(_vm.apiSelect,'tokens'))+\" \")])]),_c('div',{staticClass:\"bk\"},[_c('div',{staticClass:\"bk-title\"},[_vm._v(\" \"+_vm._s(_vm.$t('version'))+\" \")]),_c('div',{staticClass:\"bk-item\"},[_vm._v(\" \"+_vm._s(_vm.$ui.gv(_vm.apiSelect,'version'))+\" \")])]),_c('div',{staticClass:\"bk\"},[_c('div',{staticClass:\"bk-title\"},[_vm._v(\" \"+_vm._s(_vm.$t('levels'))+\" \")]),_c('div',{staticClass:\"bk-item\"},[_vm._v(\" \"+_vm._s(_vm.$ui.gv(_vm.apiSelect,''))+\" \")])]),_c('div',{staticClass:\"bk\"},[_c('div',{staticClass:\"bk-title\"},[_vm._v(\" \"+_vm._s(_vm.$t('keywords'))+\" \")]),_c('div',{staticClass:\"bk-item\"},[_vm._v(\" \"+_vm._s(_vm.$ui.gv(_vm.apiSelect,''))+\" \")])]),_c('div',{staticClass:\"bk\"},[_c('div',{staticClass:\"bk-title\"},[_vm._v(\" \"+_vm._s(_vm.$t('state'))+\" \")]),_c('div',{staticClass:\"bk-item\"},[_vm._v(\" \"+_vm._s(_vm.$ui.gv(_vm.apiSelect,''))+\" \")])]),_c('div',{staticClass:\"bk\"},[_c('div',{staticClass:\"bk-title\"},[_vm._v(\" \"+_vm._s(_vm.$t('timeCreate'))+\" \")]),_c('div',{staticClass:\"bk-item\"},[_vm._v(\" \"+_vm._s(_vm.$ui.gv(_vm.apiSelect,'timeCreate',_vm.getDay))+\" \")])]),_c('div',{staticClass:\"bk\"},[_c('div',{staticClass:\"bk-title\"},[_vm._v(\" \"+_vm._s(_vm.$t('timeUpdate'))+\" \")]),_c('div',{staticClass:\"bk-item\"},[_vm._v(\" \"+_vm._s(_vm.$ui.gv(_vm.apiSelect,'timeUpdate',_vm.getDay))+\" \")])]),_c('div',{staticClass:\"bk\"},[_c('div',{staticClass:\"bk-title\"},[_vm._v(\" \"+_vm._s(_vm.$t('creator'))+\" \")]),_c('div',{staticClass:\"bk-item\"},[_vm._v(\" \"+_vm._s(_vm.$ui.gv(_vm.apiSelect,'creator'))+\" \")])]),_c('div',{staticClass:\"bk\"},[_c('div',{staticClass:\"bk-title\"},[_vm._v(\" \"+_vm._s(_vm.$t('dataSource'))+\" \")]),_c('div',{staticClass:\"bk-item\"},[_vm._v(\" \"+_vm._s(_vm.$ui.gv(_vm.apiSelect,'dataSource'))+\" \")])]),_c('div',{staticClass:\"bk\"},[_c('div',{staticClass:\"bk-title\"},[_vm._v(\" \"+_vm._s(_vm.$t('isActive'))+\" \")]),_c('div',{staticClass:\"bk-item\"},[_vm._v(\" \"+_vm._s(_vm.$ui.gv(_vm.apiSelect,'isActive'))+\" \")])])]),_c('div',{staticStyle:{\"padding\":\"10px\"}},[_c('div',{staticClass:\"bk-title\"},[_vm._v(\" \"+_vm._s(_vm.$t('mdInputParams'))+\" \")]),_c('div',{staticClass:\"bk-item\",staticStyle:{\"padding\":\"10px\"}},[_c('MdPanel',{attrs:{\"md\":_vm.$ui.gv(_vm.apiSelect,'mdInputParams')}})],1)]),_c('div',{staticStyle:{\"padding\":\"10px\"}},[_c('div',{staticClass:\"bk-title\"},[_vm._v(\" \"+_vm._s(_vm.$t('inputExample'))+\" \")]),_c('div',{staticClass:\"bk-item\",staticStyle:{\"padding\":\"10px\"}},[_vm._v(\" \"+_vm._s(_vm.$ui.gv(_vm.apiSelect,'inputExample'))+\" \")])]),_c('div',{staticStyle:{\"padding\":\"10px\"}},[_c('div',{staticClass:\"bk-title\"},[_vm._v(\" \"+_vm._s(_vm.$t('mdOutputParams'))+\" \")]),_c('div',{staticClass:\"bk-item\",staticStyle:{\"padding\":\"10px\"}},[_c('MdPanel',{attrs:{\"md\":_vm.$ui.gv(_vm.apiSelect,'mdOutputParams')}})],1)]),_c('div',{staticStyle:{\"padding\":\"10px\"}},[_c('div',{staticClass:\"bk-title\"},[_vm._v(\" \"+_vm._s(_vm.$t('outputExample'))+\" \")]),_c('div',{staticStyle:{\"padding-top\":\"10px\"}},[_c('div',{staticStyle:{\"padding-left\":\"10px\",\"margin-bottom\":\"-1px\"}},[_c('WGroupRadio',{attrs:{\"items\":_vm.optputMenuItems,\"value\":_vm.optputMenuItemSelect,\"group\":true,\"group-border-radius-style\":{top:true},\"group-shift\":7,\"border-radius\":20,\"border-color\":'#ddd',\"border-color-hover\":'#dadada',\"border-color-active\":'orange lighten-2',\"margin-style\":{}},on:{\"input\":_vm.changeOptputMenuItemSelect}})],1),_c('div',{staticStyle:{\"border\":\"1px solid #ddd\",\"background\":\"#fff\"}},[(_vm.optputMenuItemSelectId==='tree')?_c('div',{},[_c('WJsonView',{staticStyle:{\"width\":\"100%\"},attrs:{\"viewHeightMax\":null,\"data\":_vm.getOutputJsonObj(_vm.apiSelect)}})],1):_vm._e(),(_vm.optputMenuItemSelectId==='raw')?_c('div',{staticStyle:{\"padding\":\"10px\",\"color\":\"#555\",\"font-size\":\"0.85rem\"}},[_c('pre',[_vm._v(_vm._s(_vm.getOutputJson(_vm.apiSelect)))])]):_vm._e()])])])])]):_c('div',{staticStyle:{\"padding\":\"20px\",\"font-size\":\"0.9rem\"}},[_vm._v(\" \"+_vm._s(_vm.$t('noSelectApi'))+\" \")])]):_c('div',{staticStyle:{\"padding\":\"20px\",\"font-size\":\"0.9rem\"}},[_vm._v(\" \"+_vm._s(_vm.$t('waitingData'))+\" \")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"md\",domProps:{\"innerHTML\":_vm._s(_vm.mdh)}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div>\r\n <div class=\"md\" v-html=\"mdh\"></div>\r\n </div>\r\n</template>\r\n\r\n<script>\r\n// import get from 'lodash/get'\r\n// import find from 'lodash/find'\r\n// import each from 'lodash/each'\r\n// import map from 'lodash/map'\r\n// import size from 'lodash/size'\r\n// import sortBy from 'lodash/sortBy'\r\n// import isNumber from 'lodash/isNumber'\r\n// import cloneDeep from 'lodash/cloneDeep'\r\n// import sep from 'wsemi/src/sep.mjs'\r\n// import isobj from 'wsemi/src/isobj.mjs'\r\n// import iseobj from 'wsemi/src/iseobj.mjs'\r\n// import isestr from 'wsemi/src/isestr.mjs'\r\n// import isearr from 'wsemi/src/isearr.mjs'\r\n// import pmSeries from 'wsemi/src/pmSeries.mjs'\r\n// import waitFun from 'wsemi/src/waitFun.mjs'\r\n// import strleft from 'wsemi/src/strleft.mjs'\r\n// import strdelleft from 'wsemi/src/strdelleft.mjs'\r\n// import str2aes from 'wsemi/src/str2aes.mjs'\r\n// import timeTZ2past from 'wsemi/src/timeTZ2past.mjs'\r\nimport Showdown from 'showdown'\r\n// import MarkdownIt from 'markdown-it'\r\n\r\n\r\nexport default {\r\n components: {\r\n },\r\n props: {\r\n md: {\r\n type: String,\r\n default: '',\r\n },\r\n },\r\n data: function() {\r\n return {\r\n }\r\n },\r\n computed: {\r\n\r\n mdh: function() {\r\n let vo = this\r\n\r\n // md = `| 參數 | 型別 | 範例 |\r\n // | -- | -- | -- |\r\n // | token | STRING | key-for-token |\r\n // | id | STRING | id-for-test |\r\n // | paramA | INTEGER | 123 |\r\n // | paramB | DOUBLE | 123.456 |\r\n // `\r\n\r\n let cv = new Showdown.Converter()\r\n cv.setOption('tables', true)\r\n let html = cv.makeHtml(vo.md)\r\n\r\n // let cv = new MarkdownIt()\r\n // let html = cv.render(vo.md)\r\n\r\n // console.log('md', md)\r\n // console.log('html', html)\r\n return html\r\n },\r\n\r\n },\r\n methods: {\r\n }\r\n}\r\n</script>\r\n\r\n<style scoped>\r\n\r\n.md >>> table {\r\n border-collapse: collapse;\r\n margin: 0;\r\n padding: 0;\r\n word-break: initial;\r\n}\r\n\r\n.md >>> tr {\r\n margin: 0;\r\n padding: 0;\r\n}\r\n\r\n.md >>> table tr th {\r\n font-weight: bold;\r\n background: #eee;\r\n border: 1px solid #ddd;\r\n border-bottom: 0;\r\n margin: 0;\r\n padding: 6px 13px;\r\n}\r\n\r\n.md >>> table tr td {\r\n border: 1px solid #ddd;\r\n margin: 0;\r\n padding: 6px 13px;\r\n}\r\n\r\n.md >>> h1 {\r\n font-weight: bold;\r\n font-size: 1.2rem;\r\n line-height: 1.2rem;\r\n margin-top: 0.5rem;\r\n margin-bottom: 0.5rem;\r\n}\r\n\r\n.md >>> h2 {\r\n font-weight: bold;\r\n font-size: 1.1rem;\r\n line-height: 1.1rem;\r\n margin-top: 0.5rem;\r\n margin-bottom: 0.5rem;\r\n}\r\n\r\n.md >>> h3 {\r\n font-weight: bold;\r\n font-size: 1rem;\r\n line-height: 1rem;\r\n margin-top: 0.5rem;\r\n margin-bottom: 0.5rem;\r\n}\r\n\r\n.md >>> h4 {\r\n font-weight: bold;\r\n font-size: 1rem;\r\n line-height: 1rem;\r\n margin-top: 0.5rem;\r\n margin-bottom: 0.5rem;\r\n}\r\n\r\n.md >>> h5 {\r\n font-weight: bold;\r\n font-size: 1rem;\r\n line-height: 1rem;\r\n margin-top: 0.5rem;\r\n margin-bottom: 0.5rem;\r\n}\r\n\r\n.md >>> h6 {\r\n font-weight: bold;\r\n font-size: 1rem;\r\n line-height: 1rem;\r\n margin-top: 0.5rem;\r\n margin-bottom: 0.5rem;\r\n}\r\n\r\n</style>\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MdPanel.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MdPanel.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MdPanel.vue?vue&type=template&id=6700278b&scoped=true&\"\nimport script from \"./MdPanel.vue?vue&type=script&lang=js&\"\nexport * from \"./MdPanel.vue?vue&type=script&lang=js&\"\nimport style0 from \"./MdPanel.vue?vue&type=style&index=0&id=6700278b&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6700278b\",\n null\n \n)\n\nexport default component.exports","<template>\r\n <div\r\n style=\"height:100%;\"\r\n :changeApis=\"changeApis\"\r\n >\r\n\r\n <div style=\"display:flex; height:100%;\" v-if=\"hasApis\">\r\n\r\n <div\r\n style=\"min-width:400px; height:100%; color:#444; background:#fff;\"\r\n v-domresize\r\n @domresize=\"resizeTree\"\r\n >\r\n\r\n <WTree\r\n :viewHeightMax=\"heightTree\"\r\n :data=\"apisTree\"\r\n :iconHeight=\"lineHeightTree\"\r\n :defItemHeight=\"lineHeightTree\"\r\n :activable=\"true\"\r\n :activeItem=\"apiActive\"\r\n :fun-active=\"funActive\"\r\n :itemTextColorActive=\"'#000'\"\r\n :itemBackgroundColorActive =\"'rgba(100,100,100,0.15)'\"\r\n >\r\n <template v-slot:item=\"props\">\r\n\r\n <div\r\n :style=\"`display:flex; align-items:center; min-height:${lineHeightTree}px;`\"\r\n v-if=\"props.data.type!=='node'\"\r\n >\r\n {{props.data.key}}\r\n </div>\r\n\r\n <div\r\n :style=\"`display:flex; align-items:center; min-height:${lineHeightTree}px; cursor:pointer;`\"\r\n @click=\"ckItem(getItemByKey(props.data.text))\"\r\n v-else\r\n >\r\n\r\n <div style=\"padding-right:5px;\">\r\n <div :style=\"`padding:0px 6px; font-size:0.7rem; border-radius:10px; border:1px solid #ddd; color:#fff; background:${getMethodColorByKey(props.data.text)};`\">\r\n {{getMethodByKey(props.data.text)}}\r\n </div>\r\n </div>\r\n\r\n <div>\r\n {{$ui.gv(getItemByKey(props.data.text),'name')}}\r\n </div>\r\n\r\n </div>\r\n\r\n </template>\r\n </WTree>\r\n\r\n </div>\r\n\r\n <div style=\"height:100%; border-right:1px solid #ddd;\"></div>\r\n\r\n <div style=\"width:100%; height:100%; overflow-y:auto;\" v-if=\"apiSelect\">\r\n <div style=\"padding:15px 20px 10px 10px;\">\r\n\r\n <div style=\"padding:5px;\">\r\n\r\n <div style=\"padding:10px; border-radius:5px; border:1px solid #ddd; background:#fff; display:flex; align-items:center;\">\r\n\r\n <div style=\"padding-right:5px;\">\r\n <div :style=\"`padding:0px 6px; font-size:0.7rem; border-radius:10px; border:1px solid #ddd; color:#fff; background:${getMethodColor(apiSelect)};`\">\r\n {{getMethod(apiSelect)}}\r\n </div>\r\n </div>\r\n\r\n <div style=\"font-size:0.8rem;\">\r\n {{$ui.gv(apiSelect,'url')}}\r\n </div>\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n <div style=\"padding:10px;\">\r\n\r\n <div style=\"color:#485ed5;\">\r\n {{$ui.gv(apiSelect,'name')}}\r\n </div>\r\n\r\n <div class=\"bk-title\" style=\"\">\r\n {{$ui.gv(apiSelect,'description')}}\r\n </div>\r\n\r\n </div>\r\n\r\n <div style=\"padding:10px;\">\r\n\r\n <div class=\"bk\" style=\"\">\r\n\r\n <div class=\"bk-title\" style=\"\">\r\n {{$t('tokens')}}\r\n </div>\r\n\r\n <div class=\"bk-item\" style=\"\">\r\n {{$ui.gv(apiSelect,'tokens')}}\r\n </div>\r\n\r\n </div>\r\n\r\n <div class=\"bk\" style=\"\">\r\n\r\n <div class=\"bk-title\" style=\"\">\r\n {{$t('version')}}\r\n </div>\r\n\r\n <div class=\"bk-item\" style=\"\">\r\n {{$ui.gv(apiSelect,'version')}}\r\n </div>\r\n\r\n </div>\r\n\r\n <div class=\"bk\" style=\"\">\r\n\r\n <div class=\"bk-title\" style=\"\">\r\n {{$t('levels')}}\r\n </div>\r\n\r\n <div class=\"bk-item\" style=\"\">\r\n {{$ui.gv(apiSelect,'')}}\r\n </div>\r\n\r\n </div>\r\n\r\n <div class=\"bk\" style=\"\">\r\n\r\n <div class=\"bk-title\" style=\"\">\r\n {{$t('keywords')}}\r\n </div>\r\n\r\n <div class=\"bk-item\" style=\"\">\r\n {{$ui.gv(apiSelect,'')}}\r\n </div>\r\n\r\n </div>\r\n\r\n <div class=\"bk\" style=\"\">\r\n\r\n <div class=\"bk-title\" style=\"\">\r\n {{$t('state')}}\r\n </div>\r\n\r\n <div class=\"bk-item\" style=\"\">\r\n {{$ui.gv(apiSelect,'')}}\r\n </div>\r\n\r\n </div>\r\n\r\n <div class=\"bk\" style=\"\">\r\n\r\n <div class=\"bk-title\" style=\"\">\r\n {{$t('timeCreate')}}\r\n </div>\r\n\r\n <div class=\"bk-item\" style=\"\">\r\n {{$ui.gv(apiSelect,'timeCreate',getDay)}}\r\n </div>\r\n\r\n </div>\r\n\r\n <div class=\"bk\" style=\"\">\r\n\r\n <div class=\"bk-title\" style=\"\">\r\n {{$t('timeUpdate')}}\r\n </div>\r\n\r\n <div class=\"bk-item\" style=\"\">\r\n {{$ui.gv(apiSelect,'timeUpdate',getDay)}}\r\n </div>\r\n\r\n </div>\r\n\r\n <div class=\"bk\" style=\"\">\r\n\r\n <div class=\"bk-title\" style=\"\">\r\n {{$t('creator')}}\r\n </div>\r\n\r\n <div class=\"bk-item\" style=\"\">\r\n {{$ui.gv(apiSelect,'creator')}}\r\n </div>\r\n\r\n </div>\r\n\r\n <div class=\"bk\" style=\"\">\r\n\r\n <div class=\"bk-title\" style=\"\">\r\n {{$t('dataSource')}}\r\n </div>\r\n\r\n <div class=\"bk-item\" style=\"\">\r\n {{$ui.gv(apiSelect,'dataSource')}}\r\n </div>\r\n\r\n </div>\r\n\r\n <div class=\"bk\" style=\"\">\r\n\r\n <div class=\"bk-title\" style=\"\">\r\n {{$t('isActive')}}\r\n </div>\r\n\r\n <div class=\"bk-item\" style=\"\">\r\n {{$ui.gv(apiSelect,'isActive')}}\r\n </div>\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n <div style=\"padding:10px;\">\r\n\r\n <div class=\"bk-title\" style=\"\">\r\n {{$t('mdInputParams')}}\r\n </div>\r\n\r\n <div class=\"bk-item\" style=\"padding:10px;\">\r\n <MdPanel\r\n :md=\"$ui.gv(apiSelect,'mdInputParams')\"\r\n ></MdPanel>\r\n </div>\r\n\r\n </div>\r\n\r\n <div style=\"padding:10px;\">\r\n\r\n <div class=\"bk-title\" style=\"\">\r\n {{$t('inputExample')}}\r\n </div>\r\n\r\n <div class=\"bk-item\" style=\"padding:10px;\">\r\n {{$ui.gv(apiSelect,'inputExample')}}\r\n </div>\r\n\r\n </div>\r\n\r\n <div style=\"padding:10px;\">\r\n\r\n <div class=\"bk-title\" style=\"\">\r\n {{$t('mdOutputParams')}}\r\n </div>\r\n\r\n <div class=\"bk-item\" style=\"padding:10px;\">\r\n <MdPanel\r\n :md=\"$ui.gv(apiSelect,'mdOutputParams')\"\r\n ></MdPanel>\r\n </div>\r\n\r\n </div>\r\n\r\n <div style=\"padding:10px;\">\r\n\r\n <div class=\"bk-title\" style=\"\">\r\n {{$t('outputExample')}}\r\n </div>\r\n\r\n <div style=\"padding-top:10px;\">\r\n\r\n <div style=\"padding-left:10px; margin-bottom:-1px;\">\r\n <!-- 因上下皆有border, 故需負margin-bottom來吃掉重複border -->\r\n <WGroupRadio\r\n :items=\"optputMenuItems\"\r\n :value=\"optputMenuItemSelect\"\r\n @input=\"changeOptputMenuItemSelect\"\r\n :group=\"true\"\r\n :group-border-radius-style=\"{top:true}\"\r\n :group-shift=\"7\"\r\n :border-radius=\"20\"\r\n :border-color=\"'#ddd'\"\r\n :border-color-hover=\"'#dadada'\"\r\n :border-color-active=\"'orange lighten-2'\"\r\n :margin-style=\"{}\"\r\n ></WGroupRadio>\r\n </div>\r\n\r\n <div style=\"border:1px solid #ddd; background:#fff\">\r\n\r\n <div style=\"\" v-if=\"optputMenuItemSelectId==='tree'\">\r\n <WJsonView\r\n style=\"width:100%;\"\r\n :viewHeightMax=\"null\"\r\n :data=\"getOutputJsonObj(apiSelect)\"\r\n ></WJsonView>\r\n </div>\r\n\r\n <div style=\"padding:10px; color:#555; font-size:0.85rem;\" v-if=\"optputMenuItemSelectId==='raw'\">\r\n <pre>{{getOutputJson(apiSelect)}}</pre>\r\n </div>\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n </div>\r\n </div>\r\n\r\n <div\r\n style=\"padding:20px; font-size:0.9rem;\"\r\n v-else\r\n >\r\n {{$t('noSelectApi')}}\r\n </div>\r\n\r\n </div>\r\n\r\n <div\r\n style=\"padding:20px; font-size:0.9rem;\"\r\n v-else\r\n >\r\n {{$t('waitingData')}}\r\n </div>\r\n\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport get from 'lodash/get'\r\nimport set from 'lodash/set'\r\n// import map from 'lodash/map'\r\nimport each from 'lodash/each'\r\nimport size from 'lodash/size'\r\n// import join from 'lodash/join'\r\nimport trim from 'lodash/trim'\r\nimport find from 'lodash/find'\r\nimport cloneDeep from 'lodash/cloneDeep'\r\n// import isestr from 'wsemi/src/isestr.mjs'\r\n// import isnum from 'wsemi/src/isnum.mjs'\r\n// import isarr from 'wsemi/src/isarr.mjs'\r\nimport isobj from 'wsemi/src/isobj.mjs'\r\nimport iseobj from 'wsemi/src/iseobj.mjs'\r\nimport j2o from 'wsemi/src/j2o.mjs'\r\n// import cdbl from 'wsemi/src/cdbl.mjs'\r\n// import str2md5 from 'wsemi/src/str2md5.mjs'\r\n// import sep from 'wsemi/src/sep.mjs'\r\nimport timemsTZ2day from 'wsemi/src/timemsTZ2day.mjs'\r\nimport convertToTree from 'wsemi/src/convertToTree.mjs'\r\nimport WGroupRadio from 'w-component-vue/src/components/WGroupRadio.vue'\r\nimport WTree from 'w-component-vue/src/components/WTree.vue'\r\nimport WJsonView from 'w-component-vue/src/components/WJsonView.vue'\r\nimport MdPanel from './MdPanel.vue'\r\n\r\n\r\nexport default {\r\n components: {\r\n WGroupRadio,\r\n WTree,\r\n WJsonView,\r\n MdPanel,\r\n },\r\n props: {\r\n },\r\n data: function() {\r\n return {\r\n\r\n heightTree: 2,\r\n lineHeightTree: 38,\r\n\r\n apisTree: [],\r\n kpApisTree: {},\r\n apiActive: null,\r\n apiSelect: null,\r\n\r\n kpColorMethod: {\r\n GET: '#7c2',\r\n POST: '#68f',\r\n PUT: '#f82',\r\n DEL: '#f26',\r\n },\r\n\r\n optputMenuItemSelectId: 'tree',\r\n\r\n }\r\n },\r\n computed: {\r\n\r\n apis: function() {\r\n return get(this, '$store.state.apis')\r\n },\r\n\r\n changeApis: function() {\r\n let vo = this\r\n vo.genTree(vo.apis)\r\n return ''\r\n },\r\n\r\n hasApis: function() {\r\n return size(this.apisTree) > 0\r\n },\r\n\r\n optputMenuItems: function() {\r\n let vo = this\r\n let ms = [\r\n {\r\n id: 'tree',\r\n text: vo.$t('outputMenuTree'),\r\n icon: 'mdi-vanity-light',\r\n },\r\n {\r\n id: 'raw',\r\n text: vo.$t('outputMenuRaw'),\r\n icon: 'mdi-lan',\r\n },\r\n ]\r\n return ms\r\n },\r\n\r\n optputMenuItemSelect: function() {\r\n let vo = this\r\n let r = find(vo.optputMenuItems, { id: vo.optputMenuItemSelectId })\r\n // console.log(r)\r\n return r\r\n },\r\n\r\n },\r\n methods: {\r\n\r\n resizeTree: function(msg) {\r\n // console.log('methods resizeTree', msg)\r\n\r\n let vo = this\r\n\r\n //h\r\n let h = get(msg, 'snew.clientHeight')\r\n // console.log(h)\r\n\r\n //update\r\n vo.heightTree = h\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 //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 font-size:0.8rem;\r\n color:#888;\r\n}\r\n.bk-item {\r\n padding:3px 5px;\r\n font-size:0.9rem;\r\n line-height:0.9rem;\r\n border-radius:5px;\r\n border:1px solid #ddd;\r\n background:#fff;\r\n}\r\n</style>\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LayoutContentList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LayoutContentList.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LayoutContentList.vue?vue&type=template&id=7c186c61&scoped=true&\"\nimport script from \"./LayoutContentList.vue?vue&type=script&lang=js&\"\nexport * from \"./LayoutContentList.vue?vue&type=script&lang=js&\"\nimport style0 from \"./LayoutContentList.vue?vue&type=style&index=0&id=7c186c61&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7c186c61\",\n null\n \n)\n\nexport default component.exports","<template>\r\n <div style=\"height:100%;\">\r\n\r\n <template v-if=\"syncState\">\r\n\r\n <LayoutContentList></LayoutContentList>\r\n\r\n </template>\r\n\r\n <div\r\n style=\"padding:20px; font-size:0.9rem;\"\r\n v-else\r\n >\r\n {{$t('waitingData')}}\r\n </div>\r\n\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport get from 'lodash/get'\r\n// import map from 'lodash/map'\r\n// import each from 'lodash/each'\r\n// import size from 'lodash/size'\r\n// import cloneDeep from 'lodash/cloneDeep'\r\n// import isestr from 'wsemi/src/isestr.mjs'\r\n// import isnum from 'wsemi/src/isnum.mjs'\r\n// import cdbl from 'wsemi/src/cdbl.mjs'\r\n// import WPanelBulge from 'w-component-vue/src/components/WPanelBulge.vue'\r\n// import WButtonChip from 'w-component-vue/src/components/WButtonChip.vue'\r\n// import WGroupCheck from 'w-component-vue/src/components/WGroupCheck.vue'\r\n// import WTree from 'w-component-vue/src/components/WTree.vue'\r\nimport LayoutContentList from './LayoutContentList.vue'\r\n\r\n\r\nexport default {\r\n components: {\r\n // WPanelBulge,\r\n // WButtonChip,\r\n // WGroupCheck,\r\n // WTree,\r\n LayoutContentList,\r\n },\r\n props: {\r\n },\r\n data: function() {\r\n return {\r\n }\r\n },\r\n computed: {\r\n\r\n syncState: function() {\r\n return get(this, '$store.state.syncState')\r\n },\r\n\r\n },\r\n methods: {\r\n }\r\n}\r\n</script>\r\n\r\n<style scoped>\r\n</style>\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LayoutContent.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LayoutContent.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LayoutContent.vue?vue&type=template&id=9b2333d2&scoped=true&\"\nimport script from \"./LayoutContent.vue?vue&type=script&lang=js&\"\nexport * from \"./LayoutContent.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"9b2333d2\",\n null\n \n)\n\nexport default component.exports","<template>\r\n <div style=\"height:100vh; background:#f5f5f5;\">\r\n\r\n <div :style=\"`height:${heightToolbar}px; padding:0px 10px; display:flex; align-items:center; background:#fff; border-bottom:1px solid #ccc;`\">\r\n\r\n <WButtonCircle\r\n :icon=\"'mdi-menu'\"\r\n :tooltip=\"'左側選單'\"\r\n :shadow=\"false\"\r\n @click=\"drawer=!drawer\"\r\n v-if=\"false\"\r\n ></WButtonCircle>\r\n\r\n <div style=\"padding-left:5px; white-space:nowrap\">\r\n <div style=\"display:flex; align-items:center;\">\r\n\r\n <div style=\"padding-right:10px; display:flex; align-items:center;\" v-if=\"webLogo\">\r\n <img style=\"width:36px; height:36px;\" :src=\"webLogo\" />\r\n </div>\r\n\r\n <div>\r\n <div style=\"font-size:1.2rem; color:#000;\">{{webName}}</div>\r\n <div style=\"font-size:0.8rem; color:#666;\">{{$t('webDescription')}}</div>\r\n </div>\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n <div style=\"width:100%;\"></div>\r\n\r\n <div style=\"padding-right:10px; white-space:nowrap\">\r\n <WTextSelect\r\n :items=\"tgLangs\"\r\n v-model=\"tgLangSelect\"\r\n @input=\"changeLang\"\r\n ></WTextSelect>\r\n </div>\r\n\r\n </div>\r\n\r\n <div :style=\"`height:calc( 100% - ${heightToolbar}px );`\">\r\n <LayoutContent\r\n ></LayoutContent>\r\n </div>\r\n\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport get from 'lodash/get'\r\n// import cloneDeep from 'lodash/cloneDeep'\r\nimport isestr from 'wsemi/src/isestr.mjs'\r\nimport WButtonCircle from 'w-component-vue/src/components/WButtonCircle.vue'\r\nimport WTextSelect from 'w-component-vue/src/components/WTextSelect.vue'\r\nimport LayoutContent from './LayoutContent.vue'\r\n\r\n\r\nexport default {\r\n components: {\r\n WButtonCircle,\r\n WTextSelect,\r\n LayoutContent,\r\n },\r\n props: {\r\n },\r\n data: function() {\r\n return {\r\n\r\n drawer: false, //null,\r\n\r\n tgLangs: [\r\n {\r\n id: 'cht',\r\n text: '中文',\r\n },\r\n {\r\n id: 'eng',\r\n text: 'English',\r\n },\r\n ],\r\n tgLangSelect: {\r\n id: 'cht',\r\n text: '中文',\r\n },\r\n\r\n }\r\n },\r\n beforeMount: function() {\r\n // console.log('beforeMount')\r\n\r\n let vo = this\r\n\r\n //setLang\r\n vo.$ui.setLang(vo.tgLangSelect.id)\r\n\r\n },\r\n computed: {\r\n\r\n viewState: function() {\r\n return get(this, `$store.state.viewState`)\r\n },\r\n\r\n heightToolbar: function() {\r\n return get(this, `$store.state.heightToolbar`)\r\n },\r\n\r\n webName: {\r\n get() {\r\n let vo = this\r\n let c = vo.$t('webName')\r\n // console.log('get webName1', c)\r\n if (!isestr(c)) {\r\n c = vo.$t('waitingData')\r\n }\r\n // console.log('get webName2', c)\r\n document.title = c //更換網頁title\r\n return c\r\n },\r\n // set(value) {\r\n // return value\r\n // },\r\n },\r\n\r\n webLogo: function() {\r\n return get(this, `$store.state.webInfor.webLogo`)\r\n },\r\n\r\n },\r\n methods: {\r\n\r\n changeLang: function(msg) {\r\n // console.log('methods changeLang', msg)\r\n let vo = this\r\n let lang = msg.id\r\n vo.$ui.setLang(lang)\r\n },\r\n\r\n }\r\n}\r\n</script>\r\n\r\n<style scoped>\r\n</style>\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Layout.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Layout.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Layout.vue?vue&type=template&id=dd5199a0&scoped=true&\"\nimport script from \"./Layout.vue?vue&type=script&lang=js&\"\nexport * from \"./Layout.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"dd5199a0\",\n null\n \n)\n\nexport default component.exports","<template>\n <div\n v-domresize\n @domresize=\"resize\"\n >\n\n <transition enter-active-class=\"fade-enter-active\" leave-active-class=\"fade-leave-active\">\n <Layout v-if=\"ready\"></Layout>\n </transition>\n\n </div>\n</template>\n\n<script>\n// import get from 'lodash/get'\n// import find from 'lodash/find'\nimport Layout from './components/Layout.vue'\n\n\nexport default {\n components: {\n Layout,\n },\n data: function() {\n return {\n\n ready: true,\n\n }\n },\n mounted: function() {\n // console.log('mounted')\n\n let vo = this\n\n //setVo, 更換ui內vo, 才能使用廣播技術, 更換語系才能用廣播通知全部組件forceUpdate\n vo.$ui.setVo(vo)\n\n },\n methods: {\n\n resize: function(msg) {\n // console.log('methods resize', msg)\n\n let vo = this\n\n //syncHeight\n vo.$ui.syncHeight()\n\n },\n\n },\n}\n</script>\n\n<style>\nhtml,\nbody {\n font-family: '微軟正黑體', 'Microsoft JhengHei', 'MicrosoftJhengHeiRegular', 'Avenir', Helvetica, Arial, sans-serif;\n overflow-y: hidden;\n}\n\ndiv,\np,\nspan,\na,\npre,\ninput,\ntextarea,\nbutton {\n font-family: inherit;\n}\n\n.v-application, .v-application--wrap {\n font-family: inherit;\n}\n\n.v-chip {\n cursor: inherit;\n}\n\n.fade-enter-active {\n animation: go 1s;\n}\n\n.fade-leave-active {\n animation: back 1s;\n}\n\n@keyframes go {\n from { opacity: 0; }\n to {opacity: 1;}\n}\n\n@keyframes back {\n from { opacity: 1; }\n to { opacity: 0; }\n}\n\n</style>\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--13-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--13-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=289b1ebc&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export const UpdateWebInfor = 'UpdateWebInfor'\r\nexport const UpdateLang = 'UpdateLang'\r\nexport const UpdateKpText = 'UpdateKpText'\r\nexport const UpdateConnState = 'UpdateConnState'\r\nexport const UpdateSyncState = 'UpdateSyncState'\r\nexport const UpdateLoading = 'UpdateLoading'\r\nexport const UpdateViewState = 'UpdateViewState'\r\nexport const UpdateTableData = 'UpdateTableData'\r\nexport const UpdateData = 'UpdateData'\r\nexport const UpdateHeightApp = 'UpdateHeightApp'\r\nexport const UpdateHeightAppEff = 'UpdateHeightAppEff'\r\nexport const UpdateHeightToolbar = 'UpdateHeightToolbar'\r\nexport const UpdateMenu = 'UpdateMenu'\r\nexport const UpdateUserToken = 'UpdateUserToken'\r\nexport const UpdateUserSelf = 'UpdateUserSelf'\r\n","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/map'\r\nimport keys from 'lodash/keys'\r\n// import get from 'lodash/get'\r\nimport genID from 'wsemi/src/genID.mjs'\r\nimport dtmapping from 'wsemi/src/dtmapping.mjs'\r\nimport dtpick from 'wsemi/src/dtpick.mjs'\r\nimport nowms2str from 'wsemi/src/nowms2str.mjs'\r\nimport now2strp from 'wsemi/src/now2strp.mjs'\r\nimport isestr from 'wsemi/src/isestr'\r\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}¶mA=123¶mB=123.456`,\r\n 'mdOutputParams': `### 回傳數據欄位: Array of objects\r\n| 參數 | 型別 | 範例 |\r\n| -- | -- | -- |\r\n| id | STRING | id-for-test |\r\n| weight | DOUBLE | 12.3 |\r\n| color | STRING | #f26 |\r\n| paramA | INTEGER | 321 |\r\n| paramB | DOUBLE | 654.321 |\r\n| 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}¶mA=123¶mB=123.456`,\r\n 'mdOutputParams': `### 回傳數據欄位: Array of objects\r\n| 參數 | 型別 | 範例 |\r\n| -- | -- | -- |\r\n| id | STRING | id-for-test |\r\n| weight | DOUBLE | 12.3 |\r\n| color | STRING | #f26 |\r\n| paramA | INTEGER | 321 |\r\n| paramB | DOUBLE | 654.321 |\r\n| 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}¶mA=123¶mB=123.456`,\r\n 'mdOutputParams': `### 回傳數據欄位: Array of objects\r\n| 參數 | 型別 | 範例 |\r\n| -- | -- | -- |\r\n| id | STRING | id-for-test |\r\n| weight | DOUBLE | 12.3 |\r\n| color | STRING | #f26 |\r\n| paramA | INTEGER | 321 |\r\n| paramB | DOUBLE | 654.321 |\r\n| 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}¶mA=123¶mB=123.456`,\r\n 'mdOutputParams': `### 回傳數據欄位: Array of objects\r\n| 參數 | 型別 | 範例 |\r\n| -- | -- | -- |\r\n| id | STRING | id-for-test |\r\n| weight | DOUBLE | 12.3 |\r\n| color | STRING | #f26 |\r\n| paramA | INTEGER | 321 |\r\n| paramB | DOUBLE | 654.321 |\r\n| 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}¶mA=123¶mB=123.456`,\r\n 'mdOutputParams': `### 回傳數據欄位: Array of objects\r\n| 參數 | 型別 | 範例 |\r\n| -- | -- | -- |\r\n| id | STRING | id-for-test |\r\n| weight | DOUBLE | 12.3 |\r\n| color | STRING | #f26 |\r\n| paramA | INTEGER | 321 |\r\n| paramB | DOUBLE | 654.321 |\r\n| 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}¶mA=123¶mB=123.456`,\r\n 'mdOutputParams': `### 回傳數據欄位: Array of objects\r\n| 參數 | 型別 | 範例 |\r\n| -- | -- | -- |\r\n| id | STRING | id-for-test |\r\n| weight | DOUBLE | 12.3 |\r\n| color | STRING | #f26 |\r\n| paramA | INTEGER | 321 |\r\n| paramB | DOUBLE | 654.321 |\r\n| 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}¶mA=123¶mB=123.456`,\r\n 'mdOutputParams': `### 回傳數據欄位: Array of objects\r\n| 參數 | 型別 | 範例 |\r\n| -- | -- | -- |\r\n| id | STRING | id-for-test |\r\n| weight | DOUBLE | 12.3 |\r\n| color | STRING | #f26 |\r\n| paramA | INTEGER | 321 |\r\n| paramB | DOUBLE | 654.321 |\r\n| 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}¶mA=123¶mB=123.456`,\r\n 'mdOutputParams': `### 回傳數據欄位: Array of objects\r\n| 參數 | 型別 | 範例 |\r\n| -- | -- | -- |\r\n| id | STRING | id-for-test |\r\n| weight | DOUBLE | 12.3 |\r\n| color | STRING | #f26 |\r\n| paramA | INTEGER | 321 |\r\n| paramB | DOUBLE | 654.321 |\r\n| 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}¶mA=123¶mB=123.456`,\r\n 'mdOutputParams': `### 回傳數據欄位: Array of objects\r\n| 參數 | 型別 | 範例 |\r\n| -- | -- | -- |\r\n| id | STRING | id-for-test |\r\n| weight | DOUBLE | 12.3 |\r\n| color | STRING | #f26 |\r\n| paramA | INTEGER | 321 |\r\n| paramB | DOUBLE | 654.321 |\r\n| 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}¶mA=123¶mB=123.456`,\r\n 'mdOutputParams': `### 回傳數據欄位: Array of objects\r\n| 參數 | 型別 | 範例 |\r\n| -- | -- | -- |\r\n| id | STRING | id-for-test |\r\n| weight | DOUBLE | 12.3 |\r\n| color | STRING | #f26 |\r\n| paramA | INTEGER | 321 |\r\n| paramB | DOUBLE | 654.321 |\r\n| 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}¶mA=123¶mB=123.456`,\r\n 'mdOutputParams': `### 回傳數據欄位: Array of objects\r\n| 參數 | 型別 | 範例 |\r\n| -- | -- | -- |\r\n| id | STRING | id-for-test |\r\n| weight | DOUBLE | 12.3 |\r\n| color | STRING | #f26 |\r\n| paramA | INTEGER | 321 |\r\n| paramB | DOUBLE | 654.321 |\r\n| 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}¶mA=123¶mB=123.456`,\r\n 'mdOutputParams': `### 回傳數據欄位: Array of objects\r\n| 參數 | 型別 | 範例 |\r\n| -- | -- | -- |\r\n| id | STRING | id-for-test |\r\n| weight | DOUBLE | 12.3 |\r\n| color | STRING | #f26 |\r\n| paramA | INTEGER | 321 |\r\n| paramB | DOUBLE | 654.321 |\r\n| 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}¶mA=123¶mB=123.456`,\r\n 'mdOutputParams': `### 回傳數據欄位: Array of objects\r\n| 參數 | 型別 | 範例 |\r\n| -- | -- | -- |\r\n| id | STRING | id-for-test |\r\n| weight | DOUBLE | 12.3 |\r\n| color | STRING | #f26 |\r\n| paramA | INTEGER | 321 |\r\n| paramB | DOUBLE | 654.321 |\r\n| 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}¶mA=123¶mB=123.456`,\r\n 'mdOutputParams': `### 回傳數據欄位: Array of objects\r\n| 參數 | 型別 | 範例 |\r\n| -- | -- | -- |\r\n| id | STRING | id-for-test |\r\n| weight | DOUBLE | 12.3 |\r\n| color | STRING | #f26 |\r\n| paramA | INTEGER | 321 |\r\n| paramB | DOUBLE | 654.321 |\r\n| 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/each'\r\nimport set from 'lodash/set'\r\nimport * as types from './types.mjs'\r\nimport ds from '../schema/index.mjs'\r\n\r\n\r\n//state, 全域狀態\r\nlet state = {\r\n\r\n hostname: `${window.location.origin}`,\r\n webInfor: {},\r\n connState: '連線中...',\r\n syncState: false,\r\n viewState: 'lists',\r\n loading: false,\r\n settings: {\r\n leftDrawerWidth: 200,\r\n },\r\n\r\n heightApp: 0,\r\n heightAppEff: 0,\r\n heightToolbar: 60,\r\n\r\n menu: {}, //初始值需為物件, 否則LayoutContent會取menu.key出錯\r\n\r\n userToken: '',\r\n userSelf: {\r\n id: 'id-for-admin',\r\n name: '系統管理員',\r\n email: 'admin@email.com',\r\n isAdmin: true,\r\n },\r\n\r\n lang: 'cht',\r\n keyLangs: {\r\n\r\n empty: {\r\n eng: 'Empty',\r\n cht: '無',\r\n },\r\n noSelectApi: {\r\n eng: 'No Select',\r\n cht: '尚未選擇API',\r\n },\r\n waitingData: {\r\n eng: 'Waiting data...',\r\n cht: '等待數據中...',\r\n },\r\n tokens: {\r\n eng: 'Tokens',\r\n cht: '授權金鑰',\r\n },\r\n version: {\r\n eng: 'Version',\r\n cht: '版本',\r\n },\r\n levels: {\r\n eng: 'Levels',\r\n cht: '所屬階層',\r\n },\r\n keywords: {\r\n eng: 'Keywords',\r\n cht: '關鍵字',\r\n },\r\n state: {\r\n eng: 'State',\r\n cht: '狀態',\r\n },\r\n timeCreate: {\r\n eng: 'Create time',\r\n cht: '創建時間',\r\n },\r\n timeUpdate: {\r\n eng: 'Update time',\r\n cht: '更新時間',\r\n },\r\n creator: {\r\n eng: 'Creator',\r\n cht: 'API創建者',\r\n },\r\n dataSource: {\r\n eng: 'Source',\r\n cht: '資料提供者',\r\n },\r\n isActive: {\r\n eng: 'Active',\r\n cht: '有效',\r\n },\r\n mdInputParams: {\r\n eng: 'Input',\r\n cht: '輸入參數資訊或結構',\r\n },\r\n inputExample: {\r\n eng: 'Input example',\r\n cht: '輸入範例',\r\n },\r\n mdOutputParams: {\r\n eng: 'Output',\r\n cht: '回傳數據結構',\r\n },\r\n outputExample: {\r\n eng: 'Output example',\r\n cht: '回傳數據範例',\r\n },\r\n\r\n outputMenuTree: {\r\n eng: 'Tree',\r\n cht: '樹狀組件',\r\n },\r\n outputMenuRaw: {\r\n eng: 'Raw',\r\n cht: '原始數據',\r\n },\r\n\r\n },\r\n kpText: {},\r\n\r\n}\r\n\r\n//添加各資料表\r\neach(ds, (v, k) => {\r\n state[k] = null //初始化null\r\n})\r\n\r\n//儲存至state\r\nexport { state }\r\n\r\n//mutations, 同步執行\r\nexport let mutations = {\r\n\r\n [types.UpdateWebInfor] (state, webInfor) {\r\n state.webInfor = webInfor\r\n },\r\n\r\n [types.UpdateLang] (state, lang) {\r\n state.lang = lang\r\n },\r\n\r\n [types.UpdateKpText] (state, kpText) {\r\n state.kpText = kpText\r\n },\r\n\r\n [types.UpdateConnState] (state, connState) {\r\n state.connState = connState\r\n },\r\n\r\n [types.UpdateSyncState] (state, syncState) {\r\n state.syncState = syncState\r\n },\r\n\r\n [types.UpdateLoading] (state, loading) {\r\n state.loading = loading\r\n },\r\n\r\n [types.UpdateViewState] (state, viewState) {\r\n state.viewState = viewState\r\n },\r\n\r\n [types.UpdateTableData] (state, msg) {\r\n state[msg.tableName] = msg.data\r\n },\r\n\r\n [types.UpdateData] (state, msg) {\r\n //msg.path內為存取路徑, 需使用lodash的set處理\r\n // console.log('UpdateData msg', msg)\r\n set(state, msg.path, msg.data)\r\n },\r\n\r\n [types.UpdateHeightApp] (state, heightApp) {\r\n state.heightApp = heightApp\r\n },\r\n\r\n [types.UpdateHeightAppEff] (state, heightAppEff) {\r\n state.heightAppEff = heightAppEff\r\n },\r\n\r\n [types.UpdateHeightToolbar] (state, heightToolbar) {\r\n state.heightToolbar = heightToolbar\r\n },\r\n\r\n [types.UpdateMenu] (state, menu) {\r\n state.menu = menu\r\n },\r\n\r\n [types.UpdateUserToken] (state, userToken) {\r\n state.userToken = userToken\r\n },\r\n\r\n [types.UpdateUserSelf] (state, userSelf) {\r\n state.userSelf = userSelf\r\n },\r\n\r\n}\r\n\r\n","import Vue from 'vue'\r\nimport Vuex from 'vuex'\r\nimport { state, mutations } from './mutations.mjs'\r\nimport * as getters from './getters.mjs'\r\nimport * as actions from './actions.mjs'\r\nimport * as types from './types.mjs'\r\n\r\n\r\n//use\r\nVue.use(Vuex)\r\n\r\nlet st = new Vuex.Store({\r\n state,\r\n mutations,\r\n getters,\r\n actions,\r\n strict: true, //嚴格模式禁止修改state\r\n})\r\n\r\n//save to $store\r\nst.types = types\r\nVue.prototype.$store = st\r\n// console.log('$store', st)\r\n\r\nexport default st\r\n","import Vue from 'vue'\nimport Vuetify from 'vuetify/lib'\n// import Vuetify from 'vuetify'\n// import 'vuetify/dist/vuetify.min.css'\n\nVue.use(Vuetify)\n\nexport default new Vuetify({\n icons: {\n iconfont: 'mdiSvg',\n },\n})\n","import Vue from 'vue'\r\nimport min from 'lodash/min'\r\nimport size from 'lodash/size'\r\nimport take from 'lodash/take'\r\nimport isEqual from 'lodash/isEqual'\r\nimport uniq from 'lodash/uniq'\r\nimport set from 'lodash/set'\r\nimport get from 'lodash/get'\r\nimport each from 'lodash/each'\r\nimport map from 'lodash/map'\r\nimport filter from 'lodash/filter'\r\nimport last from 'lodash/last'\r\nimport split from 'lodash/split'\r\nimport join from 'lodash/join'\r\nimport drop from 'lodash/drop'\r\nimport dropRight from 'lodash/dropRight'\r\nimport groupBy from 'lodash/groupBy'\r\nimport sortBy from 'lodash/sortBy'\r\nimport cloneDeep from 'lodash/cloneDeep'\r\nimport cint from 'wsemi/src/cint.mjs'\r\nimport delay from 'wsemi/src/delay.mjs'\r\nimport isarr from 'wsemi/src/isarr.mjs'\r\nimport isestr from 'wsemi/src/isestr.mjs'\r\nimport isfun from 'wsemi/src/isfun.mjs'\r\nimport iseobj from 'wsemi/src/iseobj.mjs'\r\nimport isearr from 'wsemi/src/isearr.mjs'\r\nimport isEle from 'wsemi/src/isEle.mjs'\r\nimport strleft from 'wsemi/src/strleft.mjs'\r\nimport strdelleft from 'wsemi/src/strdelleft.mjs'\r\nimport sep from 'wsemi/src/sep.mjs'\r\nimport aes2str from 'wsemi/src/aes2str.mjs'\r\nimport str2aes from 'wsemi/src/str2aes.mjs'\r\nimport haskey from 'wsemi/src/haskey.mjs'\r\nimport genPm from 'wsemi/src/genPm.mjs'\r\nimport pmSeries from 'wsemi/src/pmSeries.mjs'\r\nimport waitFun from 'wsemi/src/waitFun.mjs'\r\nimport browserView from 'wsemi/src/browserView.mjs'\r\nimport arrHas from 'wsemi/src/arrHas.mjs'\r\nimport arrSort from 'wsemi/src/arrSort.mjs'\r\nimport arrInsert from 'wsemi/src/arrInsert.mjs'\r\nimport replace from 'wsemi/src/replace.mjs'\r\nimport timemsTZ2past from 'wsemi/src/timemsTZ2past.mjs'\r\nimport convertToTree from 'wsemi/src/convertToTree.mjs'\r\n// import WUiDwload from 'w-ui-dwload/src/WUiDwload.mjs'\r\n\r\n\r\nlet vo = Vue.prototype\r\n\r\n\r\nfunction setVo(vObj) {\r\n vo = vObj\r\n}\r\n\r\n\r\nfunction updateConnState(connState) {\r\n vo.$store.commit(vo.$store.types.UpdateConnState, connState)\r\n}\r\n\r\n\r\nfunction updateLoading(loading) {\r\n vo.$store.commit(vo.$store.types.UpdateLoading, loading)\r\n}\r\n\r\n\r\nfunction updateViewState(viewState) {\r\n vo.$store.commit(vo.$store.types.UpdateViewState, viewState)\r\n}\r\n\r\n\r\nfunction forceUpdate() {\r\n // console.log('call forceUpdate')\r\n\r\n function broadcast(chs) {\r\n each(chs, (v) => {\r\n // console.log(v.$el)\r\n v.$forceUpdate()\r\n if (v.$children) {\r\n broadcast(v.$children)\r\n }\r\n })\r\n }\r\n\r\n //broadcast, 注意此處需使用更換ui內vo為mounted後的vo, 也就是含元素, 才能使用廣播技術\r\n broadcast(vo.$children)\r\n\r\n}\r\n\r\n\r\nfunction setLang(lang = null) {\r\n // console.log('call setLang')\r\n\r\n //check lang, 若有輸入才commit\r\n if (isestr(lang)) {\r\n vo.$store.commit(vo.$store.types.UpdateLang, lang)\r\n }\r\n\r\n //getKpLang, 切換lang得調用getKpLang重算kpText\r\n getKpLang()\r\n\r\n //forceUpdate\r\n forceUpdate()\r\n\r\n}\r\n\r\n\r\nfunction getKpLang() {\r\n // console.log('call getKpLang')\r\n\r\n //merge keyLangs\r\n let keyLangs = get(vo, '$store.state.keyLangs')\r\n let webName = get(vo, '$store.state.webInfor.webName')\r\n let webDescription = get(vo, '$store.state.webInfor.webDescription')\r\n let kls = {\r\n ...keyLangs,\r\n webName: {\r\n ...webName,\r\n },\r\n webDescription: {\r\n ...webDescription,\r\n },\r\n }\r\n\r\n //lang\r\n let lang = get(vo, '$store.state.lang')\r\n\r\n //kpText\r\n let kpText = {}\r\n each(kls, (v, k) => {\r\n kpText[k] = v[lang]\r\n })\r\n\r\n //commit\r\n vo.$store.commit(vo.$store.types.UpdateKpText, kpText)\r\n\r\n return kpText\r\n}\r\n\r\n\r\nfunction getKpText(key) {\r\n // console.log('call getKpText')\r\n let kpText = get(vo, '$store.state.kpText')\r\n return get(kpText, key, '')\r\n}\r\n\r\n\r\nfunction gv(o, k, cv = null) {\r\n let r = get(o, k, '')\r\n if (!isestr(r)) {\r\n let def = getKpText('empty')\r\n return def\r\n }\r\n if (isfun(cv)) {\r\n r = cv(r)\r\n }\r\n return r\r\n}\r\n\r\n\r\nfunction syncHeight() {\r\n\r\n //heightToolbar\r\n let heightToolbar = get(vo, '$store.state.heightToolbar')\r\n\r\n //heightAppEff\r\n let heightAppEff = window.innerHeight - heightToolbar\r\n\r\n //commit\r\n // vo.$store.commit(vo.$store.types.UpdateHeightToolbar, heightToolbar)\r\n vo.$store.commit(vo.$store.types.UpdateHeightApp, window.innerHeight)\r\n vo.$store.commit(vo.$store.types.UpdateHeightAppEff, heightAppEff)\r\n\r\n return ''\r\n}\r\n\r\n\r\nasync function waitData(t = 0) {\r\n\r\n //delay\r\n if (t > 0) {\r\n await delay(t)\r\n }\r\n\r\n //waitFun, 等待dsrl模組掛載\r\n await waitFun(() => {\r\n return iseobj(get(vo, '$dsrl'))\r\n })\r\n\r\n //等待前端第一次同步完畢數據\r\n await waitFun(() => {\r\n return get(vo, '$store.state.syncState')\r\n })\r\n\r\n}\r\n\r\n\r\nlet mUI = {\r\n\r\n setVo,\r\n\r\n updateConnState,\r\n updateLoading,\r\n updateViewState,\r\n forceUpdate,\r\n\r\n setLang,\r\n getKpLang,\r\n getKpText,\r\n\r\n gv,\r\n syncHeight,\r\n\r\n waitData,\r\n\r\n}\r\n\r\n\r\nexport default mUI\r\n","import get from 'lodash/get'\r\nimport find from 'lodash/find'\r\nimport isestr from 'wsemi/src/isestr.mjs'\r\n\r\n\r\nfunction mDataSelectorSchema(ds, opt = {}) {\r\n\r\n function getTableInforBy(keyFind, valueFind, keyPick) {\r\n let r = find(ds, { [keyFind]: valueFind })\r\n if (!r) {\r\n r = ''\r\n }\r\n if (isestr(keyPick)) {\r\n r = get(r, keyPick, '')\r\n }\r\n return r\r\n }\r\n\r\n function getTableChtByKey(valueFind) {\r\n return getTableInforBy('keyTable', valueFind, 'tableNameCht')\r\n }\r\n\r\n return {\r\n getTableInforBy,\r\n getTableChtByKey,\r\n }\r\n}\r\n\r\n\r\nexport default mDataSelectorSchema\r\n","// import min from 'lodash/min'\r\n// import size from 'lodash/size'\r\n// import take from 'lodash/take'\r\n// import isEqual from 'lodash/isEqual'\r\n// import uniq from 'lodash/uniq'\r\n// import set from 'lodash/set'\r\n// import get from 'lodash/get'\r\n// import each from 'lodash/each'\r\n// import map from 'lodash/map'\r\n// import filter from 'lodash/filter'\r\n// import last from 'lodash/last'\r\n// import split from 'lodash/split'\r\n// import join from 'lodash/join'\r\n// import drop from 'lodash/drop'\r\n// import dropRight from 'lodash/dropRight'\r\n// import groupBy from 'lodash/groupBy'\r\n// import sortBy from 'lodash/sortBy'\r\n// import cloneDeep from 'lodash/cloneDeep'\r\n// import cint from 'wsemi/src/cint.mjs'\r\n// import delay from 'wsemi/src/delay.mjs'\r\n// import isarr from 'wsemi/src/isarr.mjs'\r\n// import isestr from 'wsemi/src/isestr.mjs'\r\n// import isfun from 'wsemi/src/isfun.mjs'\r\n// import iseobj from 'wsemi/src/iseobj.mjs'\r\n// import isearr from 'wsemi/src/isearr.mjs'\r\n// import isEle from 'wsemi/src/isEle.mjs'\r\n// import strleft from 'wsemi/src/strleft.mjs'\r\n// import strdelleft from 'wsemi/src/strdelleft.mjs'\r\n// import sep from 'wsemi/src/sep.mjs'\r\n// import aes2str from 'wsemi/src/aes2str.mjs'\r\n// import str2aes from 'wsemi/src/str2aes.mjs'\r\n// import haskey from 'wsemi/src/haskey.mjs'\r\n// import genPm from 'wsemi/src/genPm.mjs'\r\n// import pmSeries from 'wsemi/src/pmSeries.mjs'\r\n// import waitFun from 'wsemi/src/waitFun.mjs'\r\n// import browserView from 'wsemi/src/browserView.mjs'\r\n// import arrHas from 'wsemi/src/arrHas.mjs'\r\n// import arrSort from 'wsemi/src/arrSort.mjs'\r\n// import arrInsert from 'wsemi/src/arrInsert.mjs'\r\n// import replace from 'wsemi/src/replace.mjs'\r\n// import timemsTZ2past from 'wsemi/src/timemsTZ2past.mjs'\r\n// import convertToTree from 'wsemi/src/convertToTree.mjs'\r\n// import html2picDyn from 'wsemi/src/html2picDyn.mjs'\r\n// import urlParse from 'wsemi/src/urlParse.mjs'\r\n// import domConvertToPicDyn from 'wsemi/src/domConvertToPicDyn.mjs'\r\n// import ltdtkeysheads2mat from 'wsemi/src/ltdtkeysheads2mat.mjs'\r\n// import downloadFileFromB64 from 'wsemi/src/downloadFileFromB64.mjs'\r\n// import downloadExcelFileFromDataDyn from 'wsemi/src/downloadExcelFileFromDataDyn.mjs'\r\n// import getFileAccept from 'wsemi/src/getFileAccept.mjs'\r\n// import downloadFileFromU8Arr from 'wsemi/src/downloadFileFromU8Arr.mjs'\r\n\r\n\r\nfunction mDataSupport(vo, opt = {}) {\r\n\r\n\r\n return {\r\n\r\n // mdCheckKeyInd,\r\n // mdGetTextByKey,\r\n // mdGetTextByKeyIndAndKey,\r\n\r\n }\r\n}\r\n\r\n\r\nexport default mDataSupport\r\n","import get from 'lodash/get'\r\n// import '@babel/polyfill' //需提供Vuetify的Symbol等API\r\n// import 'core-js/stable' //需提供Vuetify的Symbol等API, 官網說使用transpileDependencies但不夠, 改用之前提到的@babel/polyfill會被提示已廢棄, 改使用給webpack的polyfill方式才行\r\n// import 'regenerator-runtime/runtime'\r\n// import 'intersection-observer' //需供Vuetify的Intersection Observer, 專案內有使用v-intersect才需引入, 而w-component-vue沒用v-intersect\r\nimport Vue from 'vue'\r\nimport WServHapiClient from 'w-serv-hapi/src/WServHapiClient.mjs'\r\nimport WAlert from 'w-component-vue/src/components/WAlert.mjs'\r\nimport domMutation from 'w-component-vue/src/js/domMutation.mjs'\r\nimport domResize from 'w-component-vue/src/js/domResize.mjs'\r\nimport domDragDrop from 'w-component-vue/src/js/domDragDrop.mjs'\r\nimport App from './App.vue'\r\nimport store from './store/index.mjs'\r\nimport mVuetify from './plugins/mVuetify.mjs'\r\nimport ui from './plugins/mUI.mjs'\r\nimport mDataSelectorSchema from './plugins/mDataSelectorSchema.mjs'\r\nimport mDataSupport from './plugins/mDataSupport.mjs'\r\nimport * as s from './plugins/mShare.mjs'\r\nimport ds from './schema/index.mjs'\r\n// console.log('globalState', globalState)\r\n// console.log('ds', ds)\r\n\r\n\r\n//不提示vue產品\r\nVue.config.productionTip = false\r\n\r\n//$alert\r\nVue.prototype.$alert = function() {\r\n let [msg, type] = arguments\r\n console.log(msg, type)\r\n if (msg !== 'close') {\r\n WAlert(msg, type)\r\n }\r\n}\r\n\r\n//dssm\r\nlet dssm = mDataSelectorSchema(ds)\r\n\r\n//dspt\r\nlet dspt = mDataSupport(Vue.prototype)\r\n\r\n//prototype\r\nVue.prototype.$ui = ui\r\nVue.prototype.$t = ui.getKpText\r\nVue.prototype.$s = s\r\nVue.prototype.$dssm = dssm\r\nVue.prototype.$dspt = dspt\r\n// Vue.prototype.$ds = ds\r\nVue.prototype.$dg = {}\r\n\r\n//directive\r\nVue.directive('domresize', domResize())\r\nVue.directive('dommutation', domMutation())\r\nVue.directive('domdragdrop', domDragDrop())\r\n\r\n//WServHapiClient\r\nlet bFirstSync = false\r\nWServHapiClient({\r\n getUrl: () => {\r\n return window.location.origin + window.location.pathname\r\n },\r\n useWaitToken: false,\r\n getToken: () => {\r\n return get(Vue.prototype, `$store.state.userToken`, '')\r\n },\r\n getServerMethods: (_fapi) => {\r\n console.log('$fapi', _fapi)\r\n Vue.prototype.$fapi = _fapi\r\n _fapi.getWebInfor() //已有fapi時優先取得web資訊\r\n .then((wi) => {\r\n console.log('$fapi getWebInfor', wi)\r\n Vue.prototype.$store.commit(Vue.prototype.$store.types.UpdateWebInfor, wi)\r\n ui.setLang() //因更新webInfor得要重刷語系才能依照語言取得顯示文字\r\n })\r\n .catch((err) => {\r\n console.log(err)\r\n })\r\n },\r\n recvData: (r) => {\r\n console.log('sync data', r.tableName, r.data)\r\n Vue.prototype.$store.commit(Vue.prototype.$store.types.UpdateTableData, r)\r\n },\r\n getAfterUpdateTableTags: (r) => {\r\n // console.log('getAfterUpdateTableTags', r, 'needToRefresh', JSON.stringify(r.oldTableTags) !== JSON.stringify(r.newTableTags))\r\n if (bFirstSync) {\r\n return\r\n }\r\n bFirstSync = true\r\n console.log('first-sync')\r\n Vue.prototype.$store.commit(Vue.prototype.$store.types.UpdateSyncState, true)\r\n },\r\n})\r\n\r\n//new\r\nnew Vue({\r\n vuetify: mVuetify,\r\n store,\r\n render: h => h(App)\r\n}).$mount('#app')\r\n\r\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LayoutContentList.vue?vue&type=style&index=0&id=7c186c61&scoped=true&lang=css&\""],"sourceRoot":""}
|