提交 9de18cc3 authored 作者: yueweilu's avatar yueweilu

消息界面

上级 a2543a67
...@@ -106,7 +106,9 @@ class _BookDetailPageState extends State<BookDetailPage> with SingleTickerProvid ...@@ -106,7 +106,9 @@ class _BookDetailPageState extends State<BookDetailPage> with SingleTickerProvid
Expanded( Expanded(
child: GestureDetector( child: GestureDetector(
onTap: (){ onTap: (){
context.pushNamed(Routes.creditPoints); context.pushNamed(Routes.creditPoints).then((value){
print('---------------------$value');
});
}, },
child: Container( child: Container(
decoration: BoxDecoration( decoration: BoxDecoration(
......
...@@ -32,19 +32,24 @@ class _CoursePageState extends State<CoursePage> { ...@@ -32,19 +32,24 @@ class _CoursePageState extends State<CoursePage> {
icon: const Icon(Ionicons.timer), icon: const Icon(Ionicons.timer),
onPressed: () => context.pushNamed(Routes.msgs), onPressed: () => context.pushNamed(Routes.msgs),
), ),
badges.Badge( GestureDetector(
position: badges.BadgePosition.topEnd(top: -5, end: 0), onTap: (){
badgeContent: const Text('10',style: TextStyle(fontSize: 7,color: Colors.white),), context.pushNamed(Routes.msgs);
badgeStyle: const badges.BadgeStyle( },
badgeColor: AppTheme.primary, child: badges.Badge(
shape: badges.BadgeShape.circle position: badges.BadgePosition.topEnd(top: -5, end: 0),
), badgeContent: const Text('10',style: TextStyle(fontSize: 7,color: Colors.white),),
child: CustomButton.icon( badgeStyle: const badges.BadgeStyle(
padding: EdgeInsets.zero, badgeColor: AppTheme.primary,
backgroundColor: Colors.transparent, shape: badges.BadgeShape.circle
icon: const Icon(Ionicons.notifications),
onPressed: () => context.pushNamed(Routes.msgs),
), ),
child: CustomButton.icon(
padding: EdgeInsets.zero,
backgroundColor: Colors.transparent,
icon: const Icon(Ionicons.notifications),
onPressed: () => context.pushNamed(Routes.msgs),
),
),
) )
// CustomButton.icon( // CustomButton.icon(
// padding: EdgeInsets.zero, // padding: EdgeInsets.zero,
......
...@@ -5,5 +5,6 @@ library credit_points; ...@@ -5,5 +5,6 @@ library credit_points;
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_book/theme.dart'; import 'package:flutter_book/theme.dart';
import 'package:flutter_book/utils/index.dart'; import 'package:flutter_book/utils/index.dart';
import 'package:go_router/go_router.dart';
part 'view.dart'; part 'view.dart';
\ No newline at end of file
...@@ -5,19 +5,76 @@ class CreditPointsPage extends StatelessWidget { ...@@ -5,19 +5,76 @@ class CreditPointsPage extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return WillPopScope(
appBar: AppBar( onWillPop: () async {
centerTitle: true, context.pop('111111');
title: const Text('积分'), return false;
), },
body: Column( child: Scaffold(
children: [ appBar: AppBar(
// 积分卡片 centerTitle: true,
Container( title: const Text('积分'),
color: AppTheme.primary.withOpacity(0.02), ),
padding: EdgeInsets.all(10), body: Column(
child: Container( children: [
padding: const EdgeInsets.only(left: 17,top: 18,bottom: 24,right: 17), // 积分卡片
Container(
color: AppTheme.primary.withOpacity(0.02),
padding: const EdgeInsets.all(10),
child: Container(
padding: const EdgeInsets.only(left: 17,top: 18,bottom: 24,right: 17),
decoration: BoxDecoration(
color: Colors.white,
boxShadow: [
BoxShadow(
color: Colours.cC7.withOpacity(0.5),
offset: const Offset(0, 3),
blurRadius: 4,
spreadRadius: 0,
),
],
borderRadius: BorderRadius.circular(8)
),
height: 175,
child: Column(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
const Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text('可用积分',style: TextStyle(fontSize: 16,height: 1.4,fontWeight: Fonts.medium,color: Colours.c3),),
Gaps.vGaps13,
Text('999',style: TextStyle(fontSize: 25,height: 1.4,fontWeight: Fonts.medium,color: Colours.c3),),
],
),
Row(
children: [
Expanded(
child: Container(
height: 0.5,
color: Colours.cE7,
),
),
Gaps.hGaps15,
const Text('积分支付不能超过每笔订单的20%',style: TextStyle(fontSize: 12,height: 1.4,color: Colours.c9),),
Gaps.hGaps15,
Expanded(
child: Container(
height: 0.5,
color: Colours.cE7,
),
),
],
)
],
),
),
),
// 使用积分
Container(
// height: 105,
padding: const EdgeInsets.all(20),
decoration: BoxDecoration( decoration: BoxDecoration(
color: Colors.white, color: Colors.white,
boxShadow: [ boxShadow: [
...@@ -30,84 +87,41 @@ class CreditPointsPage extends StatelessWidget { ...@@ -30,84 +87,41 @@ class CreditPointsPage extends StatelessWidget {
], ],
borderRadius: BorderRadius.circular(8) borderRadius: BorderRadius.circular(8)
), ),
height: 175,
child: Column( child: Column(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
const Column( const Text('可用积分',style: TextStyle(fontSize: 16,height: 1.4,fontWeight: Fonts.medium,color: Colours.c3),),
crossAxisAlignment: CrossAxisAlignment.start, Gaps.vGaps10,
children: [ Container(
Text('可用积分',style: TextStyle(fontSize: 16,height: 1.4,fontWeight: Fonts.medium,color: Colours.c3),), height: 0.5,
Gaps.vGaps13, color: Colours.cE7,
Text('999',style: TextStyle(fontSize: 25,height: 1.4,fontWeight: Fonts.medium,color: Colours.c3),), // color: Colors.red,
],
), ),
Gaps.vGaps15,
Row( Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [ children: [
Expanded( RichText(text: const TextSpan(
child: Container( children: [
height: 0.5, TextSpan(text: '抵扣',style: TextStyle(color: Colours.c9,fontSize: 13,height: 1.4)),
color: Colours.cE7, TextSpan(text: '¥9.90',style: TextStyle(color: AppTheme.primary,fontSize: 13,height: 1.4,fontWeight: Fonts.medium)),
), TextSpan(text: '使用9900积分',style: TextStyle(color: Colours.c9,fontSize: 13,height: 1.4)),
), ]
Gaps.hGaps15, )),
const Text('积分支付不能超过每笔订单的20%',style: TextStyle(fontSize: 12,height: 1.4,color: Colours.c9),), SizedBox(
Gaps.hGaps15, width: 15,
Expanded( height: 15,
child: Container( child: Image.asset(
height: 0.5, 'assets/images/uncheck.png',
color: Colours.cE7,
), ),
), )
], ],
) )
], ],
), ),
), )
), ],
// 使用积分 ),
Container(
// height: 105,
padding: const EdgeInsets.all(20),
decoration: BoxDecoration(
color: Colors.white,
boxShadow: [
BoxShadow(
color: Colours.cC7.withOpacity(0.5),
offset: const Offset(0, 3),
blurRadius: 4,
spreadRadius: 0,
),
],
borderRadius: BorderRadius.circular(8)
),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text('可用积分',style: TextStyle(fontSize: 16,height: 1.4,fontWeight: Fonts.medium,color: Colours.c3),),
Gaps.vGaps10,
Container(
height: 0.5,
color: Colours.cE7,
// color: Colors.red,
),
Gaps.vGaps15,
Row(
children: [
RichText(text: TextSpan(
children: [
TextSpan(text: '抵扣',style: TextStyle(color: Colours.c9,fontSize: 13,height: 1.4)),
TextSpan(text: '¥9.90',style: TextStyle(color: AppTheme.primary,fontSize: 13,height: 1.4,fontWeight: Fonts.medium)),
TextSpan(text: '使用9900积分',style: TextStyle(color: Colours.c9,fontSize: 13,height: 1.4)),
]
))
],
)
],
),
)
],
), ),
); );
} }
......
...@@ -2,4 +2,9 @@ library user_msg; ...@@ -2,4 +2,9 @@ library user_msg;
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
part 'view.dart'; import '../../theme.dart';
\ No newline at end of file import '../../utils/index.dart';
import 'package:badges/badges.dart' as badges;
part 'view.dart';
part 'widgets/item.dart';
\ No newline at end of file
...@@ -10,6 +10,15 @@ class MsgPage extends StatelessWidget { ...@@ -10,6 +10,15 @@ class MsgPage extends StatelessWidget {
title: const Text('消息中心'), title: const Text('消息中心'),
centerTitle: true, centerTitle: true,
), ),
body: Container(
color: Colours.cF9,
child: ListView.builder(
itemBuilder: (BuildContext context, int index){
return BuildItem();
},
itemCount: 5,
),
),
); );
} }
} }
part of user_msg;
class BuildItem extends StatelessWidget {
const BuildItem({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Container(
margin: const EdgeInsets.only(left: 10,right: 10,top:10),
padding: EdgeInsets.symmetric(horizontal: 10,vertical: 10),
height: 75,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(8),
color: Colors.white
),
child: Row(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
badges.Badge(
position: badges.BadgePosition.topEnd(top: 0, end: 0),
badgeStyle: const badges.BadgeStyle(
badgeColor: AppTheme.primary,
shape: badges.BadgeShape.circle
),
child: Container(
width: 30,
height: 30,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(15),
color: AppTheme.primary.withOpacity(0.1)
),
child: Image.asset(
'assets/images/msg.png',
),
),
),
Gaps.hGaps10,
Expanded(
child: const Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text('积分过期提醒',style: TextStyle(fontSize: 15,height: 1.4,fontWeight: Fonts.medium,color: Colours.c3),),
Text('2023-12-12',style: TextStyle(fontSize:11,height: 1.4,color: Colours.c9))
],
),
Gaps.vGaps5,
Text('您有2000积分即将过期。',style: TextStyle(fontSize: 13,height: 1.4,color: Colours.c6),)
],
),
)
],
),
);
}
}
...@@ -25,6 +25,7 @@ class Colours { ...@@ -25,6 +25,7 @@ class Colours {
static const cBlue = Color(0xFF2A82D9); static const cBlue = Color(0xFF2A82D9);
static const cE2 = Color(0xFFE2E2E2); static const cE2 = Color(0xFFE2E2E2);
static const cF2 = Color(0xFFF2F2F2); static const cF2 = Color(0xFFF2F2F2);
static const cF9 = Color(0xFFF9F9F9);
static const cC7 = Color(0xFFC7C7C7); static const cC7 = Color(0xFFC7C7C7);
static const cE0 = Color(0xFFE0E0E0); static const cE0 = Color(0xFFE0E0E0);
static const cE7 = Color(0xFFE7E7E7); static const cE7 = Color(0xFFE7E7E7);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论