@andbridge/glowpod 1.0.0 → 1.0.2

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.
@@ -0,0 +1,11 @@
1
+ import type { Options } from "../model/model";
2
+ import { AxiosInstance, CreateAxiosDefaults } from "axios";
3
+ export declare class Core {
4
+ protected instance: AxiosInstance;
5
+ constructor(options: CreateAxiosDefaults);
6
+ getInstance: () => AxiosInstance;
7
+ Get: <T>(options: Options) => T;
8
+ Put: <T>(options: Options) => T;
9
+ Delete: <T>(options: Options) => T;
10
+ Post: <T>(options: Options) => T;
11
+ }
@@ -0,0 +1,2 @@
1
+ export { Core as GlowPod } from "./core/core";
2
+ export * from "./interceptors/interceptors";
@@ -0,0 +1,2 @@
1
+ import e from"axios";class s{constructor(s){this.getInstance=()=>this.instance,this.Get=e=>this.instance({method:"GET",url:e.url,params:e.params,headers:{...e.headers},...e.others}),this.Put=e=>this.instance({method:"PUT",url:e.url,params:e.params,headers:{...e.headers},...e.others}),this.Delete=e=>this.instance({method:"DELETE",url:e.url,params:e.params,headers:{...e.headers},...e.others}),this.Post=e=>this.instance({method:"POST",url:e.url,data:e.params,headers:{...e.headers},...e.others}),this.instance=e.create(s)}}const t=()=>{},a=()=>{},r=()=>{};var o;!function(e){e[e.success=200]="success"}(o||(o={}));const n=({instance:e,authTokenStorageName:s="token",authFailedCaller:n=t,networkSuccessCode:c=200,authFailedCode:d=401,networkFailedCaller:i=a,serverKillCaller:h=r,responseStruct:l={codeName:"code",messageName:"message",dataName:"data"}})=>{let u=null,m=!0;const p=e=>(u&&clearTimeout(u),u=setTimeout(()=>{m&&(e.status==o.success?(e.data?.[l.codeName]==d&&n(),e.data?.[l.codeName]!=c&&i()):h())},0),()=>m=!1);e.interceptors.request.use(async e=>{const t=localStorage.getItem(s);return t&&e.headers&&e.headers.set(s,t),e},e=>(console.log("请求错误拦截器:",e),p(e),Promise.reject(e))),e.interceptors.response.use(s=>{if("blob"===s.config.responseType)return s;if(s.data?.[l.codeName]===c)return s.data?.[l.dataName];{const t=p(s);throw{...s,hiddenDefaultErrorHandler:t,uri:e.getUri()}}},s=>{const t=p(s);throw{...s,hiddenDefaultErrorHandler:t,uri:e.getUri()}})};export{s as GlowPod,n as setupInterceptors};
2
+ //# sourceMappingURL=glowpod.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"glowpod.esm.js","sources":["../../core/core.ts","../../interceptors/interceptors.tsx"],"sourcesContent":["import type { Options } from \"../model/model\";\nimport axios, { AxiosInstance, CreateAxiosDefaults } from \"axios\";\nexport class Core {\n protected instance: AxiosInstance;\n\n constructor(options: CreateAxiosDefaults) {\n this.instance = axios.create(options);\n }\n\n public getInstance = () => {\n return this.instance;\n };\n public Get = <T>(options: Options): T =>\n this.instance({\n method: \"GET\",\n url: options.url,\n params: options.params,\n headers: { ...options.headers },\n ...options.others,\n }) as unknown as T;\n public Put = <T>(options: Options): T =>\n this.instance({\n method: \"PUT\",\n url: options.url,\n params: options.params,\n headers: { ...options.headers },\n ...options.others,\n }) as unknown as T;\n public Delete = <T>(options: Options): T =>\n this.instance({\n method: \"DELETE\",\n url: options.url,\n params: options.params,\n headers: { ...options.headers },\n ...options.others,\n }) as unknown as T;\n public Post = <T>(options: Options): T =>\n this.instance({\n method: \"POST\",\n url: options.url,\n data: options.params,\n headers: { ...options.headers },\n ...options.others,\n }) as unknown as T;\n}\n","import { AxiosInstance, AxiosError } from \"axios\";\nimport { InterceptorsOptions } from \"../model/model\";\n\n/**\n * 设置拦截器\n * @param instance axios实例\n * @param @InterceptorsOptions\n * @returns void\n */\n\nconst _authFailedCaller = () => {};\n\nconst _networkFailedCaller = () => {};\n\nconst _serverKillCaller = () => {};\n\nenum NetworkStatus {\n success = 200,\n}\n\nexport const setupInterceptors = ({\n instance,\n authTokenStorageName = \"token\",\n authFailedCaller = _authFailedCaller,\n networkSuccessCode = 200,\n authFailedCode = 401,\n networkFailedCaller = _networkFailedCaller,\n serverKillCaller = _serverKillCaller,\n responseStruct = {\n codeName: \"code\",\n messageName: \"message\",\n dataName: \"data\",\n },\n}: InterceptorsOptions & {\n instance: AxiosInstance;\n}) => {\n let timer: NodeJS.Timeout | null = null;\n let isDefaultOpenErrorHandle = true;\n const defaultErrorHandler = (response: any) => {\n const hiddenDefaultErrorHandler = () => (isDefaultOpenErrorHandle = false);\n if (timer) clearTimeout(timer);\n timer = setTimeout(() => {\n if (!isDefaultOpenErrorHandle) return;\n if (response.status != NetworkStatus.success) {\n serverKillCaller();\n return;\n }\n if (response.data?.[responseStruct.codeName] == authFailedCode) {\n authFailedCaller();\n }\n if (response.data?.[responseStruct.codeName] != networkSuccessCode) {\n networkFailedCaller();\n }\n }, 0);\n return hiddenDefaultErrorHandler;\n };\n\n // 请求拦截器\n instance.interceptors.request.use(\n async (config) => {\n // 从存储中获取token\n const token = localStorage.getItem(authTokenStorageName as string);\n if (token && config.headers) {\n config.headers.set(authTokenStorageName, token);\n }\n return config;\n },\n (error: AxiosError) => {\n console.log(\"请求错误拦截器:\", error);\n defaultErrorHandler(error);\n return Promise.reject(error);\n }\n );\n\n // 响应拦截器\n\n instance.interceptors.response.use(\n (response) => {\n if (response.config.responseType === \"blob\") {\n return response;\n } else {\n switch (response.data?.[responseStruct.codeName]) {\n case networkSuccessCode:\n return response.data?.[responseStruct.dataName];\n default:\n const hiddenDefaultErrorHandler = defaultErrorHandler(response);\n throw {\n ...response,\n hiddenDefaultErrorHandler,\n uri: instance.getUri(),\n };\n }\n }\n },\n (error: AxiosError) => {\n const hiddenDefaultErrorHandler = defaultErrorHandler(error);\n throw { ...error, hiddenDefaultErrorHandler, uri: instance.getUri() };\n }\n );\n};\n"],"names":["Core","constructor","options","this","getInstance","instance","Get","method","url","params","headers","others","Put","Delete","Post","data","axios","create","_authFailedCaller","_networkFailedCaller","_serverKillCaller","NetworkStatus","setupInterceptors","authTokenStorageName","authFailedCaller","networkSuccessCode","authFailedCode","networkFailedCaller","serverKillCaller","responseStruct","codeName","messageName","dataName","timer","isDefaultOpenErrorHandle","defaultErrorHandler","response","clearTimeout","setTimeout","status","success","hiddenDefaultErrorHandler","interceptors","request","use","async","token","localStorage","getItem","config","set","error","console","log","Promise","reject","responseType","uri","getUri"],"mappings":"2BAEaA,EAGXC,WAAAA,CAAYC,GAILC,KAAAC,YAAc,IACZD,KAAKE,SAEPF,KAAAG,IAAUJ,GACfC,KAAKE,SAAS,CACZE,OAAQ,MACRC,IAAKN,EAAQM,IACbC,OAAQP,EAAQO,OAChBC,QAAS,IAAKR,EAAQQ,YACnBR,EAAQS,SAERR,KAAAS,IAAUV,GACfC,KAAKE,SAAS,CACZE,OAAQ,MACRC,IAAKN,EAAQM,IACbC,OAAQP,EAAQO,OAChBC,QAAS,IAAKR,EAAQQ,YACnBR,EAAQS,SAERR,KAAAU,OAAaX,GAClBC,KAAKE,SAAS,CACZE,OAAQ,SACRC,IAAKN,EAAQM,IACbC,OAAQP,EAAQO,OAChBC,QAAS,IAAKR,EAAQQ,YACnBR,EAAQS,SAERR,KAAAW,KAAWZ,GAChBC,KAAKE,SAAS,CACZE,OAAQ,OACRC,IAAKN,EAAQM,IACbO,KAAMb,EAAQO,OACdC,QAAS,IAAKR,EAAQQ,YACnBR,EAAQS,SApCbR,KAAKE,SAAWW,EAAMC,OAAOf,EAC/B,ECGF,MAAMgB,EAAoBA,OAEpBC,EAAuBA,OAEvBC,EAAoBA,OAE1B,IAAKC,GAAL,SAAKA,GACHA,EAAAA,EAAA,QAAA,KAAA,SACD,CAFD,CAAKA,IAAAA,EAAa,CAAA,IAIX,MAAMC,EAAoBA,EAC/BjB,WACAkB,uBAAuB,QACvBC,mBAAmBN,EACnBO,qBAAqB,IACrBC,iBAAiB,IACjBC,sBAAsBR,EACtBS,mBAAmBR,EACnBS,iBAAiB,CACfC,SAAU,OACVC,YAAa,UACbC,SAAU,YAKZ,IAAIC,EAA+B,KAC/BC,GAA2B,EAC/B,MAAMC,EAAuBC,IAEvBH,GAAOI,aAAaJ,GACxBA,EAAQK,WAAW,KACZJ,IACDE,EAASG,QAAUlB,EAAcmB,SAIjCJ,EAASrB,OAAOc,EAAeC,WAAaJ,GAC9CF,IAEEY,EAASrB,OAAOc,EAAeC,WAAaL,GAC9CE,KAPAC,MASD,GAd+Ba,IAAOP,GAA2B,GAmBtE7B,EAASqC,aAAaC,QAAQC,IAC5BC,UAEE,MAAMC,EAAQC,aAAaC,QAAQzB,GAInC,OAHIuB,GAASG,EAAOvC,SAClBuC,EAAOvC,QAAQwC,IAAI3B,EAAsBuB,GAEpCG,GAERE,IACCC,QAAQC,IAAI,WAAYF,GACxBhB,EAAoBgB,GACbG,QAAQC,OAAOJ,KAM1B9C,EAASqC,aAAaN,SAASQ,IAC5BR,IACC,GAAqC,SAAjCA,EAASa,OAAOO,aAClB,OAAOpB,EAEP,GAAQA,EAASrB,OAAOc,EAAeC,YAChCL,EACH,OAAOW,EAASrB,OAAOc,EAAeG,UACxC,CACE,MAAMS,EAA4BN,EAAoBC,GACtD,KAAM,IACDA,EACHK,4BACAgB,IAAKpD,EAASqD,SACf,GAIRP,IACC,MAAMV,EAA4BN,EAAoBgB,GACtD,KAAM,IAAKA,EAAOV,4BAA2BgB,IAAKpD,EAASqD"}
@@ -0,0 +1,2 @@
1
+ "use strict";var e=require("axios");const s=()=>{},t=()=>{},a=()=>{};var r;!function(e){e[e.success=200]="success"}(r||(r={}));exports.GlowPod=class{constructor(s){this.getInstance=()=>this.instance,this.Get=e=>this.instance({method:"GET",url:e.url,params:e.params,headers:{...e.headers},...e.others}),this.Put=e=>this.instance({method:"PUT",url:e.url,params:e.params,headers:{...e.headers},...e.others}),this.Delete=e=>this.instance({method:"DELETE",url:e.url,params:e.params,headers:{...e.headers},...e.others}),this.Post=e=>this.instance({method:"POST",url:e.url,data:e.params,headers:{...e.headers},...e.others}),this.instance=e.create(s)}},exports.setupInterceptors=({instance:e,authTokenStorageName:o="token",authFailedCaller:n=s,networkSuccessCode:c=200,authFailedCode:i=401,networkFailedCaller:d=t,serverKillCaller:h=a,responseStruct:u={codeName:"code",messageName:"message",dataName:"data"}})=>{let l=null,m=!0;const p=e=>(l&&clearTimeout(l),l=setTimeout(()=>{m&&(e.status==r.success?(e.data?.[u.codeName]==i&&n(),e.data?.[u.codeName]!=c&&d()):h())},0),()=>m=!1);e.interceptors.request.use(async e=>{const s=localStorage.getItem(o);return s&&e.headers&&e.headers.set(o,s),e},e=>(console.log("请求错误拦截器:",e),p(e),Promise.reject(e))),e.interceptors.response.use(s=>{if("blob"===s.config.responseType)return s;if(s.data?.[u.codeName]===c)return s.data?.[u.dataName];{const t=p(s);throw{...s,hiddenDefaultErrorHandler:t,uri:e.getUri()}}},s=>{const t=p(s);throw{...s,hiddenDefaultErrorHandler:t,uri:e.getUri()}})};
2
+ //# sourceMappingURL=glowpod.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"glowpod.js","sources":["../../interceptors/interceptors.tsx","../../core/core.ts"],"sourcesContent":["import { AxiosInstance, AxiosError } from \"axios\";\nimport { InterceptorsOptions } from \"../model/model\";\n\n/**\n * 设置拦截器\n * @param instance axios实例\n * @param @InterceptorsOptions\n * @returns void\n */\n\nconst _authFailedCaller = () => {};\n\nconst _networkFailedCaller = () => {};\n\nconst _serverKillCaller = () => {};\n\nenum NetworkStatus {\n success = 200,\n}\n\nexport const setupInterceptors = ({\n instance,\n authTokenStorageName = \"token\",\n authFailedCaller = _authFailedCaller,\n networkSuccessCode = 200,\n authFailedCode = 401,\n networkFailedCaller = _networkFailedCaller,\n serverKillCaller = _serverKillCaller,\n responseStruct = {\n codeName: \"code\",\n messageName: \"message\",\n dataName: \"data\",\n },\n}: InterceptorsOptions & {\n instance: AxiosInstance;\n}) => {\n let timer: NodeJS.Timeout | null = null;\n let isDefaultOpenErrorHandle = true;\n const defaultErrorHandler = (response: any) => {\n const hiddenDefaultErrorHandler = () => (isDefaultOpenErrorHandle = false);\n if (timer) clearTimeout(timer);\n timer = setTimeout(() => {\n if (!isDefaultOpenErrorHandle) return;\n if (response.status != NetworkStatus.success) {\n serverKillCaller();\n return;\n }\n if (response.data?.[responseStruct.codeName] == authFailedCode) {\n authFailedCaller();\n }\n if (response.data?.[responseStruct.codeName] != networkSuccessCode) {\n networkFailedCaller();\n }\n }, 0);\n return hiddenDefaultErrorHandler;\n };\n\n // 请求拦截器\n instance.interceptors.request.use(\n async (config) => {\n // 从存储中获取token\n const token = localStorage.getItem(authTokenStorageName as string);\n if (token && config.headers) {\n config.headers.set(authTokenStorageName, token);\n }\n return config;\n },\n (error: AxiosError) => {\n console.log(\"请求错误拦截器:\", error);\n defaultErrorHandler(error);\n return Promise.reject(error);\n }\n );\n\n // 响应拦截器\n\n instance.interceptors.response.use(\n (response) => {\n if (response.config.responseType === \"blob\") {\n return response;\n } else {\n switch (response.data?.[responseStruct.codeName]) {\n case networkSuccessCode:\n return response.data?.[responseStruct.dataName];\n default:\n const hiddenDefaultErrorHandler = defaultErrorHandler(response);\n throw {\n ...response,\n hiddenDefaultErrorHandler,\n uri: instance.getUri(),\n };\n }\n }\n },\n (error: AxiosError) => {\n const hiddenDefaultErrorHandler = defaultErrorHandler(error);\n throw { ...error, hiddenDefaultErrorHandler, uri: instance.getUri() };\n }\n );\n};\n","import type { Options } from \"../model/model\";\nimport axios, { AxiosInstance, CreateAxiosDefaults } from \"axios\";\nexport class Core {\n protected instance: AxiosInstance;\n\n constructor(options: CreateAxiosDefaults) {\n this.instance = axios.create(options);\n }\n\n public getInstance = () => {\n return this.instance;\n };\n public Get = <T>(options: Options): T =>\n this.instance({\n method: \"GET\",\n url: options.url,\n params: options.params,\n headers: { ...options.headers },\n ...options.others,\n }) as unknown as T;\n public Put = <T>(options: Options): T =>\n this.instance({\n method: \"PUT\",\n url: options.url,\n params: options.params,\n headers: { ...options.headers },\n ...options.others,\n }) as unknown as T;\n public Delete = <T>(options: Options): T =>\n this.instance({\n method: \"DELETE\",\n url: options.url,\n params: options.params,\n headers: { ...options.headers },\n ...options.others,\n }) as unknown as T;\n public Post = <T>(options: Options): T =>\n this.instance({\n method: \"POST\",\n url: options.url,\n data: options.params,\n headers: { ...options.headers },\n ...options.others,\n }) as unknown as T;\n}\n"],"names":["_authFailedCaller","_networkFailedCaller","_serverKillCaller","NetworkStatus","constructor","options","this","getInstance","instance","Get","method","url","params","headers","others","Put","Delete","Post","data","axios","create","setupInterceptors","authTokenStorageName","authFailedCaller","networkSuccessCode","authFailedCode","networkFailedCaller","serverKillCaller","responseStruct","codeName","messageName","dataName","timer","isDefaultOpenErrorHandle","defaultErrorHandler","response","clearTimeout","setTimeout","status","success","hiddenDefaultErrorHandler","interceptors","request","use","async","token","localStorage","getItem","config","set","error","console","log","Promise","reject","responseType","uri","getUri"],"mappings":"oCAUA,MAAMA,EAAoBA,OAEpBC,EAAuBA,OAEvBC,EAAoBA,OAE1B,IAAKC,GAAL,SAAKA,GACHA,EAAAA,EAAA,QAAA,KAAA,SACD,CAFD,CAAKA,IAAAA,EAAa,CAAA,0BCXhBC,WAAAA,CAAYC,GAILC,KAAAC,YAAc,IACZD,KAAKE,SAEPF,KAAAG,IAAUJ,GACfC,KAAKE,SAAS,CACZE,OAAQ,MACRC,IAAKN,EAAQM,IACbC,OAAQP,EAAQO,OAChBC,QAAS,IAAKR,EAAQQ,YACnBR,EAAQS,SAERR,KAAAS,IAAUV,GACfC,KAAKE,SAAS,CACZE,OAAQ,MACRC,IAAKN,EAAQM,IACbC,OAAQP,EAAQO,OAChBC,QAAS,IAAKR,EAAQQ,YACnBR,EAAQS,SAERR,KAAAU,OAAaX,GAClBC,KAAKE,SAAS,CACZE,OAAQ,SACRC,IAAKN,EAAQM,IACbC,OAAQP,EAAQO,OAChBC,QAAS,IAAKR,EAAQQ,YACnBR,EAAQS,SAERR,KAAAW,KAAWZ,GAChBC,KAAKE,SAAS,CACZE,OAAQ,OACRC,IAAKN,EAAQM,IACbO,KAAMb,EAAQO,OACdC,QAAS,IAAKR,EAAQQ,YACnBR,EAAQS,SApCbR,KAAKE,SAAWW,EAAMC,OAAOf,EAC/B,6BDa+BgB,EAC/Bb,WACAc,uBAAuB,QACvBC,mBAAmBvB,EACnBwB,qBAAqB,IACrBC,iBAAiB,IACjBC,sBAAsBzB,EACtB0B,mBAAmBzB,EACnB0B,iBAAiB,CACfC,SAAU,OACVC,YAAa,UACbC,SAAU,YAKZ,IAAIC,EAA+B,KAC/BC,GAA2B,EAC/B,MAAMC,EAAuBC,IAEvBH,GAAOI,aAAaJ,GACxBA,EAAQK,WAAW,KACZJ,IACDE,EAASG,QAAUnC,EAAcoC,SAIjCJ,EAASjB,OAAOU,EAAeC,WAAaJ,GAC9CF,IAEEY,EAASjB,OAAOU,EAAeC,WAAaL,GAC9CE,KAPAC,MASD,GAd+Ba,IAAOP,GAA2B,GAmBtEzB,EAASiC,aAAaC,QAAQC,IAC5BC,UAEE,MAAMC,EAAQC,aAAaC,QAAQzB,GAInC,OAHIuB,GAASG,EAAOnC,SAClBmC,EAAOnC,QAAQoC,IAAI3B,EAAsBuB,GAEpCG,GAERE,IACCC,QAAQC,IAAI,WAAYF,GACxBhB,EAAoBgB,GACbG,QAAQC,OAAOJ,KAM1B1C,EAASiC,aAAaN,SAASQ,IAC5BR,IACC,GAAqC,SAAjCA,EAASa,OAAOO,aAClB,OAAOpB,EAEP,GAAQA,EAASjB,OAAOU,EAAeC,YAChCL,EACH,OAAOW,EAASjB,OAAOU,EAAeG,UACxC,CACE,MAAMS,EAA4BN,EAAoBC,GACtD,KAAM,IACDA,EACHK,4BACAgB,IAAKhD,EAASiD,SACf,GAIRP,IACC,MAAMV,EAA4BN,EAAoBgB,GACtD,KAAM,IAAKA,EAAOV,4BAA2BgB,IAAKhD,EAASiD"}
@@ -0,0 +1,2 @@
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("axios")):"function"==typeof define&&define.amd?define(["exports","axios"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).GlowPod={},e.axios)}(this,function(e,t){"use strict";const s=()=>{},a=()=>{},r=()=>{};var o;!function(e){e[e.success=200]="success"}(o||(o={}));e.GlowPod=class{constructor(e){this.getInstance=()=>this.instance,this.Get=e=>this.instance({method:"GET",url:e.url,params:e.params,headers:{...e.headers},...e.others}),this.Put=e=>this.instance({method:"PUT",url:e.url,params:e.params,headers:{...e.headers},...e.others}),this.Delete=e=>this.instance({method:"DELETE",url:e.url,params:e.params,headers:{...e.headers},...e.others}),this.Post=e=>this.instance({method:"POST",url:e.url,data:e.params,headers:{...e.headers},...e.others}),this.instance=t.create(e)}},e.setupInterceptors=({instance:e,authTokenStorageName:t="token",authFailedCaller:n=s,networkSuccessCode:i=200,authFailedCode:d=401,networkFailedCaller:c=a,serverKillCaller:l=r,responseStruct:u={codeName:"code",messageName:"message",dataName:"data"}})=>{let h=null,m=!0;const p=e=>(h&&clearTimeout(h),h=setTimeout(()=>{m&&(e.status==o.success?(e.data?.[u.codeName]==d&&n(),e.data?.[u.codeName]!=i&&c()):l())},0),()=>m=!1);e.interceptors.request.use(async e=>{const s=localStorage.getItem(t);return s&&e.headers&&e.headers.set(t,s),e},e=>(console.log("请求错误拦截器:",e),p(e),Promise.reject(e))),e.interceptors.response.use(t=>{if("blob"===t.config.responseType)return t;if(t.data?.[u.codeName]===i)return t.data?.[u.dataName];{const s=p(t);throw{...t,hiddenDefaultErrorHandler:s,uri:e.getUri()}}},t=>{const s=p(t);throw{...t,hiddenDefaultErrorHandler:s,uri:e.getUri()}})}});
2
+ //# sourceMappingURL=glowpod.umd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"glowpod.umd.js","sources":["../../interceptors/interceptors.tsx","../../core/core.ts"],"sourcesContent":["import { AxiosInstance, AxiosError } from \"axios\";\nimport { InterceptorsOptions } from \"../model/model\";\n\n/**\n * 设置拦截器\n * @param instance axios实例\n * @param @InterceptorsOptions\n * @returns void\n */\n\nconst _authFailedCaller = () => {};\n\nconst _networkFailedCaller = () => {};\n\nconst _serverKillCaller = () => {};\n\nenum NetworkStatus {\n success = 200,\n}\n\nexport const setupInterceptors = ({\n instance,\n authTokenStorageName = \"token\",\n authFailedCaller = _authFailedCaller,\n networkSuccessCode = 200,\n authFailedCode = 401,\n networkFailedCaller = _networkFailedCaller,\n serverKillCaller = _serverKillCaller,\n responseStruct = {\n codeName: \"code\",\n messageName: \"message\",\n dataName: \"data\",\n },\n}: InterceptorsOptions & {\n instance: AxiosInstance;\n}) => {\n let timer: NodeJS.Timeout | null = null;\n let isDefaultOpenErrorHandle = true;\n const defaultErrorHandler = (response: any) => {\n const hiddenDefaultErrorHandler = () => (isDefaultOpenErrorHandle = false);\n if (timer) clearTimeout(timer);\n timer = setTimeout(() => {\n if (!isDefaultOpenErrorHandle) return;\n if (response.status != NetworkStatus.success) {\n serverKillCaller();\n return;\n }\n if (response.data?.[responseStruct.codeName] == authFailedCode) {\n authFailedCaller();\n }\n if (response.data?.[responseStruct.codeName] != networkSuccessCode) {\n networkFailedCaller();\n }\n }, 0);\n return hiddenDefaultErrorHandler;\n };\n\n // 请求拦截器\n instance.interceptors.request.use(\n async (config) => {\n // 从存储中获取token\n const token = localStorage.getItem(authTokenStorageName as string);\n if (token && config.headers) {\n config.headers.set(authTokenStorageName, token);\n }\n return config;\n },\n (error: AxiosError) => {\n console.log(\"请求错误拦截器:\", error);\n defaultErrorHandler(error);\n return Promise.reject(error);\n }\n );\n\n // 响应拦截器\n\n instance.interceptors.response.use(\n (response) => {\n if (response.config.responseType === \"blob\") {\n return response;\n } else {\n switch (response.data?.[responseStruct.codeName]) {\n case networkSuccessCode:\n return response.data?.[responseStruct.dataName];\n default:\n const hiddenDefaultErrorHandler = defaultErrorHandler(response);\n throw {\n ...response,\n hiddenDefaultErrorHandler,\n uri: instance.getUri(),\n };\n }\n }\n },\n (error: AxiosError) => {\n const hiddenDefaultErrorHandler = defaultErrorHandler(error);\n throw { ...error, hiddenDefaultErrorHandler, uri: instance.getUri() };\n }\n );\n};\n","import type { Options } from \"../model/model\";\nimport axios, { AxiosInstance, CreateAxiosDefaults } from \"axios\";\nexport class Core {\n protected instance: AxiosInstance;\n\n constructor(options: CreateAxiosDefaults) {\n this.instance = axios.create(options);\n }\n\n public getInstance = () => {\n return this.instance;\n };\n public Get = <T>(options: Options): T =>\n this.instance({\n method: \"GET\",\n url: options.url,\n params: options.params,\n headers: { ...options.headers },\n ...options.others,\n }) as unknown as T;\n public Put = <T>(options: Options): T =>\n this.instance({\n method: \"PUT\",\n url: options.url,\n params: options.params,\n headers: { ...options.headers },\n ...options.others,\n }) as unknown as T;\n public Delete = <T>(options: Options): T =>\n this.instance({\n method: \"DELETE\",\n url: options.url,\n params: options.params,\n headers: { ...options.headers },\n ...options.others,\n }) as unknown as T;\n public Post = <T>(options: Options): T =>\n this.instance({\n method: \"POST\",\n url: options.url,\n data: options.params,\n headers: { ...options.headers },\n ...options.others,\n }) as unknown as T;\n}\n"],"names":["_authFailedCaller","_networkFailedCaller","_serverKillCaller","NetworkStatus","constructor","options","this","getInstance","instance","Get","method","url","params","headers","others","Put","Delete","Post","data","axios","create","setupInterceptors","authTokenStorageName","authFailedCaller","networkSuccessCode","authFailedCode","networkFailedCaller","serverKillCaller","responseStruct","codeName","messageName","dataName","timer","isDefaultOpenErrorHandle","defaultErrorHandler","response","clearTimeout","setTimeout","status","success","hiddenDefaultErrorHandler","interceptors","request","use","async","token","localStorage","getItem","config","set","error","console","log","Promise","reject","responseType","uri","getUri"],"mappings":"iRAUA,MAAMA,EAAoBA,OAEpBC,EAAuBA,OAEvBC,EAAoBA,OAE1B,IAAKC,GAAL,SAAKA,GACHA,EAAAA,EAAA,QAAA,KAAA,SACD,CAFD,CAAKA,IAAAA,EAAa,CAAA,oBCXhBC,WAAAA,CAAYC,GAILC,KAAAC,YAAc,IACZD,KAAKE,SAEPF,KAAAG,IAAUJ,GACfC,KAAKE,SAAS,CACZE,OAAQ,MACRC,IAAKN,EAAQM,IACbC,OAAQP,EAAQO,OAChBC,QAAS,IAAKR,EAAQQ,YACnBR,EAAQS,SAERR,KAAAS,IAAUV,GACfC,KAAKE,SAAS,CACZE,OAAQ,MACRC,IAAKN,EAAQM,IACbC,OAAQP,EAAQO,OAChBC,QAAS,IAAKR,EAAQQ,YACnBR,EAAQS,SAERR,KAAAU,OAAaX,GAClBC,KAAKE,SAAS,CACZE,OAAQ,SACRC,IAAKN,EAAQM,IACbC,OAAQP,EAAQO,OAChBC,QAAS,IAAKR,EAAQQ,YACnBR,EAAQS,SAERR,KAAAW,KAAWZ,GAChBC,KAAKE,SAAS,CACZE,OAAQ,OACRC,IAAKN,EAAQM,IACbO,KAAMb,EAAQO,OACdC,QAAS,IAAKR,EAAQQ,YACnBR,EAAQS,SApCbR,KAAKE,SAAWW,EAAMC,OAAOf,EAC/B,uBDa+BgB,EAC/Bb,WACAc,uBAAuB,QACvBC,mBAAmBvB,EACnBwB,qBAAqB,IACrBC,iBAAiB,IACjBC,sBAAsBzB,EACtB0B,mBAAmBzB,EACnB0B,iBAAiB,CACfC,SAAU,OACVC,YAAa,UACbC,SAAU,YAKZ,IAAIC,EAA+B,KAC/BC,GAA2B,EAC/B,MAAMC,EAAuBC,IAEvBH,GAAOI,aAAaJ,GACxBA,EAAQK,WAAW,KACZJ,IACDE,EAASG,QAAUnC,EAAcoC,SAIjCJ,EAASjB,OAAOU,EAAeC,WAAaJ,GAC9CF,IAEEY,EAASjB,OAAOU,EAAeC,WAAaL,GAC9CE,KAPAC,MASD,GAd+Ba,IAAOP,GAA2B,GAmBtEzB,EAASiC,aAAaC,QAAQC,IAC5BC,UAEE,MAAMC,EAAQC,aAAaC,QAAQzB,GAInC,OAHIuB,GAASG,EAAOnC,SAClBmC,EAAOnC,QAAQoC,IAAI3B,EAAsBuB,GAEpCG,GAERE,IACCC,QAAQC,IAAI,WAAYF,GACxBhB,EAAoBgB,GACbG,QAAQC,OAAOJ,KAM1B1C,EAASiC,aAAaN,SAASQ,IAC5BR,IACC,GAAqC,SAAjCA,EAASa,OAAOO,aAClB,OAAOpB,EAEP,GAAQA,EAASjB,OAAOU,EAAeC,YAChCL,EACH,OAAOW,EAASjB,OAAOU,EAAeG,UACxC,CACE,MAAMS,EAA4BN,EAAoBC,GACtD,KAAM,IACDA,EACHK,4BACAgB,IAAKhD,EAASiD,SACf,GAIRP,IACC,MAAMV,EAA4BN,EAAoBgB,GACtD,KAAM,IAAKA,EAAOV,4BAA2BgB,IAAKhD,EAASiD"}
@@ -0,0 +1,5 @@
1
+ import { AxiosInstance } from "axios";
2
+ import { InterceptorsOptions } from "../model/model";
3
+ export declare const setupInterceptors: ({ instance, authTokenStorageName, authFailedCaller, networkSuccessCode, authFailedCode, networkFailedCaller, serverKillCaller, responseStruct, }: InterceptorsOptions & {
4
+ instance: AxiosInstance;
5
+ }) => void;
@@ -0,0 +1,28 @@
1
+ import { AxiosError } from "axios";
2
+ export interface Options {
3
+ url: string;
4
+ headers?: {};
5
+ params?: {} | null;
6
+ [key: string]: any;
7
+ }
8
+ export interface Response<T> {
9
+ code: number;
10
+ message: string;
11
+ data: T;
12
+ }
13
+ export interface ResponseError<T = unknown, D = any> extends AxiosError<T, D> {
14
+ hiddenDefaultErrorHandler(): void;
15
+ }
16
+ export type InterceptorsOptions = {
17
+ authTokenStorageName?: string;
18
+ networkSuccessCode?: number;
19
+ authFailedCode?: number;
20
+ authFailedCaller?: Function;
21
+ networkFailedCaller?: Function;
22
+ serverKillCaller?: Function;
23
+ responseStruct?: {
24
+ codeName: string;
25
+ messageName: string;
26
+ dataName: string;
27
+ };
28
+ };
package/package.json CHANGED
@@ -1,20 +1,44 @@
1
1
  {
2
2
  "name": "@andbridge/glowpod",
3
- "version": "1.0.0",
4
- "description": "",
5
- "main": "glowpod.ts",
3
+ "version": "1.0.2",
4
+ "description": "A axios-based HTTP client library",
5
+ "main": "build/glowpod.js",
6
+ "module": "build/glowpod.esm.js",
7
+ "types": "build/glowpod.d.ts",
8
+ "files": [
9
+ "build"
10
+ ],
11
+ "exports": {
12
+ ".": {
13
+ "import": "./build/glowpod.esm.js",
14
+ "require": "./build/glowpod.js",
15
+ "types": "./build/glowpod.d.ts"
16
+ }
17
+ },
6
18
  "scripts": {
7
- "test": "echo \"Error: no test specified\" && exit 1"
19
+ "build": "rollup -c",
20
+ "prepublishOnly": "npm run build"
8
21
  },
9
- "keywords": [],
22
+ "keywords": [
23
+ "axios",
24
+ "http",
25
+ "client"
26
+ ],
10
27
  "author": "",
11
28
  "license": "ISC",
12
29
  "packageManager": "pnpm@10.15.0",
13
30
  "devDependencies": {
31
+ "@rollup/plugin-babel": "^6.1.0",
32
+ "@rollup/plugin-commonjs": "^29.0.0",
33
+ "@rollup/plugin-node-resolve": "^16.0.3",
34
+ "@rollup/plugin-typescript": "^12.3.0",
35
+ "rollup": "^4.53.2",
36
+ "rollup-plugin-terser": "^7.0.2",
37
+ "tslib": "^2.8.1",
14
38
  "typescript": "~5.9.3"
15
39
  },
16
40
  "dependencies": {
17
- "axios": "^1.13.2",
18
- "element-plus": "^2.11.7"
19
- }
41
+ "axios": "^1.13.2"
42
+ },
43
+ "repository": {}
20
44
  }
package/glowpod.ts DELETED
@@ -1,3 +0,0 @@
1
- import GlowPod from "./src/core/core";
2
- export * from "./src/interceptors/interceptors";
3
- export default GlowPod;
@@ -1,2 +0,0 @@
1
-
2
-
package/src/core/core.ts DELETED
@@ -1,45 +0,0 @@
1
- import type { Options, Response } from "../model/model";
2
- import axios, { AxiosInstance, CreateAxiosDefaults } from "axios";
3
- export default class Core {
4
- protected instance: AxiosInstance;
5
-
6
- constructor(options: CreateAxiosDefaults) {
7
- this.instance = axios.create(options);
8
- }
9
-
10
- public getInstance = () => {
11
- return this.instance;
12
- };
13
- public Get = <T>(options: Options): T =>
14
- this.instance({
15
- method: "GET",
16
- url: options.url,
17
- params: options.params,
18
- headers: { ...options.headers },
19
- ...options.others,
20
- }) as unknown as T;
21
- public Put = <T>(options: Options): T =>
22
- this.instance({
23
- method: "PUT",
24
- url: options.url,
25
- params: options.params,
26
- headers: { ...options.headers },
27
- ...options.others,
28
- }) as unknown as T;
29
- public Delete = <T>(options: Options): T =>
30
- this.instance({
31
- method: "DELETE",
32
- url: options.url,
33
- params: options.params,
34
- headers: { ...options.headers },
35
- ...options.others,
36
- }) as unknown as T;
37
- public Post = <T>(options: Options): T =>
38
- this.instance({
39
- method: "POST",
40
- url: options.url,
41
- data: options.params,
42
- headers: { ...options.headers },
43
- ...options.others,
44
- }) as unknown as T;
45
- }
@@ -1,105 +0,0 @@
1
- import {
2
- AxiosInstance,
3
- AxiosResponse,
4
- AxiosError,
5
- InternalAxiosRequestConfig,
6
- } from "axios";
7
- import { InterceptorsOptions, Response } from "../model/model";
8
-
9
- /**
10
- * 设置拦截器
11
- * @param instance axios实例
12
- * @param @InterceptorsOptions
13
- * @returns void
14
- */
15
-
16
- const _authFailedCaller = () => {};
17
-
18
- const _networkFailedCaller = () => {};
19
-
20
- const _serverKillCaller = () => {};
21
-
22
- enum NetworkStatus {
23
- success = 200,
24
- }
25
-
26
- export const setupInterceptors = ({
27
- instance,
28
- authTokenStorageName = "token",
29
- authFailedCaller = _authFailedCaller,
30
- networkSuccessCode = 200,
31
- authFailedCode = 401,
32
- networkFailedCaller = _networkFailedCaller,
33
- serverKillCaller = _serverKillCaller,
34
- responseStruct = {
35
- codeName: "code",
36
- messageName: "message",
37
- dataName: "data",
38
- },
39
- }: InterceptorsOptions & {
40
- instance: AxiosInstance;
41
- }) => {
42
- let timer: NodeJS.Timeout | null = null;
43
- let isDefaultOpenErrorHandle = true;
44
- const defaultErrorHandler = (response: any) => {
45
- const hiddenDefaultErrorHandler = () => (isDefaultOpenErrorHandle = false);
46
- if (timer) clearTimeout(timer);
47
- timer = setTimeout(() => {
48
- if (!isDefaultOpenErrorHandle) return;
49
- if (response.status != NetworkStatus.success) {
50
- serverKillCaller();
51
- return;
52
- }
53
- if (response.data?.[responseStruct.codeName] == authFailedCode) {
54
- authFailedCaller();
55
- }
56
- if (response.data?.[responseStruct.codeName] != networkSuccessCode) {
57
- networkFailedCaller();
58
- }
59
- }, 0);
60
- return hiddenDefaultErrorHandler;
61
- };
62
-
63
- // 请求拦截器
64
- instance.interceptors.request.use(
65
- async (config) => {
66
- // 从存储中获取token
67
- const token = localStorage.getItem(authTokenStorageName as string);
68
- if (token && config.headers) {
69
- config.headers.set(authTokenStorageName, token);
70
- }
71
- return config;
72
- },
73
- (error: AxiosError) => {
74
- console.log("请求错误拦截器:", error);
75
- defaultErrorHandler(error);
76
- return Promise.reject(error);
77
- }
78
- );
79
-
80
- // 响应拦截器
81
-
82
- instance.interceptors.response.use(
83
- (response) => {
84
- if (response.config.responseType === "blob") {
85
- return response;
86
- } else {
87
- switch (response.data?.[responseStruct.codeName]) {
88
- case networkSuccessCode:
89
- return response.data?.[responseStruct.dataName];
90
- default:
91
- const hiddenDefaultErrorHandler = defaultErrorHandler(response);
92
- throw {
93
- ...response,
94
- hiddenDefaultErrorHandler,
95
- uri: instance.getUri(),
96
- };
97
- }
98
- }
99
- },
100
- (error: AxiosError) => {
101
- const hiddenDefaultErrorHandler = defaultErrorHandler(error);
102
- throw { ...error, hiddenDefaultErrorHandler, uri: instance.getUri() };
103
- }
104
- );
105
- };
@@ -1,31 +0,0 @@
1
- import { AxiosError, AxiosResponse } from "axios";
2
-
3
- export interface Options {
4
- url: string;
5
- headers?: {};
6
- params?: {} | null;
7
- [key: string]: any;
8
- }
9
-
10
- export interface Response<T> {
11
- code: number;
12
- message: string;
13
- data: T;
14
- }
15
-
16
- export interface ResponseError<T = unknown, D = any> extends AxiosError<T, D> {
17
- hiddenDefaultErrorHandler(): void;
18
- }
19
- export type InterceptorsOptions = {
20
- authTokenStorageName?: string;
21
- networkSuccessCode?: number;
22
- authFailedCode?: number;
23
- authFailedCaller?: Function;
24
- networkFailedCaller?: Function;
25
- serverKillCaller?: Function;
26
- responseStruct?: {
27
- codeName?: string;
28
- messageName?: string;
29
- dataName?: string;
30
- };
31
- };
package/tsconfig.json DELETED
@@ -1,9 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "baseUrl": ".",
4
- "paths": {
5
- "@/*": ["./src/*"]
6
- },
7
- "jsx": "react-jsx"
8
- }
9
- }