diff --git a/README.md b/README.md
index d720d23e..33ed6406 100644
--- a/README.md
+++ b/README.md
@@ -1,9 +1,37 @@
+# Flutter Go
Language: [English](https://github.com/alibaba/flutter-go/blob/master/README-en.md) | [中文简体](https://github.com/alibaba/flutter-go/blob/master/README.md)
-## Flutter Go

-> 帮助开发者快速上手 Flutter **Flutter Go 1.0 Android版已正式发布**
+> 一个帮助开发者快速上手的 `APP`
+
+## 最新动态
+### 🔥 `Flutter Go 2.0` 即将发布
+> Flutter Go 2.0 秉承年初发布的 [The Flutter-Go Roadmap(路线图) for 2019](https://github.com/alibaba/flutter-go#the-flutter-go-roadmap%E8%B7%AF%E7%BA%BF%E5%9B%BE-for-2019) 已经做了新版本的迭代,新版本如下新功能:
+
+
注:✔是本次发布内容
+
+- [x] [ `Flutter Go` 官方网站 ](https://flutter-go.pub/website/) (官方消息,发布,学习)
+- [x] [ `Flutter Go web` 版本](https://github.com/alibaba/flutter-go/tree/web/flutter-go-web-0.0.1) (web 版本学习帮助)
+ - [线上预览版 ](https://flutter-go.pub/flutter_go_web/)
+ - [项目地址 ](https://github.com/alibaba/flutter-go/tree/web/flutter-go-web-0.0.1)
+
+- [x] [ `Flutter Go Widget` 的 `pull request` 提交规范(第三方共建)](https://github.com/alibaba/flutter-go/blob/master/docs/contribute.md)
+
+- [x] 用户中心 (专属个人的`widget`案例)
+ - 用户登录(通过`GitHub`账户)
+ - 全网搜索 (全网搜索 `Flutter` 资讯)
+ - 收藏个人组件(保存到远端)
+ - 反馈建议 (APP 在线 `ISSUES`)
+ - 分享链接 (APP分享)
+- [x] [ `go-cli` 工具 ](https://github.com/alibaba/flutter-go/blob/master/docs/widget.md)
+ - `Flutter Go` 的 `pull request` 工具
+ - [命令行 生成 `Flutter Go Widget` 标准公共模版](https://github.com/alibaba/flutter-go/blob/beta/docs/widget.md)
+ - `markdown` 模版动态化生成(合并到master分支后)
+- [x] ` Flutter Go ` 官方 `APP` 版本自动升级
+- [ ] 多端模版同步( pc端,native端同步 )
+- [ ] `Flutter Go` store
+
## 三方共建说明
@@ -52,6 +80,7 @@ Language: [English](https://github.com/alibaba/flutter-go/blob/master/README-en.
### android正式版,下载地址:
- 华为市场已上线,华为应用市场搜索 "Fluttergo"或者直接[点击下载](https://appstore.huawei.com/search/fluttergo)
+- [直接 apk 文件下载](https://github.com/alibaba/flutter-go/releases/download/0.0.5/app-release.apk)
### iphone正式版,下载地址:
@@ -63,8 +92,17 @@ Language: [English](https://github.com/alibaba/flutter-go/blob/master/README-en.
## 基础环境
本项目环境持续更新. 请定期更新各依赖包.
-- dart(version: 2.0.0)
-- flutter(version: v1.0.0)
+```dart
+// 运行如下命令
+flutter --version
+dart --version
+pub --version
+
+// 正确环境如下
+// Flutter (Channel beta, v1.7.8)
+// Dart VM version: 2.4.0
+// Pub 2.4.0
+```
### 背景
diff --git a/lib/blocs/bak/search_api.dart b/lib/blocs/bak/search_api.dart
deleted file mode 100644
index 0548d34e..00000000
--- a/lib/blocs/bak/search_api.dart
+++ /dev/null
@@ -1,35 +0,0 @@
-/**
- * Created with Android Studio.
- * User: 一晟
- * Date: 2019/4/28
- * Time: 3:20 PM
- * email: zhu.yan@alibaba-inc.com
- * tartget: FlatButton 的示例
- */
-import 'dart:async';
-import 'package:dio/dio.dart';
-import 'dart:convert';
-import './search_result.dart';
-import 'package:html/parser.dart' show parse;
-
-var dio = new Dio();
-class Api {
- Future> search(name) async {
- print('=========>>>');
- var response = await dio.get("https://www.so.com/s?ie=utf-8&q=$name");
-// var document = parse(response.data);
-// var app = document.querySelectorAll('.res-title a');
- List res = [];
-// app.forEach((f) {
-// res.add(
-// SearchResult(
-// title: f.text,
-// source: f.attributes["data-url"] ?? f.attributes["href"],
-// ),
-// );
-// });
- return res;
- }
-}
-
-Api api = Api();
\ No newline at end of file
diff --git a/lib/blocs/bak/search_bloc.dart b/lib/blocs/bak/search_bloc.dart
deleted file mode 100644
index 08d526c8..00000000
--- a/lib/blocs/bak/search_bloc.dart
+++ /dev/null
@@ -1,35 +0,0 @@
-/**
- * Created with Android Studio.
- * User: 一晟
- * Date: 2019/4/28
- * Time: 7:17 PM
- * email: zhu.yan@alibaba-inc.com
- * tartget:
- */
-import 'dart:async';
-import 'package:bloc/bloc.dart';
-
-import './search_event.dart';
-import './search_state.dart';
-import './search_api.dart';
-
-
-/// 这里导入api类与上面的SearchEvent与SearchState文件
-
-class SearchBloc extends Bloc {
- @override
- SearchState get initialState => SearchUninitialized();
-
- @override
- Stream mapEventToState(SearchEvent event,) async* {
- if (event is SearchFetch) {
- try {
- yield SearchLoading();
- final res = await api.search(event.query);
- yield SearchLoaded(res: res);
- } catch (_) {
- yield SearchError();
- }
- }
- }
-}
\ No newline at end of file
diff --git a/lib/blocs/bak/search_event.dart b/lib/blocs/bak/search_event.dart
deleted file mode 100644
index 0ecc0b44..00000000
--- a/lib/blocs/bak/search_event.dart
+++ /dev/null
@@ -1,18 +0,0 @@
-/**
- * Created with Android Studio.
- * User: 一晟
- * Date: 2019/4/28
- * Time: 7:18 PM
- * email: zhu.yan@alibaba-inc.com
- * tartget:
- */
-abstract class SearchEvent {}
-
-class SearchFetch extends SearchEvent {
- final String query;
-
- SearchFetch({this.query});
-
- @override
- String toString() => 'SearchFetch:获取搜索结果事件';
-}
\ No newline at end of file
diff --git a/lib/blocs/bak/search_result.dart b/lib/blocs/bak/search_result.dart
deleted file mode 100644
index 8001e49a..00000000
--- a/lib/blocs/bak/search_result.dart
+++ /dev/null
@@ -1,14 +0,0 @@
-/**
- * Created with Android Studio.
- * User: 一晟
- * Date: 2019/4/28
- * Time: 7:11 PM
- * email: zhu.yan@alibaba-inc.com
- * tartget:
- */
-class SearchResult {
- String title;
- String source;
-
- SearchResult({this.title, this.source});
-}
\ No newline at end of file
diff --git a/lib/blocs/bak/search_state.dart b/lib/blocs/bak/search_state.dart
deleted file mode 100644
index 85d85791..00000000
--- a/lib/blocs/bak/search_state.dart
+++ /dev/null
@@ -1,37 +0,0 @@
-/**
- * Created with Android Studio.
- * User: 一晟
- * Date: 2019/4/28
- * Time: 7:13 PM
- * email: zhu.yan@alibaba-inc.com
- * tartget:
- */
-import './search_result.dart';
-
-abstract class SearchState {}
-
-class SearchError extends SearchState {
- @override
- String toString() => 'SearchError:获取失败';
-}
-
-class SearchUninitialized extends SearchState {
- @override
- String toString() => 'SearchUninitialized:未初始化';
-}
-
-class SearchLoading extends SearchState {
- @override
- String toString() => 'SearchLoading :正在加载';
-}
-
-class SearchLoaded extends SearchState {
- final List res;
-
- SearchLoaded({
- this.res,
- });
-
- @override
- String toString() => 'SearchLoaded:加载完毕';
-}
\ No newline at end of file
diff --git a/lib/blocs/bak/search_widget.dart b/lib/blocs/bak/search_widget.dart
deleted file mode 100644
index 1e29848a..00000000
--- a/lib/blocs/bak/search_widget.dart
+++ /dev/null
@@ -1,80 +0,0 @@
-/**
- * Created with Android Studio.
- * User: 一晟
- * Date: 2019/4/28
- * Time: 7:19 PM
- * email: zhu.yan@alibaba-inc.com
- * tartget:
- */
-import 'package:flutter/material.dart';
-import 'package:flutter_bloc/flutter_bloc.dart';
-//import 'package:suiyi/blocs/search/bloc.dart';
-import './search_event.dart';
-import './search_state.dart';
-import './search_bloc.dart';
-
-
-class SearchWidget extends StatefulWidget {
- final SearchDelegate delegate;
- final String query;
- SearchWidget({this.delegate, this.query});
- @override
- _SearchWidgetState createState() => _SearchWidgetState();
-}
-
-class _SearchWidgetState extends State {
- final SearchBloc _search = SearchBloc();
- String old;
- @override
- void dispose() {
- _search.dispose();
- super.dispose();
- }
-
- @override
- Widget build(BuildContext context) {
- print('1:${old}');
- print('2:${widget.query}');
- if (old != widget.query) {
- _search.dispatch(SearchFetch(query: widget.query));
- old = widget.query;
- }
- return BlocBuilder(
- bloc: _search,
- builder: (BuildContext context, SearchState state) {
- print('-------${state}');
- if (state is SearchUninitialized || state is SearchLoading) {
- return Center(
- child: CircularProgressIndicator(),
- );
- } else if (state is SearchError) {
- return Center(
- child: Text('获取失败'),
- );
- } else if (state is SearchLoaded) {
- return ListView.builder(
- itemBuilder: (BuildContext context, int index) {
- return ListTile(
- dense: true,
- leading: Icon(
- Icons.bookmark_border,
- size: 32,
- ),
- title: Text(
- state.res[index].title,
- overflow: TextOverflow.ellipsis,
- ),
- subtitle: Text(state.res[index].source),
- onTap: () {
- // 在这里对选中的结果进行解析,因为我目前是用golang实现的,所以就没贴代码了。
- print(state.res[index].source);
- },
- );
- },
- itemCount: state.res.length,
- );
- }
- },
- );
- }
-}
\ No newline at end of file
diff --git a/lib/blocs/industry_api.dart b/lib/blocs/industry_api.dart
index fc8b2967..7b271ca0 100644
--- a/lib/blocs/industry_api.dart
+++ b/lib/blocs/industry_api.dart
@@ -1,16 +1,14 @@
-/**
- * Created with Android Studio.
- * User: 一晟
- * Date: 2019/4/28
- * Time: 3:20 PM
- * email: zhu.yan@alibaba-inc.com
- * tartget: FlatButton 的示例
- */
+//
+// Created with Android Studio.
+// User: 一晟
+// Date: 2019/4/28
+// Time: 3:20 PM
+// email: zhu.yan@alibaba-inc.com
+// tartget: FlatButton 的示例
+//
import 'dart:async';
import 'package:dio/dio.dart';
-import 'dart:convert';
import 'package:html/parser.dart' show parse;
-import './industry_model.dart';
import './search_result.dart';
var dio = new Dio();
diff --git a/lib/blocs/industry_bloc.dart b/lib/blocs/industry_bloc.dart
index 3bcd464c..1757f3b4 100644
--- a/lib/blocs/industry_bloc.dart
+++ b/lib/blocs/industry_bloc.dart
@@ -23,7 +23,7 @@ class SuggestionBloc extends Bloc {
try {
yield SuggestionLoading();
final res = await api.suggestion(event.query);
- print('res====>${res}');
+ // print('res====>${res}');
yield SuggestionLoaded(res: res);
} catch (_) {
yield SuggestionError();
diff --git a/lib/blocs/industry_event.dart b/lib/blocs/industry_event.dart
index 641720b2..b54e7940 100644
--- a/lib/blocs/industry_event.dart
+++ b/lib/blocs/industry_event.dart
@@ -1,10 +1,10 @@
-/**
- * Created with Android Studio.
- * User: 一晟
- * Date: 2019/4/28
- * Time: 3:35 PM
- * email: zhu.yan@alibaba-inc.com
- */
+///
+/// Created with Android Studio.
+/// User: 一晟
+/// Date: 2019/4/28
+/// Time: 3:35 PM
+/// email: zhu.yan@alibaba-inc.com
+///
abstract class SuggestionEvent {}
class SuggestionFetch extends SuggestionEvent {
diff --git a/lib/blocs/industry_main.dart b/lib/blocs/industry_main.dart
index 22dfbc0a..fa49fac5 100644
--- a/lib/blocs/industry_main.dart
+++ b/lib/blocs/industry_main.dart
@@ -1,14 +1,14 @@
-/**
- * Created with Android Studio.
- * User: 一晟
- * Date: 2019/4/28
- * Time: 3:52 PM
- * email: zhu.yan@alibaba-inc.com
- */
+///
+/// Created with Android Studio.
+/// User: 一晟
+/// Date: 2019/4/28
+/// Time: 3:52 PM
+/// email: zhu.yan@alibaba-inc.com
+///
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import './industry_bloc.dart';
-import './industry_event.dart';
+/// import './industry_event.dart';
import './industry_state.dart';
final SuggestionBloc suggestion = SuggestionBloc();
@@ -22,47 +22,46 @@ class IndustryPage extends StatefulWidget {
}
class _IndustryState extends State {
+ Widget renderItem(state) {
+ if (state is SuggestionUninitialized) {
+ return Center(
+ child: Text('暂无内容'),
+ );
+ } else if (state is SuggestionLoading) {
+ return Center(
+ child: CircularProgressIndicator(),
+ );
+ } else if (state is SuggestionError) {
+ return Center(
+ child: Text('出现错误'),
+ );
+ } else if (state is SuggestionLoaded) {
+ if (state.res.length == 0) {
+ return Center(
+ child: Text('没有适合的结果,更换查询条件试试'),
+ );
+ }else {
+ if (widget.itemTitle is Function) {
+ return widget.itemTitle(state);
+ }
+ }
+ }
+ return Center(
+ child: Text('没有适合的结果,更换查询条件试试')
+ );
+ }
+
@override
Widget build(BuildContext context) {
return Material(
child: Column(
children: [
-// TextField(
-// autofocus: true,
-// textAlign: TextAlign.center,
-// onSubmitted: (text) {
-// print('onSubmitted:${text}');
-// suggestion.dispatch(SuggestionFetch(query: text));
-// },
-// ),
Expanded(
child: BlocBuilder(
bloc: suggestion,
- builder: (BuildContext context, SuggestionState state) {
- print('BlocBuilder----${state}');
- if (state is SuggestionUninitialized) {
- return Center(
- child: Text('暂无内容'),
- );
- } else if (state is SuggestionLoading) {
- return Center(
- child: CircularProgressIndicator(),
- );
- } else if (state is SuggestionError) {
- return Center(
- child: Text('出现错误'),
- );
- } else if (state is SuggestionLoaded) {
- if (state.res.length == 0) {
- return Center(
- child: Text('没有适合的结果,更换查询条件试试'),
- );
- }else {
- if (widget.itemTitle is Function) {
- return widget.itemTitle(state);
- }
- }
- }
+ builder: (BuildContext context, SuggestionState state){
+ /// print('BlocBuilder----${state}');
+ return renderItem(state);
},
),
),
diff --git a/lib/blocs/industry_model.dart b/lib/blocs/industry_model.dart
index ea6cb081..550d29c7 100644
--- a/lib/blocs/industry_model.dart
+++ b/lib/blocs/industry_model.dart
@@ -1,10 +1,10 @@
-/**
- * Created with Android Studio.
- * User: 一晟
- * Date: 2019/4/28
- * Time: 3:19 PM
- * email: zhu.yan@alibaba-inc.com
- */
+///
+/// Created with Android Studio.
+/// User: 一晟
+/// Date: 2019/4/28
+/// Time: 3:19 PM
+/// email: zhu.yan@alibaba-inc.com
+///
class Suggestion {
String query;
List suggestions;
diff --git a/lib/blocs/industry_state.dart b/lib/blocs/industry_state.dart
index b129830c..8083aa80 100644
--- a/lib/blocs/industry_state.dart
+++ b/lib/blocs/industry_state.dart
@@ -1,10 +1,10 @@
-/**
- * Created with Android Studio.
- * User: 一晟
- * Date: 2019/4/28
- * Time: 3:37 PM
- * email: zhu.yan@alibaba-inc.com
- */
+///
+/// Created with Android Studio.
+/// User: 一晟
+/// Date: 2019/4/28
+/// Time: 3:37 PM
+/// email: zhu.yan@alibaba-inc.com
+///
abstract class SuggestionState {}
class SuggestionError extends SuggestionState {
diff --git a/lib/blocs/search_result.dart b/lib/blocs/search_result.dart
index 8001e49a..bf64d1b1 100644
--- a/lib/blocs/search_result.dart
+++ b/lib/blocs/search_result.dart
@@ -1,11 +1,11 @@
-/**
- * Created with Android Studio.
- * User: 一晟
- * Date: 2019/4/28
- * Time: 7:11 PM
- * email: zhu.yan@alibaba-inc.com
- * tartget:
- */
+///
+/// Created with Android Studio.
+/// User: 一晟
+/// Date: 2019/4/28
+/// Time: 7:11 PM
+/// email: zhu.yan@alibaba-inc.com
+/// tartget:
+///
class SearchResult {
String title;
String source;
diff --git a/lib/components/category.dart b/lib/components/category.dart
index 0789e90e..eee1035e 100644
--- a/lib/components/category.dart
+++ b/lib/components/category.dart
@@ -3,7 +3,7 @@ import 'dart:async';
import 'package:flutter/material.dart';
import '../routers/application.dart';
-import '../model/cat.dart';
+/// import '../model/cat.dart';
import '../model/widget.dart';
import '../widgets/index.dart';
import '../components/widget_item_container.dart';
@@ -65,7 +65,7 @@ class _CategoryHome extends State {
}
void searchCatOrWidget() async {
- CommonItem widgetTree = Application.widgetTree;
+ /// CommonItem widgetTree = Application.widgetTree;
// 假设进入这个界面的parent一定存在
CommonItem targetGroup = catHistory.last;
diff --git a/lib/components/widget_demo.dart b/lib/components/widget_demo.dart
index 9d1defd7..e2c783d3 100644
--- a/lib/components/widget_demo.dart
+++ b/lib/components/widget_demo.dart
@@ -9,7 +9,7 @@ import 'package:flutter_go/utils/data_utils.dart';
import '../routers/application.dart';
import '../routers/routers.dart';
import '../components/markdown.dart';
-import '../model/collection.dart';
+/// import '../model/collection.dart';
import '../widgets/index.dart';
import '../event/event_bus.dart';
import '../event/event_model.dart';
@@ -35,7 +35,7 @@ class WidgetDemo extends StatefulWidget {
class _WidgetDemoState extends State {
bool _hasCollected = false;
- CollectionControlModel _collectionControl = new CollectionControlModel();
+ /// CollectionControlModel _collectionControl = new CollectionControlModel();
var _collectionIcons;
List widgetDemosList = new WidgetDemoList().getDemos();
String widgetType = 'old';
diff --git a/lib/components/widget_item_container.dart b/lib/components/widget_item_container.dart
index d5977512..d7438790 100644
--- a/lib/components/widget_item_container.dart
+++ b/lib/components/widget_item_container.dart
@@ -86,7 +86,8 @@ class WidgetItemContainer extends StatelessWidget {
index: addI,
totalCount: length,
rowLength: columnCount,
- textSize: true ? 'middle' : 'small',
+ /// textSize: true ? 'middle' : 'small',
+ textSize: 'middle'
),
),
);
diff --git a/lib/main.dart b/lib/main.dart
index 225ea633..2a5a944d 100644
--- a/lib/main.dart
+++ b/lib/main.dart
@@ -56,9 +56,13 @@ class _MyAppState extends State {
var response;
try{
response = await NetUtils.get(reqs, {});
- print('response-${response}');
+ print('response-$response');
+ if(response['status'] == 200 && response['success'] ==true && response['data'] is Map && response['data']['isOpen'] == true) {
+ Application.pageIsOpen = true;
+ print('是否需要展开【业界动态】${Application.pageIsOpen}');
+ }
}catch(e){
- print('response-${e}');
+ print('response-$e');
}
return response;
}
@@ -66,6 +70,7 @@ class _MyAppState extends State {
@override
void initState() {
super.initState();
+ _reqsMainPageIsOpen();
_startupJpush();
FlutterJPush.addConnectionChangeListener((bool connected) {
@@ -85,7 +90,6 @@ class _MyAppState extends State {
} catch (error) {
print('主动获取设备号Error:$error');
}
- ;
}
});
});
@@ -143,15 +147,6 @@ class _MyAppState extends State {
print('身份信息验证失败:$onError');
});
- /// 服务端控制是否显示业界动态
- _reqsMainPageIsOpen().then((res){
- //{status: 200, data: {isOpen: true}, success: true}
- if(res['status'] == 200 && res['success'] ==true && res['data'] is Map && res['data']['isOpen'] == true) {
- Application.pageIsOpen = true;
- print('是否需要展开【业界动态】${Application.pageIsOpen}');
- }
- });
-
ApplicationEvent.event.on().listen((event) {
print('接收到的 event $event');
});
diff --git a/lib/model/widget.dart b/lib/model/widget.dart
index d2be8362..c0f37d0d 100644
--- a/lib/model/widget.dart
+++ b/lib/model/widget.dart
@@ -162,7 +162,7 @@ abstract class CommonItem {
///
CommonItem parent;
String toString() {
- return "CommonItem {name: $name, type: $type, parentId: $parentId, token: $token, children长度 ${children}";
+ return "CommonItem {name: $name, type: $type, parentId: $parentId, token: $token, children长度 $children";
}
T getChild(String token);
@@ -361,7 +361,7 @@ class WidgetTree {
print("getCommonItemByPath $path");
print("root $root");
CommonItem childLeaf;
- int first = path.first;
+ /// int first = path.first;
path = path.sublist(1);
print("path:::: $path");
if (path.length >= 0) {
diff --git a/lib/routers/routers.dart b/lib/routers/routers.dart
index c4f6d8d7..32d6b9c2 100644
--- a/lib/routers/routers.dart
+++ b/lib/routers/routers.dart
@@ -4,7 +4,7 @@ import 'package:flutter/material.dart';
import 'package:flutter_go/utils/analytics.dart' show analytics;
import '../widgets/index.dart';
import './router_handler.dart';
-import '../standard_pages/index.dart';
+/// import '../standard_pages/index.dart';
class Routes {
static String root = "/";
static String home = "/home";
@@ -20,9 +20,10 @@ class Routes {
static void configureRoutes(Router router) {
List widgetDemosList = new WidgetDemoList().getDemos();
- router.notFoundHandler = new Handler(
- handlerFunc: (BuildContext context, Map> params) {
- });
+// router.notFoundHandler = new Handler(
+// handlerFunc: (BuildContext context, Map> params) {
+// }
+// );
router.define(home, handler: homeHandler);
router.define(collectionPage,handler:collectionHandler);
router.define(collectionFullPage,handler:collectionFullHandler);
@@ -32,19 +33,19 @@ class Routes {
router.define(codeView,handler:fullScreenCodeDialog);
router.define(githubCodeView,handler:githubCodeDialog);
router.define(webViewPage,handler:webViewPageHand);
- router.define(issuesMessage, handler: issuesMessageHandler);
- widgetDemosList.forEach((demo) {
- Handler handler = new Handler(
- handlerFunc: (BuildContext context, Map> params) {
- print('组件路由params=$params widgetsItem=${demo.routerName}');
- analytics.logEvent(
- name: 'component', parameters: {'name': demo.routerName });
- return demo.buildRouter(context);
- });
+ router.define(issuesMessage, handler: issuesMessageHandler);
+ router.define(standardPage,handler:standardPageHandler);
+ widgetDemosList.forEach((demo) {
+ Handler handler = new Handler(
+ handlerFunc: (BuildContext context, Map> params) {
+ print('组件路由params=$params widgetsItem=${demo.routerName}');
+ analytics.logEvent(
+ name: 'component', parameters: {'name': demo.routerName });
+ return demo.buildRouter(context);
+ });
String path = demo.routerName;
router.define('${path.toLowerCase()}', handler: handler);
});
- router.define(standardPage,handler:standardPageHandler);
// router.define(webViewPage,handler:webViewPageHand);
// standardPages.forEach((String id, String md) => {
//
diff --git a/lib/utils/data_utils.dart b/lib/utils/data_utils.dart
index d57f3cba..921f95ff 100644
--- a/lib/utils/data_utils.dart
+++ b/lib/utils/data_utils.dart
@@ -5,7 +5,7 @@ import 'package:flutter_go/model/collection.dart';
import 'package:flutter_go/model/version.dart';
import 'package:flutter_go/model/widget.dart';
import 'package:package_info/package_info.dart';
-import 'package:flutter_go/model/responseData.dart';
+/// import 'package:flutter_go/model/responseData.dart';
import './net_utils.dart';
import '../model/user_info.dart';
@@ -117,6 +117,7 @@ class DataUtils {
}
} catch (error) {
print('获取组件树 error $error');
+ return [];
}
}
@@ -128,6 +129,7 @@ class DataUtils {
return response != null && response['hasCollected'];
} catch (error) {
print('校验收藏 error $error');
+ return false;
}
}
diff --git a/lib/views/collection_page/collection_full_page.dart b/lib/views/collection_page/collection_full_page.dart
index d9ce39fd..ada616eb 100644
--- a/lib/views/collection_page/collection_full_page.dart
+++ b/lib/views/collection_page/collection_full_page.dart
@@ -26,7 +26,7 @@ class _CollectionFullPageState extends State {
ApplicationEvent.event = eventBus;
}
- CollectionControlModel _collectionControl = new CollectionControlModel();
+ /// CollectionControlModel _collectionControl = new CollectionControlModel();
List _collectionList = [];
ScrollController _scrollController = new ScrollController();
var _icons;
diff --git a/lib/views/collection_page/collection_page.dart b/lib/views/collection_page/collection_page.dart
index 3935d9d2..75d6e309 100644
--- a/lib/views/collection_page/collection_page.dart
+++ b/lib/views/collection_page/collection_page.dart
@@ -11,7 +11,7 @@ import 'package:flutter_go/routers/application.dart';
import 'package:flutter_go/routers/routers.dart';
import 'package:flutter_go/event/event_bus.dart';
import 'package:flutter_go/event/event_model.dart';
-import 'package:flutter_go/utils/data_utils.dart';
+/// import 'package:flutter_go/utils/data_utils.dart';
class CollectionPage extends StatefulWidget {
final bool hasLogined;
@@ -26,7 +26,7 @@ class _CollectionPageState extends State {
final eventBus = new EventBus();
ApplicationEvent.event = eventBus;
}
- CollectionControlModel _collectionControl = new CollectionControlModel();
+ /// CollectionControlModel _collectionControl = new CollectionControlModel();
List _collectionList = [];
ScrollController _scrollController = new ScrollController();
var _icons;
diff --git a/lib/views/first_page/main_page.dart b/lib/views/first_page/main_page.dart
index 9301ab55..c48fbe0d 100644
--- a/lib/views/first_page/main_page.dart
+++ b/lib/views/first_page/main_page.dart
@@ -2,7 +2,7 @@ import 'package:flutter/material.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter_go/views/first_page/drawer_page.dart';
import './first_page.dart';
-import './sub_page.dart';
+/// import './sub_page.dart';
import './main_app_bar.dart';
import './search_page.dart';
import 'package:flutter_go/model/user_info.dart';
diff --git a/lib/views/first_page/search_page.dart b/lib/views/first_page/search_page.dart
index e3d751c8..042bae8a 100644
--- a/lib/views/first_page/search_page.dart
+++ b/lib/views/first_page/search_page.dart
@@ -87,15 +87,17 @@ class SearchBarPage extends StatefulWidget{
final TextEditingController controller = TextEditingController();
var that;
+var loading;
class _SearchBarPageState extends State {
@override
void initState() {
super.initState();
that = this;
+ loading = false;
}
Timer _resultsTimer;
- bool _loading = false;
+
String oldKey;
/// 防抖函数
Future getResultsDebounced(String text) async {
@@ -106,12 +108,12 @@ class _SearchBarPageState extends State {
if (text == '' || !mounted) {
return;
}
- _loading = true;
+ loading = true;
if (_resultsTimer != null && _resultsTimer.isActive) {
_resultsTimer.cancel();
}
_resultsTimer = new Timer(new Duration(milliseconds: 400), () async {
- _loading = true;
+ loading = true;
if(mounted){
suggestion.dispatch(SuggestionFetch(query: text));
}
@@ -121,7 +123,7 @@ class _SearchBarPageState extends State {
void onSearchTextChanged(String text){
- print('onSearchTextChanged:${text}');
+ print('onSearchTextChanged:$text');
//suggestion.dispatch(SuggestionFetch(query: text));
getResultsDebounced(text);
}
diff --git a/lib/views/home.dart b/lib/views/home.dart
index 3ab7a029..435fc81d 100644
--- a/lib/views/home.dart
+++ b/lib/views/home.dart
@@ -6,20 +6,20 @@
/// target: app首页
import 'package:flutter/material.dart';
-import 'package:flutter/rendering.dart';
+/// import 'package:flutter/rendering.dart';
import 'package:flutter_go/utils/data_utils.dart';
import 'package:flutter_go/utils/shared_preferences.dart';
-import 'package:flutter_go/views/first_page/first_page.dart';
+/// import 'package:flutter_go/views/first_page/first_page.dart';
import 'package:flutter_go/views/first_page/main_page.dart';
import 'package:fluro/fluro.dart';
import 'package:flutter_go/views/user_page/user_page.dart';
import 'package:flutter_go/views/widget_page/widget_page.dart';
import 'package:flutter_go/views/welcome_page/fourth_page.dart';
-import 'package:flutter_go/views/collection_page/collection_page.dart';
+/// import 'package:flutter_go/views/collection_page/collection_page.dart';
import 'package:flutter_go/routers/application.dart';
-import 'package:flutter_go/utils/provider.dart';
+/// import 'package:flutter_go/utils/provider.dart';
import 'package:flutter_go/model/widget.dart';
-import 'package:flutter_go/widgets/index.dart';
+/// import 'package:flutter_go/widgets/index.dart';
import 'package:flutter_go/components/search_input.dart';
import 'package:flutter_go/model/search_history.dart';
import 'package:flutter_go/resources/widget_name_to_icon.dart';
diff --git a/lib/views/issuse_message_page/issuse_message_page.dart b/lib/views/issuse_message_page/issuse_message_page.dart
index c8c0a4b8..0bfef825 100644
--- a/lib/views/issuse_message_page/issuse_message_page.dart
+++ b/lib/views/issuse_message_page/issuse_message_page.dart
@@ -1,5 +1,4 @@
-import 'dart:convert';
-
+/// import 'dart:convert';
import 'package:flutter/material.dart';
import 'package:flutter_spinkit/flutter_spinkit.dart';
import 'package:zefyr/zefyr.dart';
diff --git a/lib/views/login_page/login_page.dart b/lib/views/login_page/login_page.dart
index d0025764..bc8ae79f 100644
--- a/lib/views/login_page/login_page.dart
+++ b/lib/views/login_page/login_page.dart
@@ -137,6 +137,7 @@ class _LoginPageState extends State {
if (value.isEmpty) {
return "登录名不可为空!";
}
+ return ' ';
},
onSaved: (value) {
setState(() {
@@ -179,6 +180,7 @@ class _LoginPageState extends State {
if (value == null || value.isEmpty) {
return "密码不可为空!";
}
+ return '';
},
onSaved: (value) {
setState(() {
diff --git a/lib/views/standard_demo_page/index.dart b/lib/views/standard_demo_page/index.dart
index 543f9156..20264f9d 100644
--- a/lib/views/standard_demo_page/index.dart
+++ b/lib/views/standard_demo_page/index.dart
@@ -48,9 +48,10 @@ class _StandardView extends State {
super.initState();
this.getPageInfo();
}
- didChangeDependencies() {
- print("didChangeDependencies");
- }
+
+// didChangeDependencies() {
+// print("didChangeDependencies");
+// }
/// 本地调用的获取文章属性的基本信息
Future localGetPagesAttrsInfo() async {
String jsonString = await DefaultAssetBundle.of(context).loadString('lib/standard_pages/.pages.json');
diff --git a/lib/widgets/components/Scroll/ScrollMetrics/demo.dart b/lib/widgets/components/Scroll/ScrollMetrics/demo.dart
index db2f8aca..5a6a9fc4 100644
--- a/lib/widgets/components/Scroll/ScrollMetrics/demo.dart
+++ b/lib/widgets/components/Scroll/ScrollMetrics/demo.dart
@@ -27,6 +27,7 @@ class _ScrollMetricsDemoState extends State {
});
print("BottomEdge: ${notification.metrics.extentAfter == 0}");
//return true; //放开此行注释后,进度条将失效
+ return false;
},
child: Stack(
alignment: Alignment.center,
diff --git a/lib/widgets/components/Scroll/ScrollPhysics/demo.dart b/lib/widgets/components/Scroll/ScrollPhysics/demo.dart
index e4208050..3b31a90e 100644
--- a/lib/widgets/components/Scroll/ScrollPhysics/demo.dart
+++ b/lib/widgets/components/Scroll/ScrollPhysics/demo.dart
@@ -24,6 +24,7 @@ class _ScrollPhysicsDemoState extends State {
setState(() {
_currentPage = _pageController.page;
});
+ return false;
},
child: PageView.custom(
physics: const PageScrollPhysics(
diff --git a/lib/widgets/themes/Cupertino/CupertinoApp/demo.dart b/lib/widgets/themes/Cupertino/CupertinoApp/demo.dart
index f503023b..ddd7888a 100644
--- a/lib/widgets/themes/Cupertino/CupertinoApp/demo.dart
+++ b/lib/widgets/themes/Cupertino/CupertinoApp/demo.dart
@@ -95,16 +95,16 @@ class _CupertinoAppFullDefault extends State {
],
onGenerateRoute: (setting) {
// 当通过Navigation.of(context).pushNamed跳转路由时,在routes查找不到时,会调用该方法
- routerHandler(setting);
+ return routerHandler(setting);
},
onGenerateTitle: (context) {
// 跟上面的tiitle一样,但含有一个context参数用于做本地化
return 'Flutter应用';
},
- onUnknownRoute: (setting) {
- // 效果跟onGenerateRoute一样调用顺序为onGenerateRoute ==> onUnknownRoute
- //RouterHandler(setting);
- },
+// onUnknownRoute: (setting) {
+// // 效果跟onGenerateRoute一样调用顺序为onGenerateRoute ==> onUnknownRoute
+// //RouterHandler(setting);
+// },
routes: {
// 声明程序中有哪个通过Navigation.of(context).pushNamed跳转的路由参数以键值对的形式传递key:路由名字value:对应的Widget
'/home': (BuildContext context) => HomePage(),
diff --git a/lib/widgets/themes/Cupertino/CupertinoSliverNavigationBar/demo.dart b/lib/widgets/themes/Cupertino/CupertinoSliverNavigationBar/demo.dart
index bbb27bd5..5e272294 100644
--- a/lib/widgets/themes/Cupertino/CupertinoSliverNavigationBar/demo.dart
+++ b/lib/widgets/themes/Cupertino/CupertinoSliverNavigationBar/demo.dart
@@ -29,8 +29,9 @@ class _Demo extends State {
trailing: Icon(Icons.perm_camera_mic)
),
CupertinoSliverRefreshControl(
- onRefresh: () {
- },
+// onRefresh: () {
+//
+// },
),
SliverSafeArea(
top: false, // Top safe area is consumed by the navigation bar.