@andbridge/glowpod 1.0.0 → 1.0.1

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 default 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,19 @@
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;
@@ -0,0 +1,3 @@
1
+ import GlowPod from "./core/core";
2
+ export * from "./interceptors/interceptors";
3
+ export default GlowPod;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
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;
@@ -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,87 @@
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;
@@ -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
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
package/package.json CHANGED
@@ -1,12 +1,22 @@
1
1
  {
2
2
  "name": "@andbridge/glowpod",
3
- "version": "1.0.0",
4
- "description": "",
5
- "main": "glowpod.ts",
3
+ "version": "1.0.1",
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
+ ],
6
11
  "scripts": {
7
- "test": "echo \"Error: no test specified\" && exit 1"
12
+ "build": "tsc",
13
+ "prepublishOnly": "npm run build"
8
14
  },
9
- "keywords": [],
15
+ "keywords": [
16
+ "axios",
17
+ "http",
18
+ "client"
19
+ ],
10
20
  "author": "",
11
21
  "license": "ISC",
12
22
  "packageManager": "pnpm@10.15.0",
@@ -14,7 +24,10 @@
14
24
  "typescript": "~5.9.3"
15
25
  },
16
26
  "dependencies": {
17
- "axios": "^1.13.2",
18
- "element-plus": "^2.11.7"
27
+ "axios": "^1.13.2"
28
+ },
29
+ "repository": {
30
+ "type": "git",
31
+ "url": "https://github.com/your-org/glowpod.git"
19
32
  }
20
33
  }
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
- }