Reason Pun

增加了会员假页面

import 'package:flutter/material.dart';
import 'package:one_poem/membership/membership_router.dart';
import 'package:one_poem/poem/poem_router.dart';
import 'package:one_poem/routers/fluro_navigator.dart';
import 'package:one_poem/setting/setting_router.dart';
......@@ -36,17 +37,15 @@ class _AccountPageState extends State<AccountPage> {
child: Row(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.end,
children: const <Widget>[
children: <Widget>[
Tapped(
child: _MembershipButton(
onTap: () {
NavigatorUtils.push(context, MembershipRouter.membershipPage);
},
child: const _MembershipButton(
title: '会员中心',
),
),
Tapped(
child: _UserRightButton(
title: '钱包',
),
),
],
),
);
......@@ -93,11 +92,11 @@ class _AccountPageState extends State<AccountPage> {
child: GestureDetector(
child: CircleAvatar(
backgroundColor: Colors.red.withOpacity(0.4),
radius: 14.0,
child: const Icon(
radius: 14.px,
child: Icon(
Icons.edit,
color: Colors.white,
size: 16.0,
size: 16.px,
),
),
onTap: () {
......@@ -239,10 +238,10 @@ class _MembershipButton extends StatelessWidget {
alignment: Alignment.center,
child: Text(
title,
style: TextStyle(color: ColorPlate.red.withOpacity(0.4)),
style: const TextStyle(color: ColorPlate.orange),
),
decoration: BoxDecoration(
border: Border.all(color: ColorPlate.red.withOpacity(.4)),
border: Border.all(color: ColorPlate.orange),
borderRadius: BorderRadius.circular(4.px),
),
);
......
......@@ -40,8 +40,9 @@ class _SplashPageState extends State<SplashPage> {
/// 预先缓存图片,避免直接使用时因为首次加载造成闪动
void _precacheImage(String image) {
precacheImage(
ImageUtils.getAssetImage(image, format: ImageFormat.png),
context);
ImageUtils.getAssetImage(image, format: ImageFormat.png),
context,
);
}
_guideList.forEach(_precacheImage);
......@@ -95,33 +96,35 @@ class _SplashPageState extends State<SplashPage> {
Widget build(BuildContext context) {
HYSizeFit.initialize(context);
return Material(
color: context.backgroundColor,
child: _status == 0
? const FractionallyAlignedSizedBox(
heightFactor: 0.3,
widthFactor: 0.33,
leftFactor: 0.33,
bottomFactor: 0,
child: LoadAssetImage('logo'))
: Swiper(
key: const Key('swiper'),
itemCount: _guideList.length,
loop: false,
itemBuilder: (_, index) {
return LoadAssetImage(
_guideList[index],
key: Key(_guideList[index]),
fit: BoxFit.cover,
width: double.infinity,
height: double.infinity,
format: ImageFormat.png,
);
},
onTap: (index) {
if (index == _guideList.length - 1) {
_goLogin();
}
},
));
color: context.backgroundColor,
child: _status == 0
? const FractionallyAlignedSizedBox(
heightFactor: 0.3,
widthFactor: 0.33,
leftFactor: 0.33,
bottomFactor: 0,
child: LoadAssetImage('logo'),
)
: Swiper(
key: const Key('swiper'),
itemCount: _guideList.length,
loop: false,
itemBuilder: (_, index) {
return LoadAssetImage(
_guideList[index],
key: Key(_guideList[index]),
fit: BoxFit.cover,
width: double.infinity,
height: double.infinity,
format: ImageFormat.png,
);
},
onTap: (index) {
if (index == _guideList.length - 1) {
_goLogin();
}
},
),
);
}
}
......
import 'package:fluro/fluro.dart';
import 'package:one_poem/routers/i_router.dart';
import 'page/membership_page.dart';
class MembershipRouter implements IRouterProvider {
static String membershipPage = '/membership';
@override
void initRouter(FluroRouter router) {
router.define(
membershipPage,
handler: Handler(
handlerFunc: (_, __) => const MembershipPage(),
),
);
}
}
import 'package:flutter/material.dart';
import 'package:one_poem/routers/fluro_navigator.dart';
import 'package:one_poem/extension/int_extension.dart';
class MembershipPage extends StatefulWidget {
const MembershipPage({Key? key}) : super(key: key);
@override
_MembershipPageState createState() => _MembershipPageState();
}
class _MembershipPageState extends State<MembershipPage>
with WidgetsBindingObserver {
@override
void initState() {
super.initState();
}
@override
Widget build(BuildContext context) {
return SafeArea(
child: Scaffold(
backgroundColor: Colors.black,
body: Container(
alignment: Alignment.topCenter,
decoration: const BoxDecoration(
image: DecorationImage(
image: AssetImage("assets/images/membership/membership_bg.png"),
fit: BoxFit.fill,
),
),
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Container(
alignment: Alignment.centerLeft,
child: IconButton(
onPressed: () {
NavigatorUtils.goBack(context);
},
icon: const Icon(
Icons.arrow_back_ios,
color: Colors.white,
),
),
),
const Text(
"这是会员页面",
style: TextStyle(
color: Colors.white,
),
),
],
),
),
),
);
}
@override
void didChangeAppLifecycleState(AppLifecycleState state) {}
@override
void dispose() {
super.dispose();
}
}
......@@ -90,7 +90,9 @@ class _PoemDetailPageState extends State<PoemDetailPage> {
decoration: BoxDecoration(
color: Colors.grey.shade200.withOpacity(0.1),
border: Border.all(
color: Colors.grey.shade50, width: 0.5), // 边色与边宽度
color: Colors.grey.shade50,
width: 0.5,
), // 边色与边宽度
),
child: ClipRect(
child: BackdropFilter(
......
......@@ -3,6 +3,7 @@ import 'package:flutter/material.dart';
import 'package:one_poem/account/account_router.dart';
import 'package:one_poem/category/category_router.dart';
import 'package:one_poem/category/page/categories_page.dart';
import 'package:one_poem/membership/membership_router.dart';
import 'package:one_poem/timeline/timeline_router.dart';
import 'package:one_poem/home/home_page.dart';
import 'package:one_poem/home/webview_page.dart';
......@@ -14,7 +15,6 @@ import 'i_router.dart';
import 'not_found_page.dart';
class Routes {
static String home = '/home';
static String webViewPage = '/webView';
......@@ -25,14 +25,17 @@ class Routes {
static void initRoutes() {
/// 指定路由跳转错误返回页
router.notFoundHandler = Handler(
handlerFunc: (BuildContext? context, Map<String, List<String>> params) {
debugPrint('未找到目标页');
return const NotFoundPage();
});
router.define(home, handler: Handler(
handlerFunc: (BuildContext? context, Map<String, List<String>> params) => const Home()));
handlerFunc: (BuildContext? context, Map<String, List<String>> params) {
debugPrint('未找到目标页');
return const NotFoundPage();
});
router.define(home,
handler: Handler(
handlerFunc:
(BuildContext? context, Map<String, List<String>> params) =>
const Home()));
router.define(webViewPage, handler: Handler(handlerFunc: (_, params) {
final String title = params['title']?.first ?? '';
final String url = params['url']?.first ?? '';
......@@ -40,6 +43,7 @@ class Routes {
}));
_listRouter.clear();
/// 各自路由由各自模块管理,统一在此添加初始化
_listRouter.add(LoginRouter());
_listRouter.add(TimelineRouter());
......@@ -47,11 +51,13 @@ class Routes {
_listRouter.add(AccountRouter());
_listRouter.add(SettingRouter());
_listRouter.add(CategoryRouter());
_listRouter.add(MembershipRouter());
/// 初始化路由
void initRouter(IRouterProvider routerProvider) {
routerProvider.initRouter(router);
}
_listRouter.forEach(initRouter);
}
}
......
......@@ -176,12 +176,13 @@ flutter:
# For details regarding fonts from package dependencies,
# see https://flutter.dev/custom-fonts/#from-packages
assets:
- assets/data/
- assets/images/
- assets/images/login/
- assets/images/state/
- assets/images/poem/
- assets/images/category/
- assets/images/membership/
- assets/data/
- assets/data/Data.json
- assets/data/friends/
......