This commit is contained in:
2022-10-19 10:54:45 +08:00
commit 153e28aa4e
115 changed files with 4215 additions and 0 deletions

View File

@@ -0,0 +1,15 @@
import 'package:flutter/material.dart';
class AuthPage extends StatefulWidget {
const AuthPage({Key? key}) : super(key: key);
@override
State<AuthPage> createState() => _AuthPageState();
}
class _AuthPageState extends State<AuthPage> {
@override
Widget build(BuildContext context) {
return Container();
}
}

View File

@@ -0,0 +1,15 @@
import 'package:flutter/material.dart';
class HomePage extends StatefulWidget {
const HomePage({Key? key}) : super(key: key);
@override
_HomePageState createState() => _HomePageState();
}
class _HomePageState extends State<HomePage> {
@override
Widget build(BuildContext context) {
return Container();
}
}

View File

@@ -0,0 +1,15 @@
import 'package:flutter/material.dart';
class MomentsPage extends StatefulWidget {
const MomentsPage({Key? key}) : super(key: key);
@override
_MomentsPageState createState() => _MomentsPageState();
}
class _MomentsPageState extends State<MomentsPage> {
@override
Widget build(BuildContext context) {
return Container();
}
}

View File

@@ -0,0 +1,78 @@
import 'package:chat/configs/app_colors.dart';
import 'package:chat/services/tabbar_service.dart';
import 'package:chat/views/home/index_page.dart';
import 'package:chat/views/moments/index/index_page.dart';
import 'package:chat/views/user/index/user_page.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:proste_indexed_stack/proste_indexed_stack.dart';
class AppPage extends StatelessWidget {
AppPage({Key? key}) : super(key: key);
final List<IndexedStackChild> _tabBarPageList = [
IndexedStackChild(child: const HomePage()),
IndexedStackChild(child: const MomentsPage()),
IndexedStackChild(child: const UserPage()),
];
final List<Map> _tabBarList = [
{
'icon': 'tabBar_03.png',
'label': '首页',
},
{
'icon': 'tabBar_03.png',
'label': '首页',
},
{
'icon': 'tabBar_03.png',
'label': '首页',
},
];
Widget _bottomNavigationBar() {
return GetX<TabbarService>(
builder: (_) {
return BottomNavigationBar(
currentIndex: _.index,
onTap: (index) {
_.index = index;
},
items: _tabBarList.map((item) {
return BottomNavigationBarItem(
icon: Image.asset(
'assets/icons/${item['icon']}',
width: 20,
height: 20,
),
activeIcon: Image.asset(
'assets/icons/${item['icon']}',
color: AppColors.primary,
width: 20,
height: 20,
),
label: item['label'],
tooltip: '',
);
}).toList(),
);
},
);
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: GetX<TabbarService>(
builder: (_) {
return ProsteIndexedStack(
index: _.index,
children: _tabBarPageList,
);
},
),
bottomNavigationBar: _bottomNavigationBar(),
);
}
}

View File

@@ -0,0 +1,15 @@
import 'package:flutter/material.dart';
class ScanPage extends StatefulWidget {
const ScanPage({Key? key}) : super(key: key);
@override
_ScanPageState createState() => _ScanPageState();
}
class _ScanPageState extends State<ScanPage> {
@override
Widget build(BuildContext context) {
return Container();
}
}

View File

@@ -0,0 +1,73 @@
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,
),
),
),
),
],
);
}
}

View File

@@ -0,0 +1,20 @@
import 'package:flutter/material.dart';
import 'package:get/get.dart';
class UnknownPage extends StatelessWidget {
const UnknownPage({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: ElevatedButton(
onPressed: () {
Get.back();
},
child: const Text('未知的页面'),
),
),
);
}
}

View File

@@ -0,0 +1,15 @@
import 'package:flutter/material.dart';
class UserPage extends StatefulWidget {
const UserPage({Key? key}) : super(key: key);
@override
_UserPageState createState() => _UserPageState();
}
class _UserPageState extends State<UserPage> {
@override
Widget build(BuildContext context) {
return Container();
}
}