flutter:切换开发环境、正式环境

一,在android studio上做配置

说明:用 --dart-define来定义环境的参数

二,代码:

1,Config类

class Config {
  static String env = "";

  //接口的host  
  static String get apiHost {
    switch (env) {
      case "devel":
        return "http://apidev.mysite.com";
      case "prod":
        return "http://apiprod.mysite.com";
      default:
        return "http://apiprod.mysite.com";
    }
  }

  //访问api的本地key  
  static String get apiKey {
    switch (env) {
      case "devel":
        return "api_devel_key";
      case "prod":
        return "api_prod_key";
      default:
        return "api_prod_key";
    }
  }

}

2,接收参数

import 'package:tangpoem/conf/Config.dart';

void main() {
  //得到MYENV参数的值,没有值时默认为正式环境  
  String myVar = const String.fromEnvironment('MYENV');
  print("myVar:"+myVar);
  if (myVar == 'devel') {
    Config.env = "devel";
  } else {
    Config.env = "prod";
  }
  print("Config.env:"+Config.env);
  runApp(MyApp());
}

3,调用Config类

              print("api的地址:"+Config.apiHost);
              print("api的key:"+Config.apiKey);

三,测试效果:

1,测试环境时:

I/flutter (14070): api的地址:http://apidev.mysite.com
I/flutter (14070): api的key:api_devel_key

2,正式环境时:

I/flutter (14430): api的地址:http://apiprod.mysite.com
I/flutter (14430): api的key:api_prod_key

 

posted @ 2025-04-04 13:16  刘宏缔的架构森林  阅读(117)  评论(0)    收藏  举报