123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
- return new (P || (P = Promise))(function (resolve, reject) {
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- });
- };
- import Axios from 'axios';
- import qs from 'querystring';
- const factory = (opts) => {
- const { baseURL, notifier, bridge, withCredentials = true, defaultDataType = 'form' } = opts || {};
- const axios = Axios.create({
- baseURL,
- withCredentials
- });
- return (opts) => __awaiter(void 0, void 0, void 0, function* () {
- const { url, method, query, data, dataType = defaultDataType, headers = {} } = opts;
- let contentType;
- let formattedData;
- if (dataType === 'form') {
- contentType = 'application/x-www-form-urlencoded';
- formattedData = data && qs.stringify(data);
- }
- else if (dataType === 'json') {
- contentType = 'application/json';
- formattedData = data && JSON.stringify(data);
- }
- if (method === 'POST' && contentType) {
- Object.assign(headers, {
- 'Content-Type': contentType
- });
- }
- let res;
- try {
- res = yield axios({
- url,
- method,
- params: query,
- headers,
- data: formattedData
- });
- }
- catch (e) {
- notifier && notifier(e.message, e.status, e);
- return e;
- }
- if (res.data) {
- const { status, data } = res.data;
- // require login
- if (status === -99) {
- bridge && bridge.checkLogin(true);
- }
- else if (status !== 1 && status !== 200) {
- const message = data && data.message || res.data.message || res.data.info;
- message && notifier && notifier(message, status, res);
- }
- }
- return res;
- });
- };
- const ProginnRequest = {
- create: factory
- };
- export default ProginnRequest;
|