重写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`即可使用该图片 假设你有一张图片`assets/live/user.png`,你只需要使用`R.ASSETS_LIVE_USER_PNG`即可使用该图片
## TODO LIST
* [ ] 迁移GSDialog 到 BotToast

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

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

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

Loading…
Cancel
Save