|
@@ -0,0 +1,225 @@
|
|
|
|
|
+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 hostUrl = app.product ? 'https://csms.chargeco.global/' : 'https://test.internal.chargeco.global/'
|
|
|
|
|
+const service = 'chargeco/'
|
|
|
|
|
+export const host = hostUrl;
|
|
|
|
|
+
|
|
|
|
|
+//在生产模式显示日志
|
|
|
|
|
+const DEBUG_PROD = false;
|
|
|
|
|
+//日志开关
|
|
|
|
|
+const DEBUG = DEBUG_PROD || (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;
|
|
|
|
|
+}
|