sws-micro-app-adapter-web
Version:
SWS Web微应用适配器
2 lines (1 loc) • 12.7 kB
JavaScript
var e={baseUrl:"https://swstime.chinasws.com:18443"},t=function(t){e.baseUrl=t.baseUrl},r=function(){return r=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var a in t=arguments[r])Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a]);return e},r.apply(this,arguments)};function n(e,t,r,n){return new(r||(r=Promise))((function(a,s){function i(e){try{c(n.next(e))}catch(e){s(e)}}function o(e){try{c(n.throw(e))}catch(e){s(e)}}function c(e){var t;e.done?a(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(i,o)}c((n=n.apply(e,t||[])).next())}))}function a(e,t){var r,n,a,s,i={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return s={next:o(0),throw:o(1),return:o(2)},"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function o(o){return function(c){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;s&&(s=0,o[0]&&(i=0)),i;)try{if(r=1,n&&(a=2&o[0]?n.return:o[0]?n.throw||((a=n.return)&&a.call(n),0):n.next)&&!(a=a.call(n,o[1])).done)return a;switch(n=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,n=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(a=i.trys,(a=a.length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){i=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]<a[3])){i.label=o[1];break}if(6===o[0]&&i.label<a[1]){i.label=a[1],a=o;break}if(a&&i.label<a[2]){i.label=a[2],i.ops.push(o);break}a[2]&&i.ops.pop(),i.trys.pop();continue}o=t.call(e,i)}catch(e){o=[6,e],n=0}finally{r=a=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,c])}}}"function"==typeof SuppressedError&&SuppressedError;var s,i=function(e){return null==e||null==e||""===e||Array.isArray(e)&&0==e.length},o={get:function(e){var t=new URLSearchParams(e.url),n=e.params;for(var a in e.params)t.append(a,n[a]);return new Promise((function(t,n){fetch(e.url,{method:"GET",headers:r({},e.headers)}).then((function(e){return e.json()})).then((function(e){t(e)})).catch((function(e){n(new Error(e))}))}))},post:function(e){var t=new URLSearchParams(e.url),n=e.params;for(var a in e.params)t.append(a,n[a]);return new Promise((function(t,n){fetch(e.url,{method:"POST",headers:r({},e.headers),body:new URLSearchParams(e.data)}).then((function(e){return e.json()})).then((function(e){t(e)})).catch((function(e){n(new Error(e))}))}))},put:function(e){var t=new URLSearchParams(e.url),n=e.params;for(var a in e.params)t.append(a,n[a]);return new Promise((function(t,n){fetch(e.url,{method:"PUT",headers:r({},e.headers),body:new URLSearchParams(e.data)}).then((function(e){return e.json()})).then((function(e){t(e)})).catch((function(e){n(new Error(e))}))}))},delete:function(e){var t=new URLSearchParams(e.url),n=e.params;for(var a in e.params)t.append(a,n[a]);return new Promise((function(t,n){fetch(e.url,{method:"DELETE",headers:r({},e.headers),body:new URLSearchParams(e.data)}).then((function(e){return e.json()})).then((function(e){t(e)})).catch((function(e){n(new Error(e))}))}))}};!function(e){e.H5="h5",e.MICRO_APP="microApp"}(s||(s={}));var c=function(){return f()?s.MICRO_APP:s.H5},u=function(){switch(c()){case s.H5:return"/";case s.MICRO_APP:return window.__WUJIE_PUBLIC_PATH__}},h=function(e){switch(c()){case s.H5:window.location.replace(e);break;case s.MICRO_APP:window.parent.microAppEngine.appRouter(e)}},f=function(){return window.__POWERED_BY_WUJIE__};class l{constructor(){this._dataLength=0,this._bufferLength=0,this._state=new Int32Array(4),this._buffer=new ArrayBuffer(68),this._buffer8=new Uint8Array(this._buffer,0,68),this._buffer32=new Uint32Array(this._buffer,0,17),this.start()}static hashStr(e,t=!1){return this.onePassHasher.start().appendStr(e).end(t)}static hashAsciiStr(e,t=!1){return this.onePassHasher.start().appendAsciiStr(e).end(t)}static _hex(e){const t=l.hexChars,r=l.hexOut;let n,a,s,i;for(i=0;i<4;i+=1)for(a=8*i,n=e[i],s=0;s<8;s+=2)r[a+1+s]=t.charAt(15&n),n>>>=4,r[a+0+s]=t.charAt(15&n),n>>>=4;return r.join("")}static _md5cycle(e,t){let r=e[0],n=e[1],a=e[2],s=e[3];r+=(n&a|~n&s)+t[0]-680876936|0,r=(r<<7|r>>>25)+n|0,s+=(r&n|~r&a)+t[1]-389564586|0,s=(s<<12|s>>>20)+r|0,a+=(s&r|~s&n)+t[2]+606105819|0,a=(a<<17|a>>>15)+s|0,n+=(a&s|~a&r)+t[3]-1044525330|0,n=(n<<22|n>>>10)+a|0,r+=(n&a|~n&s)+t[4]-176418897|0,r=(r<<7|r>>>25)+n|0,s+=(r&n|~r&a)+t[5]+1200080426|0,s=(s<<12|s>>>20)+r|0,a+=(s&r|~s&n)+t[6]-1473231341|0,a=(a<<17|a>>>15)+s|0,n+=(a&s|~a&r)+t[7]-45705983|0,n=(n<<22|n>>>10)+a|0,r+=(n&a|~n&s)+t[8]+1770035416|0,r=(r<<7|r>>>25)+n|0,s+=(r&n|~r&a)+t[9]-1958414417|0,s=(s<<12|s>>>20)+r|0,a+=(s&r|~s&n)+t[10]-42063|0,a=(a<<17|a>>>15)+s|0,n+=(a&s|~a&r)+t[11]-1990404162|0,n=(n<<22|n>>>10)+a|0,r+=(n&a|~n&s)+t[12]+1804603682|0,r=(r<<7|r>>>25)+n|0,s+=(r&n|~r&a)+t[13]-40341101|0,s=(s<<12|s>>>20)+r|0,a+=(s&r|~s&n)+t[14]-1502002290|0,a=(a<<17|a>>>15)+s|0,n+=(a&s|~a&r)+t[15]+1236535329|0,n=(n<<22|n>>>10)+a|0,r+=(n&s|a&~s)+t[1]-165796510|0,r=(r<<5|r>>>27)+n|0,s+=(r&a|n&~a)+t[6]-1069501632|0,s=(s<<9|s>>>23)+r|0,a+=(s&n|r&~n)+t[11]+643717713|0,a=(a<<14|a>>>18)+s|0,n+=(a&r|s&~r)+t[0]-373897302|0,n=(n<<20|n>>>12)+a|0,r+=(n&s|a&~s)+t[5]-701558691|0,r=(r<<5|r>>>27)+n|0,s+=(r&a|n&~a)+t[10]+38016083|0,s=(s<<9|s>>>23)+r|0,a+=(s&n|r&~n)+t[15]-660478335|0,a=(a<<14|a>>>18)+s|0,n+=(a&r|s&~r)+t[4]-405537848|0,n=(n<<20|n>>>12)+a|0,r+=(n&s|a&~s)+t[9]+568446438|0,r=(r<<5|r>>>27)+n|0,s+=(r&a|n&~a)+t[14]-1019803690|0,s=(s<<9|s>>>23)+r|0,a+=(s&n|r&~n)+t[3]-187363961|0,a=(a<<14|a>>>18)+s|0,n+=(a&r|s&~r)+t[8]+1163531501|0,n=(n<<20|n>>>12)+a|0,r+=(n&s|a&~s)+t[13]-1444681467|0,r=(r<<5|r>>>27)+n|0,s+=(r&a|n&~a)+t[2]-51403784|0,s=(s<<9|s>>>23)+r|0,a+=(s&n|r&~n)+t[7]+1735328473|0,a=(a<<14|a>>>18)+s|0,n+=(a&r|s&~r)+t[12]-1926607734|0,n=(n<<20|n>>>12)+a|0,r+=(n^a^s)+t[5]-378558|0,r=(r<<4|r>>>28)+n|0,s+=(r^n^a)+t[8]-2022574463|0,s=(s<<11|s>>>21)+r|0,a+=(s^r^n)+t[11]+1839030562|0,a=(a<<16|a>>>16)+s|0,n+=(a^s^r)+t[14]-35309556|0,n=(n<<23|n>>>9)+a|0,r+=(n^a^s)+t[1]-1530992060|0,r=(r<<4|r>>>28)+n|0,s+=(r^n^a)+t[4]+1272893353|0,s=(s<<11|s>>>21)+r|0,a+=(s^r^n)+t[7]-155497632|0,a=(a<<16|a>>>16)+s|0,n+=(a^s^r)+t[10]-1094730640|0,n=(n<<23|n>>>9)+a|0,r+=(n^a^s)+t[13]+681279174|0,r=(r<<4|r>>>28)+n|0,s+=(r^n^a)+t[0]-358537222|0,s=(s<<11|s>>>21)+r|0,a+=(s^r^n)+t[3]-722521979|0,a=(a<<16|a>>>16)+s|0,n+=(a^s^r)+t[6]+76029189|0,n=(n<<23|n>>>9)+a|0,r+=(n^a^s)+t[9]-640364487|0,r=(r<<4|r>>>28)+n|0,s+=(r^n^a)+t[12]-421815835|0,s=(s<<11|s>>>21)+r|0,a+=(s^r^n)+t[15]+530742520|0,a=(a<<16|a>>>16)+s|0,n+=(a^s^r)+t[2]-995338651|0,n=(n<<23|n>>>9)+a|0,r+=(a^(n|~s))+t[0]-198630844|0,r=(r<<6|r>>>26)+n|0,s+=(n^(r|~a))+t[7]+1126891415|0,s=(s<<10|s>>>22)+r|0,a+=(r^(s|~n))+t[14]-1416354905|0,a=(a<<15|a>>>17)+s|0,n+=(s^(a|~r))+t[5]-57434055|0,n=(n<<21|n>>>11)+a|0,r+=(a^(n|~s))+t[12]+1700485571|0,r=(r<<6|r>>>26)+n|0,s+=(n^(r|~a))+t[3]-1894986606|0,s=(s<<10|s>>>22)+r|0,a+=(r^(s|~n))+t[10]-1051523|0,a=(a<<15|a>>>17)+s|0,n+=(s^(a|~r))+t[1]-2054922799|0,n=(n<<21|n>>>11)+a|0,r+=(a^(n|~s))+t[8]+1873313359|0,r=(r<<6|r>>>26)+n|0,s+=(n^(r|~a))+t[15]-30611744|0,s=(s<<10|s>>>22)+r|0,a+=(r^(s|~n))+t[6]-1560198380|0,a=(a<<15|a>>>17)+s|0,n+=(s^(a|~r))+t[13]+1309151649|0,n=(n<<21|n>>>11)+a|0,r+=(a^(n|~s))+t[4]-145523070|0,r=(r<<6|r>>>26)+n|0,s+=(n^(r|~a))+t[11]-1120210379|0,s=(s<<10|s>>>22)+r|0,a+=(r^(s|~n))+t[2]+718787259|0,a=(a<<15|a>>>17)+s|0,n+=(s^(a|~r))+t[9]-343485551|0,n=(n<<21|n>>>11)+a|0,e[0]=r+e[0]|0,e[1]=n+e[1]|0,e[2]=a+e[2]|0,e[3]=s+e[3]|0}start(){return this._dataLength=0,this._bufferLength=0,this._state.set(l.stateIdentity),this}appendStr(e){const t=this._buffer8,r=this._buffer32;let n,a,s=this._bufferLength;for(a=0;a<e.length;a+=1){if(n=e.charCodeAt(a),n<128)t[s++]=n;else if(n<2048)t[s++]=192+(n>>>6),t[s++]=63&n|128;else if(n<55296||n>56319)t[s++]=224+(n>>>12),t[s++]=n>>>6&63|128,t[s++]=63&n|128;else{if(n=1024*(n-55296)+(e.charCodeAt(++a)-56320)+65536,n>1114111)throw new Error("Unicode standard supports code points up to U+10FFFF");t[s++]=240+(n>>>18),t[s++]=n>>>12&63|128,t[s++]=n>>>6&63|128,t[s++]=63&n|128}s>=64&&(this._dataLength+=64,l._md5cycle(this._state,r),s-=64,r[0]=r[16])}return this._bufferLength=s,this}appendAsciiStr(e){const t=this._buffer8,r=this._buffer32;let n,a=this._bufferLength,s=0;for(;;){for(n=Math.min(e.length-s,64-a);n--;)t[a++]=e.charCodeAt(s++);if(a<64)break;this._dataLength+=64,l._md5cycle(this._state,r),a=0}return this._bufferLength=a,this}appendByteArray(e){const t=this._buffer8,r=this._buffer32;let n,a=this._bufferLength,s=0;for(;;){for(n=Math.min(e.length-s,64-a);n--;)t[a++]=e[s++];if(a<64)break;this._dataLength+=64,l._md5cycle(this._state,r),a=0}return this._bufferLength=a,this}getState(){const e=this._state;return{buffer:String.fromCharCode.apply(null,Array.from(this._buffer8)),buflen:this._bufferLength,length:this._dataLength,state:[e[0],e[1],e[2],e[3]]}}setState(e){const t=e.buffer,r=e.state,n=this._state;let a;for(this._dataLength=e.length,this._bufferLength=e.buflen,n[0]=r[0],n[1]=r[1],n[2]=r[2],n[3]=r[3],a=0;a<t.length;a+=1)this._buffer8[a]=t.charCodeAt(a)}end(e=!1){const t=this._bufferLength,r=this._buffer8,n=this._buffer32,a=1+(t>>2);this._dataLength+=t;const s=8*this._dataLength;if(r[t]=128,r[t+1]=r[t+2]=r[t+3]=0,n.set(l.buffer32Identity.subarray(a),a),t>55&&(l._md5cycle(this._state,n),n.set(l.buffer32Identity)),s<=4294967295)n[14]=s;else{const e=s.toString(16).match(/(.*?)(.{0,8})$/);if(null===e)return;const t=parseInt(e[2],16),r=parseInt(e[1],16)||0;n[14]=t,n[15]=r}return l._md5cycle(this._state,n),e?this._state:l._hex(this._state)}}if(l.stateIdentity=new Int32Array([1732584193,-271733879,-1732584194,271733878]),l.buffer32Identity=new Int32Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),l.hexChars="0123456789abcdef",l.hexOut=[],l.onePassHasher=new l,"5d41402abc4b2a76b9719d911017c592"!==l.hashStr("hello"))throw new Error("Md5 self test failed.");var d="swstime:userInfo",p=function(t,r,s){return void 0===s&&(s="000000"),n(void 0,void 0,void 0,(function(){var n,i;return a(this,(function(a){switch(a.label){case 0:return a.trys.push([0,2,,3]),[4,o.post({url:e.baseUrl+"/blade-auth/oauth/token",data:{grant_type:"password",username:t,password:l.hashStr(r)},headers:{"Content-Type":"application/x-www-form-urlencoded","Tenant-Id":s,Authorization:"Basic c3dvcmQ6c3dvcmRfc2VjcmV0"}})];case 1:return n=a.sent(),i={id:n.user_id,accessToken:n.access_token,account:n.account,avatar:n.avatar,deptId:n.dept_id,nickName:n.nick_name,realName:n.real_name,roleId:n.role_id,roleName:n.role_name},sessionStorage.setItem(d,JSON.stringify(i)),[2,Promise.resolve(i)];case 2:return a.sent(),[2,Promise.reject("用户登录失败")];case 3:return[2]}}))}))},_=function(){var e=c(),t=null;try{switch(e){case s.H5:t=sessionStorage.getItem(d),t=i(t)?"":JSON.parse(t);break;case s.MICRO_APP:var r=window.parent.microAppEngine.getUserInfo();t={id:r.userId,accessToken:window.parent.microAppEngine.getAccessToken(),account:r.account,avatar:r.avatar,deptId:r.deptId,nickName:r.nickName,realName:r.realName,roleId:r.roleId,roleName:r.roleName}}}catch(e){console.error("获取用户信息失败",e)}return t},b=function(){return n(void 0,void 0,void 0,(function(){var t,r;return a(this,(function(n){switch(n.label){case 0:t=c(),r=null,n.label=1;case 1:switch(n.trys.push([1,6,,7]),t){case s.H5:return[3,2];case s.MICRO_APP:return[3,4]}return[3,5];case 2:return[4,o.get({url:e.baseUrl+"/blade-system/sws-menu/routes?category=11"})];case 3:return r=n.sent(),[3,5];case 4:return r=window.getPermissionList(),[3,5];case 5:return[2,Promise.resolve(r)];case 6:return n.sent(),[2,Promise.reject("获取用户权限信息失败")];case 7:return[2]}}))}))},m=function(){return _().accessToken},w=function(e){switch(c()){case s.H5:e();break;case s.MICRO_APP:window.__WUJIE_MOUNT=function(){e()}}},y=function(e){switch(c()){case s.H5:e();break;case s.MICRO_APP:window.__WUJIE_UNMOUNT=function(){e()}}},g=function(t,r){return n(void 0,void 0,void 0,(function(){var n,s,c;return a(this,(function(a){switch(a.label){case 0:return a.trys.push([0,2,,3]),n=m(),i(n)?[2,Promise.reject("用户未登录")]:(s=e.baseUrl+"/blade-system/micro-app/config/"+t,i(r)||(s+="/"+r),c=null,[4,o.get({url:s,headers:{"blade-auth":"bearer ".concat(n)}})]);case 1:return c=a.sent(),[2,Promise.resolve(c)];case 2:return a.sent(),[2,Promise.reject("获取微应用配置失败")];case 3:return[2]}}))}))};export{s as RuntimeEnvironment,h as appRouter,t as defineConfig,o as fetchRequest,m as getAccessToken,g as getAppConfig,b as getPermissionList,u as getPublicPath,c as getRuntimeEnvironment,_ as getUserInfo,e as globalConfig,i as isEmpty,f as isMicroAppEnvironment,p as login,w as mountApp,y as unmountApp,d as userInfoStorageKey};