@wdslib/go-utils 0.1.1 → 0.1.3

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/index.js CHANGED
@@ -1 +1 @@
1
- import e from"axios";import t from"lodash";import r from"crypto-js";function o(e,t,r,o){return new(r||(r=Promise))((function(n,a){function i(e){try{d(o.next(e))}catch(e){a(e)}}function s(e){try{d(o.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(i,s)}d((o=o.apply(e,t||[])).next())}))}"function"==typeof SuppressedError&&SuppressedError;const n=200,a=2e4,i=3e4,s=3e4,d=t=>{const r=e.create({baseURL:t,timeout:i,headers:{"Content-Type":"application/x-www-form-urlencoded;charset=UTF-8"}});return r.interceptors.request.use((e=>{var t;return["anov-go-token","unify-access-token","dgcc_authorization"].forEach((t=>{const r=sessionStorage.getItem(t);r&&"null"!==r&&(e.headers["dgcc_authorization"===t?"dgcc_authorization":`X-${t.toUpperCase()}`]=r)})),"post"===e.method&&(e.headers["Content-Type"]="application/json;"),["get","put","delete"].includes(e.method)&&(e.params=(t=e.params,Object.fromEntries(Object.entries(t).map((([e,t])=>[e,encodeURIComponent(t)]))))),"put"===e.method&&(e.headers["Content-Type"]="application/json; charset=UTF-8"),e}),(e=>Promise.reject(e))),r.interceptors.response.use((e=>o(void 0,void 0,void 0,(function*(){if([n,a].includes(e.status)||e.data.code===a)return e.data;{const t={201:"201 error: Missing parameter",202:"202 error: Parameter is malformed",500:"500 error: Background error",501:"501 error: No data",502:"502 error: Session expired"}[e.status]||"Unknown error";return console.log("请求失败:"+t),Promise.reject(e.data)}}))),(e=>o(void 0,void 0,void 0,(function*(){return Promise.reject(e.response)})))),r},c=(e="",t)=>{const r=d(e);return t&&r.interceptors.response.use((e=>o(void 0,void 0,void 0,(function*(){return yield t(e),e.data}))),(e=>o(void 0,void 0,void 0,(function*(){return yield t(null==e?void 0:e.response),Promise.reject(e.response)})))),r};const u=e=>{if("string"==typeof e)try{const t=JSON.parse(e);return"object"==typeof t&&null!==t}catch(e){return!1}return!1},l="anov@2019:helloX",p="anov@2020:helloX";function m(e){let t=r.enc.Utf8.parse(l),o=r.enc.Utf8.parse(p);return r.AES.encrypt(e,t,{iv:o,mode:r.mode.CBC,padding:r.pad.Pkcs7}).toString()}const y=new Blob(["\nfunction proxyObj(originObj) {\n const exposeObj = new Proxy(originObj, {\n has: (target, key) => {\n if (['fetch', 'XMLHttpRequest', 'postMessage'].indexOf(key) >= 0) {\n throw new Error('Illegal operation for key'+key)\n } else {\n return target[key]\n }\n },\n })\n return exposeObj\n}\nfunction compileCode(src) {\n src = 'with (exposeObj) {'+src+'}'\n //console.log(src)\n return new Function('exposeObj', src)\n}\nfunction run(code) {\n let proxy = proxyObj({})\n let result = compileCode(code)(proxy)\n return result\n}\n\nonmessage = (e) => {\n try {\n let result = run(e.data.code)\n postMessage({\n code: 1,\n result,\n })\n } catch (err) {\n postMessage({\n code: -1,\n err,\n })\n }\n}\n"]),v=URL.createObjectURL(y);function f(e,t,r={},n="worker"){return o(this,void 0,void 0,(function*(){try{if("window"==n){let[o,n]=[["data"],[t]];"object"==typeof r&&Object.keys(r).forEach((e=>{o.push(e),n.push(r[e])}));const a=new Function(...o,e);return{success:!0,data:a(...n)}}{let[n,a,i]=[t,r,""];"object"==typeof n&&(n=JSON.stringify(t)),"object"==typeof r&&(a=JSON.stringify(r)),Object.keys(r).forEach((e=>i+=`${e},`));let s=`let data=eval(${n}); \n             let app=${JSON.stringify({})};`;s+=i?`let {${i}} = eval(${a}); `:"",s+=`${e}`;let d=yield function(e,t=5e3){return o(this,void 0,void 0,(function*(){let r=new Worker(v);return new Promise(((o,n)=>{const a=()=>{clearTimeout(s),r.removeEventListener("message",i),r.terminate(),r=null},i=e=>{let{code:t,result:r,err:i}=e.data;a(),1===t?o(r):n(i)};r.postMessage({code:e}),r.addEventListener("message",i);let s=setTimeout((()=>{a(),n("timeout")}),t)}))}))}(s);return{success:!0,data:d}}}catch(e){return{success:!1,error:e,data:t}}}))}var h,w,g;!function(e){e.StaticFile="staticFile",e.DataSource="datasource"}(h||(h={})),function(e){e.json="application/json;charset=UTF-8",e.form="application/x-www-form-urlencoded; charset=UTF-8"}(w||(w={})),function(e){e.get="GET",e.post="POST",e.put="PUT",e.patch="PATCH",e.delete="DELETE"}(g||(g={}));const T=(e,t)=>"string"!=typeof e?Promise.reject(new Error("URL should be a string")):c(e,t),b=c();function j(e,r="get",n={},a={}){return o(this,void 0,void 0,(function*(){const i={method:g[r],url:e,headers:a,timeout:s};["post","put"].includes(r.toLowerCase())?i.data=t.cloneDeep(n):i.params=t.cloneDeep(n);try{return/.json$/.test(e)?function(e){return o(this,void 0,void 0,(function*(){try{return(yield b({method:"get",url:e})).data}catch(e){throw console.error("Error:",e.message),e}}))}(e):function(e){return o(this,void 0,void 0,(function*(){try{return{code:2e4,data:(yield b(e)).data}}catch(e){throw console.error("Error:",e.message),e}}))}(i)}catch(e){throw console.error("Error:",e.message),e}}))}function E(e,t,r,n){return o(this,void 0,void 0,(function*(){try{const o=window.anUrl||"",a=o+(window.agentPath||"/ds/v1/api-proxy/v1/query"),i=function(e,t=!1){return t?u(e)?e:JSON.stringify(e):u(e)?JSON.parse(e):e}(r,!0);return yield b({url:a,method:"post",headers:{"Content-Type":"application/json;charset=UTF-8"},data:{body:"post"===e?i:void 0,headers:n,method:e,url:t}})}catch(e){throw console.error("Error:",e.message),e}}))}function O(e,t,r,n,a){return o(this,void 0,void 0,(function*(){return a?E(t,e,r,n):j(e,t,r,n)}))}function P(e,t="",r){var o,n,a;const s=`${null!==(n=null===(o=null===window||void 0===window?void 0:window.BaseUrl)||void 0===o?void 0:o.replace("/management",""))&&void 0!==n?n:""}/ds/data-engine/v1/${e}/zb-query?${`token=${I("YZH_EXCHANGE_TOKEN")||(null===(a=null===window||void 0===window?void 0:window.yzhAuth)||void 0===a?void 0:a.getToken())}&passid=${null===window||void 0===window?void 0:window.gdPassid}`}${(null===window||void 0===window?void 0:window.BASE_RELEASE)?"&preview=1":""}`;let d={};try{d=t?JSON.parse(t):{}}catch(e){d=t||{}}return b({method:"POST",url:s,data:{headers:r,param:d},timeout:i})}const $=(e,t)=>o(void 0,void 0,void 0,(function*(){const r=window.BaseUrl,{dateType:o="",endPeriod:n="",metricsName:a=e,startPeriod:s=""}=t;return b({method:"GET",url:`${r}ds/v1/metrics/v1/data-alarm?dateType=${o}&endPeriod=${n}&metricsName=${a}&startPeriod=${s}`,timeout:i})})),k=(e,t,r)=>o(void 0,void 0,void 0,(function*(){var o;const n=(null===(o=window.BaseUrl)||void 0===o?void 0:o.replace("/management",""))||"";t.newEncryption=!0;const a={staticFile:{method:"get",params:t,url:`${n}/ds/v1/file/v1/${e}/query`},datasource:{method:"post",url:`${n}/ds/v1/database/v1/${e}/query`,data:Object.assign({},t)}}[r];if(!a)throw new Error("Invalid data type provided");return b(Object.assign({timeout:i},a))})),S=e=>new Promise(((t,r)=>{let o;o=e.originData&&Object.keys(e.originData).length?e.originData:e.data,void 0!==o?t({data:o}):r("Failed to retrieve cdata")})),D=(e,t,r)=>{switch(t){case"api":return{requestType:e.requestType,url:e.url,params:e.params,headers:e.headers,agency:e.agency};case"static":return{data:e};case"datasource":{const t=z(e.inputSql,r);return{dsName:e.dsName,dsType:"1",sql:m(t),filter:e.sqlFilter}}case"staticFile":return{dsName:e.dsName,dsType:e.dsType,sql:""};case"indicator":return{zbId:e.zbId,params:e.params,headers:e.headers};case"indicatorCQ":return{zbName:e.zbName,params:e.params};case"packData":return{};default:throw new Error("Invalid type")}},N=(e,t,r,n,a,i,s)=>o(void 0,void 0,void 0,(function*(){switch(t){case"api":return yield O(r,e.requestType,e.params,e.headers,e.agency);case"static":return yield S(e.data);case"datasource":return yield k(e.dsName,{dsType:e.dsType,sql:e.sql,filter:e.filter},"datasource");case"staticFile":return yield k(e.dsName,{dsType:e.dsType,sql:e.sql},"staticFile");case"indicator":return yield P(e.zbId,e.params,e.headers);case"indicatorCQ":return yield $(e.zbName,e.params);case"packData":return{};default:throw new Error("Invalid type")}})),q=(e,t,r,n,a=!1)=>o(void 0,void 0,void 0,(function*(){const o=L(e,r),{url:i,requestType:s,params:d,headers:c,agency:u}=o,l=t||e.tmpData.source.dataType,p=e.tmpData.source[l];if("globalData"===l){const e=n.find((e=>e.key===p.id)),t=(e=>{const t=sessionStorage.getItem(e);if(t)try{return JSON.parse(t)}catch(t){console.error(`Error parsing session data for key ${e}:`,t)}return null})(p.id);if(t&&!a)return t.data;if(e){let t=yield U(e,r),o={key:p.id,data:t};return((e,t)=>{try{const r=JSON.stringify(t);sessionStorage.setItem(e,r)}catch(t){console.error(`Error setting session data for key ${e}:`,t)}})(p.id,o),t}return}const m=D(p,l,r);return(yield N(m,l,i)).data})),U=(e,t)=>o(void 0,void 0,void 0,(function*(){let r=Object.assign({},{tmpData:{source:e.value}});const o=L(r,t),{url:n,requestType:a,params:i,headers:s,agency:d}=o,c=r.tmpData.source.type,u=r.tmpData.source[c],l=D(u,c,t),p=yield N(l,c,n);return yield C(p.data,r,!0,t)})),C=(e,r,n=!0,a)=>o(void 0,void 0,void 0,(function*(){try{const{converse:i,mapFields:s}=r.tmpData.source;return i&&i.use&&n?yield new Promise(((r,n)=>{const s=function(e,r,n,a,i){return o(this,void 0,void 0,(function*(){let o,n=e,{use:i,data:s}=t.cloneDeep(r);if(i)for(let e=0;e<s.length;e++)if(s[e].use){let r=s[e].dependVars,i={};a&&i&&r&&r.length&&r.map((e=>{let r=t.cloneDeep(a).filter((t=>{let r=t.mapField==e;return r&&(i[e]=t.value),r}));r&&0!=r.length||(i[e]="")})),o=yield f(s[e].code,n,i,s[e].mode?s[e].mode:"worker"),n=o.data}return n}))}(e,i,0,a);r(s)})):yield new Promise(((t,r)=>{t(e)}))}catch(e){throw console.error(e),e}})),x=(e,t,r)=>{const{source:o}=e.tmpData,n=o.type;r?("static"===n&&o[n]&&(o[n].originData=r),"indicatorCQ"===n?o.indicator.data=t:o[n].data=t):"indicatorCQ"===n?o.indicator.data=t:o[n].data=t,e.source=t},F=(e,t,r,n,a,i)=>o(void 0,void 0,void 0,(function*(){try{let o=e.tmpData.source.type,s=yield q(e,o,r,n,i||!1),d=yield C(s,e,t,r);return x(e,d),a&&a(d),Promise.resolve(d)}catch(e){return console.error("Error in updateComData:",e),Promise.reject(e)}})),I=e=>{const t={};if(e&&e.includes("?")){const r=e.split("?")[1].split("&");for(let e of r){const[r,o]=e.split("=").map(decodeURIComponent);t[r]=o}}return t},z=(e,t)=>{if("string"==typeof e)return""===e.trim()?"":e.replace(/@(\w+)|{{(\w+)}}/g,((e,r,o)=>{const n=r||o,a=t.find((e=>e.mapField===n));return a?a.value||a.originalValue||"":e}));if(Array.isArray(e))return e.map((e=>z(e,t)));if("object"==typeof e&&null!==e){const r={};for(let o in e)r[o]=z(e[o],t);return r}return e},L=(e,t,r)=>{var o;const n=e.tmpData.source,a=r?r.value.api.agency:null===(o=null==n?void 0:n.api)||void 0===o?void 0:o.agency,i=n.type;if("static"!==i){const e=r?r.value.api:n[i],{url:o=null,headers:s,params:d,requestType:c}=e,u=o?z(o,t):void 0,l=s?z(s.value,t):{};return{url:u,requestType:c,params:d?z(d,t):{},headers:l,agency:a}}return{url:void 0,requestType:void 0,params:void 0,headers:void 0,agency:void 0}};export{T as Http,E as agentData,x as editItem,U as fetchDataByGlobal,q as fetchDataByType,C as filterData,j as getData,O as getDataForApi,k as getDataForSource,S as getDataForStatic,P as getDataForZb,$ as getDataForZbCQ,F as updateComData};
1
+ import e from"axios";import r from"lodash";import t from"crypto-js";var n=function(){return n=Object.assign||function(e){for(var r,t=1,n=arguments.length;t<n;t++)for(var o in r=arguments[t])Object.prototype.hasOwnProperty.call(r,o)&&(e[o]=r[o]);return e},n.apply(this,arguments)};function o(e,r,t,n){return new(t||(t=Promise))((function(o,a){function i(e){try{s(n.next(e))}catch(e){a(e)}}function c(e){try{s(n.throw(e))}catch(e){a(e)}}function s(e){var r;e.done?o(e.value):(r=e.value,r instanceof t?r:new t((function(e){e(r)}))).then(i,c)}s((n=n.apply(e,r||[])).next())}))}function a(e,r){var t,n,o,a,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function c(c){return function(s){return function(c){if(t)throw new TypeError("Generator is already executing.");for(;a&&(a=0,c[0]&&(i=0)),i;)try{if(t=1,n&&(o=2&c[0]?n.return:c[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,c[1])).done)return o;switch(n=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return i.label++,{value:c[1],done:!1};case 5:i.label++,n=c[1],c=[0];continue;case 7:c=i.ops.pop(),i.trys.pop();continue;default:if(!(o=i.trys,(o=o.length>0&&o[o.length-1])||6!==c[0]&&2!==c[0])){i=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){i.label=c[1];break}if(6===c[0]&&i.label<o[1]){i.label=o[1],o=c;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(c);break}o[2]&&i.ops.pop(),i.trys.pop();continue}c=r.call(e,i)}catch(e){c=[6,e],n=0}finally{t=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}([c,s])}}}function i(e,r,t){if(t||2===arguments.length)for(var n,o=0,a=r.length;o<a;o++)!n&&o in r||(n||(n=Array.prototype.slice.call(r,0,o)),n[o]=r[o]);return e.concat(n||Array.prototype.slice.call(r))}"function"==typeof SuppressedError&&SuppressedError;var c=200,s=2e4,u=3e4,d=3e4,l=function(r){var t=e.create({baseURL:r,timeout:u,headers:{"Content-Type":"application/x-www-form-urlencoded;charset=UTF-8"}});return t.interceptors.request.use((function(e){var r;return["anov-go-token","unify-access-token","dgcc_authorization"].forEach((function(r){var t=sessionStorage.getItem(r);t&&"null"!==t&&(e.headers["dgcc_authorization"===r?"dgcc_authorization":"X-".concat(r.toUpperCase())]=t)})),"post"===e.method&&(e.headers["Content-Type"]="application/json;"),["get","put","delete"].includes(e.method)&&(e.params=(r=e.params,Object.fromEntries(Object.entries(r).map((function(e){var r=e[0],t=e[1];return[r,encodeURIComponent(t)]}))))),"put"===e.method&&(e.headers["Content-Type"]="application/json; charset=UTF-8"),e}),(function(e){return Promise.reject(e)})),t.interceptors.response.use((function(e){return o(void 0,void 0,void 0,(function(){var r;return a(this,(function(t){return[c,s].includes(e.status)||e.data.code===s?[2,e.data]:(r={201:"201 error: Missing parameter",202:"202 error: Parameter is malformed",500:"500 error: Background error",501:"501 error: No data",502:"502 error: Session expired"}[e.status]||"Unknown error",console.log("请求失败:"+r),[2,Promise.reject(e.data)])}))}))}),(function(e){return o(void 0,void 0,void 0,(function(){return a(this,(function(r){return[2,Promise.reject(e.response)]}))}))})),t},v=function(e,r){void 0===e&&(e="");var t=l(e);return r&&t.interceptors.response.use((function(e){return o(void 0,void 0,void 0,(function(){return a(this,(function(t){switch(t.label){case 0:return[4,r(e)];case 1:return t.sent(),[2,e.data]}}))}))}),(function(e){return o(void 0,void 0,void 0,(function(){return a(this,(function(t){switch(t.label){case 0:return[4,r(null==e?void 0:e.response)];case 1:return t.sent(),[2,Promise.reject(e.response)]}}))}))})),t};var f=function(e){if("string"==typeof e)try{var r=JSON.parse(e);return"object"==typeof r&&null!==r}catch(e){return!1}return!1},p=function(e){for(var r=0,t=e;r<t.length;r++){var n=t[r];n.code&&(n.code=n.code.replace(/&gt;/g,">").replace(/&lt;/g,"<"))}},h=function(e,r){e instanceof Map?e.forEach((function(e){r([e])})):Array.isArray(e)&&e.forEach((function(e){r(e.children)}))},m=function(e,r){var t=function(e){var n,o,a;if(e)for(var i=0,c=e;i<c.length;i++){var s=c[i],u=null===(a=null===(o=null===(n=null==s?void 0:s.tmpData)||void 0===n?void 0:n.source)||void 0===o?void 0:o.converse)||void 0===a?void 0:a.data;(null==u?void 0:u.length)&&p(u),r(s),s.children?t(s.children):s.dynamicChildren?h(s.dynamicChildren,t):s.stateChildren&&t(s.stateChildren)}};t(e)},y=function(e,r,t){if(!e)throw new Error("Share variable tree is not defined");if("string"!=typeof r)throw new Error("Variable name should be a string");if(!t)throw new Error("ID is required");Array.isArray(e[r])||(e[r]=[]),e[r].includes(t)||e[r].push(t)},w=function(e,r,t){var n,o=!1,a=null==r?void 0:r.converse;if(a&&a.use&&a.data.length)for(var i=0,c=a.data;i<c.length;i++){var s=c[i];if((null==s?void 0:s.dependVars)&&s.dependVars.includes(e))return!0}var u=null==r?void 0:r[null==r?void 0:r.type];return((null==u?void 0:u.inputSql)||(null==u?void 0:u.url)||(null==u?void 0:u.headers)||(null==u?void 0:u.params))&&(o=function(e,r,t,n){var o=e.match(/({{[\w]*}})|((@)[\w]*)/gm);if(o)for(var a=function(e){return!e||!r||r.findIndex((function(r){return r.mapField===e}))<0?"continue":(t&&n&&y(n,e,t.cid),{value:!0})},i=0,c=o.map((function(e){return e.replace(/{{|}}|@/gm,"")}));i<c.length;i++){var s=a(c[i]);if("object"==typeof s)return s.value}return!1}(u.inputSql||u.url||(null===(n=u.headers)||void 0===n?void 0:n.value)||u.params,t)),o},g="anov@2019:helloX",b="anov@2020:helloX";function D(e){var r=t.enc.Utf8.parse(g),n=t.enc.Utf8.parse(b);return t.AES.encrypt(e,r,{iv:n,mode:t.mode.CBC,padding:t.pad.Pkcs7}).toString()}var E,j,T,k=new Blob(["\nfunction proxyObj(originObj) {\n const exposeObj = new Proxy(originObj, {\n has: (target, key) => {\n if (['fetch', 'XMLHttpRequest', 'postMessage'].indexOf(key) >= 0) {\n throw new Error('Illegal operation for key'+key)\n } else {\n return target[key]\n }\n },\n })\n return exposeObj\n}\nfunction compileCode(src) {\n src = 'with (exposeObj) {'+src+'}'\n //console.log(src)\n return new Function('exposeObj', src)\n}\nfunction run(code) {\n let proxy = proxyObj({})\n let result = compileCode(code)(proxy)\n return result\n}\n\nonmessage = (e) => {\n try {\n let result = run(e.data.code)\n postMessage({\n code: 1,\n result,\n })\n } catch (err) {\n postMessage({\n code: -1,\n err,\n })\n }\n}\n"]),O=URL.createObjectURL(k);function S(e,r){return void 0===r&&(r=5e3),o(this,void 0,void 0,(function(){var t;return a(this,(function(n){return t=new Worker(O),[2,new Promise((function(n,o){var a=function(){clearTimeout(c),t.removeEventListener("message",i),t.terminate(),t=null},i=function(e){var r=e.data,t=r.code,i=r.result,c=r.err;a(),1===t?n(i):o(c)};t.postMessage({code:e}),t.addEventListener("message",i);var c=setTimeout((function(){a(),o("timeout")}),r)}))]}))}))}function P(e,r,t,n){return void 0===t&&(t={}),void 0===n&&(n="worker"),o(this,void 0,void 0,(function(){var o,c,s,u,d,l,v,f,p;return a(this,(function(a){switch(a.label){case 0:return a.trys.push([0,4,,5]),"window"!=n?[3,1]:(c=(o=[["data"],[r]])[0],s=o[1],"object"==typeof t&&Object.keys(t).forEach((function(e){c.push(e),s.push(t[e])})),u=new(Function.bind.apply(Function,i(i([void 0],c,!1),[e],!1))),[2,{success:!0,data:u.apply(void 0,s)}]);case 1:return v=(d=[r,t,""])[1],f=d[2],"object"==typeof(l=d[0])&&(l=JSON.stringify(r)),"object"==typeof t&&(v=JSON.stringify(t)),Object.keys(t).forEach((function(e){return f+="".concat(e,",")})),p="let data=eval(".concat(l,"); \n             let app=").concat(JSON.stringify({}),";"),p+=f?"let {".concat(f,"} = eval(").concat(v,"); "):"",[4,S(p+="".concat(e))];case 2:return[2,{success:!0,data:a.sent()}];case 3:return[3,5];case 4:return[2,{success:!1,error:a.sent(),data:r}];case 5:return[2]}}))}))}!function(e){e.StaticFile="staticFile",e.DataSource="datasource"}(E||(E={})),function(e){e.json="application/json;charset=UTF-8",e.form="application/x-www-form-urlencoded; charset=UTF-8"}(j||(j={})),function(e){e.get="GET",e.post="POST",e.put="PUT",e.patch="PATCH",e.delete="DELETE"}(T||(T={}));var N=function(e,r){return"string"!=typeof e?Promise.reject(new Error("URL should be a string")):v(e,r)},C=v();function q(e){return o(this,void 0,void 0,(function(){var r;return a(this,(function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),[4,C(e)];case 1:return[2,{code:2e4,data:t.sent().data}];case 2:throw r=t.sent(),console.error("请求数据发生错误-Error:",r),r;case 3:return[2]}}))}))}function x(e){return o(this,void 0,void 0,(function(){var r;return a(this,(function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),[4,C({method:"get",url:e})];case 1:return[2,t.sent().data];case 2:throw r=t.sent(),console.error("JSON 数据请求:",r),r;case 3:return[2]}}))}))}function F(e,t,n,i){return void 0===t&&(t="get"),void 0===n&&(n={}),void 0===i&&(i={}),o(this,void 0,void 0,(function(){var o;return a(this,(function(a){try{return o={method:T[t],url:e,headers:i,timeout:d},["post","put"].includes(t.toLowerCase())?o.data=r.cloneDeep(n):o.params=r.cloneDeep(n),[2,/.json$/.test(e)?x(e):q(o)]}catch(e){throw console.error("获取数据:Error:",e),e}return[2]}))}))}function U(e,r,t,n){return o(this,void 0,void 0,(function(){var o,i,c,s,u;return a(this,(function(a){switch(a.label){case 0:return a.trys.push([0,2,,3]),o=window.anUrl||"",i=window.agentPath||"/ds/v1/api-proxy/v1/query",c=o+i,d=t,void 0===(l=!0)&&(l=!1),s=l?f(d)?d:JSON.stringify(d):f(d)?JSON.parse(d):d,[4,C({url:c,method:"post",headers:{"Content-Type":"application/json;charset=UTF-8"},data:{body:"post"===e?s:void 0,headers:f(n)?JSON.parse(n):n,method:e,url:r}})];case 1:return[2,a.sent()];case 2:throw u=a.sent(),console.error("代理请求数据:Error:",u),u;case 3:return[2]}var d,l}))}))}function A(e,r,t,n,i){return o(this,void 0,void 0,(function(){return a(this,(function(o){return[2,i?U(r,e,t,n):F(e,r,t,n)]}))}))}function I(e,r,t){var n,o,a;void 0===r&&(r="");var i=null!==(o=null===(n=null===window||void 0===window?void 0:window.BaseUrl)||void 0===n?void 0:n.replace("/management",""))&&void 0!==o?o:"",c=G("YZH_EXCHANGE_TOKEN")||(null===(a=null===window||void 0===window?void 0:window.yzhAuth)||void 0===a?void 0:a.getToken()),s=null===window||void 0===window?void 0:window.gdPassid,d=null===window||void 0===window?void 0:window.BASE_RELEASE,l="token=".concat(c,"&passid=").concat(s),v=d?"&preview=1":"",f="".concat(i,"/ds/data-engine/v1/").concat(e,"/zb-query?").concat(l).concat(v),p={};try{p=r?JSON.parse(r):{}}catch(e){p=r||{}}return C({method:"POST",url:f,data:{headers:t,param:p},timeout:u})}var z=function(e,r){return o(void 0,void 0,void 0,(function(){var t,n,o,i,c,s,d,l,v,f;return a(this,(function(a){return t=window.BaseUrl,n=r.dateType,o=void 0===n?"":n,i=r.endPeriod,c=void 0===i?"":i,s=r.metricsName,d=void 0===s?e:s,l=r.startPeriod,v=void 0===l?"":l,f="".concat(t,"ds/v1/metrics/v1/data-alarm?dateType=").concat(o,"&endPeriod=").concat(c,"&metricsName=").concat(d,"&startPeriod=").concat(v),[2,C({method:"GET",url:f,timeout:u})]}))}))},J=function(e,r,t){return o(void 0,void 0,void 0,(function(){var o,i,c,s;return a(this,(function(a){if(o=(null===(s=window.BaseUrl)||void 0===s?void 0:s.replace("/management",""))||"",r.newEncryption=!0,i={staticFile:{method:"get",params:r,url:"".concat(o,"/ds/v1/file/v1/").concat(e,"/query")},datasource:{method:"post",url:"".concat(o,"/ds/v1/database/v1/").concat(e,"/query"),data:n({},r)}},!(c=i[t]))throw new Error("Invalid data type provided");return[2,C(n({timeout:u},c))]}))}))},L=function(e){return new Promise((function(r,t){var n;void 0!==(n=e.originData&&Object.keys(e.originData).length?e.originData:e.data)?r({data:n}):t("Failed to retrieve cdata")}))},R=function(e,r,t){try{switch(r){case"api":var n=K(e,t);return{requestType:n.requestType,url:n.url,params:n.params,headers:n.headers,agency:n.agency};case"static":return{data:e};case"datasource":var o=H(e.inputSql,t);return{dsName:e.dsName,dsType:"1",sql:D(o),filter:e.sqlFilter};case"staticFile":return{dsName:e.dsName,dsType:e.dsType,sql:""};case"indicator":return{zbId:e.zbId,params:e.params,headers:e.headers};case"indicatorCQ":return{zbName:e.zbName,params:e.params};case"packData":return{};default:throw new Error("Invalid type")}}catch(r){console.log("准备请求数据发生错误",r,e)}},B=function(e,r){return o(void 0,void 0,void 0,(function(){var t;return a(this,(function(n){switch(n.label){case 0:switch(n.trys.push([0,16,,18]),r){case"api":return[3,1];case"static":return[3,3];case"datasource":return[3,5];case"staticFile":return[3,7];case"indicator":return[3,9];case"indicatorCQ":return[3,11];case"packData":return[3,13]}return[3,14];case 1:return[4,A(e.url,e.requestType,e.params,e.headers,e.agency)];case 2:case 4:case 6:case 8:case 10:case 12:case 17:return[2,n.sent()];case 3:return[4,L(e.data)];case 5:return[4,J(e.dsName,{dsType:e.dsType,sql:e.sql,filter:e.filter},"datasource")];case 7:return[4,J(e.dsName,{dsType:e.dsType,sql:e.sql},"staticFile")];case 9:return[4,I(e.zbId,e.params,e.headers)];case 11:return[4,z(e.zbName,e.params)];case 13:return[2,{}];case 14:throw new Error("Invalid type");case 15:return[3,18];case 16:return t=n.sent(),console.warn(t,"执行请求并获取数据发生错误","requestData:"+e),[4,new Promise((function(e,r){e({error:!0})}))];case 18:return[2]}}))}))},M=function(e,r,t,n,i){return void 0===n&&(n=[]),void 0===i&&(i=!1),o(void 0,void 0,void 0,(function(){var o,c,s,u,d,l,v,f;return a(this,(function(a){switch(a.label){case 0:return o=r||e.tmpData.source.dataType,c=e.tmpData.source["indicatorCQ"==o?"indicator":o],"globalData"!==o?[3,3]:(s=n.find((function(e){return e.key===c.id||e.key===c.key})),u=function(e){var r=sessionStorage.getItem(e);if(r)try{return JSON.parse(r)}catch(r){console.error("Error parsing session data for key ".concat(e,":"),r)}return null}(c.id),u&&!i?[2,u.data]:s?[4,_(s,t)]:[3,2]);case 1:return d=a.sent(),l={key:c.id,data:d},function(e,r){try{var t=JSON.stringify(r);sessionStorage.setItem(e,t)}catch(r){console.error("Error setting session data for key ".concat(e,":"),r)}}(c.id,l),[2,d];case 2:return[2];case 3:return v=R(c,o,t),[4,B(v,o)];case 4:return[2,(null==(f=a.sent())?void 0:f.data)?f.data:f]}}))}))},_=function(e,r){return o(void 0,void 0,void 0,(function(){var t,n,o,i,c;return a(this,(function(a){switch(a.label){case 0:return t=Object.assign({},{tmpData:{source:e.value}}),n=t.tmpData.source.type,o=t.tmpData.source[n],i=R(o,n,r),[4,B(i,n)];case 1:return c=a.sent(),[4,Q(c.data,t,!0,r)];case 2:return[2,a.sent()]}}))}))},Q=function(e,t,n,i){return void 0===n&&(n=!0),o(void 0,void 0,void 0,(function(){var c,s,u;return a(this,(function(d){switch(d.label){case 0:return d.trys.push([0,5,,7]),c=t.tmpData.source,s=c.converse,c.mapFields,s&&s.use&&n?[4,new Promise((function(t,n){var c=function(e,t,n,i,c){return o(this,void 0,void 0,(function(){var n,o,c,s,u,d,l;return a(this,(function(v){switch(v.label){case 0:if(n=e,o=r.cloneDeep(t),c=o.use,s=o.data,!c)return[3,4];d=function(e){var t,o;return a(this,(function(a){switch(a.label){case 0:return s[e].use?(t=s[e].dependVars,o={},i&&o&&t&&t.length&&t.map((function(e){var t=r.cloneDeep(i).filter((function(r){var t=r.mapField==e;return t&&(o[e]=r.value),t}));t&&0!=t.length||(o[e]="")})),[4,P(s[e].code,n,o,s[e].mode?s[e].mode:"worker")]):[3,2];case 1:u=a.sent(),n=u.data,a.label=2;case 2:return[2]}}))},l=0,v.label=1;case 1:return l<s.length?[5,d(l)]:[3,4];case 2:v.sent(),v.label=3;case 3:return l++,[3,1];case 4:return[2,n]}}))}))}(e,s,0,i);t(c)}))]:[3,2];case 1:case 3:case 6:return[2,d.sent()];case 2:return[4,new Promise((function(r,t){r(e)}))];case 4:return[3,7];case 5:return u=d.sent(),console.error("执行过滤器发生错误:"+u),[4,new Promise((function(r,t){r(e)}))];case 7:return[2]}}))}))},V=function(e,r,t){var n=e.tmpData.source,o=n.type;t?("static"===o&&n[o]&&(n[o].originData=t),"indicatorCQ"===o?n.indicator.data=r:n[o].data=r):"indicatorCQ"===o?n.indicator.data=r:n[o].data=r,e.source=r},X=function(e,r,t,n,i,c){return void 0===t&&(t=[]),o(void 0,void 0,void 0,(function(){var o,s,u,d;return a(this,(function(a){switch(a.label){case 0:return a.trys.push([0,3,,4]),o=e.tmpData.source.type,[4,M(e,o,t,n,c||!1)];case 1:return null!=(s=a.sent())&&s?[4,Q(s,e,r,t)]:(i&&i({error:!0}),[2,Promise.resolve({error:!0})]);case 2:return u=a.sent(),V(e,u),i&&i(u),[2,Promise.resolve(u)];case 3:return d=a.sent(),i&&i(d),console.error("Error in updateComData:",d),[2,Promise.reject(d)];case 4:return[2]}}))}))},G=function(e){var r={};if(e&&e.includes("?"))for(var t=0,n=e.split("?")[1].split("&");t<n.length;t++){var o=n[t].split("=").map(decodeURIComponent),a=o[0],i=o[1];r[a]=i}return r},H=function(e,r){if(!r)return e;if("string"==typeof e)return""===e.trim()?"":e.replace(/@(\w+)|{{(\w+)}}/g,(function(e,t,n){var o=t||n,a=r.find((function(e){return e.mapField===o}));return a?a.value||a.originalValue||"":e}));if(Array.isArray(e))return e.map((function(e){return H(e,r)}));if("object"==typeof e&&null!==e){var t={};for(var n in e)t[n]=H(e[n],r);return t}return e},K=function(e,r){var t=e.agency,n=e,o=n.url,a=void 0===o?null:o,i=n.headers,c=n.params,s=n.requestType,u=a?H(a,r):void 0,d=i&&i.use?H(i.value,r):{};return{url:u,requestType:s,params:c?H(c,r):{},headers:d,agency:t}},W=function(e,r,t,n,i){return o(void 0,void 0,void 0,(function(){var o,c,s,u;return a(this,(function(d){switch(d.label){case 0:if(!e||!e.length)return[2];o=function(o){return a(this,(function(a){switch(a.label){case 0:return w(r,o.value,t)?[4,X({tmpData:{source:{type:"globalData",globalData:{id:o.key}}}},!0,t,e,(function(e){console.log("数据更新成功-变量改变全局数据跟新")}),!0)]:[3,2];case 1:a.sent(),m(n,(function(r){var n,a,c;"globalData"===(null===(a=null===(n=null==r?void 0:r.tmpData)||void 0===n?void 0:n.source)||void 0===a?void 0:a.type)&&((null===(c=null==r?void 0:r.tmpData)||void 0===c?void 0:c.source.globalData).id===o.key&&X(r,!0,t,e,(function(e){i(r,e)}),!1))})),a.label=2;case 2:return[2]}}))},c=0,s=e,d.label=1;case 1:return c<s.length?(u=s[c],[5,o(u)]):[3,4];case 2:d.sent(),d.label=3;case 3:return c++,[3,1];case 4:return[2]}}))}))},Y=function(e,r,t,n,i){return o(void 0,void 0,void 0,(function(){return a(this,(function(o){switch(o.label){case 0:return e?[4,X({tmpData:{source:{type:"globalData",globalData:{id:e.key}}}},!0,r,t,(function(e){console.log("数据更新成功-数据源编辑")}),!0)]:[2];case 1:return o.sent(),m(n,(function(n){var o,a,c;"globalData"===(null===(a=null===(o=null==n?void 0:n.tmpData)||void 0===o?void 0:o.source)||void 0===a?void 0:a.type)&&((null===(c=null==n?void 0:n.tmpData)||void 0===c?void 0:c.source.globalData).id===e.key&&X(n,!0,r,t,(function(e){i(n,e)}),!1))})),[2]}}))}))};export{N as Http,U as agentData,V as editItem,_ as fetchDataByGlobal,M as fetchDataByType,Q as filterData,F as getData,A as getDataForApi,J as getDataForSource,L as getDataForStatic,I as getDataForZb,z as getDataForZbCQ,W as updataGlobalDataSourceForVar,X as updateComData,Y as updateGlobalDataSource};
@@ -0,0 +1,58 @@
1
+ import { IndexedDBConfig, Record } from './type';
2
+ /**
3
+ * IndexedDB 封装类,实现了初始化表、增加记录、删除记录、更新记录和查询记录的功能。
4
+ * 采用单例模式确保全局只有一个实例。
5
+ */
6
+ declare class IndexedDB {
7
+ private static instance;
8
+ private db;
9
+ private dbName;
10
+ private tableName;
11
+ private keyPath;
12
+ /**
13
+ * 私有构造函数,确保只能通过 getInstance 方法获取实例。
14
+ * @param config - IndexedDB 配置信息
15
+ */
16
+ private constructor();
17
+ /**
18
+ * 获取 IndexedDBLogger 的单例实例。
19
+ * @param config - IndexedDB 配置信息
20
+ * @returns IndexedDBLogger 实例
21
+ */
22
+ static getInstance(config: IndexedDBConfig): IndexedDB;
23
+ /**
24
+ * 初始化 IndexedDB 数据库,创建存储空间和索引。
25
+ * @returns 初始化结果的 Promise
26
+ */
27
+ init(): Promise<void>;
28
+ /**
29
+ * 添加记录到 IndexedDB 表中。
30
+ * @param record - 要添加的记录
31
+ * @returns 添加结果的 Promise
32
+ */
33
+ addRecord(record: Record): Promise<void>;
34
+ /**
35
+ * 从 IndexedDB 表中删除记录。
36
+ * @param key - 要删除的记录的键值
37
+ * @returns 删除结果的 Promise
38
+ */
39
+ deleteRecord(key: any): Promise<void>;
40
+ /**
41
+ * 更新 IndexedDB 表中的记录。
42
+ * @param record - 要更新的记录
43
+ * @returns 更新结果的 Promise
44
+ */
45
+ updateRecord(record: Record): Promise<void>;
46
+ /**
47
+ * 根据键值获取 IndexedDB 表中的记录。
48
+ * @param key - 记录的键值
49
+ * @returns 获取的记录的 Promise
50
+ */
51
+ getRecord(key: any): Promise<Record | undefined>;
52
+ /**
53
+ * 获取 IndexedDB 表中的所有记录。
54
+ * @returns 所有记录的 Promise
55
+ */
56
+ getAllRecords(): Promise<Record[]>;
57
+ }
58
+ export default IndexedDB;
@@ -0,0 +1,8 @@
1
+ export interface IndexedDBConfig {
2
+ databaseName: string;
3
+ tableName: string;
4
+ keyPath: string;
5
+ }
6
+ export interface Record {
7
+ [key: string]: any;
8
+ }
@@ -72,7 +72,7 @@ export declare const getDataForStatic: (data: any) => Promise<any>;
72
72
  * @param forceRefresh - 强制刷新开关
73
73
  * @returns Promise<any>
74
74
  */
75
- export declare const fetchDataByType: (element: any, type: string, globalVars: any[], globalSource: GlobalDataSourceItem[], forceRefresh?: boolean) => Promise<any>;
75
+ export declare const fetchDataByType: (element: any, type: string, globalVars: any[], globalSource?: GlobalDataSourceItem[], forceRefresh?: boolean) => Promise<any>;
76
76
  /**
77
77
  * 处理 'globalData' 类型的数据请求
78
78
  * @param source - 数据源
@@ -107,4 +107,22 @@ export declare const editItem: (item: GoComponent, data: any, metadata?: any) =>
107
107
  * @param {Function} [callback] - 回调函数
108
108
  * @returns {Promise<any>} - 返回一个 Promise,在成功时返回更新后的数据,失败时返回错误对象
109
109
  */
110
- export declare const updateComData: (element: GoComponent, filterFlag: boolean, globalVars: any, globalSource: GlobalDataSourceItem[], callback?: CallbackFunction, forceRefresh?: boolean) => Promise<any>;
110
+ export declare const updateComData: (element: GoComponent, filterFlag: boolean, globalVars: any[] | undefined, globalSource: GlobalDataSourceItem[], callback?: CallbackFunction, forceRefresh?: boolean) => Promise<any>;
111
+ /**
112
+ * 根据变量改变更新全局数据源及引用该数据源的组件
113
+ * @param globalSource - 全局数据源
114
+ * @param mapField - 待更新的变量名称
115
+ * @param globalVars - 全局变量
116
+ * @param list - 待处理的组件列表
117
+ * @param callback - 回调函数
118
+ */
119
+ export declare const updataGlobalDataSourceForVar: (globalSource: GlobalDataSourceItem[], mapField: string, globalVars: any[], list: any[], callback: CallbackFunction) => Promise<void>;
120
+ /**
121
+ * 更新全局数据源并更新引用该数据源的组件
122
+ * @param {GlobalDataSourceItem} globalSourceItem - 全局数据源项
123
+ * @param {any[]} globalVars - 全局变量数组
124
+ * @param {any[]} list - 待处理的组件列表
125
+ * @param {CallbackFunction} callback - 回调函数
126
+ * @returns {Promise<void>} Promise<void>
127
+ */
128
+ export declare const updateGlobalDataSource: (globalSourceItem: GlobalDataSourceItem, globalVars: any[], GlobalDataSource: GlobalDataSourceItem[], list: any[], callback: CallbackFunction) => Promise<void>;
@@ -101,6 +101,7 @@ export interface GoComponent {
101
101
  cid: string;
102
102
  source: any;
103
103
  comData?: any;
104
+ children?: GoComponent[];
104
105
  tmpData: {
105
106
  source: DataSource;
106
107
  option: any;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,8 @@
1
+ export interface LogEntry {
2
+ timestamp: string;
3
+ message: string;
4
+ level: string;
5
+ category: string;
6
+ userInfo?: Record<string, any>;
7
+ projectInfo?: Record<string, any>;
8
+ }
@@ -4,6 +4,7 @@
4
4
  * @param {boolean} [toJSON=false] - 是否转成 JSON 格式,默认为 false
5
5
  * @returns {T} 返回标准数据格式
6
6
  */
7
+ import { GoComponent } from "../fetchUtils/type";
7
8
  export declare function getStandardData<T>(args: string, toJSON?: boolean): T;
8
9
  /**
9
10
  * 判断是否为标准 JSON 格式
@@ -24,3 +25,26 @@ export declare const setSessionData: (key: string, value: any) => void;
24
25
  * @returns 如果找到匹配键的数据,返回解析后的泛型类型数据,否则返回 null
25
26
  */
26
27
  export declare const getSessionData: (key: string) => any;
28
+ /**
29
+ * 递归处理 GoComponent 数组
30
+ * @param array - GoComponent 数组
31
+ * @param callback - 回调函数
32
+ */
33
+ export declare const recursion: (array: GoComponent[], callback: (args: any) => void) => void;
34
+ /**
35
+ * 处理字符串中的变量
36
+ * @param url - 包含变量的字符串
37
+ * @param globalVars - 全局变量
38
+ * @param item - 可选项,用于特定情况下的处理
39
+ * @param shareVariableTree - 可选项,用于特定情况下的处理
40
+ * @returns 是否包含变量
41
+ */
42
+ export declare const getStringVars: (url: string, globalVars: any, item?: any, shareVariableTree?: any) => boolean;
43
+ /**
44
+ * 判断数据源是否包含该变量
45
+ * @param _varName - 变量名称
46
+ * @param data - 数据
47
+ * @param globalVars - 全局变量
48
+ * @returns 是否包含变量
49
+ */
50
+ export declare const hasVar: (_varName: string, data: any, globalVars: any) => boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wdslib/go-utils",
3
- "version": "0.1.1",
3
+ "version": "0.1.3",
4
4
  "description": "go-core utils",
5
5
  "main": "dist/index.js",
6
6
  "typings": "dist/types/index.d.ts",
@@ -45,6 +45,7 @@
45
45
  "crypto-js": "^4.1.1",
46
46
  "lodash": "^4.17.21",
47
47
  "rollup-plugin-typescript": "^1.0.1",
48
+ "ts-indexdb": "^0.0.8",
48
49
  "tslib": "^2.6.2",
49
50
  "typedoc": "^0.25.4"
50
51
  }