| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221 |
- import Axios from 'axios';
- import { PageList } from '../pages/Router';
- import app from '../../app.json';
- //config
- //const hostUrl = 'http://161.117.183.142/';
- const hostUrl = app.product ? 'https://csms.chargeco.global/' : 'https://uat.chargeco.global/';
- const service = 'chargeco/'
- export const host = hostUrl;
- const DEBUG = app.debug && !app.product;
- Axios.defaults.timeout = 30000;
- Axios.defaults.timeoutErrorMessage = "Connection timeout, please check your network.";
- Axios.interceptors.response.use((response) => {
- if (DEBUG) {
- console.log('-------', response.config.method, response.config.url);
- console.log('-------', response.status, JSON.stringify(response.data));
- }
- if (response.data.code == '401' || response.data.code == '402') {
- setAccessToken('');
- startPage(PageList.login, {action: response.data.code});
- return Promise.reject('Need sign in');
- }
- if (response.data.code == '500' || response.data.code == '502') {
- setAccessToken('');
- return Promise.reject('Sever error');
- }
- return response.data;
- }, (error) => {
- console.info('-------error', error);
- return Promise.reject(error);
- });
- export const get = (path, params) => {
- return new Promise((resolve, reject) => {
- Axios.get(host + service + path, {
- params: params,
- method: 'GET',
- headers: {
- 'Accept': 'application/json',
- 'lang': global.currentLocale,
- 'accessToken': global.accessToken ?? ''
- }
- }).then(res => {
- if (res.success) {
- resolve(res);
- } else if (res.msg) {
- reject({err: res.msg, ...res});
- } else {
- reject('Request Failed');
- }
- }).catch(error => {
- console.info('HTTP-ERROR', error);
- reject(error);
- });
- });
- }
- export const post = (path, params) => {
- return new Promise((resolve, reject) => {
- Axios.post(host + service + path, params, {
- method: 'POST',
- headers: {
- 'Accept': 'application/json',
- 'lang': global.currentLocale,
- 'accessToken': global.accessToken ?? ''
- }
- }).then(res => {
- if (res.success) {
- resolve(res);
- } else if (res.msg) {
- reject({err: res.msg, ...res});
- } else {
- reject('Request Failed');
- }
- }).catch(error => {
- console.info('HTTP-ERROR', error);
- reject(error);
- });
- });
- }
- export const upload = (path, params, header={}) => {
- return new Promise((resolve, reject) => {
- Axios.post(host + service + path, params, {
- method: 'POST',
- headers: {
- 'lang': global.currentLocale,
- 'Accept': 'application/json',
- 'Content-Type': 'multipart/form-data',
- 'accessToken': global.accessToken ?? '',
- ...header
- }
- }).then(res => {
- if (res.success) {
- resolve(res);
- } else if (res.msg) {
- reject({err: res.msg, ...res});
- } else {
- reject('Request Failed');
- }
- }).catch(error => {
- console.info('HTTP-ERROR', error);
- reject(error);
- });
- })
- }
- export const del = (path) => {
- return new Promise((resolve, reject) => {
- Axios.delete(host + service + path, {
- method: 'DELETE',
- headers: {
- 'Accept': 'application/json',
- 'lang': global.currentLocale,
- 'accessToken': global.accessToken ?? ''
- }
- }).then(res => {
- if (res.success) {
- resolve(res);
- } else if (res.msg) {
- reject({err: res.msg, ...res});
- } else {
- reject('Request Failed');
- }
- }).catch(error => {
- console.info('HTTP-ERROR', error);
- reject(error);
- });
- });
- }
- export const GET = (url, params) => {
- var request = host + service + url;
- if (params) {
- var keys = ''
- for (let key in params) {
- if (keys != '') {
- keys += '&';
- }
- keys += key + '=' + encodeURI(params[key]);
- }
- if (keys !== '') {
- request += '?' + keys;
- }
- }
- return new Promise((resolve, reject) => {
- fetch(request, {
- method: 'GET',
- headers: {
- 'lang': global.currentLocale,
- 'Accept': 'application/json',
- 'accessToken': global.accessToken ?? ''
- }.then((response) => {
- if (response.ok) {
- return response.json();
- } else {
- reject(response);
- }
- }).then(data => {
- resolve(data);
- }).catch((error) => {
- reject(error);
- })
- });
- });
- }
- export const POST = (url, params) => {
- return new Promise((resolve, reject) => {
- fetch(host + service + url, {
- method: 'POST',
- headers: {
- 'lang': global.currentLocale,
- 'Accept': 'application/json',
- 'content-type': 'application/json',
- 'accessToken': global.accessToken ?? ''
- },
- body: JSON.stringify(params)
- }).then((response) => {
- if (response.ok) {
- return response.json();
- } else {
- reject(response);
- }
- }).then(data => {
- resolve(data);
- }).catch((error) => {
- reject(error);
- })
- });
- }
- export const SOCKET = (url) => {
- const ws = new WebSocket(url); // like 'wss://vbea.com/path'
- ws.onopen = () => {
- // connection opened
- ws.send('something'); // send a message
- };
- ws.onmessage = (e) => {
- // a message was received
- console.log(e.data);
- };
- ws.onerror = (e) => {
- // an error occurred
- console.log(e.message);
- };
- ws.onclose = (e) => {
- // connection closed
- console.log(e.code, e.reason);
- };
- }
- export const setAccessToken = token => {
- global.accessToken = token;
- }
|