提交 d02750e4 authored 作者: yueweilu's avatar yueweilu

消息跳转

上级 137e992f
...@@ -20,161 +20,167 @@ class _BookDetailPageState extends State<BookDetailPage> with SingleTickerProvid ...@@ -20,161 +20,167 @@ class _BookDetailPageState extends State<BookDetailPage> with SingleTickerProvid
Widget build(BuildContext context) { Widget build(BuildContext context) {
return GetBuilder<BookDetailController>( return GetBuilder<BookDetailController>(
init:BookDetailController(widget.bookId), init:BookDetailController(widget.bookId),
builder: (controller)=> Scaffold( builder: (controller)=> WillPopScope(
appBar: CustomAppBar( onWillPop: () async {
backgroundColor: const Color(0xFFAB1941).withOpacity(0.02), context.pop(true);
title: const Text('详情'), return false;
actions: [ },
CustomButton.icon( child: Scaffold(
padding: EdgeInsets.zero, appBar: CustomAppBar(
backgroundColor: Colors.transparent, backgroundColor: const Color(0xFFAB1941).withOpacity(0.02),
icon: Image.asset('assets/images/shop.png'), title: const Text('详情'),
onPressed: () => context.pushNamed(Routes.shop), actions: [
), CustomButton.icon(
CustomButton.icon( padding: EdgeInsets.zero,
padding: EdgeInsets.zero, backgroundColor: Colors.transparent,
backgroundColor: Colors.transparent, icon: Image.asset('assets/images/shop.png'),
icon: Image.asset( onPressed: () => context.pushNamed(Routes.shop),
controller.bookDetails.isCollection == 0? 'assets/images/unlove.png':'assets/images/love.png',
), ),
onPressed: () { CustomButton.icon(
controller.love(bookId: controller.bookDetails.bookId.toString(), isCollection: controller.bookDetails.isCollection!); padding: EdgeInsets.zero,
}, backgroundColor: Colors.transparent,
), icon: Image.asset(
], controller.bookDetails.isCollection == 0? 'assets/images/unlove.png':'assets/images/love.png',
), ),
body: onPressed: () {
Column( controller.love(bookId: controller.bookDetails.bookId.toString(), isCollection: controller.bookDetails.isCollection!);
children: [ },
BuildBook(model: controller.bookDetails,),
Container(
height: 10.w,
color: const Color(0xFFF9F9F9),
),
BuildStudy(model:controller.bookDetails,),
Container(
height: 2,
color: const Color(0xFFF9F9F9),
),
Container(
color: Colors.white,
child: TabBar(
labelColor: AppTheme.primary,
// isScrollable: true,
labelStyle: TextStyle(fontSize: 15.w,height: 1.4,fontWeight: Fonts.medium),
unselectedLabelColor: Colours.c9,
unselectedLabelStyle: TextStyle(fontSize: 15.w,height: 1.4),
indicatorSize: TabBarIndicatorSize.label,
indicatorColor: AppTheme.primary,
tabs:controller.tabs,
physics: const NeverScrollableScrollPhysics(),
controller: controller.tabController,
), ),
), ],
Expanded( ),
child: TabBarView( body:
controller: controller.tabController, Column(
children: [ children: [
BookCategoryPage(chapters: controller.chapters,bookId: controller.bookId,bookDetails: controller.bookDetails,), BuildBook(model: controller.bookDetails,),
Container( Container(
padding: EdgeInsets.only(left: 15.w,right: 15.w,top:12.w), height: 10.w,
color: Colors.white, color: const Color(0xFFF9F9F9),
child: Text(controller.bookDetails.content??'',style: TextStyle(fontSize: 12.w,height: 1.5,color: Colours.c3),), ),
), BuildStudy(model:controller.bookDetails,),
BookInfoPage(model:controller.bookDetails,) Container(
], height: 2,
color: const Color(0xFFF9F9F9),
),
Container(
color: Colors.white,
child: TabBar(
labelColor: AppTheme.primary,
// isScrollable: true,
labelStyle: TextStyle(fontSize: 15.w,height: 1.4,fontWeight: Fonts.medium),
unselectedLabelColor: Colours.c9,
unselectedLabelStyle: TextStyle(fontSize: 15.w,height: 1.4),
indicatorSize: TabBarIndicatorSize.label,
indicatorColor: AppTheme.primary,
tabs:controller.tabs,
physics: const NeverScrollableScrollPhysics(),
controller: controller.tabController,
),
),
Expanded(
child: TabBarView(
controller: controller.tabController,
children: [
BookCategoryPage(chapters: controller.chapters,bookId: controller.bookId,bookDetails: controller.bookDetails,),
Container(
padding: EdgeInsets.only(left: 15.w,right: 15.w,top:12.w),
color: Colors.white,
child: Text(controller.bookDetails.content??'',style: TextStyle(fontSize: 12.w,height: 1.5,color: Colours.c3),),
),
BookInfoPage(model:controller.bookDetails,)
],
),
), ),
),
], ],
), ),
bottomNavigationBar: SafeArea( bottomNavigationBar: SafeArea(
child: Container( child: Container(
color: Colors.white, color: Colors.white,
padding: EdgeInsets.symmetric(horizontal: 15.w,vertical: 10.w), padding: EdgeInsets.symmetric(horizontal: 15.w,vertical: 10.w),
child: Row( child: Row(
mainAxisAlignment: MainAxisAlignment.spaceEvenly, mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [ children: [
Expanded( Expanded(
child: GestureDetector( child: GestureDetector(
onTap: (){ onTap: (){
if(controller.bookDetails.isHave ==1){ if(controller.bookDetails.isHave ==1){
context.pushNamed(Routes.studyReport,queryParameters: {'book_id':widget.bookId}); context.pushNamed(Routes.studyReport,queryParameters: {'book_id':widget.bookId});
} }
else{ else{
controller.addCart(widget.bookId); controller.addCart(widget.bookId);
} }
}, },
child: Container( child: Container(
alignment: Alignment.center, alignment: Alignment.center,
height: 35, height: 35,
decoration: BoxDecoration( decoration: BoxDecoration(
borderRadius: BorderRadius.circular(17.5.w), borderRadius: BorderRadius.circular(17.5.w),
border:Border.all( border:Border.all(
width: 0.5, width: 0.5,
color: Colours.c9 color: Colours.c9
),
// color: Colours.cE0.withOpacity(0.5),
), ),
// color: Colours.cE0.withOpacity(0.5), // padding: EdgeInsets.symmetric(vertical: 8),
child: controller.bookDetails.isHave ==1? Text('学习报告',style: TextStyle(fontSize: 13.w,color: Colours.c9,height: 1.5),):Text('加入书架',style: TextStyle(fontSize: 13.w,color: AppTheme.primary,height: 1.5),),
), ),
// padding: EdgeInsets.symmetric(vertical: 8),
child: controller.bookDetails.isHave ==1? Text('学习报告',style: TextStyle(fontSize: 13.w,color: Colours.c9,height: 1.5),):Text('加入书架',style: TextStyle(fontSize: 13.w,color: AppTheme.primary,height: 1.5),),
), ),
), ),
), Gaps.hGaps10,
Gaps.hGaps10, Expanded(
Expanded( child: GestureDetector(
child: GestureDetector( onTap: () async{
onTap: () async{
// 1免费 0 不免费 // 1免费 0 不免费
if(controller.bookDetails.isFree == 1){ if(controller.bookDetails.isFree == 1){
context.pushNamed(Routes.web,queryParameters: {'book_id': controller.bookDetails.bookId.toString(),'chapter_id': controller.bookDetails.chapterId.toString(),'chapter_name':controller.bookDetails.chapterName.toString()},extra: controller.bookDetails); context.pushNamed(Routes.web,queryParameters: {'book_id': controller.bookDetails.bookId.toString(),'chapter_id': controller.bookDetails.chapterId.toString(),'chapter_name':controller.bookDetails.chapterName.toString()},extra: controller.bookDetails);
} }
else { else {
// 没有购买 // 没有购买
if (controller.bookDetails.isHave ==0){ if (controller.bookDetails.isHave ==0){
// 没有试读 // 没有试读
if (controller.bookDetails.readChapterId ==0){ if (controller.bookDetails.readChapterId ==0){
List<CourseModel> buy = []; List<CourseModel> buy = [];
CourseModel model= CourseModel( CourseModel model= CourseModel(
bookId: controller.bookDetails.bookId, bookId: controller.bookDetails.bookId,
price: controller.bookDetails.price, price: controller.bookDetails.price,
vipPrice: controller.bookDetails.vipPrice, vipPrice: controller.bookDetails.vipPrice,
img: controller.bookDetails.img, img: controller.bookDetails.img,
bookName: controller.bookDetails.bookName, bookName: controller.bookDetails.bookName,
cartId: 0, cartId: 0,
status: 1, status: 1,
selected: true selected: true
); );
buy.add(model); buy.add(model);
final result = await context.pushNamed(Routes.bookPay,extra: buy); final result = await context.pushNamed(Routes.bookPay,extra: buy);
if (result == true) { if (result == true) {
controller.getBookDetails(); controller.getBookDetails();
}
} }
} else{
else{ context.pushNamed(Routes.web,queryParameters: {'book_id': controller.bookDetails.bookId.toString(),'chapter_id': controller.bookDetails.chapterId.toString(),'chapter_name':controller.bookDetails.chapterName.toString()},extra: controller.bookDetails);
context.pushNamed(Routes.web,queryParameters: {'book_id': controller.bookDetails.bookId.toString(),'chapter_id': controller.bookDetails.chapterId.toString(),'chapter_name':controller.bookDetails.chapterName.toString()},extra: controller.bookDetails); }
} }
} else{
else{ context.pushNamed(Routes.web,queryParameters: {'book_id': controller.bookDetails.bookId.toString(),'chapter_id': controller.bookDetails.chapterId.toString(),'chapter_name':controller.bookDetails.chapterName.toString()},extra: controller.bookDetails);
context.pushNamed(Routes.web,queryParameters: {'book_id': controller.bookDetails.bookId.toString(),'chapter_id': controller.bookDetails.chapterId.toString(),'chapter_name':controller.bookDetails.chapterName.toString()},extra: controller.bookDetails); }
} }
} },
}, child: Container(
child: Container( decoration: BoxDecoration(
decoration: BoxDecoration( borderRadius: BorderRadius.circular(17.5.w),
borderRadius: BorderRadius.circular(17.5.w), color: AppTheme.primary.withOpacity(0.1)
color: AppTheme.primary.withOpacity(0.1) ),
height: 35.w,
alignment: Alignment.center,
padding: EdgeInsets.symmetric(vertical: 8.w),
child: Text('阅读',style: TextStyle(fontSize: 13.w,color: AppTheme.primary,height: 1.5),),
), ),
height: 35.w,
alignment: Alignment.center,
padding: EdgeInsets.symmetric(vertical: 8.w),
child: Text('阅读',style: TextStyle(fontSize: 13.w,color: AppTheme.primary,height: 1.5),),
), ),
), )
) ],
], ),
), ),
), ),
), ),
......
...@@ -35,12 +35,24 @@ class MsgPage extends StatelessWidget { ...@@ -35,12 +35,24 @@ class MsgPage extends StatelessWidget {
if(model.type == 1){ if(model.type == 1){
// 1订单支付快要超时(跳转订单详情) // 1订单支付快要超时(跳转订单详情)
final result = await context.pushNamed(Routes.order);
if (result == true){
controller.onRefresh();
}
///TODO: ///TODO:
}else if (model.type == 2){ }else if (model.type == 2){
// 2 购买完成三天未评价(跳转订单列表--已完成) // 2 购买完成三天未评价(跳转订单列表--已完成)
final result = await context.pushNamed(Routes.order);
if (result == true){
controller.onRefresh();
}
///TODO: ///TODO:
}else if (model.type == 3){ }else if (model.type == 3){
// 3 讨论有人回复的时候 (跳转对应书籍的讨论页面) // 3 讨论有人回复的时候 (跳转对应书籍的讨论页面)
final result = await context.pushNamed(Routes.bookDetail,queryParameters: {'book_id':model.urlId?.bookId.toString()});
if (result == true){
controller.onRefresh();
}
} }
else if (model.type == 4){ else if (model.type == 4){
// 4 订单完成后有新的积分增加(跳转用户积分记录页) // 4 订单完成后有新的积分增加(跳转用户积分记录页)
......
...@@ -76,46 +76,52 @@ class _UserOrderState extends State<UserOrderPage> with SingleTickerProviderStat ...@@ -76,46 +76,52 @@ class _UserOrderState extends State<UserOrderPage> with SingleTickerProviderStat
body: _buildBody(controller), body: _buildBody(controller),
), ),
);*/ );*/
Scaffold( WillPopScope(
appBar: CustomAppBar( onWillPop: () async {
automaticallyImplyLeading: false, context.pop(true);
titleSpacing: 0, return false;
title: Padding( },
padding: EdgeInsets.symmetric(horizontal: AppTheme.margin), child: Scaffold(
child: CustomInputSearch( appBar: CustomAppBar(
controller: searchController, automaticallyImplyLeading: false,
readOnly: false, titleSpacing: 0,
hintText: '搜索我的订单', title: Padding(
onTap: () { padding: EdgeInsets.symmetric(horizontal: AppTheme.margin),
// context.pushNamed(Routes.msgs); child: CustomInputSearch(
}, controller: searchController,
onEditingComplete: () { readOnly: false,
// _getOrders( hintText: '搜索我的订单',
// isRefresh: true, onTap: () {
// keys: searchController.text, // context.pushNamed(Routes.msgs);
// tabIndex: _tabController.index); },
FocusNode blankNode = FocusNode(); onEditingComplete: () {
FocusScope.of(context).requestFocus(blankNode); //指定为空白焦点 // _getOrders(
}, // isRefresh: true,
), // keys: searchController.text,
), // tabIndex: _tabController.index);
actions: [ FocusNode blankNode = FocusNode();
GestureDetector( FocusScope.of(context).requestFocus(blankNode); //指定为空白焦点
onTap: () { },
context.pop();
},
child: Container(
padding: EdgeInsets.only(left: 10.w, top: 10.w, bottom: 10.w),
child: Text(
'取消',
style:
TextStyle(fontSize: 14.w, height: 1.5, color: Colours.c3),
), ),
), ),
) actions: [
], GestureDetector(
), onTap: () {
body: _buildBody(), context.pop();
},
child: Container(
padding: EdgeInsets.only(left: 10.w, top: 10.w, bottom: 10.w),
child: Text(
'取消',
style:
TextStyle(fontSize: 14.w, height: 1.5, color: Colours.c3),
),
),
)
],
),
body: _buildBody(),
)
); );
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论