提交 5d50372a authored 作者: maodou's avatar maodou

Merge remote-tracking branch 'origin/test' into test

......@@ -140,6 +140,9 @@ class BookPayController extends GetxController {
if (useCouponModel.couponId !=0){
finalPrice = finalPrice - Decimal.parse(useCouponModel.reducedPrice??'0.00');
}
if(finalPrice.toDouble() < 0){
finalPrice = Decimal.zero;
}
update();
}
......@@ -182,11 +185,13 @@ class BookPayController extends GetxController {
}
}
final result = await ShopAPI.createOrder(
bookIdsList:jsonEncode(bookIdsList) ,
totalPrice: finalPrice.toString(),
couponRecId: useCouponModel.couponRecId.toString(),
integral: creditPointModel.deductibleIntegral.toString(),
integral: useCreditPoint?creditPointModel.deductibleIntegral.toString():'0',
type: payModel.type.toString()
);
payOrderModel = result;
......@@ -217,6 +222,10 @@ class BookPayController extends GetxController {
}
String orderNumber = payOrderModel.ordersnum.toString();
//TODO: 拿到订单编号进行后续操作
Toast.show('订单支付完成');
if(context.mounted){
context.pop(true);
}
}
......@@ -231,6 +240,9 @@ class BookPayController extends GetxController {
requestOrderStatus();
} else {
Toast.show(payResult['memo'].toString());
if(context.mounted){
context.pop(true);
}
}
});
}
......@@ -253,6 +265,9 @@ class BookPayController extends GetxController {
}
else{
Toast.show('${response.errStr}');
if(context.mounted){
context.pop(true);
}
}
});
}
......
......@@ -15,29 +15,67 @@ class _BookPayPageState extends State<BookPayPage> {
@override
Widget build(BuildContext context) {
return GetBuilder<BookPayController>(
init: BookPayController(buy: widget.buy,context: context),
builder: (controller) => Stack(
children: [
Scaffold(
backgroundColor: Colours.cF9,
appBar: AppBar(title: const Text('支付'),),
body: SingleChildScrollView(
child: Column(
children: [
ListView.builder(
physics: const NeverScrollableScrollPhysics(),
shrinkWrap:true,
itemBuilder: (BuildContext context, int index){
return BuildItem(model: controller.buy![index],);
},
itemCount: controller.buy!.length,
),
controller.showModel.couponSwitch =='0' && controller.showModel.integralSwitch =='0'?const SizedBox():SizedBox(height: 10.w,),
Visibility(
visible: controller.showModel.couponSwitch =='0' && controller.showModel.integralSwitch =='0'?false:true,
child: Container(
margin: EdgeInsets.only(left: 10.w,right: 10.w),
return WillPopScope(
onWillPop: () async {
context.pop(true);
return false;
},
child: GetBuilder<BookPayController>(
init: BookPayController(buy: widget.buy,context: context),
builder: (controller) => Stack(
children: [
Scaffold(
backgroundColor: Colours.cF9,
appBar: AppBar(title: const Text('支付'),),
body: SingleChildScrollView(
child: Column(
children: [
ListView.builder(
physics: const NeverScrollableScrollPhysics(),
shrinkWrap:true,
itemBuilder: (BuildContext context, int index){
return BuildItem(model: controller.buy![index],);
},
itemCount: controller.buy!.length,
),
controller.showModel.couponSwitch =='0' && controller.showModel.integralSwitch =='0'?const SizedBox():SizedBox(height: 10.w,),
Visibility(
visible: controller.showModel.couponSwitch =='0' && controller.showModel.integralSwitch =='0'?false:true,
child: Container(
margin: EdgeInsets.only(left: 10.w,right: 10.w),
decoration: BoxDecoration(
borderRadius:BorderRadius.circular(8.w),
color: Colors.white,
boxShadow: [
BoxShadow(
color: Colours.cC7.withOpacity(0.5),
spreadRadius: 2.w,
blurRadius: 5.w,
offset: Offset(3.w, 0), // changes the position of the shadow
),
]
),
child: Column(
children: [
controller.showModel.couponSwitch =='0'?const SizedBox():GestureDetector(
child: _buildCouponWidget(controller,title: '优惠券',icon: 'assets/images/pay_coupon.png',),
onTap: (){
context.pushNamed(Routes.payCoupon,extra: controller);
},
),
Container(height: 0.5.w,color: Colours.cF0,margin: EdgeInsets.only(left: 10.w),),
controller.showModel.integralSwitch =='0'?const SizedBox(): GestureDetector(
child: _buildPointWidget(controller,title: '积分抵扣',icon: 'assets/images/pay_point.png',),
onTap: (){
context.pushNamed(Routes.creditPoints);
},
),
],
),
),
),
Container(
margin: EdgeInsets.only(left: 10.w,right: 10.w,top: 10.w),
decoration: BoxDecoration(
borderRadius:BorderRadius.circular(8.w),
color: Colors.white,
......@@ -46,99 +84,67 @@ class _BookPayPageState extends State<BookPayPage> {
color: Colours.cC7.withOpacity(0.5),
spreadRadius: 2.w,
blurRadius: 5.w,
offset: Offset(3.w, 0), // changes the position of the shadow
offset: const Offset(3, 0), // changes the position of the shadow
),
]
),
child: Column(
children: [
controller.showModel.couponSwitch =='0'?const SizedBox():GestureDetector(
child: _buildCouponWidget(controller,title: '优惠券',icon: 'assets/images/pay_coupon.png',),
onTap: (){
context.pushNamed(Routes.payCoupon,extra: controller);
},
),
Container(height: 0.5.w,color: Colours.cF0,margin: EdgeInsets.only(left: 10.w),),
controller.showModel.integralSwitch =='0'?const SizedBox(): GestureDetector(
child: _buildPointWidget(controller,title: '积分抵扣',icon: 'assets/images/pay_point.png',),
onTap: (){
context.pushNamed(Routes.creditPoints);
},
),
],
child: ListView.builder(
physics: const NeverScrollableScrollPhysics(),
padding: const EdgeInsets.symmetric(horizontal: 10),
shrinkWrap:true,
itemBuilder: (BuildContext context, int index){
PayModel model = controller.pays[index];
return GestureDetector(
onTap: (){
controller.setPayModel(model);
},
child: BuildPayWay(model:model,));
},
itemCount: controller.pays.length,
),
),
),
Container(
margin: EdgeInsets.only(left: 10.w,right: 10.w,top: 10.w),
decoration: BoxDecoration(
borderRadius:BorderRadius.circular(8.w),
color: Colors.white,
boxShadow: [
BoxShadow(
color: Colours.cC7.withOpacity(0.5),
spreadRadius: 2.w,
blurRadius: 5.w,
offset: const Offset(3, 0), // changes the position of the shadow
),
]
),
child: ListView.builder(
physics: const NeverScrollableScrollPhysics(),
padding: const EdgeInsets.symmetric(horizontal: 10),
shrinkWrap:true,
itemBuilder: (BuildContext context, int index){
PayModel model = controller.pays[index];
return GestureDetector(
onTap: (){
controller.setPayModel(model);
},
child: BuildPayWay(model:model,));
},
itemCount: controller.pays.length,
),
),
],
],
),
),
bottomNavigationBar: SafeArea(child:BuildPayCount(
payTap: (){
Console.log('--------------支付------------------');
controller.createOrder();
},
showTap: (){
controller.show();
Console.log('--------------展示优惠详情------------------');
}, controller: controller,
)),
),
bottomNavigationBar: SafeArea(child:BuildPayCount(
payTap: (){
Console.log('--------------支付------------------');
controller.createOrder();
},
showTap: (){
controller.showDetail?Positioned(
left: 0.w,
bottom: 50.w,
right: 0.w,
top: 0.w,
child: GestureDetector(
onTap: (){
controller.show();
Console.log('--------------展示优惠详情------------------');
}, controller: controller,
)),
),
controller.showDetail?Positioned(
left: 0.w,
bottom: 50.w,
right: 0.w,
top: 0.w,
child: GestureDetector(
onTap: (){
controller.show();
},
child: Container(
color:const Color(0xFF000000).withOpacity(0.5),
child: Align(
alignment: Alignment.bottomCenter,
child: ClipRRect(
borderRadius: BorderRadius.only(topRight: Radius.circular(8.w),topLeft: Radius.circular(8.w)),
child: Container(
height: 210.w,
color: Colors.white,
child: _buildPayDetail(controller),
},
child: Container(
color:const Color(0xFF000000).withOpacity(0.5),
child: Align(
alignment: Alignment.bottomCenter,
child: ClipRRect(
borderRadius: BorderRadius.only(topRight: Radius.circular(8.w),topLeft: Radius.circular(8.w)),
child: Container(
height: 210.w,
color: Colors.white,
child: _buildPayDetail(controller),
),
),
),
),
),
),
):const SizedBox()
],
)
):const SizedBox()
],
)
),
);
}
......
......@@ -54,7 +54,7 @@ class BuildCounter extends StatelessWidget {
if (controller.num > 0){
final result = await context.pushNamed(Routes.bookPay,extra: controller.buy);
if (result == true) {
controller.getCart();
controller.onRefresh();
}
}
},
......
......@@ -84,7 +84,7 @@ class _ReadPageState extends State<ReadPage> {
},
onConsoleMessage: (controller, consoleMessage) {
// 接收从 WebView 发送的消息
print("Received message from WebView: ${consoleMessage.message}");
Console.log("Received message from WebView-----------------------------: ${consoleMessage.message}");
},
onLoadStop: (controller, url) {
// flutter 主动给 js 传参数
......@@ -94,6 +94,7 @@ class _ReadPageState extends State<ReadPage> {
'token':UserStore.to.token
};
String str = '${readController.bookId},${readController.chapterId},${UserStore.to.token}';
Console.log('传给前端的参数--------------------------------$str');
controller.evaluateJavascript(source: 'callbackInFlutterComponent("$str");');
// 添加单击事件
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论