flutter 多环境部署

运行命令:

flutter run  --dart-define=DART_DEFINE_APP_ENV=debug    //  开发 
flutter run  --dart-define=DART_DEFINE_APP_ENV=test     //  测试 
flutter run  --dart-define=DART_DEFINE_APP_ENV=pre      //  灰度 
flutter run  --dart-define=DART_DEFINE_APP_ENV=release  //  生产 

打包命令:

flutter build  --dart-define=DART_DEFINE_APP_ENV=debug    //  开发 
flutter build  --dart-define=DART_DEFINE_APP_ENV=test     //  测试 
flutter build  --dart-define=DART_DEFINE_APP_ENV=pre      //  灰度 
flutter build  --dart-define=DART_DEFINE_APP_ENV=release  //  生产 
Android:flutter build apk ...
IOS:flutter build ios ...

utils:env_config.dart

//  环境配置
class EnvConfig {
    final String appTitle;
    final String appDomain;
    EnvConfig({
        required this.appTitle,
        required this.appDomain,
    });
}

//  环境声明
abstract class EnvState {
    //  环境key
    static const String envKey = "DART_DEFINE_APP_ENV";

    static const String debug = "debug";
    static const String test = "test";
    static const String pre = "pre";
    static const String release = "release";
}

class Env {
    //  获取当前环境
    static const appEnv = String.fromEnvironment(EnvState.envKey);


    static final EnvConfig _debugConfig = EnvConfig(
        appTitle: "开发",
        appDomain: "https://dev-www.sucoty.com",
    );

    static final EnvConfig _testConfig = EnvConfig(
        appTitle: "测试",
        appDomain: "https://test-www.sucoty.com",
    );

    static final EnvConfig _preConfig = EnvConfig(
        appTitle: "灰度",
        appDomain: "https://pre-www.sucoty.com",
    );

    static final EnvConfig _releaseConfig = EnvConfig(
        appTitle: "生产",
        appDomain: "https://www.sucoty.com",
    );


    static EnvConfig get envConfig => _getEnvConfig();

    static EnvConfig _getEnvConfig() {
        switch(appEnv) {

            case EnvState.debug:
                return _debugConfig;
            case EnvState.test:
                return _testConfig;
            case EnvState.pre:
                return _preConfig;
            case EnvState.release:
                return _releaseConfig;
            default:
                return _debugConfig;

        }   
    }
}

引用:

import 'package:sucoty_app/utils/env_config.dart';

static String BASE_URL = Env.envConfig.appDomain;

...  //  TODO OTHER THINGS
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

The৲One

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值