Files
ln-ios/ln_jq_app/lib/main.dart
2025-11-12 18:02:04 +08:00

78 lines
2.2 KiB
Dart
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import 'package:flutter_native_splash/flutter_native_splash.dart';
import 'package:get_storage/get_storage.dart';
import 'package:getx_scaffold/getx_scaffold.dart';
import 'package:ln_jq_app/common/model/base_model.dart';
import 'package:ln_jq_app/common/token_interceptor.dart';
import 'package:ln_jq_app/storage_service.dart';
import 'common/styles/theme.dart';
import 'pages/home/view.dart';
import 'pages/login/view.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
WidgetsBinding widgetsBinding = await init(isDebug: true, logTag: '小羚羚');
FlutterNativeSplash.preserve(widgetsBinding: widgetsBinding);
await GetStorage.init();
await Get.putAsync(() => StorageService().init());
initHttpSet();
runApp(
GetxApp(
// 设计稿尺寸 单位dp
designSize: const Size(390, 844),
// Getx Log
enableLog: true,
// 默认的跳转动画
defaultTransition: Transition.rightToLeft,
// 主题模式
themeMode: GlobalService.to.themeMode,
// 主题
theme: AppTheme.light,
// Dark主题
darkTheme: AppTheme.dark,
// AppTitle
title: '小羚羚',
// 首页入口
home: HomePage(),
// 推荐使用命名路由,如果配置好了可以取消下面两行的注释
// initialRoute: AppPages.INITIAL,
// getPages: AppPages.routes,
// Builder
builder: (context, widget) {
// do something....
return widget!;
},
),
);
}
void initHttpSet() {
// 设置基础 URL
HttpService.to.setBaseUrl(AppTheme.test_service_url);
//指定请求头
HttpService.to.dio.interceptors.add(TokenInterceptor(tokenKey: 'asoco-token'));
// 设置全局响应处理器
HttpService.to.setOnResponseHandler((response) async {
try {
final baseModel = BaseModel<dynamic>.fromJson(response.data);
if (baseModel.code == 0 || baseModel.code == 200) {
return null;
} else if (baseModel.code == 401) {
await StorageService.to.clearLoginInfo();
Get.offAll(() => LoginPage());
return baseModel.message;
} else {
return baseModel.message;
}
} on Exception catch (e) {
e.printInfo();
return '服务器异常';
}
});
}