【发布时间】:2020-03-31 07:04:34
【问题描述】:
我使用了 Flavor 并定义了两个主要类。我还使用了 Chopper。如何设置基于 baseUrl 的环境?
import 'package:meta/meta.dart';
enum BuildFlavor { production, development }
BuildEnvironment get env => _env;
BuildEnvironment _env;
class BuildEnvironment {
final String ssoBaseUrl;
final BuildFlavor flavor;
BuildEnvironment._init(
{this.ssoBaseUrl,
this.flavor});
static void init(
{@required flavor,
@required ssoBaseUrl}) =>
_env ??= BuildEnvironment._init(
flavor: flavor,
ssoBaseUrl: ssoBaseUrl);
}
main.dev.dart
void main() {
BuildEnvironment.init(
flavor: BuildFlavor.development,
ssoBaseUrl: 'http://15.88.219.20');
assert(env != null);
runApp(MultiProvider(
providers: globalProviders,
child: MyApp(),
));
}
斩波器
@ChopperApi(baseUrl:'${env.ssoBaseUrl}')
abstract class Services extends ChopperService {
static Services create([ChopperClient client]) => _$Services(client);
@Post(path: '/sso-dev/registration')
Future<Response> registerPost(
错误信息
【问题讨论】:
-
为什么要否决我的问题?
-
你能得到这份工作吗?
-
@HardikAmal 我使用
http而不是chopper