quick-platform 1.0.47 → 1.0.49
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/_virtual/_rollupPluginBabelHelpers.js +2 -0
- package/dist/_virtual/_rollupPluginBabelHelpers.js.map +1 -0
- package/dist/application/constants.js +2 -0
- package/dist/application/constants.js.map +1 -0
- package/dist/application/index.js +2 -0
- package/dist/application/index.js.map +1 -0
- package/dist/application/manage.js +2 -0
- package/dist/application/manage.js.map +1 -0
- package/dist/business/index.js +2 -0
- package/dist/business/index.js.map +1 -0
- package/dist/business/version.js +2 -0
- package/dist/business/version.js.map +1 -0
- package/dist/components/IconFont.js +2 -0
- package/dist/components/IconFont.js.map +1 -0
- package/dist/components/LocalDebug.js +2 -0
- package/dist/components/LocalDebug.js.map +1 -0
- package/dist/components/MicroApp.js +2 -0
- package/dist/components/MicroApp.js.map +1 -0
- package/dist/components/Permission.js +2 -0
- package/dist/components/Permission.js.map +1 -0
- package/dist/components/context.js +2 -0
- package/dist/components/context.js.map +1 -0
- package/dist/components/i18n.js +2 -0
- package/dist/components/i18n.js.map +1 -0
- package/dist/config.js +2 -0
- package/dist/config.js.map +1 -0
- package/dist/event.js +2 -0
- package/dist/event.js.map +1 -0
- package/dist/index.js +2 -8
- package/dist/index.js.map +1 -0
- package/dist/theme/define/color.js +2 -0
- package/dist/theme/define/color.js.map +1 -0
- package/dist/theme/define/font.js +2 -0
- package/dist/theme/define/font.js.map +1 -0
- package/dist/theme/define/index.js +2 -0
- package/dist/theme/define/index.js.map +1 -0
- package/dist/theme/define/size.js +2 -0
- package/dist/theme/define/size.js.map +1 -0
- package/dist/theme/define/style.js +2 -0
- package/dist/theme/define/style.js.map +1 -0
- package/dist/theme/lib/index.js +2 -0
- package/dist/theme/lib/index.js.map +1 -0
- package/dist/theme/react/hook.js +2 -0
- package/dist/theme/react/hook.js.map +1 -0
- package/dist/theme/react/index.js +2 -0
- package/dist/theme/react/index.js.map +1 -0
- package/dist/theme/uno.js +2 -0
- package/dist/theme/uno.js.map +1 -0
- package/dist/utils/i18n.js +2 -0
- package/dist/utils/i18n.js.map +1 -0
- package/dist/utils/image.js +2 -0
- package/dist/utils/image.js.map +1 -0
- package/dist/utils/index.js +2 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/localstorage.js +2 -0
- package/dist/utils/localstorage.js.map +1 -0
- package/dist/utils/request.js +2 -0
- package/dist/utils/request.js.map +1 -0
- package/dist/utils/utils.js +2 -0
- package/dist/utils/utils.js.map +1 -0
- package/package.json +4 -3
- package/dist/quick-platform.cjs.development.js +0 -1379
- package/dist/quick-platform.cjs.development.js.map +0 -1
- package/dist/quick-platform.cjs.production.min.js +0 -2
- package/dist/quick-platform.cjs.production.min.js.map +0 -1
- package/dist/quick-platform.esm.js +0 -1360
- package/dist/quick-platform.esm.js.map +0 -1
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";function t(t,r,e,n,o,i,u){try{var a=t[i](u),c=a.value}catch(t){return void e(t)}a.done?r(c):Promise.resolve(c).then(n,o)}function r(t,r){for(var e=0;e<r.length;e++){var n=r[e];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,u(n.key),n)}}function e(){return(e=Object.assign?Object.assign.bind():function(t){for(var r=1;r<arguments.length;r++){var e=arguments[r];for(var n in e)({}).hasOwnProperty.call(e,n)&&(t[n]=e[n])}return t}).apply(null,arguments)}function n(){var t,r,e="function"==typeof Symbol?Symbol:{},i=e.iterator||"@@iterator",u=e.toStringTag||"@@toStringTag";function a(e,n,i,u){var a=Object.create((n&&n.prototype instanceof f?n:f).prototype);return o(a,"_invoke",function(e,n,o){var i,u,a,f=0,p=o||[],l=!1,s={p:0,n:0,v:t,a:v,f:v.bind(t,4),d:function(r,e){return i=r,u=0,a=t,s.n=e,c}};function v(e,n){for(u=e,a=n,r=0;!l&&f&&!o&&r<p.length;r++){var o,i=p[r],v=s.p,y=i[2];e>3?(o=y===n)&&(a=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=t):i[0]<=v&&((o=e<2&&v<i[1])?(u=0,s.v=n,s.n=i[1]):v<y&&(o=e<3||i[0]>n||n>y)&&(i[4]=e,i[5]=n,s.n=y,u=0))}if(o||e>1)return c;throw l=!0,n}return function(o,p,y){if(f>1)throw TypeError("Generator is already running");for(l&&1===p&&v(p,y),u=p,a=y;(r=u<2?t:a)||!l;){i||(u?u<3?(u>1&&(s.n=-1),v(u,a)):s.n=a:s.v=a);try{if(f=2,i){if(u||(o="next"),r=i[o]){if(!(r=r.call(i,a)))throw TypeError("iterator result is not an object");if(!r.done)return r;a=r.value,u<2&&(u=0)}else 1===u&&(r=i.return)&&r.call(i),u<2&&(a=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=t}else if((r=(l=s.n<0)?a:e.call(n,s))!==c)break}catch(r){i=t,u=1,a=r}finally{f=1}}return{value:r,done:l}}}(e,i,u),!0),a}var c={};function f(){}function p(){}function l(){}r=Object.getPrototypeOf;var s=[][i]?r(r([][i]())):(o(r={},i,(function(){return this})),r),v=l.prototype=f.prototype=Object.create(s);function y(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,l):(t.__proto__=l,o(t,u,"GeneratorFunction")),t.prototype=Object.create(v),t}return p.prototype=l,o(v,"constructor",l),o(l,"constructor",p),p.displayName="GeneratorFunction",o(l,u,"GeneratorFunction"),o(v),o(v,u,"Generator"),o(v,i,(function(){return this})),o(v,"toString",(function(){return"[object Generator]"})),(n=function(){return{w:a,m:y}})()}function o(t,r,e,n){var i=Object.defineProperty;try{i({},"",{})}catch(t){i=0}(o=function(t,r,e,n){function u(r,e){o(t,r,(function(t){return this._invoke(r,e,t)}))}r?i?i(t,r,{value:e,enumerable:!n,configurable:!n,writable:!n}):t[r]=e:(u("next",0),u("throw",1),u("return",2))})(t,r,e,n)}function i(t,r){if("object"!=typeof t||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var n=e.call(t,r||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}function u(t){var r=i(t,"string");return"symbol"==typeof r?r:r+""}exports.asyncToGenerator=function(r){return function(){var e=this,n=arguments;return new Promise((function(o,i){var u=r.apply(e,n);function a(r){t(u,o,i,a,c,"next",r)}function c(r){t(u,o,i,a,c,"throw",r)}a(void 0)}))}},exports.createClass=function(t,e,n){return e&&r(t.prototype,e),n&&r(t,n),Object.defineProperty(t,"prototype",{writable:!1}),t},exports.extends=e,exports.objectWithoutPropertiesLoose=function(t,r){if(null==t)return{};var e={};for(var n in t)if({}.hasOwnProperty.call(t,n)){if(-1!==r.indexOf(n))continue;e[n]=t[n]}return e},exports.regenerator=n,exports.regeneratorDefine=o,exports.toPrimitive=i,exports.toPropertyKey=u;
|
|
2
|
+
//# sourceMappingURL=_rollupPluginBabelHelpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_rollupPluginBabelHelpers.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sources":["../../src/application/constants.ts"],"sourcesContent":["export const ROUTER_BASE_KEY = 'quick_qiankun_router_base';\n\nexport const APP_PARENT_KEY = 'quick_qiankun_parent_app';\n\nexport const APP_CACHE_PARENT_KEY = 'quick_qiankun_parent_cache';\n\nexport const APP_MANAGE_KEY = 'quick_qiankun_manage';\n"],"names":[],"mappings":"0CAIoC,oDAEN,8CAJA,mDAFC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var n=require("../_virtual/_rollupPluginBabelHelpers.js"),e=require("qiankun"),r=require("../utils/utils.js"),o=require("./constants.js"),t=require("./manage.js"),i=require("../utils/i18n.js");exports.getCurrentApp=t.getCurrentApp,exports.intApp=t.intApp,exports.loadApp=function(n,r,o){var t=o||{},i=t.host,u=t.base,a=e.loadMicroApp({name:n,entry:(void 0===i?"":i)||window.location.origin+"/micro/"+n+"/"+((null==o?void 0:o.entry)||"micro")+".html",container:r,props:{base:void 0===u?"":u,name:n}});return a.mountPromise.catch((function(n){console.log("----启动子应用失败",n)})),a},exports.registerApp=function(e){t.intApp(e.name);var u=e.i18n?function(){var n=i.installI18n(e.name,e.env);return!1!==e.i18n.global&&(window.$$i18n=n.$$i18n,window.$i18n=n.$i18n),Promise.all([n.loadPromise,null==e.i18n.onReady?void 0:e.i18n.onReady(n)])}:function(){return Promise.resolve()};return{beforeMount:function(){return n.asyncToGenerator(n.regenerator().m((function e(){return n.regenerator().w((function(n){for(;;)switch(n.n){case 0:return n.a(2,new Promise((function(){})))}}),e)})))()},mount:function(r){return n.asyncToGenerator(n.regenerator().m((function o(){return n.regenerator().w((function(n){for(;;)switch(n.n){case 0:return t.intApp(e.name),n.a(2,null==e.lifecycles.mount?void 0:e.lifecycles.mount(r))}}),o)})))()},unmount:function(r){return n.asyncToGenerator(n.regenerator().m((function o(){return n.regenerator().w((function(n){for(;;)switch(n.n){case 0:return t.disposeApp(),n.a(2,null==e.lifecycles.unmount?void 0:e.lifecycles.unmount(r))}}),o)})))()},bootstrap:function(t){return n.asyncToGenerator(n.regenerator().m((function i(){return n.regenerator().w((function(n){for(;;)switch(n.n){case 0:return n.n=1,u();case 1:return r.isMicroApp&&t.base&&(console.log("来自主应用的路由base控制:",t.base),window[o.ROUTER_BASE_KEY]=t.base),n.a(2,null==e.lifecycles.bootstrap?void 0:e.lifecycles.bootstrap(t))}}),i)})))()}}};
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/application/index.ts"],"sourcesContent":["import { loadMicroApp } from 'qiankun';\nimport { isMicroApp } from '../utils/utils';\nimport { ROUTER_BASE_KEY } from './constants';\nimport { disposeApp, intApp, getCurrentApp } from './manage';\nimport { installI18n } from '../utils/i18n';\n\nexport const loadApp = (\n name: string,\n container: HTMLElement,\n props?: {\n host?: string;\n base?: string;\n env?: string;\n entry?: string;\n }\n) => {\n const { host = '', base = '' } = props || {};\n const app = loadMicroApp({\n name: name,\n entry:\n host ||\n `${window.location.origin}/micro/${name}/${props?.entry || 'micro'}.html`,\n container: container,\n props: {\n base: base,\n name,\n },\n });\n app.mountPromise.catch(e => {\n console.log('----启动子应用失败', e);\n });\n return app;\n};\n\nexport const registerApp = (options: {\n name: string;\n env?: string;\n i18n?: {\n global?: boolean;\n onReady?(hook: ReturnType<typeof installI18n>): Promise<any>;\n };\n lifecycles: {\n mount?(props: any): Promise<any>;\n unmount?(props: any): Promise<any>;\n bootstrap?(props: any): Promise<any>;\n };\n}) => {\n intApp(options.name);\n const preLoad = options.i18n\n ? () => {\n const i18n = installI18n(options.name, options.env);\n if (options.i18n!.global !== false) {\n (window as any).$$i18n = i18n.$$i18n;\n (window as any).$i18n = i18n.$i18n;\n }\n return Promise.all([i18n.loadPromise, options.i18n!.onReady?.(i18n)]);\n }\n : () => Promise.resolve();\n return {\n async beforeMount() {\n return new Promise(() => {});\n },\n async mount(props: any) {\n intApp(options.name);\n return options.lifecycles.mount?.(props);\n },\n async unmount(props: any) {\n disposeApp(); //todo 可能有点问题\n return options.lifecycles.unmount?.(props);\n },\n async bootstrap(props: any) {\n await preLoad();\n if (isMicroApp && props.base) {\n console.log('来自主应用的路由base控制:', props.base);\n (window as any)[ROUTER_BASE_KEY] = props.base;\n }\n return options.lifecycles.bootstrap?.(props);\n },\n };\n};\n\nexport { intApp, getCurrentApp };\n"],"names":["name","container","props","_ref","_ref$host","host","_ref$base","base","app","loadMicroApp","entry","window","location","origin","mountPromise","e","console","log","options","intApp","preLoad","i18n","installI18n","env","global","$$i18n","$i18n","Promise","all","loadPromise","onReady","resolve","beforeMount","_callee","mount","_context2","a","lifecycles","_callee2","unmount","disposeApp","_context3","_callee3","bootstrap","isMicroApp","ROUTER_BASE_KEY","_context4","_callee4"],"mappings":"4RAMuB,SACrBA,EACAC,EACAC,GAOA,IAAAC,EAAiCD,GAAS,GAAEE,EAAAD,EAApCE,KAASC,EAAAH,EAAEI,KACbC,EAAMC,eAAa,CACvBT,KAAMA,EACNU,gBAHUN,EAAG,GAAEA,IAKVO,OAAOC,SAASC,iBAAgBb,cAAQE,SAAAA,EAAOQ,QAAS,iBAC7DT,UAAWA,EACXC,MAAO,CACLK,cARmBD,EAAG,GAAEA,EASxBN,KAAAA,KAMJ,OAHAQ,EAAIM,oBAAmB,SAAAC,GACrBC,QAAQC,IAAI,cAAeF,MAEtBP,uBAGkB,SAACU,GAa1BC,SAAOD,EAAQlB,MACf,IAAMoB,EAAUF,EAAQG,KACpB,WACE,IAAMA,EAAOC,cAAYJ,EAAQlB,KAAMkB,EAAQK,KAK/C,OAJ6B,IAAzBL,EAAQG,KAAMG,SACfb,OAAec,OAASJ,EAAKI,OAC7Bd,OAAee,MAAQL,EAAKK,OAExBC,QAAQC,IAAI,CAACP,EAAKQ,kBAAaX,EAAQG,KAAMS,eAAdZ,EAAQG,KAAMS,QAAUT,MAEhE,WAAA,OAAMM,QAAQI,WAClB,MAAO,CACCC,8JACG,IAAIL,SAAQ,mBAASM,UAExBC,eAAMhC,6HACW,OAArBiB,SAAOD,EAAQlB,MAAMmC,EAAAC,UACdlB,EAAQmB,WAAWH,aAAnBhB,EAAQmB,WAAWH,MAAQhC,OAAMoC,UAEpCC,iBAAQrC,6HACE,OAAdsC,eAAcC,EAAAL,UACPlB,EAAQmB,WAAWE,eAAnBrB,EAAQmB,WAAWE,QAAUrC,OAAMwC,UAEtCC,mBAAUzC,0IACRkB,IAAS,OAId,OAHGwB,cAAc1C,EAAMK,OACtBS,QAAQC,IAAI,kBAAmBf,EAAMK,MACpCI,OAAekC,mBAAmB3C,EAAMK,MAC1CuC,EAAAV,UACMlB,EAAQmB,WAAWM,iBAAnBzB,EAAQmB,WAAWM,UAAYzC,OAAM6C"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var t,e,r=require("../_virtual/_rollupPluginBabelHelpers.js"),i=require("./constants.js"),n=(t=require("eventemitter3"))&&"object"==typeof t&&"default"in t?t.default:t,o=(0,eval)("this"),s=o[i.APP_MANAGE_KEY]||(o[i.APP_MANAGE_KEY]=new Map),h=function(){function t(t,e){this.children=[],this.cacheMap=new Map,this.emitter=new n,this.on=this.emitter.on.bind(this.emitter),this.once=this.emitter.once.bind(this.emitter),this.off=this.emitter.off.bind(this.emitter),this.name=t,e&&(this.parent=this.getParent(e),this.parent.addChildren(this)),s.set(t,this)}var e=t.prototype;return e.getParent=function(e){if("root"===e&&!s.has(e)){var r=new t("root","");return s.set(e,r),r}if(!s.has(e))throw new Error("quick micro app manage error:"+e+" 应用未加载!");return s.get(e)},e.addChildren=function(t){this.children.push(t)},e.removeChildren=function(t){this.children=this.children.filter((function(e){return e.name!==t}))},e.trigger=function(t,e){this.parent&&this.parent.emitter.emit(t,e)},e.broadcast=function(t,e){for(var r=0,i=this.children.length;r<i;r++)this.children[r].emitter.emit(t,e)},e.cache=function(t,e){return void 0!==e&&this.cacheMap.set(t,e),this.cacheMap.get(t)},e.destroy=function(){for(this.emitter.removeAllListeners(),this.cacheMap.clear();this.children.length;)this.children.pop().destroy();this.parent&&this.parent.removeChildren(this.name)},r.createClass(t,[{key:"root",get:function(){for(var t=this;null!=(e=t)&&e.parent;){var e;t=t.parent}return t}},{key:"isRoot",get:function(){return this.root.name===this.name}}])}();exports.disposeApp=function(){e&&(e.destroy(),e=void 0)},exports.getCurrentApp=function(){return e||s.get("root")||function(){var t=new h("root");return s.set("root",t),t}()},exports.intApp=function(t){var r=window,n=r[i.APP_CACHE_PARENT_KEY]||r[i.APP_PARENT_KEY]||"root";e||(e=new h(t,n),r[i.APP_PARENT_KEY]=t,r[i.APP_CACHE_PARENT_KEY]=n)};
|
|
2
|
+
//# sourceMappingURL=manage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manage.js","sources":["../../src/application/manage.ts"],"sourcesContent":["import {\n APP_CACHE_PARENT_KEY,\n APP_MANAGE_KEY,\n APP_PARENT_KEY,\n} from './constants';\n\nimport EventEmitter from 'eventemitter3';\n\nconst win = (0, eval)('this');\nconst appMap: Map<string, App> =\n win[APP_MANAGE_KEY] || (win[APP_MANAGE_KEY] = new Map());\n\nclass App {\n name: string;\n parent: App | undefined;\n private children: App[] = [];\n private cacheMap: Map<string, any> = new Map();\n emitter = new EventEmitter();\n constructor(name: string, parent?: string) {\n this.name = name;\n if (parent) {\n this.parent = this.getParent(parent);\n this.parent.addChildren(this);\n }\n appMap.set(name, this);\n }\n private getParent(parent: string): App {\n if (parent === 'root' && !appMap.has(parent)) {\n const root = new App('root', '');\n appMap.set(parent, root);\n return root;\n }\n if (!appMap.has(parent)) {\n throw new Error(`quick micro app manage error:${parent} 应用未加载!`);\n }\n return appMap.get(parent)!;\n }\n get root() {\n let root: App = this;\n while (root?.parent) {\n root = root.parent;\n }\n return root;\n }\n get isRoot() {\n return this.root.name === this.name;\n }\n addChildren(child: App) {\n this.children.push(child);\n }\n removeChildren(name: string) {\n this.children = this.children.filter(app => app.name !== name);\n }\n on = this.emitter.on.bind(this.emitter);\n once = this.emitter.once.bind(this.emitter);\n off = this.emitter.off.bind(this.emitter);\n /***\n * 向父级通信\n */\n trigger(name: string, data: any) {\n if (this.parent) this.parent.emitter.emit(name, data);\n }\n\n /**\n * 向所有子级通信\n */\n broadcast(name: string, data: any) {\n for (let i = 0, len = this.children.length; i < len; i++) {\n this.children[i].emitter.emit(name, data);\n }\n }\n\n cache(key: string, value?: any) {\n if (typeof value !== 'undefined') this.cacheMap.set(key, value);\n return this.cacheMap.get(key);\n }\n\n destroy() {\n this.emitter.removeAllListeners();\n this.cacheMap.clear();\n\n while (this.children.length) {\n this.children.pop()!.destroy();\n }\n if (this.parent) this.parent.removeChildren(this.name);\n }\n}\n\nlet app: App | undefined;\n\nexport const intApp = (name: string) => {\n const win = window as any;\n //@mark 解决proxy缓存问题,如果强行清除proxy上的缓存,可能导致其它问题引入,所以自行缓存父级缓存关系\n let parent = win[APP_CACHE_PARENT_KEY] || win[APP_PARENT_KEY] || 'root';\n if (!app) {\n app = new App(name, parent);\n win[APP_PARENT_KEY] = name;\n win[APP_CACHE_PARENT_KEY] = parent;\n }\n};\n\nexport const getCurrentApp = () => {\n if (app) return app;\n return (\n appMap.get('root') ||\n (() => {\n const app = new App('root');\n appMap.set('root', app);\n return app;\n })()\n );\n};\n\nexport const disposeApp = () => {\n if (app) {\n app.destroy();\n app = undefined;\n }\n};\n"],"names":["app","win","eval","appMap","APP_MANAGE_KEY","Map","App","name","parent","this","EventEmitter","emitter","on","bind","once","off","getParent","addChildren","set","_proto","prototype","has","root","Error","get","child","children","push","removeChildren","filter","trigger","data","emit","broadcast","i","len","length","cache","key","value","cacheMap","destroy","removeAllListeners","clear","pop","_createClass","_root","undefined","window","APP_CACHE_PARENT_KEY","APP_PARENT_KEY"],"mappings":"mBAwFIA,kKAhFEC,GAAM,EAAIC,MAAM,QAChBC,EACJF,EAAIG,oBAAoBH,EAAIG,kBAAkB,IAAIC,KAE9CC,aAMJ,SAAAA,EAAYC,EAAcC,GAHlBC,cAAkB,GAClBA,cAA6B,IAAIJ,IACzCI,aAAU,IAAIC,EAoCdD,QAAKA,KAAKE,QAAQC,GAAGC,KAAKJ,KAAKE,SAC/BF,UAAOA,KAAKE,QAAQG,KAAKD,KAAKJ,KAAKE,SACnCF,SAAMA,KAAKE,QAAQI,IAAIF,KAAKJ,KAAKE,SApC/BF,KAAKF,KAAOA,EACRC,IACFC,KAAKD,OAASC,KAAKO,UAAUR,GAC7BC,KAAKD,OAAOS,YAAYR,OAE1BN,EAAOe,IAAIX,EAAME,MAClB,IAAAU,EAAAb,EAAAc,UA4DA,OA5DAD,EACOH,UAAA,SAAUR,GAChB,GAAe,SAAXA,IAAsBL,EAAOkB,IAAIb,GAAS,CAC5C,IAAMc,EAAO,IAAIhB,EAAI,OAAQ,IAE7B,OADAH,EAAOe,IAAIV,EAAQc,GACZA,EAET,IAAKnB,EAAOkB,IAAIb,GACd,MAAM,IAAIe,sCAAsCf,aAElD,OAAOL,EAAOqB,IAAIhB,IACnBW,EAWDF,YAAA,SAAYQ,GACVhB,KAAKiB,SAASC,KAAKF,IACpBN,EACDS,eAAA,SAAerB,GACbE,KAAKiB,SAAWjB,KAAKiB,SAASG,QAAO,SAAA7B,GAAG,OAAIA,EAAIO,OAASA,MAK3DY,EAGAW,QAAA,SAAQvB,EAAcwB,GAChBtB,KAAKD,QAAQC,KAAKD,OAAOG,QAAQqB,KAAKzB,EAAMwB,IAGlDZ,EAGAc,UAAA,SAAU1B,EAAcwB,GACtB,IAAK,IAAIG,EAAI,EAAGC,EAAM1B,KAAKiB,SAASU,OAAQF,EAAIC,EAAKD,IACnDzB,KAAKiB,SAASQ,GAAGvB,QAAQqB,KAAKzB,EAAMwB,IAEvCZ,EAEDkB,MAAA,SAAMC,EAAaC,GAEjB,YADqB,IAAVA,GAAuB9B,KAAK+B,SAAStB,IAAIoB,EAAKC,GAClD9B,KAAK+B,SAAShB,IAAIc,IAC1BnB,EAEDsB,QAAA,WAIE,IAHAhC,KAAKE,QAAQ+B,qBACbjC,KAAK+B,SAASG,QAEPlC,KAAKiB,SAASU,QACnB3B,KAAKiB,SAASkB,MAAOH,UAEnBhC,KAAKD,QAAQC,KAAKD,OAAOoB,eAAenB,KAAKF,OAClDsC,cAAAvC,IAAAgC,WAAAd,IAhDD,WAEE,IADA,IAAIF,EAAYb,YAChBqC,EAAOxB,IAAAwB,EAAMtC,QAAQ,CAAA,IAAAsC,EACnBxB,EAAOA,EAAKd,OAEd,OAAOc,KACRgB,aAAAd,IACD,WACE,OAAOf,KAAKa,KAAKf,OAASE,KAAKF,+BAoET,WACpBP,IACFA,EAAIyC,UACJzC,OAAM+C,0BAfmB,WAC3B,OAAI/C,GAEFG,EAAOqB,IAAI,SACV,WACC,IAAMxB,EAAM,IAAIM,EAAI,QAEpB,OADAH,EAAOe,IAAI,OAAQlB,GACZA,EAHR,mBAfiB,SAACO,GACrB,IAAMN,EAAM+C,OAERxC,EAASP,EAAIgD,yBAAyBhD,EAAIiD,mBAAmB,OAC5DlD,IACHA,EAAM,IAAIM,EAAIC,EAAMC,GACpBP,EAAIiD,kBAAkB3C,EACtBN,EAAIgD,wBAAwBzC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var e=require("../application/manage.js"),n=require("../utils/localstorage.js"),r=require("./version.js"),t=function(n){return function(){var r,t=null==(r=e.getCurrentApp())?void 0:r.root;t||console.warn("quick platform warn:root App not found!!!");var o=null==t?void 0:t.cache("userinfo");return null!=o&&o.userId||console.error("quick platform warn:root App not logged in yet"),n(o||{})}},o=t((function(e){return e.rightList||[]})),s=t((function(e){return e.statffInfo||{}})),i=t((function(e){return e.staffInfo||{}})),u=t((function(e){return e.storeInfo||{}})),c=t((function(e){return e.storeLicenceInfo||{}})),a=function(){var e;return null==(e=window.QUICK_CEP)||null==(e=e.oem)?void 0:e.name},l=function(e){return function(){return e(c())}};exports.License={isPLG:l(r.isPLG),isSLG:l(r.isSLG),isEnterprise:l(r.isEnterprise),isFree:l(r.isFree),isProfessional:l(r.isProfessional),isCredits:l(r.isCredits),getLicense:c,isOEM:function(){return!!a()}},exports.getOEMName=a,exports.getStaffInfo=i,exports.getStoreInfo=u,exports.getStoreLicense=c,exports.getSystem=function(){var e=process.env.OEM_NAME,r=e?"zh-CN":"en-US";return{oem:e,env:process.env.REACT_APP_ENVKEY,lang:n.default.getData("qs_lang")||r,token:sessionStorage.getItem("quick-token")||"",requestTokenKey:"quick-token",storeId:sessionStorage.getItem("quick-im-storeId")||""}},exports.getUserInfo=s,exports.hasAuth=function(e){return o().includes(e)},exports.login=function(n){var r,t,o=null==(r=e.getCurrentApp())?void 0:r.root;null!=(t=e.getCurrentApp())&&t.isRoot||console.warn("quick platform login warn:current App is not Root App. Invalid login!",e.getCurrentApp()),o&&(null==o||o.cache("userinfo",n))};
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/business/index.ts"],"sourcesContent":["import { getCurrentApp } from '../application/manage';\nimport ls from '../utils/localstorage';\nimport { UserInfo } from './declare';\nimport {\n isCredits,\n isEnterprise,\n isFree,\n isPLG,\n isProfessional,\n isSLG,\n} from './version';\n\ninterface Env {\n AIBOT_URL: string;\n APP_URL: string;\n CHAT_URL: string;\n MOPOWER: string;\n MOPOWER_MICRO: string;\n Shoplazza_URL: string;\n Shopify_URL: string;\n Shopline_URL: string;\n Shopyy_URL: string;\n PRODUCT_URL: string;\n PRODUCT_TYPE_URL: string;\n COLLECTION_URL: string;\n appId: number;\n isProd?: boolean;\n isDev?: boolean;\n isTest?: boolean;\n socketUrl: string;\n}\n\nlet GlobalUserInfo: UserInfo = {} as any;\n\nexport const login = (userInfo: UserInfo) => {\n const root = getCurrentApp()?.root;\n if (!getCurrentApp()?.isRoot) {\n console.warn(\n 'quick platform login warn:current App is not Root App. Invalid login!',\n getCurrentApp()\n );\n }\n GlobalUserInfo = userInfo;\n if (root) {\n root?.cache('userinfo', userInfo);\n }\n};\n\nconst buildSystemGetter = <T>(\n fn: (data: UserInfo) => T\n): (() => Partial<T>) => {\n return () => {\n const root = getCurrentApp()?.root;\n if (!root) {\n console.warn('quick platform warn:root App not found!!!');\n }\n const userinfo = root?.cache('userinfo');\n if (!userinfo?.userId) {\n console.error('quick platform warn:root App not logged in yet');\n }\n return fn(userinfo || {});\n };\n};\n\nconst authFunction = buildSystemGetter(userInfo => {\n return userInfo.rightList || [];\n});\n\nexport const getUserInfo = buildSystemGetter(userInfo => {\n return userInfo.statffInfo || {};\n});\n\nexport const getStaffInfo = buildSystemGetter(userInfo => {\n return userInfo.staffInfo || {};\n});\n\nexport const getStoreInfo = buildSystemGetter(userInfo => {\n return userInfo.storeInfo || {};\n});\n\nexport const getStoreLicense = buildSystemGetter(\n userInfo => userInfo.storeLicenceInfo || {}\n);\n\nexport const hasAuth = (code: string) => {\n return authFunction().includes(code);\n};\n\nexport const getSystem = () => {\n const oem = process.env.OEM_NAME;\n const defaultLang = oem ? 'zh-CN' : 'en-US';\n return {\n oem: oem,\n env: process.env.REACT_APP_ENVKEY,\n lang: (ls.getData('qs_lang') || defaultLang) as\n | 'zh-CN'\n | 'en-US'\n | 'ko'\n | 'ja'\n | 'zh-TW'\n | 'ind',\n token: sessionStorage.getItem('quick-token') || '',\n requestTokenKey: 'quick-token',\n storeId: sessionStorage.getItem('quick-im-storeId') || '',\n };\n};\n\nexport const getOEMName = () => {\n return (window as any).QUICK_CEP?.oem?.name;\n};\n\nconst LicenseCreator = (\n fn: (licence: Partial<UserInfo['storeLicenceInfo']>) => boolean\n) => {\n return () => {\n return fn(getStoreLicense());\n };\n};\n\nexport const License = {\n isPLG: LicenseCreator(isPLG),\n isSLG: LicenseCreator(isSLG),\n isEnterprise: LicenseCreator(isEnterprise),\n isFree: LicenseCreator(isFree),\n isProfessional: LicenseCreator(isProfessional),\n isCredits: LicenseCreator(isCredits),\n getLicense: getStoreLicense,\n isOEM() {\n return !!getOEMName();\n },\n};\n"],"names":["buildSystemGetter","fn","root","_getCurrentApp3","getCurrentApp","console","warn","userinfo","cache","userId","error","authFunction","userInfo","rightList","getUserInfo","statffInfo","getStaffInfo","staffInfo","getStoreInfo","storeInfo","getStoreLicense","storeLicenceInfo","getOEMName","_window$QUICK_CEP","window","QUICK_CEP","oem","name","LicenseCreator","isPLG","isSLG","isEnterprise","isFree","isProfessional","isCredits","getLicense","isOEM","process","env","OEM_NAME","defaultLang","REACT_APP_ENVKEY","lang","ls","getData","token","sessionStorage","getItem","requestTokenKey","storeId","code","includes","_getCurrentApp","_getCurrentApp2","isRoot"],"mappings":"uHAgDMA,EAAoB,SACxBC,GAEA,OAAO,iBACCC,SAAIC,EAAGC,0BAAAD,EAAiBD,KACzBA,GACHG,QAAQC,KAAK,6CAEf,IAAMC,QAAWL,SAAAA,EAAMM,MAAM,YAI7B,aAHKD,GAAAA,EAAUE,QACbJ,QAAQK,MAAM,kDAETT,EAAGM,GAAY,MAIpBI,EAAeX,GAAkB,SAAAY,GACrC,OAAOA,EAASC,WAAa,MAGlBC,EAAcd,GAAkB,SAAAY,GAC3C,OAAOA,EAASG,YAAc,MAGnBC,EAAehB,GAAkB,SAAAY,GAC5C,OAAOA,EAASK,WAAa,MAGlBC,EAAelB,GAAkB,SAAAY,GAC5C,OAAOA,EAASO,WAAa,MAGlBC,EAAkBpB,GAC7B,SAAAY,GAAQ,OAAIA,EAASS,kBAAoB,MA0B9BC,EAAa,iBACxB,cAAAC,EAAQC,OAAeC,mBAASF,EAAxBA,EAA0BG,YAA1BH,EAA+BI,MAGnCC,EAAiB,SACrB3B,GAEA,OAAO,WACL,OAAOA,EAAGmB,uBAIS,CACrBS,MAAOD,EAAeC,SACtBC,MAAOF,EAAeE,SACtBC,aAAcH,EAAeG,gBAC7BC,OAAQJ,EAAeI,UACvBC,eAAgBL,EAAeK,kBAC/BC,UAAWN,EAAeM,aAC1BC,WAAYf,EACZgB,iBACE,QAASd,qHAxCY,WACvB,IAAMI,EAAMW,QAAQC,IAAIC,SAClBC,EAAcd,EAAM,QAAU,QACpC,MAAO,CACLA,IAAKA,EACLY,IAAKD,QAAQC,IAAIG,iBACjBC,KAAOC,UAAGC,QAAQ,YAAcJ,EAOhCK,MAAOC,eAAeC,QAAQ,gBAAkB,GAChDC,gBAAiB,cACjBC,QAASH,eAAeC,QAAQ,qBAAuB,2CAnBpC,SAACG,GACtB,OAAOvC,IAAewC,SAASD,kBAnDZ,SAACtC,WACdV,SAAIkD,EAAGhD,0BAAAgD,EAAiBlD,YAC1BmD,EAACjD,oBAAAiD,EAAiBC,QACpBjD,QAAQC,KACN,wEACAF,mBAIAF,UACFA,GAAAA,EAAMM,MAAM,WAAYI"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var e,r;!function(e){e[e.Trial=1]="Trial",e[e.Free=2]="Free",e[e.Basic=3]="Basic",e[e.Professional=4]="Professional",e[e.Ultimate=5]="Ultimate",e[e.FreeCode=13]="FreeCode",e[e.Starter=14]="Starter",e[e.Growth=15]="Growth",e[e.Enterprise=6]="Enterprise"}(e||(e={})),function(e){e.Enterprise="ENTERPRISE",e.PLG="PLG"}(r||(r={}));var t=[e.Free,e.FreeCode,e.Starter,e.Growth],i=function(e){return void 0!==e.licenceId&&t.includes(e.licenceId)};exports.isCredits=function(e){return!(r.Enterprise===e.licenceType&&1===e.useBalance)},exports.isEnterprise=function(r){return e.Enterprise===r.licenceId},exports.isFree=function(r){return e.Free===r.licenceId},exports.isPLG=i,exports.isProfessional=function(r){return e.Professional===r.licenceId},exports.isSLG=function(e){return!i(e)};
|
|
2
|
+
//# sourceMappingURL=version.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sources":["../../src/business/version.ts"],"sourcesContent":["import { UserInfo } from './declare';\n\nenum ReleaseMap {\n 'Trial' = 1,\n 'Free' = 2,\n 'Basic' = 3,\n 'Professional' = 4,\n 'Ultimate' = 5,\n 'FreeCode' = 13,\n 'Starter' = 14,\n 'Growth' = 15,\n 'Enterprise' = 6,\n}\n//@mark LicenseTypeMap对应storeInfo里面的licenceType\n// storeInfo 里的licenceType与licenceId没有对应关系,不能复用上文ReleaseMap的处理\nenum LicenseTypeMap {\n Enterprise = 'ENTERPRISE', //企业版本\n PLG = 'PLG', // (, \"PLG版本\"),\n}\n\nconst PLGList: number[] = [\n ReleaseMap.Free,\n ReleaseMap.FreeCode,\n ReleaseMap.Starter,\n ReleaseMap.Growth,\n];\n\nexport const isPLG = (licence: Partial<UserInfo['storeLicenceInfo']>) => {\n if (typeof licence.licenceId === 'undefined') return false;\n return PLGList.includes(licence.licenceId);\n};\n\nexport const isSLG = (licence: Partial<UserInfo['storeLicenceInfo']>) => {\n return !isPLG(licence);\n};\n\nexport const isEnterprise = (\n licence: Partial<UserInfo['storeLicenceInfo']>\n) => {\n return ReleaseMap.Enterprise === licence.licenceId;\n};\n\nexport const isFree = (licence: Partial<UserInfo['storeLicenceInfo']>) => {\n return ReleaseMap.Free === licence.licenceId;\n};\n\nexport const isProfessional = (\n licence: Partial<UserInfo['storeLicenceInfo']>\n) => {\n return ReleaseMap.Professional === licence.licenceId;\n};\n\nexport const isCredits = (licence: Partial<UserInfo['storeLicenceInfo']>) => {\n return !(\n LicenseTypeMap.Enterprise === licence.licenceType &&\n licence.useBalance === 1\n );\n};\n"],"names":["ReleaseMap","LicenseTypeMap","PLGList","Free","FreeCode","Starter","Growth","isPLG","licence","licenceId","includes","Enterprise","licenceType","useBalance","Professional"],"mappings":"aAEA,IAAKA,EAaAC,GAbL,SAAKD,GACHA,qBACAA,mBACAA,qBACAA,mCACAA,2BACAA,4BACAA,0BACAA,wBACAA,+BATF,CAAKA,IAAAA,OAaL,SAAKC,GACHA,0BACAA,YAFF,CAAKA,IAAAA,OAKL,IAAMC,EAAoB,CACxBF,EAAWG,KACXH,EAAWI,SACXJ,EAAWK,QACXL,EAAWM,QAGAC,EAAQ,SAACC,GACpB,YAAiC,IAAtBA,EAAQC,WACZP,EAAQQ,SAASF,EAAQC,8BAuBT,SAACD,GACxB,QACEP,EAAeU,aAAeH,EAAQI,aACf,IAAvBJ,EAAQK,kCAnBgB,SAC1BL,GAEA,OAAOR,EAAWW,aAAeH,EAAQC,0BAGrB,SAACD,GACrB,OAAOR,EAAWG,OAASK,EAAQC,kDAGP,SAC5BD,GAEA,OAAOR,EAAWc,eAAiBN,EAAQC,yBAjBxB,SAACD,GACpB,OAAQD,EAAMC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IconFont.js","sources":["../../src/components/IconFont.ts"],"sourcesContent":["import React from 'react';\nimport { createFromIconfontCN } from '@ant-design/icons';\nimport { IconFontProps } from '@ant-design/icons/lib/components/IconFont';\nconst hasInstalled = !!document.getElementById('_CD_ICON_1633');\nconst IconFont: React.FC<IconFontProps> = createFromIconfontCN({\n scriptUrl: hasInstalled\n ? ''\n : 'https://front-assets.obs.ap-southeast-3.myhuaweicloud.com/library/icon/icon.js', //https://front-assets.quickcep.com/library/icon/icon.js\n});\n\nexport default IconFont;\n"],"names":["createFromIconfontCN","scriptUrl","document","getElementById"],"mappings":"gEAI0CA,uBAAqB,CAC7DC,UAFqBC,SAASC,eAAe,iBAGzC,GACA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var e,t=require("../_virtual/_rollupPluginBabelHelpers.js"),n=require("../business/index.js"),o=require("react"),a=(e=o)&&"object"==typeof e&&"default"in e?e.default:e,r=["post"],l=["post"],i=function(e,t){for(var n=arguments.length,a=new Array(n>2?n-2:0),r=2;r<n;r++)a[r-2]=arguments[r];var l=o.useState(),i=l[0],c=l[1],s=o.useState(!0),u=s[0],d=s[1],f=function(){return d(!0),e.apply(void 0,[t].concat(a)).then((function(e){c(e)})).finally((function(){d(!1)}))};return o.useEffect((function(){f()}),[]),{data:i,loading:u,request:f,setData:c}},c=a.createElement("div",{style:{width:"100%",height:"100&",textAlign:"center",fontSize:40}},["微应用本地调试模式初始化中..."]),s=function(e){return document.getElementById(e).value},u=function(e){return a.createElement("div",{style:{fontSize:20,display:"flex",alignItems:"center",justifyContent:"center",flexDirection:"column",height:"100%"}},[a.createElement("div",{}),["请先登录:",a.createElement("table",{},[a.createElement("tr",{},[a.createElement("td",{},["帐号:",a.createElement("input",{id:"local_debug_account",style:{fontSize:20,width:400}})])]),a.createElement("tr",{},[a.createElement("td",{},["密码:",a.createElement("input",{id:"local_debug_password",type:"password",style:{fontSize:20,width:400}})])]),a.createElement("tr",{},[a.createElement("td",{colSpan:2},[a.createElement("button",{style:{fontSize:20,width:"100%"},onClickCapture:function(){e.onLogin({email:s("local_debug_account"),loginStatus:2,password:s("local_debug_password")})}},["登录"])])])])]])},d=function(e){var o=e.post,l=t.objectWithoutPropertiesLoose(e,r),c=n.getStoreInfo(),s=n.getStaffInfo(),u=window.localStorage.getItem("quick_local_debug_lang")||"zh-CN",d=i(o,"/store/store/list").data;return a.createElement("div",{style:{position:"fixed",right:10,bottom:10,zIndex:1e4}},["quick-platform子应用调试工具:",a.createElement("div",{key:"store"},[a.createElement("span",{style:{float:"left"}},["当前店铺:"]),a.createElement("select",{style:{fontSize:16},value:c.id,onChange:function(e){o("/store/store/switch",{storeId:e.target.value}).then((function(e){sessionStorage.setItem("quick-storeId",e.storeId),sessionStorage.setItem("quick-token",e.jwt),sessionStorage.removeItem("quick-qyWechat"),console.log("%c [ halvee>]-133","font-size:13px; background:pink; color:#bf2c9f;",e.jwt),window.location.reload()})).catch((function(){alert("切换店铺失败")}))}},(d||[]).map((function(e){return a.createElement("option",{value:e.id,key:e.id},[e.storeName])})))]),a.createElement("div",{},[a.createElement("span",{style:{float:"left"}},["当前语言:"]),a.createElement("select",{style:{fontSize:16},value:u,onChange:function(e){localStorage.setItem("quick_local_debug_lang",e.target.value),window.location.reload()}},["zh-CN","en-US","ko","ja","zh-TW","ind"].map((function(e){return a.createElement("option",{value:e,key:e},[e])})))]),a.createElement("div",{key:"user"},["当前用户:"+s.email]),a.createElement("button",{onClick:function(){sessionStorage.clear(),l.onLogout()}},["退出登录"])])};exports.default=function(e){var o=e.post,r=t.objectWithoutPropertiesLoose(e,l),s=i(o,"/store/user/getUserInfo"),f=s.data,m=s.setData;return s.loading?c:f?(sessionStorage.setItem("quick-token",f.jwt),n.login(f),a.createElement(a.Fragment,{},r.hideInfo?r.children:[a.createElement(d,{key:"info-wrapper",post:o,onLogout:function(){m(null)}}),r.children])):a.createElement(u,{onLogin:function(e){o("/store/user/login",e).then((function(e){n.login(e),m(e)})).catch((function(e){alert(e.data.message||"登录失败")}))}})};
|
|
2
|
+
//# sourceMappingURL=LocalDebug.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LocalDebug.js","sources":["../../src/components/LocalDebug.ts"],"sourcesContent":["import React, { PropsWithChildren, useEffect, useState } from 'react';\nconst URls = {\n UserInfoUrl: '/store/user/getUserInfo',\n Login: '/store/user/login',\n StoreList: '/store/store/list',\n ChangeStore: '/store/store/switch',\n};\nimport * as Authentication from '../business';\n\nconst useRequest = (\n http: (...args: any[]) => Promise<any>,\n url: string,\n ...params: any[]\n) => {\n const [data, setData] = useState<any>();\n const [loading, setLoading] = useState(true);\n const request = () => {\n setLoading(true);\n return http(url, ...params)\n .then(user => {\n setData(user);\n })\n .finally(() => {\n setLoading(false);\n });\n };\n useEffect(() => {\n request();\n }, []);\n\n return {\n data,\n loading,\n request,\n setData,\n };\n};\n\nconst Spining = React.createElement(\n 'div',\n {\n style: {\n width: '100%',\n height: '100&',\n textAlign: 'center',\n fontSize: 40,\n },\n },\n ['微应用本地调试模式初始化中...']\n);\n\nconst valueById = (id: string) => (document.getElementById(id) as any)!.value;\n\nconst Login: React.FC<{ onLogin(data: any): void }> = props => {\n const login = () => {\n props.onLogin({\n email: valueById('local_debug_account'),\n loginStatus: 2,\n password: valueById('local_debug_password'),\n });\n };\n return React.createElement(\n 'div',\n {\n style: {\n fontSize: 20,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexDirection: 'column',\n height: '100%',\n },\n },\n [\n React.createElement('div', {}),\n [\n '请先登录:',\n React.createElement('table', {}, [\n React.createElement('tr', {}, [\n React.createElement('td', {}, [\n '帐号:',\n React.createElement('input', {\n id: 'local_debug_account',\n style: { fontSize: 20, width: 400 },\n }),\n ]),\n ]),\n React.createElement('tr', {}, [\n React.createElement('td', {}, [\n '密码:',\n React.createElement('input', {\n id: 'local_debug_password',\n type: 'password',\n style: { fontSize: 20, width: 400 },\n }),\n ]),\n ]),\n React.createElement('tr', {}, [\n React.createElement(\n 'td',\n {\n colSpan: 2,\n },\n [\n React.createElement(\n 'button',\n {\n style: { fontSize: 20, width: '100%' },\n onClickCapture: login,\n },\n ['登录']\n ),\n ]\n ),\n ]),\n ]),\n ],\n ]\n );\n};\n\nconst Info: React.FC<{\n onLogout(): void;\n post(...args: any[]): Promise<any>;\n}> = ({ post, ...props }) => {\n const store = Authentication.getStoreInfo();\n const staff = Authentication.getStaffInfo();\n const lang = window.localStorage.getItem('quick_local_debug_lang') || 'zh-CN';\n const { data } = useRequest(post, URls.StoreList);\n return React.createElement(\n 'div',\n {\n style: { position: 'fixed', right: 10, bottom: 10, zIndex: 10000 },\n },\n [\n 'quick-platform子应用调试工具:',\n React.createElement('div', { key: 'store' }, [\n React.createElement('span', { style: { float: 'left' } }, [\n `当前店铺:`,\n ]),\n React.createElement(\n 'select',\n {\n style: { fontSize: 16 },\n value: store.id,\n onChange: (e: any) => {\n post(URls.ChangeStore, { storeId: e.target.value })\n .then(data => {\n sessionStorage.setItem('quick-storeId', data.storeId);\n sessionStorage.setItem('quick-token', data.jwt);\n sessionStorage.removeItem('quick-qyWechat');\n console.log(\n '%c [ halvee>]-133',\n 'font-size:13px; background:pink; color:#bf2c9f;',\n data.jwt\n );\n window.location.reload();\n })\n .catch(() => {\n alert('切换店铺失败');\n });\n },\n },\n (data || []).map((item: any) => {\n return React.createElement(\n 'option',\n { value: item.id, key: item.id },\n [item.storeName]\n );\n })\n ),\n ]),\n React.createElement('div', {}, [\n React.createElement('span', { style: { float: 'left' } }, [\n `当前语言:`,\n ]),\n React.createElement(\n 'select',\n {\n style: { fontSize: 16 },\n value: lang,\n onChange(e: any) {\n localStorage.setItem('quick_local_debug_lang', e.target.value);\n window.location.reload();\n },\n },\n ['zh-CN', 'en-US', 'ko', 'ja', 'zh-TW', 'ind'].map(key => {\n return React.createElement('option', { value: key, key: key }, [\n key,\n ]);\n })\n ),\n ]),\n React.createElement('div', { key: 'user' }, [`当前用户:${staff.email}`]),\n React.createElement(\n 'button',\n {\n onClick() {\n sessionStorage.clear();\n props.onLogout();\n },\n },\n ['退出登录']\n ),\n ]\n );\n};\n\nconst LocalDebug: React.FC<PropsWithChildren<{\n hideInfo: boolean;\n post(...args: any[]): Promise<any>;\n}>> = ({ post, ...props }) => {\n const { loading, data, setData } = useRequest(post, URls.UserInfoUrl);\n if (loading) return Spining;\n if (!data)\n return React.createElement(Login, {\n onLogin: info => {\n post(URls.Login, info)\n .then(data => {\n Authentication.login(data);\n setData(data);\n })\n .catch(e => {\n alert(e.data.message || '登录失败');\n });\n },\n });\n sessionStorage.setItem('quick-token', data.jwt);\n Authentication.login(data);\n if (props.hideInfo)\n return React.createElement(React.Fragment, {}, props.children);\n return React.createElement(React.Fragment, {}, [\n React.createElement(Info, {\n key: 'info-wrapper',\n post,\n onLogout() {\n setData(null);\n },\n }),\n props.children,\n ]);\n};\n\nexport default LocalDebug;\n"],"names":["useRequest","http","url","params","Array","_len","_key","arguments","_useState","useState","data","setData","_useState2","loading","setLoading","request","apply","concat","then","user","useEffect","Spining","React","createElement","style","width","height","textAlign","fontSize","valueById","id","document","getElementById","value","Login","props","display","alignItems","justifyContent","flexDirection","type","colSpan","onClickCapture","onLogin","email","loginStatus","password","Info","_ref","post","_objectWithoutPropertiesLoose","_excluded","store","Authentication","staff","lang","window","localStorage","getItem","position","right","bottom","zIndex","key","float","onChange","e","storeId","target","sessionStorage","setItem","jwt","removeItem","console","log","location","reload","alert","map","item","storeName","onClick","clear","onLogout","_ref2","_excluded2","_useRequest2","Fragment","hideInfo","children","info","message"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var e,t=require("../utils/utils.js"),n=require("../application/manage.js"),a=require("../business/index.js"),s=require("../application/index.js"),i=require("react"),r=(e=i)&&"object"==typeof e&&"default"in e?e.default:e,u=require("../event.js");exports.default=function(e){var o=i.useRef(),c=i.useState(!0),l=c[0],d=c[1];return i.useEffect((function(){return function(){o.current&&(console.log(e.name,"应用卸载"),o.current.unmount(),console.log(e.name,"应用卸载完成"))}}),[]),i.useState((function(){e.data&&n.getCurrentApp().cache(e.name+"-data",e.data)})),i.useEffect((function(){e.data&&(n.getCurrentApp().cache(e.name+"-data",e.data),u.default.broadcast(e.name+"-data-change",e.data))}),[e.data,e.name]),r.createElement("div",{style:{width:"100%",height:"100%",position:"relative"}},[r.createElement("div",{style:{width:"100%",height:"100%"},className:e.className,ref:function(n){if(n&&!o.current){var i=a.getSystem();o.current=s.loadApp(e.name,n,Object.assign({},e.extra,t.assign("base",e.base),t.assign("host",e.host),t.assign("env",e.env||i.env),t.assign("entry",e.entry))),o.current.mountPromise.then((function(){d(!1),null==e.onMounted||e.onMounted()}))}}}),l?r.createElement("div",{style:{width:"100%",height:"100%",position:"absolute",top:0,left:0}},[e.loading]):null])};
|
|
2
|
+
//# sourceMappingURL=MicroApp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MicroApp.js","sources":["../../src/components/MicroApp.ts"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { getCurrentApp, loadApp } from '../application';\nimport { assign } from '../utils/utils';\nimport { getSystem } from '../business';\nimport events from '../event';\n\nconst MicroApp: React.FC<{\n name: string;\n extra?: any;\n base?: string;\n env?: string;\n host?: string;\n data?: any;\n className?: string;\n loading?: React.ReactNode;\n entry?: string;\n onMounted?(): void;\n}> = props => {\n const app = useRef<any>();\n const [loading, setLoading] = useState(true);\n\n useEffect(() => {\n return () => {\n if (app.current) {\n console.log(props.name, '应用卸载');\n app.current.unmount();\n console.log(props.name, '应用卸载完成');\n }\n };\n }, []);\n useState(() => {\n if (props.data) {\n getCurrentApp().cache(`${props.name}-data`, props.data);\n }\n });\n\n useEffect(() => {\n if (props.data) {\n getCurrentApp().cache(`${props.name}-data`, props.data);\n events.broadcast(`${props.name}-data-change`, props.data);\n }\n }, [props.data, props.name]);\n\n return React.createElement(\n 'div',\n {\n style: {\n width: '100%',\n height: '100%',\n position: 'relative',\n },\n },\n [\n React.createElement('div', {\n style: { width: '100%', height: '100%' },\n className: props.className,\n ref(instance: any) {\n if (!instance || app.current) return;\n const system = getSystem();\n app.current = loadApp(\n props.name,\n instance,\n Object.assign(\n {},\n props.extra,\n assign('base', props.base),\n assign('host', props.host),\n assign('env', props.env || system.env),\n assign('entry', props.entry)\n )\n );\n app.current.mountPromise.then(() => {\n setLoading(false);\n props.onMounted?.();\n });\n },\n }),\n loading\n ? React.createElement(\n 'div',\n {\n style: {\n width: '100%',\n height: '100%',\n position: 'absolute',\n top: 0,\n left: 0,\n },\n },\n [props.loading]\n )\n : null,\n ]\n );\n};\n\nexport default MicroApp;\n"],"names":["props","app","useRef","_useState","useState","loading","setLoading","useEffect","current","console","log","name","unmount","data","getCurrentApp","cache","events","broadcast","React","createElement","style","width","height","position","className","ref","instance","system","getSystem","loadApp","Object","assign","extra","base","host","env","entry","mountPromise","then","onMounted","top","left"],"mappings":"kRAiBK,SAAAA,GACH,IAAMC,EAAMC,WACZC,EAA8BC,YAAS,GAAhCC,EAAOF,KAAEG,EAAUH,KAwB1B,OAtBAI,aAAU,WACR,OAAO,WACDN,EAAIO,UACNC,QAAQC,IAAIV,EAAMW,KAAM,QACxBV,EAAIO,QAAQI,UACZH,QAAQC,IAAIV,EAAMW,KAAM,cAG3B,IACHP,YAAS,WACHJ,EAAMa,MACRC,kBAAgBC,MAASf,EAAMW,aAAaX,EAAMa,SAItDN,aAAU,WACJP,EAAMa,OACRC,kBAAgBC,MAASf,EAAMW,aAAaX,EAAMa,MAClDG,UAAOC,UAAajB,EAAMW,oBAAoBX,EAAMa,SAErD,CAACb,EAAMa,KAAMb,EAAMW,OAEfO,EAAMC,cACX,MACA,CACEC,MAAO,CACLC,MAAO,OACPC,OAAQ,OACRC,SAAU,aAGd,CACEL,EAAMC,cAAc,MAAO,CACzBC,MAAO,CAAEC,MAAO,OAAQC,OAAQ,QAChCE,UAAWxB,EAAMwB,UACjBC,aAAIC,GACF,GAAKA,IAAYzB,EAAIO,QAArB,CACA,IAAMmB,EAASC,cACf3B,EAAIO,QAAUqB,UACZ7B,EAAMW,KACNe,EACAI,OAAOC,OACL,GACA/B,EAAMgC,MACND,SAAO,OAAQ/B,EAAMiC,MACrBF,SAAO,OAAQ/B,EAAMkC,MACrBH,SAAO,MAAO/B,EAAMmC,KAAOR,EAAOQ,KAClCJ,SAAO,QAAS/B,EAAMoC,SAG1BnC,EAAIO,QAAQ6B,aAAaC,MAAK,WAC5BhC,GAAW,SACXN,EAAMuC,WAANvC,EAAMuC,mBAIZlC,EACIa,EAAMC,cACJ,MACA,CACEC,MAAO,CACLC,MAAO,OACPC,OAAQ,OACRC,SAAU,WACViB,IAAK,EACLC,KAAM,IAGV,CAACzC,EAAMK,UAET"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var e=require("../_virtual/_rollupPluginBabelHelpers.js"),r=require("../business/index.js"),u=["auth"];exports.default=function(t){var i=t.auth,s=void 0===i?function(){return!0}:i,n=e.objectWithoutPropertiesLoose(t,u);return r.hasAuth(n.code)&&s()?n.children:null};
|
|
2
|
+
//# sourceMappingURL=Permission.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Permission.js","sources":["../../src/components/Permission.ts"],"sourcesContent":["import React, { PropsWithChildren } from 'react';\n\nimport { hasAuth } from '../business';\n\nconst Permission: React.FC<PropsWithChildren<{\n code: string; // 权限码\n auth?: () => boolean; // 自定义权限检验\n}>> = ({ auth = () => true, ...props }) => {\n if (hasAuth(props.code) && auth()) return props.children as any;\n return null;\n};\n\nexport default Permission;\n"],"names":["_ref","auth","_ref$auth","props","_objectWithoutPropertiesLoose","_excluded","hasAuth","code","children"],"mappings":"oIAOM,SAHUA,WAGPC,KAAAA,WAAIC,EAAG,WAAA,OAAM,GAAIA,EAAKC,EAAKC,+BAAAJ,EAAAK,GAClC,OAAIC,UAAQH,EAAMI,OAASN,IAAeE,EAAMK,SACzC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var e=require("../application/manage.js");require("../application/index.js");var t,a=require("react"),n=(t=a)&&"object"==typeof t&&"default"in t?t.default:t,r=require("../event.js"),u=n.createContext({data:null});exports.App=function(t){var i,c=e.getCurrentApp(),o=a.useState(null==(i=c.parent)?void 0:i.cache(c.name+"-data")),f=o[0],d=o[1];a.useEffect((function(){var e=function(e){d(e)};return r.default.on(c.name+"-data-change",e),function(){r.default.off(c.name+"-data-change",e)}}),[c.name]);var p=a.useMemo((function(){return{data:f}}),[f]);return n.createElement(u.Provider,{value:p},[t.children])},exports.useAppData=function(){return n.useContext(u).data};
|
|
2
|
+
//# sourceMappingURL=context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.js","sources":["../../src/components/context.ts"],"sourcesContent":["import React, { useMemo, useState, useEffect } from 'react';\nimport { getCurrentApp } from '../application';\nimport events from '../event';\n\nconst AppContext = React.createContext({ data: null as any });\n\nexport const useAppData = () => React.useContext(AppContext).data;\n\nexport const App: React.FC<any> = props => {\n const app = getCurrentApp();\n const [data, setData] = useState(app.parent?.cache(`${app.name}-data`));\n useEffect(() => {\n const update = (data: any) => {\n setData(data);\n };\n events.on(`${app.name}-data-change`, update);\n return () => {\n events.off(`${app.name}-data-change`, update);\n };\n }, [app.name]);\n const value = useMemo(() => {\n return { data };\n }, [data]);\n return React.createElement(\n AppContext.Provider,\n {\n value,\n },\n [props.children]\n );\n};\n"],"names":["AppContext","React","createContext","data","props","app","getCurrentApp","_useState","useState","_app$parent","parent","cache","name","setData","useEffect","update","events","on","off","value","useMemo","createElement","Provider","children","useContext"],"mappings":"mMAIMA,EAAaC,EAAMC,cAAc,CAAEC,KAAM,mBAIb,SAAAC,SAC1BC,EAAMC,kBACZC,EAAwBC,kBAAQC,EAACJ,EAAIK,eAAJD,EAAYE,MAASN,EAAIO,eAAnDT,EAAII,KAAEM,EAAON,KACpBO,aAAU,WACR,IAAMC,EAAS,SAACZ,GACdU,EAAQV,IAGV,OADAa,UAAOC,GAAMZ,EAAIO,oBAAoBG,GAC9B,WACLC,UAAOE,IAAOb,EAAIO,oBAAoBG,MAEvC,CAACV,EAAIO,OACR,IAAMO,EAAQC,WAAQ,WACpB,MAAO,CAAEjB,KAAAA,KACR,CAACA,IACJ,OAAOF,EAAMoB,cACXrB,EAAWsB,SACX,CACEH,MAAAA,GAEF,CAACf,EAAMmB,+BAtBe,WAAH,OAAStB,EAAMuB,WAAWxB,GAAYG"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var e,t=(e=require("react"))&&"object"==typeof e&&"default"in e?e.default:e;exports.default=function(e,r){if(!r)return e;var u=[],n=0;return e.replace(/\{[a-zA-Z_0-9]*\}/g,(function(t,a){var c=e.slice(n,a);return u.push(c),u.push(r[t.slice(1,-1)]),n=a+t.length,""})),u.push(e.slice(n,e.length)),t.createElement(t.Fragment,{},u)};
|
|
2
|
+
//# sourceMappingURL=i18n.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"i18n.js","sources":["../../src/components/i18n.ts"],"sourcesContent":["import React from 'react';\nconst I18nFC = (text: string, data?: Record<string, any>) => {\n if (!data) return text;\n const list: React.ReactNode[] = [];\n let prev = 0;\n text.replace(/\\{[a-zA-Z_0-9]*\\}/g, (match, index) => {\n const prevText = text.slice(prev, index);\n list.push(prevText);\n list.push(data[match.slice(1, -1)]);\n prev = index + match.length;\n return '';\n });\n list.push(text.slice(prev, text.length));\n return React.createElement(React.Fragment, {}, list as any);\n};\n\nexport default I18nFC;\n"],"names":["text","data","list","prev","replace","match","index","prevText","slice","push","length","React","createElement","Fragment"],"mappings":"yGACe,SAACA,EAAcC,GAC5B,IAAKA,EAAM,OAAOD,EAClB,IAAME,EAA0B,GAC5BC,EAAO,EASX,OARAH,EAAKI,QAAQ,sBAAsB,SAACC,EAAOC,GACzC,IAAMC,EAAWP,EAAKQ,MAAML,EAAMG,GAIlC,OAHAJ,EAAKO,KAAKF,GACVL,EAAKO,KAAKR,EAAKI,EAAMG,MAAM,GAAI,KAC/BL,EAAOG,EAAQD,EAAMK,OACd,MAETR,EAAKO,KAAKT,EAAKQ,MAAML,EAAMH,EAAKU,SACzBC,EAAMC,cAAcD,EAAME,SAAU,GAAIX"}
|
package/dist/config.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
package/dist/event.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var r=require("./application/manage.js");exports.default={trigger:function(t,n){var e;null==(e=r.getCurrentApp())||e.trigger(t,n)},broadcast:function(t,n){var e;null==(e=r.getCurrentApp())||e.broadcast(t,n)},on:function(t,n){var e;null==(e=r.getCurrentApp())||e.on(t,n)},off:function(t,n){var e;null==(e=r.getCurrentApp())||e.off(t,n)}};
|
|
2
|
+
//# sourceMappingURL=event.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event.js","sources":["../src/event.ts"],"sourcesContent":["import { getCurrentApp } from './application/manage';\n\nconst events = {\n /**\n *向父级发送事件\n */\n trigger(name: string, data: any) {\n getCurrentApp()?.trigger(name, data);\n },\n /**\n *向子级发送事件\n */\n broadcast(name: string, data: any) {\n getCurrentApp()?.broadcast(name, data);\n },\n on(name: string, handler: (...args: any[]) => void) {\n getCurrentApp()?.on(name, handler);\n },\n off(name: string, handler: (...args: any[]) => void) {\n getCurrentApp()?.off(name, handler);\n },\n};\n\nexport default events;\n"],"names":["trigger","name","data","_getCurrentApp","getCurrentApp","broadcast","_getCurrentApp2","on","handler","_getCurrentApp3","off","_getCurrentApp4"],"mappings":"sEAEe,CAIbA,iBAAQC,EAAcC,gBACpBC,EAAAC,oBAAAD,EAAiBH,QAAQC,EAAMC,IAKjCG,mBAAUJ,EAAcC,gBACtBI,EAAAF,oBAAAE,EAAiBD,UAAUJ,EAAMC,IAEnCK,YAAGN,EAAcO,gBACfC,EAAAL,oBAAAK,EAAiBF,GAAGN,EAAMO,IAE5BE,aAAIT,EAAcO,gBAChBG,EAAAP,oBAAAO,EAAiBD,IAAIT,EAAMO"}
|
package/dist/index.js
CHANGED
|
@@ -1,8 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
if (process.env.NODE_ENV === 'production') {
|
|
5
|
-
module.exports = require('./quick-platform.cjs.production.min.js')
|
|
6
|
-
} else {
|
|
7
|
-
module.exports = require('./quick-platform.cjs.development.js')
|
|
8
|
-
}
|
|
1
|
+
"use strict";var e=require("./application/manage.js"),r=require("./business/index.js"),t=require("./application/index.js"),p=require("./event.js"),s=require("./components/MicroApp.js"),o=require("./components/Permission.js"),i=require("./components/LocalDebug.js"),n=require("./components/i18n.js"),u=require("./components/IconFont.js"),a=require("./components/context.js"),c=require("./utils/index.js"),x=require("./theme/define/index.js"),m=require("./theme/react/hook.js"),l=require("./theme/react/index.js");window.__quick_platform_get_current_app__=e.getCurrentApp,exports.getCurrentApp=e.getCurrentApp,exports.Authentication=r,exports.registerApp=t.registerApp,exports.AppEvent=p.default,exports.MicroApp=s.default,exports.Permission=o.default,exports.LocalDebug=i.default,exports.I18nFC=n.default,exports.IconFont=u.default,exports.App=a.App,exports.useAppData=a.useAppData,exports.Utils=c,exports.Theme=x,exports.useThemePrimaryColor=m.useThemePrimaryColor,exports.ThemeHOC=l.ThemeHOC;
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":["import { registerApp, getCurrentApp } from './application';\n\nimport MicroApp from './components/MicroApp';\n\nimport Permission from './components/Permission';\nimport LocalDebug from './components/LocalDebug';\n\nimport I18nFC from './components/i18n';\n\nimport IconFont from './components/IconFont';\nimport { App, useAppData } from './components/context';\n\nimport AppEvent from './event';\n\nimport * as Utils from './utils';\n\nimport * as Authentication from './business';\n\nexport * from './theme';\n\nconst win: any = window;\nconst debugKey = '__quick_platform_get_current_app__';\nwin[debugKey] = getCurrentApp;\n\nexport {\n App,\n useAppData,\n getCurrentApp,\n registerApp,\n LocalDebug,\n MicroApp,\n Permission,\n IconFont,\n AppEvent,\n Utils,\n Authentication,\n I18nFC,\n};\n"],"names":["window","getCurrentApp"],"mappings":"ggBAoBiBA,OAEL,mCAAIC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var r=153..toString(16);exports.PrimaryColor="#ff6600";var o={},t={},e=Object.keys(t).reduce((function(o,e){return o[e+"-6"]=t[e]+r,o}),{});exports.BrandColor=o,exports.FunctionalColor=t,exports.FunctionalHelperColor=e,exports.generateVar=function(r){return"--color-g-"+r},exports.updateBrandColor=function(r){return exports.PrimaryColor=r,o};
|
|
2
|
+
//# sourceMappingURL=color.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"color.js","sources":["../../../src/theme/define/color.ts"],"sourcesContent":["const DefaultOpacity = (0.6 * 255).toString(16);\n\n// eslint-disable-next-line import/no-mutable-exports\nexport let PrimaryColor = '#ff6600';\n\nexport const generateVar = (name: string) => {\n return `--color-g-${name}`;\n};\n\n//\n/* todo 预留主题色阶\n{\n 'brand-1': string;\n 'brand-2': string;\n 'brand-3': string;\n 'brand-4': string;\n 'brand-5': string;\n 'brand-6': string;\n}\n*/\nexport const BrandColor = {} as const;\n\nexport const updateBrandColor = (color: string) => {\n PrimaryColor = color;\n return BrandColor;\n};\n\n// todo 预留中性色\n// export const NeutralColor = {} ;\n\n// // todo 预留中性色-浅色\n// export const NeutralHelperColor: Record<\n// `${keyof typeof NeutralColor}-6`,\n// string\n// > = Object.keys(NeutralColor).reduce<any>((map, key) => {\n// map[`${key}-6`] =\n// NeutralColor[key as unknown as keyof typeof NeutralColor] + DefaultOpacity;\n// return map;\n// }, {});\n\n/**\n * todo预留功能色\n */\nexport const FunctionalColor = {};\n\nexport const FunctionalHelperColor: typeof FunctionalColor = Object.keys(\n FunctionalColor\n).reduce<any>((map, key) => {\n map[`${key}-6`] =\n FunctionalColor[(key as unknown) as keyof typeof FunctionalColor] +\n DefaultOpacity;\n return map;\n}, {});\n"],"names":["DefaultOpacity","toString","PrimaryColor","BrandColor","FunctionalColor","FunctionalHelperColor","Object","keys","reduce","map","key","name","color"],"mappings":"aAAA,IAAMA,EAAiB,KAAYC,SAAS,IAGjCC,qBAAe,cAiBbC,EAAa,GAuBbC,EAAkB,GAElBC,EAAgDC,OAAOC,KAClEH,GACAI,QAAY,SAACC,EAAKC,GAIlB,OAHAD,EAAOC,QACLN,EAAiBM,GACjBV,EACKS,IACN,uGA/CwB,SAACE,GAC1B,mBAAoBA,4BAgBU,SAACC,GAE/B,OADAV,qBAAeU,EACRT"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var e=require("../../_virtual/_rollupPluginBabelHelpers.js"),t=function(e,t){return{fontSize:e,fontWeight:"initial"}},l=function(t){return e.extends({},t,{fontWeight:"bold"})},r={Normal:t(13),NormalBold:l(t(13)),Small:t(12),SmallBold:l(t(12)),Middle:t(14),MiddleBold:l(t(14)),Large:t(16),LargeBold:l(t(16)),Helper:t(12)},o={Normal:t(14),Middle:t(16)};exports.EnFont="Inter",exports.NumberFont="Inter",exports.TextFont=r,exports.TitleFont=o;
|
|
2
|
+
//# sourceMappingURL=font.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"font.js","sources":["../../../src/theme/define/font.ts"],"sourcesContent":["export const EnFont = 'Inter';\nexport const NumberFont = 'Inter';\n\nconst font = (size: number, _lineHeight?: number) => {\n return { fontSize: size, fontWeight: 'initial' };\n};\n\nconst bold = (_font: ReturnType<typeof font>) => {\n return { ..._font, fontWeight: 'bold' };\n};\n\nexport const TextFont = {\n Normal: font(13, 22),\n NormalBold: bold(font(13, 22)),\n Small: font(12, 20),\n SmallBold: bold(font(12, 20)),\n Middle: font(14, 22),\n MiddleBold: bold(font(14, 22)),\n Large: font(16, 28),\n LargeBold: bold(font(16, 28)),\n Helper: font(12, 20),\n};\n\nexport const TitleFont = {\n Normal: font(14, 24),\n // Small: font(16, 24),\n Middle: font(16, 28),\n // Large: font(24, 32),\n};\n"],"names":["font","size","_lineHeight","fontSize","fontWeight","bold","_font","_extends","TextFont","Normal","NormalBold","Small","SmallBold","Middle","MiddleBold","Large","LargeBold","Helper","TitleFont"],"mappings":"0EAGMA,EAAO,SAACC,EAAcC,GAC1B,MAAO,CAAEC,SAAUF,EAAMG,WAAY,YAGjCC,EAAO,SAACC,GACZ,OAAAC,aAAYD,GAAOF,WAAY,UAGpBI,EAAW,CACtBC,OAAQT,EAAK,IACbU,WAAYL,EAAKL,EAAK,KACtBW,MAAOX,EAAK,IACZY,UAAWP,EAAKL,EAAK,KACrBa,OAAQb,EAAK,IACbc,WAAYT,EAAKL,EAAK,KACtBe,MAAOf,EAAK,IACZgB,UAAWX,EAAKL,EAAK,KACrBiB,OAAQjB,EAAK,KAGFkB,EAAY,CACvBT,OAAQT,EAAK,IAEba,OAAQb,EAAK,oBA1BO,2BACI"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";exports.BaseSize=Array.from({length:10}).reduce((function(e,r,o){return e["size-"+(o+1)]=4*(o+1),e}),{}),exports.ComponentSize={},exports.IconSize={normal:16},exports.MarginSize={},exports.ResponsiveScreenSize={s:480,m:640,l:1024,xl:1366,xxl:1920};
|
|
2
|
+
//# sourceMappingURL=size.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"size.js","sources":["../../../src/theme/define/size.ts"],"sourcesContent":["const DefaultSize = 4;\n// todo 还未定义,暂时不处理\nexport const BaseSize: {\n 'size-1': number;\n 'size-2': number;\n 'size-3': number;\n 'size-4': number;\n 'size-5': number;\n 'size-6': number;\n 'size-7': number;\n 'size-8': number;\n 'size-9': number;\n 'size-10': number;\n} = Array.from({ length: 10 }).reduce<any>((map, _, index) => {\n map[`size-${index + 1}`] = (index + 1) * DefaultSize;\n return map;\n}, {});\n\nexport const ComponentSize = {};\n\nexport const MarginSize = {};\nexport const IconSize = { normal: 16 };\n\n// 参考 https://www.woshipm.com/pd/4736098.html\nexport const ResponsiveScreenSize = {\n s: 480,\n m: 640,\n l: 1024,\n xl: 1366,\n xxl: 1920,\n};\n"],"names":["Array","from","length","reduce","map","_","index","normal","s","m","l","xl","xxl"],"mappings":"8BAaIA,MAAMC,KAAK,CAAEC,OAAQ,KAAMC,QAAY,SAACC,EAAKC,EAAGC,GAElD,OADAF,WAAYE,EAAQ,IAdF,GAcUA,EAAQ,GAC7BF,IACN,0BAE0B,oBAGL,CAAEG,OAAQ,uBADR,gCAIU,CAClCC,EAAG,IACHC,EAAG,IACHC,EAAG,KACHC,GAAI,KACJC,IAAK"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var r=function(r,o){return{borderStyle:o,borderWidth:r,borderColor:"#F0F0F0"}},o=function(r){return{borderRadius:r}},e={Small:o(6),Normal:o(8)};exports.Border={SolidStroke:r(1,"solid"),DashedStroke:r(1,"dashed")},exports.BorderRadius=e,exports.Shadow={};
|
|
2
|
+
//# sourceMappingURL=style.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"style.js","sources":["../../../src/theme/define/style.ts"],"sourcesContent":["const border = (width: number, style: 'dashed' | 'solid') => {\n return {\n borderStyle: style,\n borderWidth: width,\n borderColor: '#F0F0F0', // todo\n };\n};\nconst borderRadius = (radius: number) => {\n return { borderRadius: radius };\n};\n\nexport const BorderRadius = {\n Small: borderRadius(6),\n Normal: borderRadius(8),\n // Large: borderRadius(10), // todo\n};\n\nexport const Border = {\n SolidStroke: border(1, 'solid'),\n // SolidNormal: border(2, 'solid'),\n // SolidBold: border(3, 'solid'),\n DashedStroke: border(1, 'dashed'),\n // DashedNormal: border(2, 'dashed'),\n // DashedBold: border(3, 'dashed'),\n};\n\n// const shadow = (x: number, y: number, b: number, s: number) => {\n// return {\n// offsetX: x,\n// offsetY: y,\n// blurRadius: b,\n// spreadRadius: s,\n// color: '#00000020',\n// };\n// };\n\nexport const Shadow = {\n // Level1: shadow(0, 2, 5, 0),\n // Level2: shadow(0, 4, 10, 0),\n // Level3: shadow(0, 8, 20, 0),\n};\n"],"names":["border","width","style","borderStyle","borderWidth","borderColor","borderRadius","radius","BorderRadius","Small","Normal","SolidStroke","DashedStroke"],"mappings":"aAAA,IAAMA,EAAS,SAACC,EAAeC,GAC7B,MAAO,CACLC,YAAaD,EACbE,YAAaH,EACbI,YAAa,YAGXC,EAAe,SAACC,GACpB,MAAO,CAAED,aAAcC,IAGZC,EAAe,CAC1BC,MAAOH,EAAa,GACpBI,OAAQJ,EAAa,mBAID,CACpBK,YAAaX,EAAO,EAAG,SAGvBY,aAAcZ,EAAO,EAAG,iDAeJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/theme/lib/index.ts"],"sourcesContent":["import { Color } from '../define';\n\nexport const setPrimaryColor = (color: string) => {\n Color.updateBrandColor(color);\n document.documentElement.style.setProperty(\n Color.generateVar('primary'),\n Color.PrimaryColor\n );\n // Object.keys(Color.BrandColor).forEach(key => {\n // document.documentElement.style.setProperty(\n // Color.generateVar(key),\n // Color.BrandColor[key]\n // );\n // });\n};\n"],"names":["color","Color","document","documentElement","style","setProperty"],"mappings":"uGAE+B,SAACA,GAC9BC,mBAAuBD,GACvBE,SAASC,gBAAgBC,MAAMC,YAC7BJ,cAAkB,WAClBA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var e,r=require("../../_virtual/_rollupPluginBabelHelpers.js"),o=require("react"),t=(e=o)&&"object"==typeof e&&"default"in e?e.default:e,i=require("../define/color.js");require("../define/index.js");var n=require("../lib/index.js"),a=t.createContext({colorPrimary:i.PrimaryColor,setPrimaryColor:function(e){}});exports.ReactThemeHOC=function(e){return function(n){var l=o.useState(i.PrimaryColor),u=l[1];return t.createElement(a.Provider,{key:"theme-hoc",value:{colorPrimary:l[0],setPrimaryColor:function(e){u(e)}}},[t.createElement(e,r.extends({},n,{key:"theme-hoc-component"}))])}},exports.useThemePrimaryColor=function(){var e=o.useContext(a);return{color:e.colorPrimary,set:function(r){e.setPrimaryColor(r),n.setPrimaryColor(r)}}};
|
|
2
|
+
//# sourceMappingURL=hook.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hook.js","sources":["../../../src/theme/react/hook.ts"],"sourcesContent":["import React, { useContext, useState } from 'react';\n\nimport { Color } from '../define';\nimport { setPrimaryColor } from '../lib';\n\nconst ThemeContext = React.createContext({\n colorPrimary: Color.PrimaryColor,\n setPrimaryColor(_color: string) {},\n});\n\nexport const ReactThemeHOC = <T extends {}>(\n Component: React.FunctionComponent<T>,\n): React.FC<T> => {\n return (props) => {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const [primaryColor, setPrimaryColor] = useState(Color.PrimaryColor);\n return React.createElement(\n ThemeContext.Provider,\n {\n key: 'theme-hoc',\n value: {\n colorPrimary: primaryColor,\n setPrimaryColor(color) {\n setPrimaryColor(color);\n },\n },\n },\n [React.createElement(Component, { ...props, key: 'theme-hoc-component' })],\n );\n };\n};\n\nexport const useThemePrimaryColor = () => {\n const context = useContext(ThemeContext);\n return {\n color: context.colorPrimary,\n set(color: string) {\n context.setPrimaryColor(color);\n setPrimaryColor(color);\n },\n };\n};\n"],"names":["ThemeContext","React","createContext","colorPrimary","Color","setPrimaryColor","_color","Component","props","_useState","useState","createElement","Provider","key","value","color","_extends","context","useContext","set"],"mappings":"qPAKMA,EAAeC,EAAMC,cAAc,CACvCC,aAAcC,eACdC,yBAAgBC,6BAGW,SAC3BC,GAEA,OAAO,SAACC,GAEN,IAAAC,EAAwCC,WAASN,gBAA5BC,EAAeI,KACpC,OAAOR,EAAMU,cACXX,EAAaY,SACb,CACEC,IAAK,YACLC,MAAO,CACLX,aANaM,KAObJ,yBAAgBU,GACdV,EAAgBU,MAItB,CAACd,EAAMU,cAAcJ,EAASS,aAAOR,GAAOK,IAAK,0DAKnB,WAClC,IAAMI,EAAUC,aAAWlB,GAC3B,MAAO,CACLe,MAAOE,EAAQd,aACfgB,aAAIJ,GACFE,EAAQZ,gBAAgBU,GACxBV,kBAAgBU"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/theme/react/index.ts"],"sourcesContent":["import { ReactThemeHOC, useThemePrimaryColor } from './hook';\n\nexport const ThemeHOC = <T extends {}>(\n Component: React.FC<T>\n // options: { antd?: boolean; iconPark?: boolean; antdPrefixCls?: string } = {},\n): React.FC<T> => {\n // const { antd = true } = options;\n // if (antd) {\n // Component = AntdHOC(Component, { prefixCls: options.antdPrefixCls });\n // }\n return ReactThemeHOC(Component);\n};\n\nexport { useThemePrimaryColor };\n"],"names":["Component","ReactThemeHOC"],"mappings":"6GAEwB,SACtBA,GAOA,OAAOC,gBAAcD"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var r=require("./define/color.js"),e=require("./define/font.js"),t=require("./define/size.js"),n=require("./define/style.js"),o=function(r){return Object.keys(r).reduce((function(e,t){var n;return e[i(t)]="number"==typeof(n=r[t])?n+"px":n,e}),{})},u=function(){return[r.BrandColor,{primary:r.PrimaryColor}].reduce((function(e,t){return Object.keys(t).reduce((function(e,n){var o=r.generateVar(n);return e.colors["q-"+n]="var("+o+")",e.preflights.push(".bg-q-"+n+"{ background-color:var("+o+")}\n.text-q-"+n+"{ color:var("+o+")}"),e.vars.push(o+":"+t[n]+";"),e}),e)}),{colors:{},preflights:[],vars:[]})}(),i=function(r){return r.replace(/\B([A-Z])/g,"-$1").toLowerCase()},a=function(r){return r.replace(/\-(\w)/g,(function(r,e){return e.toUpperCase()})).replace(/^[a-z]/,(function(r){return r.toUpperCase()}))},s=function(){var r={rules:[]},t=function(e,t){r.rules.push([e,function(r){var e=a(r[1]);return t[e]?o(t[e]):{}}])};return t(/^text-q-([a-zA-Z-]+)$/,e.TextFont),t(/^title-q-([a-zA-Z-]+)$/,e.TitleFont),r}(),c=function(){var r={shortcuts:[],vars:{}},e=function(r){return{origin:r[0],type:r[1],value:r[2]}},n=function(t,n,o){var u=o.prefix,i=void 0===u?"":u,a=o.covert,s=void 0===a?e:a;r.shortcuts.push([t,function(r){var e=s(r),t=e.origin,o=e.type,u=e.value;return/title|text|top/.test(o)||!i&&/^(border)|(rd)|shadow/.test(o)?t:n[i+u]?Array.isArray(o)?o.map((function(r){return r+"-"+n[i+u]+"px"})).join(" "):o+"-"+n[i+u]+"px":t}])};return n(/^(.*)-q-(\d+)$/,t.BaseSize,{prefix:"size-"}),n(/^(m(-[rltbxy]+)?)-q-([a-z]*)$/,t.MarginSize,{covert:function(r){var t=e(r);return t.value=r[3],"m-lr"!==t.type&&"m-x"!==t.type||(t.type=["m-l","m-r"]),"m-tb"!==t.type&&"m-y"!==t.type||(t.type=["m-t","m-b"]),t}}),n(/^(p(-[rltbxy]+)?)-q-([a-z]*)$/,t.MarginSize,{covert:function(r){var t=e(r);return t.value=r[3],"p-lr"!==t.type&&"p-x"!==t.type||(t.type=["p-l","p-r"]),"p-tb"!==t.type&&"p-y"!==t.type||(t.type=["p-t","p-b"]),t}}),n(/^(gap)-q-([a-z]*)$/,t.MarginSize,{}),r}(),p=function(){var r={rules:[]},e=function(e,t,n){void 0===n&&(n=o),r.rules.push([e,function(r){var e=a(r[1]);return t[e]?n(t[e]):{}},{}])};return e(/^rd-q-([a-zA-Z-]+)$/,n.BorderRadius),e(/^border-q-([a-zA-Z-]+)$/,n.Border),["left","right","bottom","top"].forEach((function(r){e(new RegExp("^border-"+r.slice(0,1)+"-q-([a-zA-Z-]+)$"),n.Border,(function(e){var t;return(t={})["border-"+r]=e.borderWidth+"px "+e.borderStyle+" "+e.borderColor,t}))})),e(/^shadow-q-([a-zA-Z0-9-]+)$/,n.Shadow,(function(r){return{"box-shadow":r.offsetX+"px "+r.offsetY+"px "+r.blurRadius+"px "+r.spreadRadius+"px "+r.color}})),r}();exports.UnoConfig=function(){return{content:{pipeline:{include:["src/**/*.{js,ts,tsx}"]}},rules:[].concat(s.rules,p.rules),theme:{colors:u.colors},shortcuts:[].concat(c.shortcuts),layers:{default:1,"weight-lower":-1},preflights:[{getCSS:function(){return":root{"+u.vars.join("\n")+" }"}},{getCSS:function(){return u.preflights}}]}};
|
|
2
|
+
//# sourceMappingURL=uno.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uno.js","sources":["../../src/theme/uno.ts"],"sourcesContent":["import { Color, Font, Size, Style } from './define';\n\nconst prefix = 'q-';\n\nconst convertToCss = (obj: any) => {\n const toUnit = (value: string | number) => {\n if (typeof value === 'number') return value + 'px';\n return value;\n };\n return Object.keys(obj).reduce<any>((css, key) => {\n css[toLine(key)] = toUnit(obj[key]); //todo 转rem\n return css;\n }, {});\n};\n\nconst colors = (() => {\n const convertToConfig = (origin: any, colors: any) => {\n return Object.keys(colors).reduce<any>((map, key) => {\n const varKey = Color.generateVar(key);\n map['colors'][prefix + key] = `var(${varKey})`; //colors[key];\n map['preflights'].push(\n `.bg-${prefix}${key}{ background-color:var(${varKey})}\\n.text-${prefix}${key}{ color:var(${varKey})}`\n );\n map['vars'].push(`${varKey}:${colors[key]};`);\n return map;\n }, origin);\n };\n return [\n Color.BrandColor,\n // Color.NeutralColor,\n // Color.NeutralHelperColor,\n // Color.FunctionalColor,\n // Color.FunctionalHelperColor,\n { primary: Color.PrimaryColor },\n ].reduce(convertToConfig, {\n colors: {},\n preflights: [],\n vars: [],\n });\n})();\n\nconst toLine = (str: string) => {\n return str.replace(/\\B([A-Z])/g, '-$1').toLowerCase();\n};\n\nconst toCamel = (str: string) => {\n return str\n .replace(/\\-(\\w)/g, function(_, letter) {\n return letter.toUpperCase();\n })\n .replace(/^[a-z]/, m => m.toUpperCase());\n};\n\nconst fonts = (() => {\n const results = {\n rules: [] as [RegExp, Function][],\n };\n\n const convertToRules = (rule: RegExp, fonts: any) => {\n results.rules!.push([\n rule,\n ([_, match]: any) => {\n const name = toCamel(match);\n if (fonts[name]) return convertToCss(fonts[name]);\n return {};\n },\n ]);\n };\n convertToRules(/^text-q-([a-zA-Z-]+)$/, Font.TextFont);\n convertToRules(/^title-q-([a-zA-Z-]+)$/, Font.TitleFont);\n return results;\n})();\n\nconst size = (() => {\n const results = {\n shortcuts: [] as [RegExp, Function][],\n vars: {},\n };\n const matchCovert = (match: string[]) => ({\n origin: match[0],\n type: match[1],\n value: match[2],\n });\n const convertToShortCuts = (\n rule: RegExp,\n size: any,\n {\n prefix = '',\n covert = matchCovert,\n }: {\n prefix?: string;\n covert?: typeof matchCovert;\n }\n ) => {\n results.shortcuts!.push([\n rule,\n (match: any) => {\n const { origin: _, type, value } = covert(match);\n if (/title|text|top/.test(type)) return _;\n if (!prefix) {\n // 不为数字的情况,针对内置的样式需要过滤处理\n if (/^(border)|(rd)|shadow/.test(type)) return _;\n }\n\n if (size[prefix + value]) {\n if (Array.isArray(type))\n return type.map(t => `${t}-${size[prefix + value]}px`).join(' ');\n return `${type}-${size[prefix + value]}px`; //todo toRem\n }\n return _;\n },\n ]);\n };\n convertToShortCuts(/^(.*)-q-(\\d+)$/, Size.BaseSize, { prefix: 'size-' });\n // convertToShortCuts(/^(.*)-q-([a-z]*)$/, Size.ComponentSize, {});\n convertToShortCuts(/^(m(-[rltbxy]+)?)-q-([a-z]*)$/, Size.MarginSize, {\n covert(match) {\n const res = matchCovert(match);\n res.value = match[3];\n if (res.type === 'm-lr' || res.type === 'm-x') {\n res.type = ['m-l', 'm-r'] as any;\n }\n if (res.type === 'm-tb' || res.type === 'm-y') {\n res.type = ['m-t', 'm-b'] as any;\n }\n return res;\n },\n });\n convertToShortCuts(/^(p(-[rltbxy]+)?)-q-([a-z]*)$/, Size.MarginSize, {\n covert(match) {\n const res = matchCovert(match);\n res.value = match[3];\n if (res.type === 'p-lr' || res.type === 'p-x') {\n res.type = ['p-l', 'p-r'] as any;\n }\n if (res.type === 'p-tb' || res.type === 'p-y') {\n res.type = ['p-t', 'p-b'] as any;\n }\n\n return res;\n },\n });\n\n convertToShortCuts(/^(gap)-q-([a-z]*)$/, Size.MarginSize, {});\n\n return results;\n})();\n\nconst styles = (() => {\n const results = {\n rules: [] as [RegExp, Function, any][],\n };\n\n const convertToRules = (rule: RegExp, style: any, convert = convertToCss) => {\n results.rules!.push([\n rule,\n ([_, match]: any) => {\n const name = toCamel(match);\n if (style[name]) return convert(style[name]);\n return {};\n },\n {\n // layer: 'weight-lower',\n },\n ]);\n };\n convertToRules(/^rd-q-([a-zA-Z-]+)$/, Style.BorderRadius);\n convertToRules(/^border-q-([a-zA-Z-]+)$/, Style.Border);\n ['left', 'right', 'bottom', 'top'].forEach(dir => {\n convertToRules(\n new RegExp(`^border-${dir.slice(0, 1)}-${prefix}([a-zA-Z-]+)$`),\n Style.Border,\n style => {\n return {\n [`border-${dir}`]: `${style.borderWidth}px ${style.borderStyle} ${style.borderColor}`,\n };\n }\n );\n });\n convertToRules(/^shadow-q-([a-zA-Z0-9-]+)$/, Style.Shadow, shadow => {\n return {\n 'box-shadow': `${shadow.offsetX}px ${shadow.offsetY}px ${shadow.blurRadius}px ${shadow.spreadRadius}px ${shadow.color}`,\n };\n });\n return results;\n})();\n\nexport const UnoConfig = () => {\n return {\n // ...UnoCSS options\n content: {\n pipeline: {\n include: ['src/**/*.{js,ts,tsx}'],\n },\n },\n rules: [...fonts.rules!, ...styles.rules!],\n theme: {\n colors: colors.colors,\n },\n shortcuts: [...size.shortcuts],\n layers: {\n default: 1,\n 'weight-lower': -1,\n },\n preflights: [\n {\n getCSS() {\n return `:root{${colors.vars.join('\\n')} }`;\n },\n },\n {\n getCSS() {\n return colors.preflights;\n },\n },\n ],\n };\n};\n"],"names":["convertToCss","obj","Object","keys","reduce","css","key","value","toLine","colors","Color","primary","origin","map","varKey","push","preflights","vars","str","replace","toLowerCase","toCamel","_","letter","toUpperCase","m","fonts","results","rules","convertToRules","rule","_ref","name","Font","size","shortcuts","matchCovert","match","type","convertToShortCuts","_ref2","prefix","_ref2$prefix","_ref2$covert","covert","_covert","test","Array","isArray","t","join","Size","res","styles","style","convert","_ref3","Style","forEach","dir","RegExp","slice","_ref4","borderWidth","borderStyle","borderColor","shadow","box-shadow","offsetX","offsetY","blurRadius","spreadRadius","color","content","pipeline","include","concat","theme","layers","default","weight-lower","getCSS"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var n=require("./utils.js"),e=require("../business/index.js"),t="https://quick-multilingual.obs.ap-southeast-3.myhuaweicloud.com",r={"zh-CN":"zh","en-US":"en",ko:"ko",ja:"ja","zh-TW":"zh-tw",ind:"ind"},i=function(n,e){return void 0===e&&(e={}),n.replace(/\{[a-zA-Z_0-9]*\}/g,(function(n){return e[n.slice(1,-1)]}))};exports.installI18n=function(u,o){var s=function(i,u){var o={},s=e.getSystem();return{messages:o,setup:function(){var e=n.isMicroApp?s.lang:window.localStorage.getItem("quick_local_debug_lang")||s.lang;return function(n,e,i){var u;return u=function(n,e,i){return"prod"===n?t+"/"+e+"/"+r[i]+".json":t+"/"+e+"/"+n+"/"+r[i]+".json"}("dev"===n?"dev":"prod"===n?"prod":"test",e,i),fetch(u+"?t="+Date.now()).then((function(n){return n.json()})).catch((function(){return{}}))}(u||"prod",i,e).then((function(n){Object.assign(o,n)}))},i18n:function(n,e){var t=o[n];return void 0===t?n:e?t.replace(/\{[a-zA-Z_0-9]*\}/g,(function(n){return e[n.slice(1,-1)]})):t}}}(u,o);return{$i18n:s.i18n,$$i18n:i,messages:s.messages,loadPromise:(0,s.setup)()}};
|
|
2
|
+
//# sourceMappingURL=i18n.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"i18n.js","sources":["../../src/utils/i18n.ts"],"sourcesContent":["import { getSystem } from '../business';\nimport { isMicroApp } from './utils';\n\nconst baseUrl =\n 'https://quick-multilingual.obs.ap-southeast-3.myhuaweicloud.com';\n\nconst langMap = {\n 'zh-CN': 'zh',\n 'en-US': 'en',\n ko: 'ko',\n ja: 'ja',\n 'zh-TW': 'zh-tw',\n ind: 'ind'\n};\n\nconst getI18nConfigUrl = (\n env: 'test' | 'dev' | 'prod',\n name: string,\n lang: 'zh-CN' | 'en-US' | 'ko' | 'ja' | 'zh-TW' | 'ind'\n) => {\n if (env === 'prod') return `${baseUrl}/${name}/${langMap[lang]}.json`;\n return `${baseUrl}/${name}/${env}/${langMap[lang]}.json`;\n};\n\nconst loadRemoteI18n = (\n env: string,\n name: string,\n lang: 'zh-CN' | 'en-US' | 'ko' | 'ja' | 'zh-TW' | 'ind'\n) => {\n let url = '';\n if (env === 'dev') {\n url = getI18nConfigUrl('dev', name, lang);\n } else {\n url = getI18nConfigUrl(env === 'prod' ? 'prod' : 'test', name, lang);\n }\n return fetch(`${url}?t=${Date.now()}`)\n .then(res => {\n return res.json();\n })\n .catch(() => ({}));\n};\n\nconst $$i18n = (text: string, value: Record<string, any> = {}) => {\n return text.replace(/\\{[a-zA-Z_0-9]*\\}/g, key => {\n return value[key.slice(1, -1)];\n });\n};\n\nconst initI18n = (name: string, env?: string) => {\n const messages: Record<string, string> = {};\n const system = getSystem();\n\n return {\n messages,\n setup() {\n const lang: any = (() => {\n if (isMicroApp) return system.lang;\n return (\n window.localStorage.getItem('quick_local_debug_lang') || system.lang\n );\n })();\n return loadRemoteI18n(env || 'prod', name, lang).then(lang => {\n Object.assign(messages, lang);\n });\n },\n i18n(key: string, value?: Record<string, string>) {\n const content = messages[key];\n if (typeof content === 'undefined') return key;\n if (!value) return content;\n return content.replace(/\\{[a-zA-Z_0-9]*\\}/g, key => {\n return value[key.slice(1, -1)];\n });\n },\n };\n};\n\nexport const installI18n = (name: string, env?: string) => {\n const { i18n, setup, messages } = initI18n(name, env);\n return {\n $i18n: i18n,\n $$i18n,\n messages,\n loadPromise: setup(),\n };\n};\n"],"names":["baseUrl","langMap","zh-CN","en-US","ko","ja","zh-TW","ind","$$i18n","text","value","replace","key","slice","name","env","_initI18n","messages","system","getSystem","setup","lang","isMicroApp","window","localStorage","getItem","url","getI18nConfigUrl","fetch","Date","now","then","res","json","loadRemoteI18n","Object","assign","i18n","content","initI18n","$i18n","loadPromise"],"mappings":"2EAGMA,EACJ,kEAEIC,EAAU,CACdC,QAAS,KACTC,QAAS,KACTC,GAAI,KACJC,GAAI,KACJC,QAAS,QACTC,IAAK,OA8BDC,EAAS,SAACC,EAAcC,GAC5B,gBAD4BA,IAAAA,EAA6B,IAClDD,EAAKE,QAAQ,sBAAsB,SAAAC,GACxC,OAAOF,EAAME,EAAIC,MAAM,GAAI,4BAgCJ,SAACC,EAAcC,GACxC,IAAAC,EA7Be,SAACF,EAAcC,GAC9B,IAAME,EAAmC,GACnCC,EAASC,cAEf,MAAO,CACLF,SAAAA,EACAG,iBACE,IAAMC,EACAC,aAAmBJ,EAAOG,KAE5BE,OAAOC,aAAaC,QAAQ,2BAA6BP,EAAOG,KAGpE,OArCiB,SACrBN,EACAD,EACAO,GAEA,IAAIK,EAMJ,OAJEA,EAhBqB,SACvBX,EACAD,EACAO,GAEA,MAAY,SAARN,EAA0Bf,MAAWc,MAAQb,EAAQoB,WAC/CrB,MAAWc,MAAQC,MAAOd,EAAQoB,WAUpCM,CADI,QAARZ,EACqB,MAEQ,SAARA,EAAiB,OAAS,OAFnBD,EAAMO,GAI/BO,MAASF,QAASG,KAAKC,OAC3BC,MAAK,SAAAC,GACJ,OAAOA,EAAIC,iBAEN,WAAA,MAAO,MAsBLC,CAAenB,GAAO,OAAQD,EAAMO,GAAMU,MAAK,SAAAV,GACpDc,OAAOC,OAAOnB,EAAUI,OAG5BgB,cAAKzB,EAAaF,GAChB,IAAM4B,EAAUrB,EAASL,GACzB,YAAuB,IAAZ0B,EAAgC1B,EACtCF,EACE4B,EAAQ3B,QAAQ,sBAAsB,SAAAC,GAC3C,OAAOF,EAAME,EAAIC,MAAM,GAAI,OAFVyB,IASWC,CAASzB,EAAMC,GACjD,MAAO,CACLyB,MAFUxB,EAAJqB,KAGN7B,OAAAA,EACAS,SAJ2BD,EAARC,SAKnBwB,aAAarB,EALIJ,EAALI"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var n,r=(n=require("heic2any"))&&"object"==typeof n&&"default"in n?n.default:n,e=function(n,r){return new Promise((function(e,t){var u=new window.Image;u.src=URL.createObjectURL(r),u.onload=e.bind(null,u.src),u.onerror=t.bind(null,n)}))},t=function(n){return function(r){return n(r).then(e.bind(null,r)).catch((function(){return Promise.reject(r)}))}},u=t((function(n){return fetch(n,{headers:{},mode:"cors"}).then((function(n){return n.blob()})).then((function(n){return r({blob:n})})).then((function(n){return Array.isArray(n)?n[0]:n}))})),c=new Map,o=function(n,r){if(c.has(n))return c.get(n);var e=r(n);return c.set(n,e),e.finally((function(){c.delete(n)})),e};exports.tryImageTranscode=function(n,r){if(!r)return o(n,(function(){return u(n)}));var e=t(r);return o(n,(function(){return u(n).catch(e)}))};
|
|
2
|
+
//# sourceMappingURL=image.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"image.js","sources":["../../src/utils/image.ts"],"sourcesContent":["import heic2any from 'heic2any';\n\nconst handlerBlob = (url: string, blob: Blob) =>\n new Promise<string>((resolve, reject) => {\n const img = new window.Image();\n img.src = URL.createObjectURL(blob);\n img.onload = resolve.bind(null, img.src);\n img.onerror = reject.bind(null, url);\n });\n\n// eslint-disable-next-line max-len\nconst createFetch = (handler: (url: string) => Promise<Blob>) => (\n url: string\n): Promise<string> =>\n handler(url)\n .then(handlerBlob.bind(null, url))\n .catch(() => Promise.reject(url));\n\n// eslint-disable-next-line max-len\nconst tryHeic = createFetch(url =>\n fetch(url, { headers: {}, mode: 'cors' })\n .then(res => res.blob())\n .then(blob => heic2any({ blob }))\n .then(blob => {\n if (Array.isArray(blob)) return blob[0];\n return blob;\n })\n);\n\n// const tryProxy = createFetch((url) => fetch(`/store/stream/downloadFileStream?fileUrl=${encodeURIComponent(url)}`).then((res) => res.blob()));\n\nconst stack: Map<string, Promise<string>> = new Map();\nconst tryCache = (url: string, fetch: (url: string) => Promise<string>) => {\n if (stack.has(url)) return stack.get(url)!;\n const promise = fetch(url);\n stack.set(url, promise);\n promise.finally(() => {\n stack.delete(url);\n });\n return promise;\n};\n\nconst tryImageTranscode = function(\n url: string,\n customTry?: (url: string) => Promise<Blob>\n) {\n if (!customTry) return tryCache(url, () => tryHeic(url));\n const customTryProxy = createFetch(customTry);\n return tryCache(url, () => tryHeic(url).catch(customTryProxy));\n};\n\nexport { tryImageTranscode };\n"],"names":["handlerBlob","url","blob","Promise","resolve","reject","img","window","Image","src","URL","createObjectURL","onload","bind","onerror","createFetch","handler","then","tryHeic","fetch","headers","mode","res","heic2any","Array","isArray","stack","Map","tryCache","has","get","promise","set","customTry","customTryProxy"],"mappings":"4FAEMA,EAAc,SAACC,EAAaC,GAAU,OAC1C,IAAIC,SAAgB,SAACC,EAASC,GAC5B,IAAMC,EAAM,IAAIC,OAAOC,MACvBF,EAAIG,IAAMC,IAAIC,gBAAgBT,GAC9BI,EAAIM,OAASR,EAAQS,KAAK,KAAMP,EAAIG,KACpCH,EAAIQ,QAAUT,EAAOQ,KAAK,KAAMZ,OAI9Bc,EAAc,SAACC,GAAuC,OAAK,SAC/Df,GAAW,OAEXe,EAAQf,GACLgB,KAAKjB,EAAYa,KAAK,KAAMZ,WACtB,WAAA,OAAME,QAAQE,OAAOJ,QAG1BiB,EAAUH,GAAY,SAAAd,GAAG,OAC7BkB,MAAMlB,EAAK,CAAEmB,QAAS,GAAIC,KAAM,SAC7BJ,MAAK,SAAAK,GAAG,OAAIA,EAAIpB,UAChBe,MAAK,SAAAf,GAAI,OAAIqB,EAAS,CAAErB,KAAAA,OACxBe,MAAK,SAAAf,GACJ,OAAIsB,MAAMC,QAAQvB,GAAcA,EAAK,GAC9BA,QAMPwB,EAAsC,IAAIC,IAC1CC,EAAW,SAAC3B,EAAakB,GAC7B,GAAIO,EAAMG,IAAI5B,GAAM,OAAOyB,EAAMI,IAAI7B,GACrC,IAAM8B,EAAUZ,EAAMlB,GAKtB,OAJAyB,EAAMM,IAAI/B,EAAK8B,GACfA,WAAgB,WACdL,SAAazB,MAER8B,6BAGiB,SACxB9B,EACAgC,GAEA,IAAKA,EAAW,OAAOL,EAAS3B,GAAK,WAAA,OAAMiB,EAAQjB,MACnD,IAAMiC,EAAiBnB,EAAYkB,GACnC,OAAOL,EAAS3B,GAAK,WAAA,OAAMiB,EAAQjB,SAAWiC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var r=require("./utils.js"),e=require("./i18n.js"),s=require("./image.js"),t=require("./request.js");exports.isMicroApp=r.isMicroApp,exports.installI18n=e.installI18n,exports.tryImageTranscode=s.tryImageTranscode,exports.buildHttpCtrl=t.buildHttpCtrl;
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";exports.default={getData:function(t){var e=window.localStorage.getItem(t);if(e)try{return JSON.parse(e)}catch(t){console.error(t)}return null},setData:function(t,e){try{window.localStorage.setItem(t,JSON.stringify(e))}catch(t){console.error(t)}},removeItem:function(t){window.localStorage.removeItem(t)}};
|
|
2
|
+
//# sourceMappingURL=localstorage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"localstorage.js","sources":["../../src/utils/localstorage.ts"],"sourcesContent":["/*\n * @Author: zhaoxuan (zhaoxuan@quickcep.com)\n * @LastEditors: zhaoxuan (zhaoxuan@quickcep.com)\n * @Date: 2023-05-10 13:42:03\n * @Description:\n * @LastEditDescription:\n * @LastEditTime: 2023-05-10 17:36:24\n */\nconst ls = {\n getData(key: string) {\n const data = window.localStorage.getItem(key);\n if (data) {\n try {\n return JSON.parse(data);\n } catch (e) {\n console.error(e);\n }\n }\n return null;\n },\n setData(key: string, value: any) {\n try {\n window.localStorage.setItem(key, JSON.stringify(value));\n } catch (e) {\n console.error(e);\n }\n },\n removeItem(key: string) {\n window.localStorage.removeItem(key);\n },\n};\nexport default ls;\n"],"names":["getData","key","data","window","localStorage","getItem","JSON","parse","e","console","error","setData","value","setItem","stringify","removeItem"],"mappings":"6BAQW,CACTA,iBAAQC,GACN,IAAMC,EAAOC,OAAOC,aAAaC,QAAQJ,GACzC,GAAIC,EACF,IACE,OAAOI,KAAKC,MAAML,GAClB,MAAOM,GACPC,QAAQC,MAAMF,GAGlB,OAAO,MAETG,iBAAQV,EAAaW,GACnB,IACET,OAAOC,aAAaS,QAAQZ,EAAKK,KAAKQ,UAAUF,IAChD,MAAOJ,GACPC,QAAQC,MAAMF,KAGlBO,oBAAWd,GACTE,OAAOC,aAAaW,WAAWd"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var e,t=require("../_virtual/_rollupPluginBabelHelpers.js"),r=(e=require("axios"))&&"object"==typeof e&&"default"in e?e.default:e,n=r.CancelToken,o=function(e,t){return void 0===t&&(t={}),function(r,n){return void 0===n&&(n={}),function(o,u){return void 0===u&&(u={}),e(r,o||{},Object.assign({},t,n,u))}}};exports.buildHttpCtrl=function(e){var u,s=[],c=function(e){var t=r.create({baseURL:e}),n=t.interceptors.response.use.bind(t.interceptors.response),o=t.interceptors.request.use.bind(t.interceptors.request);return{instance:t,useRequestInterCeptor:o,useResponseInterCeptor:n}}(e),a=c.useRequestInterCeptor,i=c.useResponseInterCeptor,l=(u=s,function(e){for(;u.length;)u.shift().cancel(e)}),p=function(e,r){return["get","post"].map((function(o){return function(u,s,c){var a,i=(null==c?void 0:c.cancelTokenSource)||n.source();null==c||delete c.cancelTokenSource;var l=((a={})["get"===o?"params":"data"]=s,a);r.push(i);var p=u.replace(/\{([a-zA-Z]+)\}/g,(function(e,t){if(!s)return t;var r=s[t]||t;return s.saveQuery?(console.log("params",s),delete s.saveQuery):delete s[t],r}));return e.request(t.extends({url:p,method:o.toUpperCase(),cancelToken:i.token},l,c||{})).then((function(e){return null==e?void 0:e.data})).then((function(e){return e.success?e.data:Promise.reject(e)}))}}))}(c.instance,s),f=p[0],d=p[1];return{abort:l,get:f,post:d,cancelCreator:function(e){return function(){for(var t=n.source(),r=arguments.length,o=new Array(r),u=0;u<r;u++)o[u]=arguments[u];var s="string"==typeof o[0]?2:1;return o[s]=Object.assign({},o[s]||{},{cancelTokenSource:t}),[e.apply(void 0,o),function(e){t.cancel(e)}]}},getCreator:o(f),postCreator:o(d),useRequestInterCeptor:a,useResponseInterCeptor:i}};
|
|
2
|
+
//# sourceMappingURL=request.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request.js","sources":["../../src/utils/request.ts"],"sourcesContent":["import axios, { AxiosInstance, CancelTokenSource } from 'axios';\nconst CancelToken = axios.CancelToken;\n\nexport interface IResponse<Data> {\n code: number;\n message: string;\n success: boolean;\n data: Data;\n}\nexport interface IResponsePage<Data> {\n pageIndex: number; // 当前分页\n pageSize: number; // 分页条数\n total: number; // 总数\n row: Data[];\n}\nexport type TPageRequest<Params> = {\n pageIndex?: number;\n pageSize?: number;\n} & Params;\n\ninterface IRequestConfig {\n cancelTokenSource?: CancelTokenSource;\n}\ntype TCanceler = (reason?: string) => void;\n\ntype IMethod = <D = any, P extends Record<string, any> = any>(\n url: string,\n params?: P,\n config?: IRequestConfig\n) => Promise<D>;\n\ninterface TCancelCreator {\n <\n T extends (\n url: string,\n params?: any,\n config?: IRequestConfig\n ) => ReturnType<IMethod>\n >(\n request: T\n ): (...args: Parameters<T>) => [ReturnType<T>, TCanceler];\n <T extends (params?: any, config?: IRequestConfig) => ReturnType<IMethod>>(\n request: T\n ): (...args: Parameters<T>) => [ReturnType<T>, TCanceler];\n}\n\nconst createMethods = (\n inst: AxiosInstance,\n requestQueue: CancelTokenSource[]\n) => {\n return ['get', 'post'].map(method => {\n return <D = any, P extends Record<string, any> = any>(\n url: string,\n params?: P,\n config?: IRequestConfig\n ) => {\n const source = config?.cancelTokenSource || CancelToken.source();\n delete config?.cancelTokenSource;\n const requestConfig = {\n [method === 'get' ? 'params' : 'data']: params,\n };\n requestQueue.push(source);\n\n const requestUrl = url.replace(/\\{([a-zA-Z]+)\\}/g, (_match, key) => {\n if (!params) return key;\n const value = params[key] || key;\n /**兼容不删除的场景*/\n if (!params['saveQuery']) {\n delete params[key];\n } else {\n console.log('params', params);\n delete params['saveQuery'];\n }\n return value;\n });\n return inst\n .request<IResponse<D>>({\n url: requestUrl,\n method: method.toUpperCase() as any,\n cancelToken: source.token,\n ...requestConfig,\n ...(config || {}),\n })\n .then(res => res?.data)\n .then(res => {\n if (!(res as any).success) return Promise.reject(res);\n return res.data;\n });\n };\n });\n};\n\nconst createAbort = (queue: CancelTokenSource[]): TCanceler => {\n return (reason?: string) => {\n while (queue.length) {\n queue.shift()!.cancel(reason);\n }\n };\n};\n\nconst creatorFactory = (request: IMethod, config1: IRequestConfig = {}) => <\n D1 = any,\n P1 extends Record<string, any> = any\n>(\n url: string,\n config2: IRequestConfig = {}\n) => (params: P1, config3: IRequestConfig = {}) =>\n request<D1, P1>(\n url,\n params || ({} as any),\n Object.assign({}, config1, config2, config3)\n );\n\nconst createAxios = (baseURL: string) => {\n const inst = axios.create({\n baseURL,\n });\n const useResponseInterCeptor = inst.interceptors.response.use.bind(\n inst.interceptors.response\n );\n const useRequestInterCeptor = inst.interceptors.request.use.bind(\n inst.interceptors.request\n );\n\n return {\n instance: inst,\n useRequestInterCeptor,\n useResponseInterCeptor,\n };\n};\n\nconst cancelCreatorFactory = (): TCancelCreator => (request: any) => {\n return (...args: any[]) => {\n const source = CancelToken.source();\n const configIndex = typeof args[0] === 'string' ? 2 : 1;\n args[configIndex] = Object.assign({}, args[configIndex] || {}, {\n cancelTokenSource: source,\n });\n return [\n request(...args),\n (reason: string) => {\n source.cancel(reason);\n },\n ] as any;\n };\n};\n\nexport const buildHttpCtrl = (server: string) => {\n const requestQueue: CancelTokenSource[] = [];\n const {\n instance: inst,\n useRequestInterCeptor,\n useResponseInterCeptor,\n } = createAxios(server);\n const abort = createAbort(requestQueue);\n const [get, post] = createMethods(inst, requestQueue);\n\n const getCreator = creatorFactory(get);\n const postCreator = creatorFactory(post);\n const cancelCreator = cancelCreatorFactory();\n return {\n abort,\n get,\n post,\n cancelCreator,\n getCreator,\n postCreator,\n useRequestInterCeptor,\n useResponseInterCeptor,\n };\n};\n\nexport default buildHttpCtrl;\n"],"names":["CancelToken","axios","creatorFactory","request","config1","url","config2","params","config3","Object","assign","server","queue","requestQueue","_createAxios","baseURL","inst","create","useResponseInterCeptor","interceptors","response","use","bind","useRequestInterCeptor","instance","createAxios","abort","reason","length","shift","cancel","_createMethods","map","method","config","source","cancelTokenSource","requestConfig","_requestConfig","push","requestUrl","replace","_match","key","value","console","log","_extends","toUpperCase","cancelToken","token","then","res","data","success","Promise","reject","createMethods","get","post","cancelCreator","_len","arguments","args","Array","_key","configIndex","apply","getCreator","postCreator"],"mappings":"+IACMA,EAAcC,EAAMD,YAmGpBE,EAAiB,SAACC,EAAkBC,GAA4B,gBAA5BA,IAAAA,EAA0B,IAAO,SAIzEC,EACAC,GAA4B,gBAA5BA,IAAAA,EAA0B,IACvB,SAACC,EAAYC,GAA4B,gBAA5BA,IAAAA,EAA0B,IAC1CL,EACEE,EACAE,GAAW,GACXE,OAAOC,OAAO,GAAIN,EAASE,EAASE,6BAqCX,SAACG,GAC5B,IAxDmBC,EAwDbC,EAAoC,GAC1CC,EApCkB,SAACC,GACnB,IAAMC,EAAOf,EAAMgB,OAAO,CACxBF,QAAAA,IAEIG,EAAyBF,EAAKG,aAAaC,SAASC,IAAIC,KAC5DN,EAAKG,aAAaC,UAEdG,EAAwBP,EAAKG,aAAahB,QAAQkB,IAAIC,KAC1DN,EAAKG,aAAahB,SAGpB,MAAO,CACLqB,SAAUR,EACVO,sBAAAA,EACAL,uBAAAA,GA0BEO,CAAYd,GAFdY,EAAqBT,EAArBS,sBACAL,EAAsBJ,EAAtBI,uBAEIQ,GA9Dad,EA8DOC,EA7DnB,SAACc,GACN,KAAOf,EAAMgB,QACXhB,EAAMiB,QAASC,OAAOH,KA4D1BI,EA7GoB,SACpBf,EACAH,GAEA,MAAO,CAAC,MAAO,QAAQmB,KAAI,SAAAC,GACzB,OAAO,SACL5B,EACAE,EACA2B,SAEMC,SAASD,SAAAA,EAAQE,oBAAqBpC,EAAYmC,eACjDD,UAAAA,EAAQE,kBACf,IAAMC,IAAaC,MACL,QAAXL,EAAmB,SAAW,QAAS1B,EAAM+B,GAEhDzB,EAAa0B,KAAKJ,GAElB,IAAMK,EAAanC,EAAIoC,QAAQ,oBAAoB,SAACC,EAAQC,GAC1D,IAAKpC,EAAQ,OAAOoC,EACpB,IAAMC,EAAQrC,EAAOoC,IAAQA,EAQ7B,OANKpC,EAAkB,WAGrBsC,QAAQC,IAAI,SAAUvC,UACfA,EAAkB,kBAHlBA,EAAOoC,GAKTC,KAET,OAAO5B,EACJb,QAAO4C,WACN1C,IAAKmC,EACLP,OAAQA,EAAOe,cACfC,YAAad,EAAOe,OACjBb,EACCH,GAAU,KAEfiB,MAAK,SAAAC,GAAG,aAAIA,SAAAA,EAAKC,QACjBF,MAAK,SAAAC,GACJ,OAAMA,EAAYE,QACXF,EAAIC,KADuBE,QAAQC,OAAOJ,UAsErCK,CALJ3C,EAAdU,SAKsCX,GAAjC6C,EAAG3B,KAAE4B,EAAI5B,KAKhB,MAAO,CACLL,MAAAA,EACAgC,IAAAA,EACAC,KAAAA,EACAC,cAjC+C,SAACzD,GAClD,OAAO,WAC+B,IAApC,IAAMgC,EAASnC,EAAYmC,SAAS0B,EAAAC,UAAAlC,OAD3BmC,MAAWC,MAAAH,GAAAI,IAAAA,EAAAJ,EAAAI,IAAXF,EAAWE,GAAAH,UAAAG,GAEpB,IAAMC,EAAiC,iBAAZH,EAAK,GAAkB,EAAI,EAItD,OAHAA,EAAKG,GAAezD,OAAOC,OAAO,GAAIqD,EAAKG,IAAgB,GAAI,CAC7D9B,kBAAmBD,IAEd,CACLhC,EAAOgE,aAAIJ,GACX,SAACpC,GACCQ,EAAOL,OAAOH,OAwBlByC,WARiBlE,EAAewD,GAShCW,YARkBnE,EAAeyD,GASjCpC,sBAAAA,EACAL,uBAAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../src/utils/utils.ts"],"sourcesContent":["export const isMicroApp = !!(window as any).__POWERED_BY_QIANKUN__;\n\nexport const assign = (\n key: string | number,\n value?: any,\n obj?: Record<string, any>\n) => {\n if (!key || !value) return obj || {};\n return Object.assign(obj || {}, { [key]: value });\n};\n\nexport const envValue = (prod: string, dev: string) => {\n if (process.env.NODE_ENV === 'production') return prod;\n return dev;\n};\n"],"names":["isMicroApp","window","__POWERED_BY_QIANKUN__","key","value","obj","Object","assign","_Object$assign"],"mappings":"iBAAaA,IAAgBC,OAAeC,sCAEtB,SACpBC,EACAC,EACAC,SAEA,OAAKF,GAAQC,EACNE,OAAOC,OAAOF,GAAO,KAAEG,MAAKL,GAAMC,EAAKI,IADnBH,GAAO"}
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "1.0.
|
|
2
|
+
"version": "1.0.49",
|
|
3
3
|
"name": "quick-platform",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"main": "dist/index.js",
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
},
|
|
18
18
|
"scripts": {
|
|
19
19
|
"start": "tsdx watch",
|
|
20
|
-
"build": "tsdx build --transpileOnly",
|
|
20
|
+
"build": "tsdx build --transpileOnly --entry src/index.ts --entry src/config.ts",
|
|
21
21
|
"test": "tsdx test --passWithNoTests",
|
|
22
22
|
"lint": "tsdx lint",
|
|
23
23
|
"size": "size-limit",
|
|
@@ -56,10 +56,11 @@
|
|
|
56
56
|
"@size-limit/preset-small-lib": "^11.1.4",
|
|
57
57
|
"tsdx": "^0.14.1",
|
|
58
58
|
"tslib": "^2.6.3",
|
|
59
|
+
"tsup": "^8.5.1",
|
|
59
60
|
"typescript": "^5.5.4"
|
|
60
61
|
},
|
|
61
62
|
"dependencies": {
|
|
62
|
-
"@ant-design/icons": "
|
|
63
|
+
"@ant-design/icons": ">=5.0.1",
|
|
63
64
|
"eventemitter3": "^5.0.1",
|
|
64
65
|
"heic2any": "^0.0.4",
|
|
65
66
|
"qiankun": "^2.10.16"
|