zhengkaixin 2 years ago
parent
commit
98e39f6225
5 changed files with 149 additions and 6 deletions
  1. 1 0
      .env.development
  2. 2 0
      .env.production
  3. 3 0
      .env.test
  4. 8 6
      src/projects/parking/apis/car.js
  5. 135 0
      src/projects/parking/utils/request51.js

+ 1 - 0
.env.development

@@ -7,6 +7,7 @@ VUE_APP_LOCAL_STORAGE_PREFIX=dev
 #VUE_APP_BACKEND_URL=http://localhost:8086/jp-housekeeper-server/
 VUE_APP_BACKEND_URL=https://xpgjapi.xiaoxinda.com/
 
+VUE_APP_BACKEND_URL51=https://51team.xiaoxinda.com/charging-parking/
 VUE_APP_MIRROR_BACKEND_URL=https://mirror.xiaoxinda.com/xpgjapi/
 
 #小鹏管家微信appid

+ 2 - 0
.env.production

@@ -3,7 +3,9 @@ VUE_APP_NODE_NAME=production
 OUT_PUT_NAME=prod
 VUE_APP_LOCAL_STORAGE_PREFIX=prod
 VUE_APP_BACKEND_URL=https://xpgjapi.xiaoxinda.com/
+VUE_APP_BACKEND_URL51=https://51team.xiaoxinda.com/charging-parking/
 VUE_APP_MIRROR_BACKEND_URL=https://mirror.xiaoxinda.com/xpgjapi/
+
 #小鹏管家微信appid
 VUE_APP_WXAPPID=wx7e70eb62a8459869
 VUE_APP_ALIAPPID=2019032063568906

+ 3 - 0
.env.test

@@ -3,7 +3,10 @@ VUE_APP_NODE_NAME=test
 OUT_PUT_NAME=test
 VUE_APP_LOCAL_STORAGE_PREFIX=test
 VUE_APP_BACKEND_URL=https://ykt-test.xiaoxinda.com/jp-housekeeper-server/
+VUE_APP_BACKEND_URL51=https://51team.xiaoxinda.com/charging-parking/
+
 VUE_APP_MIRROR_BACKEND_URL=https://ykt-test.xiaoxinda.com/jp-housekeeper-server/
+
 #小鹏管家微信appid
 VUE_APP_WXAPPID=wx7e70eb62a8459869
 VUE_APP_ALIAPPID=2019032063568906

+ 8 - 6
src/projects/parking/apis/car.js

@@ -1,4 +1,6 @@
 import request from '@/utils/request'
+import request51 from '@/utils/request51'
+
 import Qs from 'qs';
 
 //获取停车场信息
@@ -61,11 +63,11 @@ export function userGetCarDetail(code,companyId,qrCode) {
 
 //获取停车场信息
 export function userGetCarMember(carNumber,companyId,qrCode) {
-	return request({
-		url: '/mobile/parkingInfoApi/userGetCarMember',
+	return request51({
+		url: '/parkingMemberInfo/userGetCarMember',
 		data: Qs.stringify({
 			carNumber:carNumber,
-			 merchantId:companyId,
+			 shopId:companyId,
 			 qrCode:qrCode,
 		}),
 		method: 'post',
@@ -73,11 +75,11 @@ export function userGetCarMember(carNumber,companyId,qrCode) {
 }
 
 export function validQrCode(companyId,qrCode) {
-	return request({
-		url: '/mobile/parkingInfoApi/validQrCode',
+	return request51({
+		url: '/parkingMemberInfo/validQrCode',
 		data: Qs.stringify({
 		 
-			 merchantId:companyId,
+			 shopId:companyId,
 			 qrCode:qrCode,
 		}),
 		method: 'post',

+ 135 - 0
src/projects/parking/utils/request51.js

@@ -0,0 +1,135 @@
+import axios from 'axios';
+import store from '$project/store';
+import router from '@/router';
+import Vue from 'vue';
+import $ from 'jquery';
+
+import {
+	getToken
+} from '$project/utils/storage'
+
+axios.defaults.headers['Content-Type'] = 'application/x-www-form-urlencoded'
+
+//检测是否可以访问通
+var baseApiList = [process.env.VUE_APP_BACKEND_URL51, process.env.VUE_APP_MIRROR_BACKEND_URL];
+var apiTypeIndex = 0;
+var checkApiGetBackendUrl = function(index) {
+	$.ajax({
+		url: baseApiList[index] + '/mobile/companyInfoApi/link',
+		type: 'GET',
+		async: false, //同步
+		data: {},
+		timeout: 3000,
+		success: function(data, textStatus, jqXHR) {
+
+		},
+		error: function(xhr, textStatus) {
+			console.log(index)
+			console.log(baseApiList[index] + '异常');
+			if (document.title.indexOf('-') > -1) {
+				document.title = document.title.substring(0, document.title.indexOf('-')) + '-线路' + (index + 1);
+			} else {
+				document.title = document.title + '-线路' + (index + 1);
+			}
+
+			if (index == baseApiList.length - 1) {
+				alert('接口无法访问,请联系开发者处理');
+			} else {
+				index++;
+				apiTypeIndex = index;
+				checkApiGetBackendUrl(index);
+			}
+		},
+		complete: function() {
+			console.log('接口通畅校验完成')
+		}
+	})
+}
+checkApiGetBackendUrl(apiTypeIndex);
+
+//只有当刷新的时候才会访问一次校验
+store.commit('SET_API_TYPE', baseApiList[apiTypeIndex]);
+var BACKEND_URL = baseApiList[apiTypeIndex];
+
+// 创建axios实例
+const service = axios.create({
+	baseURL: BACKEND_URL,
+	timeout: 20000,
+	// 请求头信息
+	headers: {
+		'Content-Type': 'application/x-www-form-urlencoded',
+		'X-Requested-With': 'XMLHttpRequest',
+	},
+});
+
+//request拦截器
+service.interceptors.request.use(config => {
+
+	// if (process.env.NODE_ENV == 'devlopment') {
+	// 	var Authorization = process.env.VUE_APP_AUTH;
+	// } else {
+	var Authorization = getToken() ? getToken() : '';
+
+	//var Authorization =  'Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMDAxNSIsImV4cCI6MTYwMTM3NzQyNH0.lmtjaZH3VAreGTS9zPosBHPRQ3_DC2esuY1AV1pI1rM';
+	// }
+
+	// 获取token
+	//const token = store.state.token;
+	//if (token) {
+	config.headers['Authorization'] = Authorization;
+	//}
+	return config;
+}, error => {
+	//对请求错误处理
+	return Promise.reject(error);
+});
+
+// response拦截器
+service.interceptors.response.use(
+	response => {
+		if (response.data.code === 200) {
+			if (response.data.result) {
+				return Promise.resolve(response.data.data);
+			} else {
+				return Promise.reject(response.data.message);
+			}
+		} else if (response.data.code === 415) {
+			//这里不执行,token过期
+		} else {
+			//无code的情况
+			if (response.data.result) {
+				return Promise.resolve(response.data.data);
+			} else {
+				return Promise.reject(response.data.message);
+			}
+
+			// todo 根据返回值判定去向,比如token过期,未登录等等
+
+			// 403 接口需要登录
+			/* if (response.data.code === 403) {
+				store.dispatch('clearToken');
+				router.replace({
+					name: 'Login',
+					query: {
+						redirect: router.currentRoute.fullPath
+					}
+				});
+			} */
+
+			return Promise.reject(response.data.message);
+		}
+	},
+	error => {
+		// alert('网络超时!请重新加载!');
+		//console.error(error);
+		// 判断请求异常信息中是否含有超时timeout字符串
+		if (error.message.includes('timeout')) {
+			return Promise.reject('请求超时,请稍后再试');
+		} else if (error.message.includes('NetworkError')) {
+			return Promise.reject('网络错误,请稍后再试');
+		}
+		return Promise.reject(error);
+	}
+);
+
+export default service;