重写GSDialog ,使用BotToast封装,重写新建话题点击页面

master
laiiihz 4 years ago
parent 93f10c80f7
commit f01158ad5a

@ -75,3 +75,7 @@ rSize(`value`) `value` is design `pt`
### 使用自动生成的图片
假设你有一张图片`assets/live/user.png`,你只需要使用`R.ASSETS_LIVE_USER_PNG`即可使用该图片
## TODO LIST
* [ ] 迁移GSDialog 到 BotToast

@ -2,6 +2,7 @@ import 'dart:convert';
import 'dart:io';
import 'package:amap_location_fluttify/amap_location_fluttify.dart';
import 'package:bot_toast/bot_toast.dart';
import 'package:camera/camera.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
@ -224,6 +225,8 @@ class MyAppState extends State<MyApp> {
child: StoreBuilder<RecookState>(builder: (context, store) {
return OKToast(
child: MaterialApp(
builder: BotToastInit(),
navigatorObservers: [BotToastNavigatorObserver()],
localizationsDelegates: [
GlobalMaterialLocalizations.delegate,
GlobalWidgetsLocalizations.delegate,

@ -6,6 +6,7 @@ import 'package:recook/constants/api.dart';
import 'package:recook/constants/header.dart';
import 'package:recook/manager/http_manager.dart';
import 'package:recook/pages/live/models/topic_list_model.dart';
import 'package:recook/widgets/progress/re_toast.dart';
class PickTopicPage extends StatefulWidget {
final Function(TopicListModel model) onPick;
@ -79,27 +80,31 @@ class _PickTopicPageState extends State<PickTopicPage> {
color: Color(0xFFFFDB2D2D),
height: rSize(28),
minWidth: rSize(60),
onPressed: () {
onPressed: () async {
if (TextUtil.isEmpty(_editingController.text)) {
GSDialog.of(context).showError(context, '话题不能为空');
} else {
GSDialog.of(context).showLoadingDialog(context, '创建话题');
HttpManager.post(
ReToast.err(text: '话题不能为空');
return;
}
final cancel = ReToast.loading(text: '创建话题');
try {
ResultData result = await HttpManager.post(
LiveAPI.topicAddNew,
{'title': _editingController.text},
).then((resultData) {
GSDialog.of(context).dismiss(context);
if (resultData.data['data']['topicId'] is int)
);
cancel();
if (result.data['data']['topicId'] is int) {
widget.onPick(TopicListModel(
title: _editingController.text,
id: resultData.data['data']['topicId'],
id: result.data['data']['topicId'],
));
Navigator.pop(context);
}).catchError((e) {
GSDialog.of(context).dismiss(context);
GSDialog.of(context).showError(context, '创建失败');
});
return;
}
} catch (e) {
cancel();
ReToast.err(text: '创建失败');
}
Navigator.pop(context);
},
child: Text('提交'),
shape: RoundedRectangleBorder(

@ -0,0 +1,23 @@
import 'package:bot_toast/bot_toast.dart';
import 'package:recook/widgets/progress/loading_dialog.dart';
class ReToast {
static Function loading({String text}) {
return BotToast.showCustomLoading(
toastBuilder: (func) {
return LoadingDialog(text: text ?? '');
},
);
}
static Function err({String text}) {
return BotToast.showCustomText(
toastBuilder: (func) {
return StatusDialog(
status: Status.error,
text: text ?? '',
);
},
);
}
}

@ -71,6 +71,13 @@ packages:
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.1.0-nullsafety.1"
bot_toast:
dependency: "direct main"
description:
name: bot_toast
url: "https://pub.flutter-io.cn"
source: hosted
version: "3.0.5"
build:
dependency: transitive
description:

@ -226,6 +226,8 @@ dependencies:
git:
url: http://159.75.73.143:8080/laiiihz/power_logger.git
bot_toast: ^3.0.5
dev_dependencies:
flutter_test:
sdk: flutter

Loading…
Cancel
Save