@andbridge/glowpod 1.0.1 → 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.
- package/build/core/core.d.ts +1 -1
- package/build/glowpod.d.ts +1 -2
- package/build/glowpod.esm.js +2 -0
- package/build/glowpod.esm.js.map +1 -0
- package/build/glowpod.js +2 -22
- package/build/glowpod.js.map +1 -0
- package/build/glowpod.umd.js +2 -0
- package/build/glowpod.umd.js.map +1 -0
- package/package.json +17 -6
- package/build/core/core.js +0 -19
- package/build/interceptors/interceptors.js +0 -87
- package/build/model/model.js +0 -2
package/build/core/core.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Options } from "../model/model";
|
|
2
2
|
import { AxiosInstance, CreateAxiosDefaults } from "axios";
|
|
3
|
-
export
|
|
3
|
+
export declare class Core {
|
|
4
4
|
protected instance: AxiosInstance;
|
|
5
5
|
constructor(options: CreateAxiosDefaults);
|
|
6
6
|
getInstance: () => AxiosInstance;
|
package/build/glowpod.d.ts
CHANGED
|
@@ -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"}
|
package/build/glowpod.js
CHANGED
|
@@ -1,22 +1,2 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
17
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
18
|
-
};
|
|
19
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
-
const core_1 = __importDefault(require("./core/core"));
|
|
21
|
-
__exportStar(require("./interceptors/interceptors"), exports);
|
|
22
|
-
exports.default = core_1.default;
|
|
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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@andbridge/glowpod",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"description": "A axios-based HTTP client library",
|
|
5
5
|
"main": "build/glowpod.js",
|
|
6
6
|
"module": "build/glowpod.esm.js",
|
|
@@ -8,8 +8,15 @@
|
|
|
8
8
|
"files": [
|
|
9
9
|
"build"
|
|
10
10
|
],
|
|
11
|
+
"exports": {
|
|
12
|
+
".": {
|
|
13
|
+
"import": "./build/glowpod.esm.js",
|
|
14
|
+
"require": "./build/glowpod.js",
|
|
15
|
+
"types": "./build/glowpod.d.ts"
|
|
16
|
+
}
|
|
17
|
+
},
|
|
11
18
|
"scripts": {
|
|
12
|
-
"build": "
|
|
19
|
+
"build": "rollup -c",
|
|
13
20
|
"prepublishOnly": "npm run build"
|
|
14
21
|
},
|
|
15
22
|
"keywords": [
|
|
@@ -21,13 +28,17 @@
|
|
|
21
28
|
"license": "ISC",
|
|
22
29
|
"packageManager": "pnpm@10.15.0",
|
|
23
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",
|
|
24
38
|
"typescript": "~5.9.3"
|
|
25
39
|
},
|
|
26
40
|
"dependencies": {
|
|
27
41
|
"axios": "^1.13.2"
|
|
28
42
|
},
|
|
29
|
-
"repository": {
|
|
30
|
-
"type": "git",
|
|
31
|
-
"url": "https://github.com/your-org/glowpod.git"
|
|
32
|
-
}
|
|
43
|
+
"repository": {}
|
|
33
44
|
}
|
package/build/core/core.js
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const axios_1 = __importDefault(require("axios"));
|
|
7
|
-
class Core {
|
|
8
|
-
constructor(options) {
|
|
9
|
-
this.getInstance = () => {
|
|
10
|
-
return this.instance;
|
|
11
|
-
};
|
|
12
|
-
this.Get = (options) => this.instance(Object.assign({ method: "GET", url: options.url, params: options.params, headers: Object.assign({}, options.headers) }, options.others));
|
|
13
|
-
this.Put = (options) => this.instance(Object.assign({ method: "PUT", url: options.url, params: options.params, headers: Object.assign({}, options.headers) }, options.others));
|
|
14
|
-
this.Delete = (options) => this.instance(Object.assign({ method: "DELETE", url: options.url, params: options.params, headers: Object.assign({}, options.headers) }, options.others));
|
|
15
|
-
this.Post = (options) => this.instance(Object.assign({ method: "POST", url: options.url, data: options.params, headers: Object.assign({}, options.headers) }, options.others));
|
|
16
|
-
this.instance = axios_1.default.create(options);
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
exports.default = Core;
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.setupInterceptors = void 0;
|
|
13
|
-
/**
|
|
14
|
-
* 设置拦截器
|
|
15
|
-
* @param instance axios实例
|
|
16
|
-
* @param @InterceptorsOptions
|
|
17
|
-
* @returns void
|
|
18
|
-
*/
|
|
19
|
-
const _authFailedCaller = () => { };
|
|
20
|
-
const _networkFailedCaller = () => { };
|
|
21
|
-
const _serverKillCaller = () => { };
|
|
22
|
-
var NetworkStatus;
|
|
23
|
-
(function (NetworkStatus) {
|
|
24
|
-
NetworkStatus[NetworkStatus["success"] = 200] = "success";
|
|
25
|
-
})(NetworkStatus || (NetworkStatus = {}));
|
|
26
|
-
const setupInterceptors = ({ instance, authTokenStorageName = "token", authFailedCaller = _authFailedCaller, networkSuccessCode = 200, authFailedCode = 401, networkFailedCaller = _networkFailedCaller, serverKillCaller = _serverKillCaller, responseStruct = {
|
|
27
|
-
codeName: "code",
|
|
28
|
-
messageName: "message",
|
|
29
|
-
dataName: "data",
|
|
30
|
-
}, }) => {
|
|
31
|
-
let timer = null;
|
|
32
|
-
let isDefaultOpenErrorHandle = true;
|
|
33
|
-
const defaultErrorHandler = (response) => {
|
|
34
|
-
const hiddenDefaultErrorHandler = () => (isDefaultOpenErrorHandle = false);
|
|
35
|
-
if (timer)
|
|
36
|
-
clearTimeout(timer);
|
|
37
|
-
timer = setTimeout(() => {
|
|
38
|
-
var _a, _b;
|
|
39
|
-
if (!isDefaultOpenErrorHandle)
|
|
40
|
-
return;
|
|
41
|
-
if (response.status != NetworkStatus.success) {
|
|
42
|
-
serverKillCaller();
|
|
43
|
-
return;
|
|
44
|
-
}
|
|
45
|
-
if (((_a = response.data) === null || _a === void 0 ? void 0 : _a[responseStruct.codeName]) == authFailedCode) {
|
|
46
|
-
authFailedCaller();
|
|
47
|
-
}
|
|
48
|
-
if (((_b = response.data) === null || _b === void 0 ? void 0 : _b[responseStruct.codeName]) != networkSuccessCode) {
|
|
49
|
-
networkFailedCaller();
|
|
50
|
-
}
|
|
51
|
-
}, 0);
|
|
52
|
-
return hiddenDefaultErrorHandler;
|
|
53
|
-
};
|
|
54
|
-
// 请求拦截器
|
|
55
|
-
instance.interceptors.request.use((config) => __awaiter(void 0, void 0, void 0, function* () {
|
|
56
|
-
// 从存储中获取token
|
|
57
|
-
const token = localStorage.getItem(authTokenStorageName);
|
|
58
|
-
if (token && config.headers) {
|
|
59
|
-
config.headers.set(authTokenStorageName, token);
|
|
60
|
-
}
|
|
61
|
-
return config;
|
|
62
|
-
}), (error) => {
|
|
63
|
-
console.log("请求错误拦截器:", error);
|
|
64
|
-
defaultErrorHandler(error);
|
|
65
|
-
return Promise.reject(error);
|
|
66
|
-
});
|
|
67
|
-
// 响应拦截器
|
|
68
|
-
instance.interceptors.response.use((response) => {
|
|
69
|
-
var _a, _b;
|
|
70
|
-
if (response.config.responseType === "blob") {
|
|
71
|
-
return response;
|
|
72
|
-
}
|
|
73
|
-
else {
|
|
74
|
-
switch ((_a = response.data) === null || _a === void 0 ? void 0 : _a[responseStruct.codeName]) {
|
|
75
|
-
case networkSuccessCode:
|
|
76
|
-
return (_b = response.data) === null || _b === void 0 ? void 0 : _b[responseStruct.dataName];
|
|
77
|
-
default:
|
|
78
|
-
const hiddenDefaultErrorHandler = defaultErrorHandler(response);
|
|
79
|
-
throw Object.assign(Object.assign({}, response), { hiddenDefaultErrorHandler, uri: instance.getUri() });
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
}, (error) => {
|
|
83
|
-
const hiddenDefaultErrorHandler = defaultErrorHandler(error);
|
|
84
|
-
throw Object.assign(Object.assign({}, error), { hiddenDefaultErrorHandler, uri: instance.getUri() });
|
|
85
|
-
});
|
|
86
|
-
};
|
|
87
|
-
exports.setupInterceptors = setupInterceptors;
|
package/build/model/model.js
DELETED