12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- 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 } = opts || {};
- const axios = Axios.create({
- baseURL,
- withCredentials: true
- });
- return (opts) => __awaiter(void 0, void 0, void 0, function* () {
- const { url, method, query, data, dataType = 'form', headers = {} } = opts;
- let contentType;
- if (dataType === 'form') {
- contentType = 'application/x-www-form-urlencoded';
- }
- else if (dataType === 'json') {
- contentType = 'application/json';
- }
- if (method === 'POST') {
- Object.assign(headers, {
- 'Content-Type': contentType
- });
- }
- const res = yield axios({
- url,
- method,
- params: query,
- headers,
- data: data && (dataType === 'form' ? qs.stringify(data) : JSON.stringify(data))
- });
- if (res.data) {
- // require login
- if (res.data.status === -99) {
- bridge && bridge.checkLogin(true);
- }
- else if (res.data.status !== 1 && res.data.status !== 200) {
- const message = res.data.data && res.data.data.message || res.data.message || res.data.info;
- message && notifier && notifier(message);
- }
- }
- return res;
- });
- };
- const ProginnRequest = {
- create: factory
- };
- export default ProginnRequest;
|