74 lines
1.9 KiB
Dart
74 lines
1.9 KiB
Dart
import 'dart:async';
|
|
import 'package:chat/routes/app_routes.dart';
|
|
import 'package:chat/routes/auth_routes.dart';
|
|
import 'package:chat/services/auth_service.dart';
|
|
import 'package:flutter/material.dart';
|
|
import 'package:flutter_swiper_null_safety/flutter_swiper_null_safety.dart';
|
|
import 'package:get/get.dart';
|
|
|
|
class TransitPage extends StatefulWidget {
|
|
const TransitPage({Key? key}) : super(key: key);
|
|
|
|
@override
|
|
State<TransitPage> createState() => _TransitPageState();
|
|
}
|
|
|
|
/// 这里的加载图片,应该是可以请求网络图片的,但是要考虑网络图片的加载周期,还有网络环境因素等
|
|
class _TransitPageState extends State<TransitPage> {
|
|
final int _leftTime = 5;
|
|
late Timer _timer;
|
|
|
|
@override
|
|
void initState() {
|
|
super.initState();
|
|
}
|
|
|
|
void _jumpToRootPage() {
|
|
if (AuthService.to.isUserLogin) {
|
|
Get.offAllNamed(AppRoutes.app);
|
|
} else {
|
|
Get.offAllNamed(AuthRoutes.index);
|
|
}
|
|
}
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return Stack(
|
|
children: [
|
|
SizedBox(
|
|
width: double.infinity,
|
|
height: double.infinity,
|
|
child: Swiper(
|
|
autoplay: true,
|
|
itemCount: 2,
|
|
pagination: const SwiperPagination(),
|
|
itemBuilder: (BuildContext context, int index) {
|
|
return Image.asset(
|
|
'assets/transits/${index + 1}.png',
|
|
fit: BoxFit.cover,
|
|
);
|
|
},
|
|
),
|
|
),
|
|
Positioned(
|
|
bottom: 32,
|
|
right: 32,
|
|
child: GestureDetector(
|
|
onTap: () {
|
|
_timer.cancel();
|
|
_jumpToRootPage();
|
|
},
|
|
child: Text(
|
|
'跳过($_leftTime)',
|
|
style: const TextStyle(
|
|
fontSize: 16,
|
|
color: Colors.white,
|
|
),
|
|
),
|
|
),
|
|
),
|
|
],
|
|
);
|
|
}
|
|
}
|