@yeepay/client-utils 1.0.0-alpha-1 → 1.0.0
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/client-utils.esm.js +1 -1
- package/dist/client-utils.min.js +1 -1
- package/lib/request.js +17 -6
- package/package.json +4 -3
- package/pnpm-lock.yaml +0 -1785
package/dist/client-utils.esm.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import t from"axios";import e from"js-cookie";import
|
|
1
|
+
import t from"axios";import e from"js-cookie";import n from"apollo-boost";import r from"unfetch";function o(t){var e=(t=null==t?window.location.href:t).substring(t.lastIndexOf("?")+1),n={};return e.replace(/([^?&=]+)=([^?&=]*)/g,(function(t,e,r){var o=decodeURIComponent(e),i=decodeURIComponent(r);return i=String(i),n[o]=i,t})),n}var i="";function u(){return i||e.get("TOKEN")}function a(t){if(i=o(window.location.href)[t]){var n=i.indexOf("#");-1!==n&&(i=i.slice(0,n)),i="Bearer "+i,e.set("TOKEN",i);var r=new RegExp("("+t+"=[^&]+&?)");window.history.replaceState(null,null,window.location.href.replace(r,(function(t){return""})))}}function c(){return e.remove("TOKEN")}function s(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){return{}},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){return{}},o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){return{}},i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:function(){return{}},a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:function(){return{}},c=arguments.length>6&&void 0!==arguments[6]?arguments[6]:function(t){return t},s=arguments.length>7&&void 0!==arguments[7]?arguments[7]:function(t){return t},l=e.baseUrl,f=void 0===l?"/":l,d=e.timeout,p=void 0===d?12e5:d,v=e.headers,h=t.create({baseURL:f,timeout:p,headers:v,validateStatus:function(t){return t>=200&&t<300||401===t||403===t||400===t||500===t}});return h.interceptors.request.use((function(t){t.headers.Authorization=u(),t.headers["Content-Type"]="application/json";var e=t.method,n=t.url;return"get"===e&&(-1!==n.indexOf("?")?t.url="".concat(n,"&_t=").concat((new Date).getTime()):t.url="".concat(n,"?_t=").concat((new Date).getTime())),t}),(function(t){console.log(t),Promise.reject(t)})),h.interceptors.request.use(c,(function(t){console.log(t),Promise.reject(t)})),h.interceptors.response.use((function(t){return t.status&&401===t.status?o(t):t.status&&403===t.status?i(t):!t.status||400!==t.status&&500!==t.status?0!==t.data.code&&"0"!==t.data.code&&"000000"!==t.data.code&&200!==t.data.code&&t.data.code?(r(t),Promise.reject(t)):(n(t),t):(r(t),Promise.reject(t))}),(function(t){var e=0;try{e=t.response.status||t.response.data.status}catch(e){if(-1!==t.toString().indexOf("Error: timeout"))return Promise.reject(t)}return e?403===e?i(t):404===e?a(t):r(t.response):r(t.response),Promise.reject(t)})),h.interceptors.response.use(s,(function(t){})),h}function l(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function f(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var n=[],r=!0,o=!1,i=void 0;try{for(var u,a=t[Symbol.iterator]();!(r=(u=a.next()).done)&&(n.push(u.value),!e||n.length!==e);r=!0);}catch(t){o=!0,i=t}finally{try{r||null==a.return||a.return()}finally{if(o)throw i}}return n}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return d(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return d(t,e)}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function d(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}var p=function(){function t(e){var o=this,i=e.gqlServer,u=e.requestForRest;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.gql={},this.inject=function(t,e){o.register(t);for(var n=function(){var e=f(i[r],2),n=e[0],u=e[1];if(!["definitions","kind","loc"].includes(n))if("query"===u.definitions[0].operation)"production"===process.env.NODE_ENV?o.gql[t][n]=function(e){return o.restfulReq("/".concat(t,"/").concat(n),e)}:o.gql[t][n]=function(t){return o.query(u,t)};else{if("mutation"!==u.definitions[0].operation)return"continue";"production"===process.env.NODE_ENV?o.gql[t][n]=function(e){return o.restfulReq("/".concat(t,"/").concat(n),e)}:o.gql[t][n]=function(t){return o.mutation(u,t)}}},r=0,i=Object.entries(e);r<i.length;r++)n()},this.gqlServer=i,this.request=u,this.apolloClient=new n({uri:i,fetch:r})}var e,o,i;return e=t,(o=[{key:"register",value:function(t){this.gql[t]||(this.gql[t]={})}},{key:"query",value:function(t,e){return this.apolloClient.query({query:t,variables:e||{}})}},{key:"mutation",value:function(t,e){return this.apolloClient.mutate({mutation:t,variables:e||{}})}},{key:"restfulReq",value:function(t,e){return this.request({url:t,method:"post",data:{variables:e}})}}])&&l(e.prototype,o),i&&l(e,i),t}();export{p as GraphQLClient,o as getQueryObject,u as getToken,c as removeToken,s as serviceFactory,a as setTokenFromUrl};
|
package/dist/client-utils.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("axios"),require("js-cookie"),require("apollo-boost"),require("unfetch")):"function"==typeof define&&define.amd?define(["exports","axios","js-cookie","apollo-boost","unfetch"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).YeepayClientUtils={},e.axios,e.Cookie,e.ApolloClient,e.fetch)}(this,(function(e,t,n,r,o){"use strict";function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var u=i(t),a=i(n),c=i(r),s=i(o);function l(e){var t=(e=null==e?window.location.href:e).substring(e.lastIndexOf("?")+1),n={};return t.replace(/([^?&=]+)=([^?&=]*)/g,(function(e,t,r){var o=decodeURIComponent(t),i=decodeURIComponent(r);return i=String(i),n[o]=i,e})),n}var f="TOKEN",d="";function p(){return d||a.default.get(f)}function h(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function v(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var n=[],r=!0,o=!1,i=void 0;try{for(var u,a=e[Symbol.iterator]();!(r=(u=a.next()).done)&&(n.push(u.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(o)throw i}}return n}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return y(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return y(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function y(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var g=function(){function e(t){var n=this,r=t.gqlServer,o=t.requestForRest;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.gql={},this.inject=function(e,t){n.register(e);for(var r=function(){var t=v(i[o],2),r=t[0],u=t[1];if(!["definitions","kind","loc"].includes(r))if("query"===u.definitions[0].operation)"production"===process.env.NODE_ENV?n.gql[e][r]=function(t){return n.restfulReq("/".concat(e,"/").concat(r),t)}:n.gql[e][r]=function(e){return n.query(u,e)};else{if("mutation"!==u.definitions[0].operation)return"continue";"production"===process.env.NODE_ENV?n.gql[e][r]=function(t){return n.restfulReq("/".concat(e,"/").concat(r),t)}:n.gql[e][r]=function(e){return n.mutation(u,e)}}},o=0,i=Object.entries(t);o<i.length;o++)r()},this.gqlServer=r,this.request=o,this.apolloClient=new c.default({uri:r,fetch:s.default})}var t,n,r;return t=e,(n=[{key:"register",value:function(e){this.gql[e]||(this.gql[e]={})}},{key:"query",value:function(e,t){return this.apolloClient.query({query:e,variables:t||{}})}},{key:"mutation",value:function(e,t){return this.apolloClient.mutate({mutation:e,variables:t||{}})}},{key:"restfulReq",value:function(e,t){return this.request({url:e,method:"post",data:{variables:t}})}}])&&h(t.prototype,n),r&&h(t,r),e}();e.GraphQLClient=g,e.getQueryObject=l,e.getToken=p,e.removeToken=function(){return a.default.remove(f)},e.serviceFactory=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){return{}},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){return{}},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){return{}},o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:function(){return{}},i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:function(){return{}},a=e.baseUrl,
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("axios"),require("js-cookie"),require("apollo-boost"),require("unfetch")):"function"==typeof define&&define.amd?define(["exports","axios","js-cookie","apollo-boost","unfetch"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).YeepayClientUtils={},e.axios,e.Cookie,e.ApolloClient,e.fetch)}(this,(function(e,t,n,r,o){"use strict";function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var u=i(t),a=i(n),c=i(r),s=i(o);function l(e){var t=(e=null==e?window.location.href:e).substring(e.lastIndexOf("?")+1),n={};return t.replace(/([^?&=]+)=([^?&=]*)/g,(function(e,t,r){var o=decodeURIComponent(t),i=decodeURIComponent(r);return i=String(i),n[o]=i,e})),n}var f="TOKEN",d="";function p(){return d||a.default.get(f)}function h(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function v(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var n=[],r=!0,o=!1,i=void 0;try{for(var u,a=e[Symbol.iterator]();!(r=(u=a.next()).done)&&(n.push(u.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(o)throw i}}return n}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return y(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return y(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function y(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var g=function(){function e(t){var n=this,r=t.gqlServer,o=t.requestForRest;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.gql={},this.inject=function(e,t){n.register(e);for(var r=function(){var t=v(i[o],2),r=t[0],u=t[1];if(!["definitions","kind","loc"].includes(r))if("query"===u.definitions[0].operation)"production"===process.env.NODE_ENV?n.gql[e][r]=function(t){return n.restfulReq("/".concat(e,"/").concat(r),t)}:n.gql[e][r]=function(e){return n.query(u,e)};else{if("mutation"!==u.definitions[0].operation)return"continue";"production"===process.env.NODE_ENV?n.gql[e][r]=function(t){return n.restfulReq("/".concat(e,"/").concat(r),t)}:n.gql[e][r]=function(e){return n.mutation(u,e)}}},o=0,i=Object.entries(t);o<i.length;o++)r()},this.gqlServer=r,this.request=o,this.apolloClient=new c.default({uri:r,fetch:s.default})}var t,n,r;return t=e,(n=[{key:"register",value:function(e){this.gql[e]||(this.gql[e]={})}},{key:"query",value:function(e,t){return this.apolloClient.query({query:e,variables:t||{}})}},{key:"mutation",value:function(e,t){return this.apolloClient.mutate({mutation:e,variables:t||{}})}},{key:"restfulReq",value:function(e,t){return this.request({url:e,method:"post",data:{variables:t}})}}])&&h(t.prototype,n),r&&h(t,r),e}();e.GraphQLClient=g,e.getQueryObject=l,e.getToken=p,e.removeToken=function(){return a.default.remove(f)},e.serviceFactory=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){return{}},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){return{}},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){return{}},o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:function(){return{}},i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:function(){return{}},a=arguments.length>6&&void 0!==arguments[6]?arguments[6]:function(e){return e},c=arguments.length>7&&void 0!==arguments[7]?arguments[7]:function(e){return e},s=e.baseUrl,l=void 0===s?"/":s,f=e.timeout,d=void 0===f?12e5:f,h=e.headers,v=u.default.create({baseURL:l,timeout:d,headers:h,validateStatus:function(e){return e>=200&&e<300||401===e||403===e||400===e||500===e}});return v.interceptors.request.use((function(e){e.headers.Authorization=p(),e.headers["Content-Type"]="application/json";var t=e.method,n=e.url;return"get"===t&&(-1!==n.indexOf("?")?e.url="".concat(n,"&_t=").concat((new Date).getTime()):e.url="".concat(n,"?_t=").concat((new Date).getTime())),e}),(function(e){console.log(e),Promise.reject(e)})),v.interceptors.request.use(a,(function(e){console.log(e),Promise.reject(e)})),v.interceptors.response.use((function(e){return e.status&&401===e.status?r(e):e.status&&403===e.status?o(e):!e.status||400!==e.status&&500!==e.status?0!==e.data.code&&"0"!==e.data.code&&"000000"!==e.data.code&&200!==e.data.code&&e.data.code?(n(e),Promise.reject(e)):(t(e),e):(n(e),Promise.reject(e))}),(function(e){var t=0;try{t=e.response.status||e.response.data.status}catch(t){if(-1!==e.toString().indexOf("Error: timeout"))return Promise.reject(e)}return t?403===t?o(e):404===t?i(e):n(e.response):n(e.response),Promise.reject(e)})),v.interceptors.response.use(c,(function(e){})),v},e.setTokenFromUrl=function(e){if(d=l(window.location.href)[e]){var t=d.indexOf("#");-1!==t&&(d=d.slice(0,t)),d="Bearer "+d,a.default.set(f,d);var n=new RegExp("("+e+"=[^&]+&?)");window.history.replaceState(null,null,window.location.href.replace(n,(function(e){return""})))}},Object.defineProperty(e,"__esModule",{value:!0})}));
|
package/lib/request.js
CHANGED
|
@@ -17,10 +17,12 @@ export function serviceFactory(
|
|
|
17
17
|
failCallback = () => ({}),
|
|
18
18
|
unauthorizedCallback = () => ({}),
|
|
19
19
|
forbiddenCallback = () => ({}),
|
|
20
|
-
notfoundCallback = () => ({})
|
|
20
|
+
notfoundCallback = () => ({}),
|
|
21
|
+
requestInterceptor = (c) => (c),
|
|
22
|
+
responseInterceptor = (r) => (r)
|
|
21
23
|
) {
|
|
22
24
|
const {
|
|
23
|
-
baseUrl = '/
|
|
25
|
+
baseUrl = '/',
|
|
24
26
|
timeout = 1200000, // 默认 2 分钟
|
|
25
27
|
headers
|
|
26
28
|
} = options
|
|
@@ -64,12 +66,19 @@ export function serviceFactory(
|
|
|
64
66
|
}
|
|
65
67
|
)
|
|
66
68
|
|
|
69
|
+
service.interceptors.request.use(requestInterceptor,
|
|
70
|
+
(error) => {
|
|
71
|
+
// Do something with request error
|
|
72
|
+
console.log(error) // for debug
|
|
73
|
+
Promise.reject(error)
|
|
74
|
+
})
|
|
75
|
+
|
|
67
76
|
// response 拦截器
|
|
68
77
|
service.interceptors.response.use(
|
|
69
78
|
(response) => {
|
|
70
79
|
// 401, 403 返回报文
|
|
71
80
|
if (response.status && response.status === 401) {
|
|
72
|
-
return unauthorizedCallback(response
|
|
81
|
+
return unauthorizedCallback(response)
|
|
73
82
|
}
|
|
74
83
|
|
|
75
84
|
if (response.status && response.status === 403) {
|
|
@@ -81,7 +90,7 @@ export function serviceFactory(
|
|
|
81
90
|
(response.status === 400 || response.status === 500)
|
|
82
91
|
) {
|
|
83
92
|
failCallback(response)
|
|
84
|
-
return Promise.reject(response
|
|
93
|
+
return Promise.reject(response)
|
|
85
94
|
}
|
|
86
95
|
// !response.data.code, code为假 那么可能为文件流
|
|
87
96
|
if (
|
|
@@ -92,12 +101,11 @@ export function serviceFactory(
|
|
|
92
101
|
!response.data.code
|
|
93
102
|
) {
|
|
94
103
|
successCallback(response)
|
|
104
|
+
return response
|
|
95
105
|
} else {
|
|
96
106
|
failCallback(response)
|
|
97
107
|
return Promise.reject(response)
|
|
98
108
|
}
|
|
99
|
-
|
|
100
|
-
return response
|
|
101
109
|
},
|
|
102
110
|
(error) => {
|
|
103
111
|
let status = 0
|
|
@@ -123,5 +131,8 @@ export function serviceFactory(
|
|
|
123
131
|
return Promise.reject(error)
|
|
124
132
|
}
|
|
125
133
|
)
|
|
134
|
+
|
|
135
|
+
service.interceptors.response.use(responseInterceptor,
|
|
136
|
+
(error) => {})
|
|
126
137
|
return service
|
|
127
138
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yeepay/client-utils",
|
|
3
|
-
"version": "1.0.0
|
|
3
|
+
"version": "1.0.0",
|
|
4
4
|
"description": "shared utilities for yeepay client packages",
|
|
5
5
|
"main": "dist/client-utils.min.js",
|
|
6
6
|
"module": "dist/client-utils.esm.js",
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"keywords": [
|
|
18
18
|
"yeepay",
|
|
19
19
|
"utils",
|
|
20
|
-
"client-
|
|
20
|
+
"client-utils"
|
|
21
21
|
],
|
|
22
22
|
"author": "Angus Yang",
|
|
23
23
|
"license": "ISC",
|
|
@@ -27,6 +27,7 @@
|
|
|
27
27
|
"homepage": "https://github.com/YeePay-UED/client-utils#readme",
|
|
28
28
|
"devDependencies": {
|
|
29
29
|
"@babel/core": "^7.1.2",
|
|
30
|
+
"@babel/plugin-proposal-class-properties": "^7.18.6",
|
|
30
31
|
"@babel/preset-env": "^7.1.0",
|
|
31
32
|
"@rollup/plugin-babel": "^5.2.1",
|
|
32
33
|
"@rollup/plugin-commonjs": "^15.1.0",
|
|
@@ -37,7 +38,7 @@
|
|
|
37
38
|
},
|
|
38
39
|
"dependencies": {
|
|
39
40
|
"apollo-boost": "^0.4.9",
|
|
40
|
-
"axios": "^0.
|
|
41
|
+
"axios": "^0.27.2",
|
|
41
42
|
"graphql": "^15.6.0",
|
|
42
43
|
"js-cookie": "^2.2.1",
|
|
43
44
|
"unfetch": "^4.2.0"
|