فهرست منبع

调整请求地址配置文件

zk 1 سال پیش
والد
کامیت
21989a3be3

+ 34 - 4
app/build.gradle

@@ -4,6 +4,21 @@ plugins {
     id 'stringfog'
 }
 
+def LOCAL = "local", TEST = "test", PROD = "prod"
+
+def getServerHost(String env) {
+    switch (env) {
+        case "local":
+            return "$local_server_host";
+        case "test":
+            return "$test_server_host";
+        case "prod":
+            return "$prod_server_host";
+        default:
+            return "$prod_server_host";
+    }
+}
+
 android {
     namespace 'com.atmob.voiceai'
     compileSdk rootProject.compileSdkVersion
@@ -36,14 +51,21 @@ android {
         }
     }
 
+
+    def env_release = PROD
+    def env_debug = LOCAL
+
     buildTypes {
         release {
             minifyEnabled true
             proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
             signingConfig signingConfigs.release
 
-            buildConfigField "boolean", "isLocalNetwork", "false"
-            buildConfigField "String", "HOST", "\"$prod_host\""
+            buildConfigField "String", "ENV", "\"$env_release\""
+            buildConfigField "String", "HOST", "\"${getServerHost(env_release)}\""
+            buildConfigField "String", "LOCAL", "\"$LOCAL\""
+            buildConfigField "String", "TEST", "\"$TEST\""
+            buildConfigField "String", "PROD", "\"$PROD\""
         }
 
         debug {
@@ -51,9 +73,14 @@ android {
             proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
             signingConfig signingConfigs.debug
 
-            buildConfigField "boolean", "isLocalNetwork", "true"
-            buildConfigField "String", "HOST", "\"$test_host\""
+            buildConfigField "String", "ENV", "\"$env_debug\""
+            buildConfigField "String", "HOST", "\"${getServerHost(env_debug)}\""
+            buildConfigField "String", "LOCAL", "\"$LOCAL\""
+            buildConfigField "String", "TEST", "\"$TEST\""
+            buildConfigField "String", "PROD", "\"$PROD\""
         }
+
+
     }
     compileOptions {
         sourceCompatibility JavaVersion.VERSION_1_8
@@ -65,12 +92,15 @@ android {
         dataBinding true
     }
 
+
     applicationVariants.configureEach { variant ->
         def date = new Date().format("YYMMddHHmmss")
+        def server = variant.buildType.name == "release" ? env_release : env_debug
         variant.outputs.configureEach {
             def fileName = "${defaultConfig.applicationId}" +
                     "-v${defaultConfig.versionName}" +
                     "-${variant.buildType.name}" +
+                    "-${server}" +
                     "-${date}" +
                     ".apk"
             outputFileName = fileName

+ 18 - 0
app/src/main/java/com/atmob/voiceai/App.java

@@ -4,6 +4,9 @@ import android.content.Context;
 
 import com.atmob.app.lib.base.BaseApplication;
 import com.atmob.user.AtmobUser;
+import com.atmob.voiceai.utils.ToastUtil;
+
+import java.util.Objects;
 
 import dagger.hilt.android.HiltAndroidApp;
 
@@ -24,6 +27,21 @@ public class App extends BaseApplication {
     }
 
     @Override
+    public void onCreate() {
+        super.onCreate();
+        checkServerRuntime();
+    }
+
+    private void checkServerRuntime() {
+        if (BuildConfig.DEBUG) {
+            return;
+        }
+        if (!Objects.equals(BuildConfig.ENV, BuildConfig.PROD)) {
+            ToastUtil.show("当前环境不是正式环境!", ToastUtil.LENGTH_LONG);
+        }
+    }
+
+    @Override
     protected boolean isDebug() {
         return BuildConfig.DEBUG;
     }

+ 1 - 3
app/src/main/java/com/atmob/voiceai/data/consts/Constants.java

@@ -5,9 +5,7 @@ import com.atmob.voiceai.BuildConfig;
 
 public class Constants {
 
-    private static final String Atmob_Server_Base_URL_LOCAL = "http://192.168.10.171:8880";
-    public static final String Atmob_Server_Base_URL_REMOTE = BuildConfig.HOST;
-    public static final String Atmob_Server_Base_URL = BuildConfig.isLocalNetwork ? Atmob_Server_Base_URL_LOCAL : Atmob_Server_Base_URL_REMOTE;
+    public static final String Atmob_Server_Base_URL = BuildConfig.HOST;
 
     public static final String PRIVACY_POLICY = "http://cdn.myaskai.cn/manyue/static/wjsjhfds-manyue-a-privacy.html";
 

+ 3 - 2
gradle.properties

@@ -21,5 +21,6 @@ android.useAndroidX=true
 android.nonTransitiveRClass=true
 android.enableJetifier=true
 android.injected.testOnly=false
-test_host=http://central-test.atmob.com:8880
-prod_host=http://project-api.atmob.com
+test_server_host=https://central-test.atmob.com
+prod_server_host=http://project-api.atmob.com
+local_server_host=http://192.168.10.171:8880