完成添加评价接口对接

master
laiiihz 5 years ago
parent 0419fce8ef
commit e3b2718b57

@ -281,6 +281,6 @@ SPEC CHECKSUMS:
wakelock: 0d4a70faf8950410735e3f61fb15d517c8a6efc4
webview_flutter: d2b4d6c66968ad042ad94cbb791f5b72b4678a96
PODFILE CHECKSUM: aafe91acc616949ddb318b77800a7f51bffa2a4c
PODFILE CHECKSUM: a75497545d4391e2d394c3668e20cfb1c2bbd4aa
COCOAPODS: 1.9.3

@ -149,12 +149,16 @@ class UserApi {
static const String verify_sms_send = "/v1/messages/verify/sms/send";
static const String verify_sms = "/v1/messages/verify/sms";
static const String password_save = "/v1/wallet/pay/password/save";
///
static const String query_up_code = "/v1/users/role/query_up_code";
///
static const String give_code = "/v1/users/role/give_code";
///
static const String upgrade_by_code = "/v1/users/role/upgrade_by_code";
///
static const String keep_by_code = "/v1/users/role/keep_by_code";
@ -255,8 +259,14 @@ class OrderApi {
static const String invoice_add = "/v1/users/invoice/create";
static const String evaluation_add = "/v1/order/evaluation/create";
///
static const String orderReview = "/v1/manage/order/evaluation/orderEvaluationList";
///
static const String orderReview =
"/v1/order/evaluation/orderEvaluationList";
///
static const String addReview =
"/v1/order/evaluation/createOrderEvaluationOne";
}
class HomeApi {

@ -1,9 +1,12 @@
import 'package:flutter/material.dart';
import 'package:oktoast/oktoast.dart';
import 'package:photo/photo.dart';
import 'package:recook/constants/api.dart';
import 'package:recook/constants/constants.dart';
import 'package:recook/constants/header.dart';
import 'package:recook/constants/styles.dart';
import 'package:recook/manager/http_manager.dart';
import 'package:recook/manager/user_manager.dart';
import 'package:recook/models/media_model.dart';
import 'package:recook/pages/user/review/models/order_review_list_model.dart';
import 'package:recook/widgets/bottom_sheet/action_sheet.dart';
@ -33,11 +36,12 @@ class _AddReviewPageState extends State<AddReviewPage> {
backgroundColor: AppColor.frenchColor,
appBar: AppBar(
backgroundColor: Colors.white,
brightness: Brightness.light,
elevation: 0,
leading: RecookBackButton(),
centerTitle: true,
title: Text(
'发表评价${widget.goodsDetailId}',
'发表评价',
style: TextStyle(
color: Color(0xFF333333),
fontWeight: FontWeight.w600,
@ -141,21 +145,24 @@ class _AddReviewPageState extends State<AddReviewPage> {
)
.then(
(model) {
_mediaModels.add(model);
if (model != null)
_mediaModels.add(model);
setState(() {});
},
);
} else if (index == 1) {
ImagePicker.builder(
maxSelected: 6,
maxSelected: 6 - _mediaModels.length,
pickType: PickType.onlyImage,
).pickAsset(context).then(
(models) {
_mediaModels.addAll(models);
if (models != null && models.isNotEmpty)
_mediaModels.addAll(models);
setState(() {});
},
);
}
Navigator.pop(context);
},
);
},
@ -192,7 +199,11 @@ class _AddReviewPageState extends State<AddReviewPage> {
height: rSize(48),
padding: EdgeInsets.zero,
disabledColor: Colors.white12,
onPressed: isDisabled() ? null : () {},
onPressed: isDisabled()
? null
: () {
uploadFiles();
},
child: Text(
'提交',
style: TextStyle(
@ -209,4 +220,50 @@ class _AddReviewPageState extends State<AddReviewPage> {
isDisabled() {
return TextUtils.isEmpty(_controller.text);
}
uploadFiles() {
if (_mediaModels.isNotEmpty) {
GSDialog.of(context).showLoadingDialog(context, '上传图片');
HttpManager.uploadFiles(medias: _mediaModels).then((_) {
GSDialog.of(context).dismiss(context);
GSDialog.of(context).showLoadingDialog(context, '评价中');
addComment(_controller.text,
images: _mediaModels
.map((e) => {
'path': e.result.url,
'width': e.width,
'height': e.height,
})
.toList())
.then((value) {
GSDialog.of(context).dismiss(context);
Navigator.pop(context);
});
});
} else {
GSDialog.of(context).showLoadingDialog(context, '评价中');
addComment(_controller.text).then((value) {
GSDialog.of(context).dismiss(context);
Navigator.pop(context);
});
}
}
Future addComment(String comment, {List<Map<String, dynamic>> images}) async {
Map params = {
'userId': UserManager.instance.user.info.id,
'goodsDetailId': widget.model.goodsDetailId,
'content': comment,
};
if (images != null) params.putIfAbsent('images', () => images);
ResultData resultData = await HttpManager.post(
OrderApi.addReview,
params,
);
if (resultData.data['code'] == "FAIL") {
showToast('${resultData.data['msg']}');
return;
}
return;
}
}

@ -1,4 +1,5 @@
import 'package:flutter/material.dart';
import 'package:recook/constants/api.dart';
import 'package:recook/manager/http_manager.dart';
import 'package:recook/manager/user_manager.dart';
import 'package:recook/pages/user/review/models/order_review_list_model.dart';
@ -6,8 +7,7 @@ import 'package:recook/pages/user/review/models/order_review_list_model.dart';
class ReviewPresenter {
Future<List<OrderReviewListModel>> getReviewList(
{@required int status}) async {
ResultData resultData =
await HttpManager.post('/v1/order/evaluation/orderEvaluationList', {
ResultData resultData = await HttpManager.post(OrderApi.orderReview, {
'userId': UserManager.instance.user.info.id,
'status': status,
});

@ -21,7 +21,6 @@ class _ReviewPageState extends State<ReviewPage>
void initState() {
super.initState();
_tabController = TabController(length: 2, vsync: this);
}
@override
@ -35,6 +34,7 @@ class _ReviewPageState extends State<ReviewPage>
return Scaffold(
backgroundColor: AppColor.frenchColor,
appBar: AppBar(
brightness: Brightness.light,
backgroundColor: Colors.white,
elevation: 0,
leading: RecookBackButton(),

Loading…
Cancel
Save