소스 검색

镜像api切换

wgl 4 년 전
부모
커밋
0d2823dbd5
2개의 변경된 파일67개의 추가작업 그리고 25개의 파일을 삭제
  1. 24 24
      src/projects/business/utils/request.js
  2. 43 1
      src/projects/home/utils/request.js

+ 24 - 24
src/projects/business/utils/request.js

@@ -13,45 +13,45 @@ import {
 axios.defaults.headers['Content-Type'] = 'application/x-www-form-urlencoded'
 
 //检测是否可以访问通
-var isBackend = false;
-var checkApiGetBackendUrl = function() {
+var baseApiList = [process.env.VUE_APP_BACKEND_URL, process.env.VUE_APP_MIRROR_BACKEND_URL];
+var apiTypeIndex = 0;
+var checkApiGetBackendUrl = function(index) {
 	$.ajax({
-		url: process.env.VUE_APP_BACKEND_URL + '/mobile/companyInfoApi/link',
+		url: baseApiList[index] + '/mobile/companyInfoApi/link',
 		type: 'GET',
 		async: false, //同步
 		data: {},
 		timeout: 3000,
 		success: function(data, textStatus, jqXHR) {
-			console.log('直连正常')
-			isBackend = true;
+
 		},
 		error: function(xhr, textStatus) {
-			console.log('直连异常')
-			document.title = document.title + '-线路二';
-			isBackend = false;
+			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();
+checkApiGetBackendUrl(apiTypeIndex);
 
-//只有当刷新的时候才会访问一次校验,
-/* if (store.state.api_type) {
-	if (store.state.api_type = 'mirror') {
-		console.log('镜像地址')
-		var BACKEND_URL = process.env.VUE_APP_MIRROR_BACKEND_URL;
-	} else {
-		var BACKEND_URL = process.env.VUE_APP_BACKEND_URL;
-	}
-} else {
-	console.log(isBackend);
-	store.commit('SET_API_TYPE', isBackend ? 'backend' : 'mirror');
-	var BACKEND_URL = isBackend ? process.env.VUE_APP_BACKEND_URL : process.env.VUE_APP_MIRROR_BACKEND_URL;
-} */
-store.commit('SET_API_TYPE', isBackend ? 'backend' : 'mirror');
-var BACKEND_URL = isBackend ? process.env.VUE_APP_BACKEND_URL : process.env.VUE_APP_MIRROR_BACKEND_URL;
+//只有当刷新的时候才会访问一次校验
+store.commit('SET_API_TYPE', baseApiList[apiTypeIndex]);
+var BACKEND_URL = baseApiList[apiTypeIndex];
 
 
 // 创建axios实例

+ 43 - 1
src/projects/home/utils/request.js

@@ -2,6 +2,7 @@ import axios from 'axios';
 import store from '$project/store';
 import router from '@/router';
 import Vue from 'vue';
+import $ from 'jquery';
 
 import {
 	getToken
@@ -9,9 +10,50 @@ import {
 
 axios.defaults.headers['Content-Type'] = 'application/x-www-form-urlencoded'
 
+//检测是否可以访问通
+var baseApiList = [process.env.VUE_APP_BACKEND_URL, 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: process.env.VUE_APP_BACKEND_URL,
+	baseURL: BACKEND_URL,
 	timeout: 20000,
 	// 请求头信息
 	headers: {