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

消息跳转

上级 137e992f
......@@ -20,161 +20,167 @@ class _BookDetailPageState extends State<BookDetailPage> with SingleTickerProvid
Widget build(BuildContext context) {
return GetBuilder<BookDetailController>(
init:BookDetailController(widget.bookId),
builder: (controller)=> Scaffold(
appBar: CustomAppBar(
backgroundColor: const Color(0xFFAB1941).withOpacity(0.02),
title: const Text('详情'),
actions: [
CustomButton.icon(
padding: EdgeInsets.zero,
backgroundColor: Colors.transparent,
icon: Image.asset('assets/images/shop.png'),
onPressed: () => context.pushNamed(Routes.shop),
),
CustomButton.icon(
padding: EdgeInsets.zero,
backgroundColor: Colors.transparent,
icon: Image.asset(
controller.bookDetails.isCollection == 0? 'assets/images/unlove.png':'assets/images/love.png',
builder: (controller)=> WillPopScope(
onWillPop: () async {
context.pop(true);
return false;
},
child: Scaffold(
appBar: CustomAppBar(
backgroundColor: const Color(0xFFAB1941).withOpacity(0.02),
title: const Text('详情'),
actions: [
CustomButton.icon(
padding: EdgeInsets.zero,
backgroundColor: Colors.transparent,
icon: Image.asset('assets/images/shop.png'),
onPressed: () => context.pushNamed(Routes.shop),
),
onPressed: () {
controller.love(bookId: controller.bookDetails.bookId.toString(), isCollection: controller.bookDetails.isCollection!);
},
),
],
),
body:
Column(
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,
CustomButton.icon(
padding: EdgeInsets.zero,
backgroundColor: Colors.transparent,
icon: Image.asset(
controller.bookDetails.isCollection == 0? 'assets/images/unlove.png':'assets/images/love.png',
),
onPressed: () {
controller.love(bookId: controller.bookDetails.bookId.toString(), isCollection: controller.bookDetails.isCollection!);
},
),
),
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,)
],
],
),
body:
Column(
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(
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(
child: Container(
color: Colors.white,
padding: EdgeInsets.symmetric(horizontal: 15.w,vertical: 10.w),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
Expanded(
child: GestureDetector(
onTap: (){
if(controller.bookDetails.isHave ==1){
context.pushNamed(Routes.studyReport,queryParameters: {'book_id':widget.bookId});
}
else{
controller.addCart(widget.bookId);
}
},
child: Container(
alignment: Alignment.center,
height: 35,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(17.5.w),
border:Border.all(
width: 0.5,
color: Colours.c9
],
),
bottomNavigationBar: SafeArea(
child: Container(
color: Colors.white,
padding: EdgeInsets.symmetric(horizontal: 15.w,vertical: 10.w),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
Expanded(
child: GestureDetector(
onTap: (){
if(controller.bookDetails.isHave ==1){
context.pushNamed(Routes.studyReport,queryParameters: {'book_id':widget.bookId});
}
else{
controller.addCart(widget.bookId);
}
},
child: Container(
alignment: Alignment.center,
height: 35,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(17.5.w),
border:Border.all(
width: 0.5,
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,
Expanded(
child: GestureDetector(
onTap: () async{
Gaps.hGaps10,
Expanded(
child: GestureDetector(
onTap: () async{
// 1免费 0 不免费
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);
}
else {
// 没有购买
if (controller.bookDetails.isHave ==0){
// 没有试读
if (controller.bookDetails.readChapterId ==0){
List<CourseModel> buy = [];
CourseModel model= CourseModel(
bookId: controller.bookDetails.bookId,
price: controller.bookDetails.price,
vipPrice: controller.bookDetails.vipPrice,
img: controller.bookDetails.img,
bookName: controller.bookDetails.bookName,
cartId: 0,
status: 1,
selected: true
);
buy.add(model);
// 1免费 0 不免费
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);
}
else {
// 没有购买
if (controller.bookDetails.isHave ==0){
// 没有试读
if (controller.bookDetails.readChapterId ==0){
List<CourseModel> buy = [];
CourseModel model= CourseModel(
bookId: controller.bookDetails.bookId,
price: controller.bookDetails.price,
vipPrice: controller.bookDetails.vipPrice,
img: controller.bookDetails.img,
bookName: controller.bookDetails.bookName,
cartId: 0,
status: 1,
selected: true
);
buy.add(model);
final result = await context.pushNamed(Routes.bookPay,extra: buy);
if (result == true) {
controller.getBookDetails();
final result = await context.pushNamed(Routes.bookPay,extra: buy);
if (result == true) {
controller.getBookDetails();
}
}
}
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);
}
}
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);
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);
}
}
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);
}
}
}
},
child: Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(17.5.w),
color: AppTheme.primary.withOpacity(0.1)
},
child: Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(17.5.w),
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 {
if(model.type == 1){
// 1订单支付快要超时(跳转订单详情)
final result = await context.pushNamed(Routes.order);
if (result == true){
controller.onRefresh();
}
///TODO:
}else if (model.type == 2){
// 2 购买完成三天未评价(跳转订单列表--已完成)
final result = await context.pushNamed(Routes.order);
if (result == true){
controller.onRefresh();
}
///TODO:
}else if (model.type == 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){
// 4 订单完成后有新的积分增加(跳转用户积分记录页)
......
......@@ -76,46 +76,52 @@ class _UserOrderState extends State<UserOrderPage> with SingleTickerProviderStat
body: _buildBody(controller),
),
);*/
Scaffold(
appBar: CustomAppBar(
automaticallyImplyLeading: false,
titleSpacing: 0,
title: Padding(
padding: EdgeInsets.symmetric(horizontal: AppTheme.margin),
child: CustomInputSearch(
controller: searchController,
readOnly: false,
hintText: '搜索我的订单',
onTap: () {
// context.pushNamed(Routes.msgs);
},
onEditingComplete: () {
// _getOrders(
// isRefresh: true,
// keys: searchController.text,
// tabIndex: _tabController.index);
FocusNode blankNode = FocusNode();
FocusScope.of(context).requestFocus(blankNode); //指定为空白焦点
},
),
),
actions: [
GestureDetector(
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),
WillPopScope(
onWillPop: () async {
context.pop(true);
return false;
},
child: Scaffold(
appBar: CustomAppBar(
automaticallyImplyLeading: false,
titleSpacing: 0,
title: Padding(
padding: EdgeInsets.symmetric(horizontal: AppTheme.margin),
child: CustomInputSearch(
controller: searchController,
readOnly: false,
hintText: '搜索我的订单',
onTap: () {
// context.pushNamed(Routes.msgs);
},
onEditingComplete: () {
// _getOrders(
// isRefresh: true,
// keys: searchController.text,
// tabIndex: _tabController.index);
FocusNode blankNode = FocusNode();
FocusScope.of(context).requestFocus(blankNode); //指定为空白焦点
},
),
),
)
],
),
body: _buildBody(),
actions: [
GestureDetector(
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),
),
),
)
],
),
body: _buildBody(),
)
);
}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论