You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
114 lines
3.7 KiB
114 lines
3.7 KiB
/*
|
|
* ====================================================
|
|
* package : pages.welcome
|
|
* author : Created by nansi.
|
|
* time : 2019/5/5 4:47 PM
|
|
* remark :
|
|
* ====================================================
|
|
*/
|
|
|
|
import 'dart:async';
|
|
|
|
import 'package:camera/camera.dart';
|
|
import 'package:flutter/material.dart';
|
|
import 'package:flutter/services.dart';
|
|
import 'package:hive_flutter/adapters.dart';
|
|
import 'package:package_info/package_info.dart';
|
|
|
|
import 'package:power_logger/power_logger.dart';
|
|
|
|
import 'package:recook/base/base_store_state.dart';
|
|
import 'package:recook/constants/api.dart';
|
|
import 'package:recook/constants/config.dart';
|
|
import 'package:recook/constants/constants.dart';
|
|
import 'package:recook/constants/header.dart';
|
|
import 'package:recook/manager/http_manager.dart';
|
|
import 'package:recook/manager/user_manager.dart';
|
|
import 'package:recook/pages/user/functions/user_func.dart';
|
|
import 'package:recook/pages/welcome/launch_privacy_dialog.dart';
|
|
import 'package:recook/utils/app_router.dart';
|
|
import 'package:recook/utils/storage/hive_store.dart';
|
|
import 'package:recook/utils/test.dart';
|
|
import 'package:tencent_im_plugin/tencent_im_plugin.dart';
|
|
import 'package:tencent_live_fluttify/tencent_live_fluttify.dart';
|
|
List<CameraDescription> cameras;
|
|
class LaunchWidget extends StatefulWidget {
|
|
@override
|
|
_LaunchWidgetState createState() => _LaunchWidgetState();
|
|
}
|
|
|
|
class _LaunchWidgetState extends BaseStoreState<LaunchWidget>
|
|
with SingleTickerProviderStateMixin {
|
|
@override
|
|
void initState() {
|
|
super.initState();
|
|
|
|
|
|
WidgetsBinding.instance.addPostFrameCallback((callback) async {
|
|
await Future.delayed(Duration(milliseconds: 2450));
|
|
if (HiveStore.appBox.get('privacy_init') == null) {
|
|
// if (true) {
|
|
bool agreeResult = (await launchPrivacyDialog(context)) ?? false;
|
|
if (!agreeResult) {
|
|
//第1次不同意
|
|
bool secondAgree =
|
|
(await launchPrivacySecondDialog(context)) ?? false;
|
|
//第2次不同意
|
|
if (!secondAgree)
|
|
SystemNavigator.pop();
|
|
else
|
|
HiveStore.appBox.put('privacy_init', true);
|
|
} else
|
|
HiveStore.appBox.put('privacy_init', true);
|
|
}
|
|
Future.delayed(Duration.zero, () async {
|
|
UserManager.instance.kingCoinListModelList =
|
|
await UserFunc.getKingCoinList();
|
|
setState(() {
|
|
|
|
});
|
|
});
|
|
PowerLogger.start(context, debug: true);//AppConfig.debug 在正式服数据下进行调试
|
|
cameras = await availableCameras();
|
|
PackageInfo _packageInfo = await PackageInfo.fromPlatform();
|
|
AppConfig.versionNumber = _packageInfo.buildNumber;
|
|
|
|
TencentImPlugin.init(appid: '1400435566');
|
|
HttpManager.post(LiveAPI.liveLicense, {}).then((resultData) {
|
|
String key = resultData.data['data']['key'];
|
|
String licenseURL = resultData.data['data']['licenseUrl'];
|
|
//初始化腾讯直播
|
|
TencentLive.instance.init(
|
|
licenseUrl: licenseURL,
|
|
licenseKey: key,
|
|
);
|
|
});
|
|
|
|
|
|
AppRouter.fadeAndReplaced(globalContext, RouteName.WELCOME_PAGE);
|
|
});
|
|
}
|
|
|
|
@override
|
|
Widget buildContext(BuildContext context, {store}) {
|
|
Constants.initial(context);
|
|
// double width = MediaQuery.of(context).size.width;
|
|
// double height = MediaQuery.of(context).size.height;
|
|
|
|
return Scaffold(
|
|
body: Image.asset(
|
|
R.ASSETS_RECOOK_LAUNCH_IMAGE_RECOOK_SPLASH_WEBP,
|
|
fit: BoxFit.cover,
|
|
),
|
|
// body: Container(
|
|
// child: ImagesAnimation(
|
|
// w: width,
|
|
// h: height,
|
|
// milliseconds: 2000,
|
|
// entry: ImagesAnimationEntry(0, 70,
|
|
// "assets/recook_launch_image/recook_launch_image_%s.png")),
|
|
// ),
|
|
);
|
|
}
|
|
}
|