modules.dart 1.1 KB

123456789101112131415161718192021222324252627282930
  1. import 'package:dio/dio.dart';
  2. import 'package:flutter/cupertino.dart';
  3. import 'package:flutter/material.dart';
  4. import 'package:mvvm_flutter/di/dartin.dart';
  5. import 'package:mvvm_flutter/model/remote.dart';
  6. import 'package:mvvm_flutter/model/repository.dart';
  7. import 'package:mvvm_flutter/viewmodel/home_provide.dart';
  8. final GlobalKey<ScaffoldState> scaffoldKey = GlobalKey<ScaffoldState>();
  9. String token = "";
  10. final Dio dio = Dio()
  11. ..options = BaseOptions(baseUrl: 'https://api.github.com/', connectTimeout: 30, receiveTimeout: 30)
  12. ..interceptors.add(AuthInterceptor())
  13. ..interceptors.add(LogInterceptor(responseBody: true, requestBody: true));
  14. //GithubService _provideGithubService() => GithubService();
  15. //GithubRepo _provideGithubRepo() => GithubRepo(_provideGithubService());
  16. //HomeProvide provideHomeViewModel() => HomeProvide("1", _provideGithubRepo());
  17. class AuthInterceptor extends Interceptor {
  18. @override
  19. onRequest(RequestOptions options) {
  20. options.headers.update("Authorization", (_) => token, ifAbsent: () => token);
  21. return super.onRequest(options);
  22. }
  23. }