Skip to content

Commit 13a1a9c

Browse files
committed
增加一些注释
1 parent fa5c45f commit 13a1a9c

16 files changed

+241
-61
lines changed

lib/main.dart

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,8 @@ class _GSYLocalizations extends State<GSYLocalizations> {
113113
@override
114114
void initState() {
115115
super.initState();
116+
117+
///Stream演示event bus
116118
stream = eventBus.on<HttpErrorEvent>().listen((event) {
117119
errorHandleFunction(event.code, event.message);
118120
});
@@ -127,6 +129,7 @@ class _GSYLocalizations extends State<GSYLocalizations> {
127129
}
128130
}
129131

132+
///网络错误提醒
130133
errorHandleFunction(int code, message) {
131134
switch (code) {
132135
case Code.NETWORK_ERROR:

lib/page/dynamic_page.dart

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ class _DynamicPageState extends State<DynamicPage>
2828
WidgetsBindingObserver {
2929
final DynamicBloc dynamicBloc = new DynamicBloc();
3030

31+
///控制列表滚动和监听
3132
final ScrollController scrollController = new ScrollController();
3233

3334
/// 模拟IOS下拉显示刷新
@@ -64,7 +65,9 @@ class _DynamicPageState extends State<DynamicPage>
6465
@override
6566
void initState() {
6667
super.initState();
68+
///监听生命周期,主要判断页面 resumed 的时候触发刷新
6769
WidgetsBinding.instance.addObserver(this);
70+
///获取网络端新版信息
6871
ReposDao.getNewsVersion(context, false);
6972
}
7073

@@ -82,6 +85,7 @@ class _DynamicPageState extends State<DynamicPage>
8285
super.didChangeDependencies();
8386
}
8487

88+
///监听生命周期,主要判断页面 resumed 的时候触发刷新
8589
@override
8690
void didChangeAppLifecycleState(AppLifecycleState state) {
8791
if (state == AppLifecycleState.resumed) {
@@ -110,6 +114,8 @@ class _DynamicPageState extends State<DynamicPage>
110114
super.build(context); // See AutomaticKeepAliveClientMixin.
111115
return new StoreBuilder<GSYState>(
112116
builder: (context, store) {
117+
///BlocProvider 用于管理 bloc 共享,如果不需要共享可以不用
118+
///直接 StreamBuilder 配合即可
113119
return BlocProvider<DynamicBloc>(
114120
bloc: dynamicBloc,
115121
child: GSYPullLoadWidget(

lib/page/home_page.dart

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ class HomePage extends StatelessWidget {
2424

2525
/// 不退出
2626
Future<bool> _dialogExitApp(BuildContext context) async {
27+
///如果是 android 回到桌面
2728
if (Platform.isAndroid) {
2829
AndroidIntent intent = AndroidIntent(
2930
action: 'android.intent.action.MAIN',
@@ -52,6 +53,7 @@ class HomePage extends StatelessWidget {
5253
_renderTab(GSYICons.MAIN_QS, CommonUtils.getLocale(context).home_trend),
5354
_renderTab(GSYICons.MAIN_MY, CommonUtils.getLocale(context).home_my),
5455
];
56+
///增加返回按键监听
5557
return WillPopScope(
5658
onWillPop: () {
5759
return _dialogExitApp(context);

lib/page/issue_detail_page.dart

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import 'package:gsy_github_app_flutter/widget/issue_header_item.dart';
1616
import 'package:gsy_github_app_flutter/widget/issue_item.dart';
1717

1818
/**
19+
* Issue 详情页面
1920
* Created by guoshuyu
2021
* on 2018/7/21.
2122
*/
@@ -42,20 +43,24 @@ class _IssueDetailPageState extends State<IssueDetailPage>
4243
GSYListState<IssueDetailPage> {
4344
int selectIndex = 0;
4445

46+
///头部信息数据是否加载成功,成功了就可以显示底部状态
4547
bool headerStatus = false;
4648

49+
/// issue 的头部数据显示
4750
IssueHeaderViewModel issueHeaderViewModel = new IssueHeaderViewModel();
4851

52+
///控制编辑时issue的title
4953
TextEditingController issueInfoTitleControl = new TextEditingController();
5054

55+
///控制编辑时issue的content
5156
TextEditingController issueInfoValueControl = new TextEditingController();
5257

53-
final TextEditingController issueInfoCommitValueControl =
54-
new TextEditingController();
55-
58+
///标题栏右侧显示控制
5659
final OptionControl titleOptionControl = new OptionControl();
5760

61+
///绘制item
5862
_renderEventItem(index) {
63+
///第一个绘制的是头部
5964
if (index == 0) {
6065
return new IssueHeaderItem(issueHeaderViewModel, onPressed: () {});
6166
}
@@ -113,7 +118,9 @@ class _IssueDetailPageState extends State<IssueDetailPage>
113118
);
114119
}
115120

121+
///获取页面数据
116122
_getDataLogic() async {
123+
///刷新时同时更新头部信息
117124
if (page <= 1) {
118125
_getHeaderInfo();
119126
}
@@ -122,6 +129,7 @@ class _IssueDetailPageState extends State<IssueDetailPage>
122129
page: page, needDb: page <= 1);
123130
}
124131

132+
///获取头部数据
125133
_getHeaderInfo() {
126134
IssueDao.getIssueInfoDao(widget.userName, widget.reposName, widget.issueNum)
127135
.then((res) {
@@ -137,6 +145,7 @@ class _IssueDetailPageState extends State<IssueDetailPage>
137145
});
138146
}
139147

148+
///数据转化显示
140149
_resolveHeaderInfo(res) {
141150
Issue issue = res.data;
142151
setState(() {
@@ -146,6 +155,7 @@ class _IssueDetailPageState extends State<IssueDetailPage>
146155
});
147156
}
148157

158+
///编辑回复
149159
_editCommit(id, content) {
150160
Navigator.pop(context);
151161
String contentData = content;
@@ -179,6 +189,7 @@ class _IssueDetailPageState extends State<IssueDetailPage>
179189
);
180190
}
181191

192+
///删除回复
182193
_deleteCommit(id) {
183194
Navigator.pop(context);
184195
CommonUtils.showLoadingDialog(context);
@@ -191,6 +202,7 @@ class _IssueDetailPageState extends State<IssueDetailPage>
191202
});
192203
}
193204

205+
///编译 issue
194206
_editIssue() {
195207
String title = issueHeaderViewModel.issueComment;
196208
String content = issueHeaderViewModel.issueDesHtml;
@@ -234,6 +246,7 @@ class _IssueDetailPageState extends State<IssueDetailPage>
234246
);
235247
}
236248

249+
///回复 issue
237250
_replyIssue() {
238251
//回复 Info
239252
issueInfoTitleControl = new TextEditingController(text: "");
@@ -269,6 +282,7 @@ class _IssueDetailPageState extends State<IssueDetailPage>
269282
);
270283
}
271284

285+
///获取底部状态控件显示
272286
_getBottomWidget() {
273287
List<Widget> bottomWidget = (!headerStatus)
274288
? []

lib/page/login_page.dart

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,9 @@ class _LoginPageState extends State<LoginPage> {
5151

5252
@override
5353
Widget build(BuildContext context) {
54+
///共享 store
5455
return new StoreBuilder<GSYState>(builder: (context, store) {
56+
/// 触摸收起键盘
5557
return new GestureDetector(
5658
behavior: HitTestBehavior.translucent,
5759
onTap: () {
@@ -61,8 +63,9 @@ class _LoginPageState extends State<LoginPage> {
6163
body: new Container(
6264
color: Theme.of(context).primaryColor,
6365
child: new Center(
64-
//防止overFlow的现象
66+
///防止overFlow的现象
6567
child: SafeArea(
68+
///同时弹出键盘不遮挡
6669
child: SingleChildScrollView(
6770
child: new Card(
6871
elevation: 5.0,

lib/page/my_page.dart

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,20 +32,23 @@ class _MyPageState extends BasePersonState<MyPage> {
3232
return StoreProvider.of(context);
3333
}
3434

35+
///从全局状态中获取我的用户名
3536
_getUserName() {
3637
if (_getStore()?.state?.userInfo == null) {
3738
return null;
3839
}
3940
return _getStore()?.state?.userInfo?.login;
4041
}
4142

43+
///从全局状态中获取我的用户类型
4244
getUserType() {
4345
if (_getStore()?.state?.userInfo == null) {
4446
return null;
4547
}
4648
return _getStore()?.state?.userInfo?.type;
4749
}
4850

51+
///更新通知图标颜色
4952
_refreshNotify() {
5053
UserDao.getNotifyDao(false, false, 0).then((res) {
5154
Color newColor;
@@ -91,8 +94,12 @@ class _MyPageState extends BasePersonState<MyPage> {
9194
//todo getUserOrg(_getUserName());
9295
}
9396
});*/
97+
///通过 redux 提交更新用户数据行为
98+
///触发网络请求更新
9499
_getStore().dispatch(FetchUserAction());
100+
///获取用户组织信息
95101
getUserOrg(_getUserName());
102+
///获取用户仓库前100个star统计数据
96103
ReposDao.getUserRepository100StatusDao(_getUserName()).then((res) {
97104
if (res != null && res.result) {
98105
if (isShow) {

lib/page/notify_page.dart

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,11 +32,14 @@ class _NotifyPageState extends State<NotifyPage>
3232

3333
_NotifyPageState();
3434

35+
///绘制 Item
3536
_renderItem(index) {
3637
Model.Notification notification = pullLoadWidgetControl.dataList[index];
3738
if (selectIndex != 0) {
3839
return _renderEventItem(notification);
3940
}
41+
42+
///只有未读消息支持 Slidable 滑动效果
4043
return new Slidable(
4144
key: ValueKey<String>(index.toString() + "_" + selectIndex.toString()),
4245
controller: slidableController,
@@ -63,6 +66,7 @@ class _NotifyPageState extends State<NotifyPage>
6366
);
6467
}
6568

69+
///绘制实际的内容数据item
6670
_renderEventItem(Model.Notification notification) {
6771
EventViewModel eventViewModel =
6872
EventViewModel.fromNotify(context, notification);
@@ -85,6 +89,7 @@ class _NotifyPageState extends State<NotifyPage>
8589
}, needImage: false);
8690
}
8791

92+
///切换tab
8893
_resolveSelectIndex() {
8994
clearData();
9095
showRefreshLoading();

lib/page/person_page.dart

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ class _PersonState extends BasePersonState<PersonPage> {
4646

4747
_PersonState(this.userName);
4848

49+
///处理用户信息显示
4950
_resolveUserInfo(res) {
5051
if (isShow) {
5152
setState(() {
@@ -62,6 +63,7 @@ class _PersonState extends BasePersonState<PersonPage> {
6263
}
6364
isLoading = true;
6465
page = 1;
66+
///获取网络用户数据
6567
var userResult = await UserDao.getUserInfo(userName, needDb: true);
6668
if (userResult != null && userResult.result) {
6769
_resolveUserInfo(userResult);
@@ -73,6 +75,7 @@ class _PersonState extends BasePersonState<PersonPage> {
7375
} else {
7476
return null;
7577
}
78+
///获取用户动态或者组织成员
7679
var res = await _getDataLogic();
7780
resolveRefreshResult(res);
7881
resolveDataResult(res);
@@ -82,7 +85,9 @@ class _PersonState extends BasePersonState<PersonPage> {
8285
resolveDataResult(resNext);
8386
}
8487
isLoading = false;
88+
///获取当前用户的关注状态
8589
_getFocusStatus();
90+
///获取用户仓库前100个star统计数据
8691
ReposDao.getUserRepository100StatusDao(_getUserName()).then((res) {
8792
if (res != null && res.result) {
8893
if (isShow) {
@@ -95,6 +100,7 @@ class _PersonState extends BasePersonState<PersonPage> {
95100
return null;
96101
}
97102

103+
///获取当前用户的关注状态
98104
_getFocusStatus() async {
99105
var focusRes = await UserDao.checkFollowDao(userName);
100106
if (isShow) {
@@ -107,13 +113,15 @@ class _PersonState extends BasePersonState<PersonPage> {
107113
}
108114
}
109115

116+
///获取用户信息里的用户名
110117
_getUserName() {
111118
if (userInfo == null) {
112119
return new User.empty();
113120
}
114121
return userInfo.login;
115122
}
116123

124+
///获取用户动态或者组织成员
117125
_getDataLogic() async {
118126
if (userInfo.type == "Organization") {
119127
return await UserDao.getMemberDao(_getUserName(), page);
@@ -152,6 +160,7 @@ class _PersonState extends BasePersonState<PersonPage> {
152160
floatingActionButton: new FloatingActionButton(
153161
child: new Text(focus),
154162
onPressed: () {
163+
///非组织成员可以关注
155164
if (focus == '') {
156165
return;
157166
}

lib/page/push_detail_page.dart

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
11
import 'dart:async';
22
import 'dart:convert';
3-
import 'dart:io';
43

54
import 'package:flutter/material.dart';
65
import 'package:gsy_github_app_flutter/common/dao/repos_dao.dart';
76
import 'package:gsy_github_app_flutter/common/model/PushCommit.dart';
87
import 'package:gsy_github_app_flutter/common/style/gsy_style.dart';
9-
import 'package:gsy_github_app_flutter/common/utils/common_utils.dart';
108
import 'package:gsy_github_app_flutter/common/utils/navigator_utils.dart';
119
import 'package:gsy_github_app_flutter/widget/gsy_common_option_widget.dart';
1210
import 'package:gsy_github_app_flutter/widget/state/gsy_list_state.dart';
@@ -17,6 +15,7 @@ import 'package:gsy_github_app_flutter/widget/push_header.dart';
1715
import 'package:gsy_github_app_flutter/common/utils/html_utils.dart';
1816

1917
/**
18+
* 提交信息详情页
2019
* Created by guoshuyu
2120
* Date: 2018-07-27
2221
*/
@@ -38,8 +37,10 @@ class PushDetailPage extends StatefulWidget {
3837

3938
class _PushDetailPageState extends State<PushDetailPage> with AutomaticKeepAliveClientMixin<PushDetailPage>, GSYListState<PushDetailPage> {
4039

40+
///提价信息页面的头部数据实体
4141
PushHeaderViewModel pushHeaderViewModel = new PushHeaderViewModel();
4242

43+
///配置标题了右侧的更多显示
4344
final OptionControl titleOptionControl = new OptionControl();
4445

4546
_PushDetailPageState();
@@ -51,6 +52,7 @@ class _PushDetailPageState extends State<PushDetailPage> with AutomaticKeepAlive
5152
}
5253
isLoading = true;
5354
page = 1;
55+
///获取提交信息
5456
var res = await _getDataLogic();
5557
if (res != null && res.result) {
5658
PushCommit pushCommit = res.data;
@@ -68,6 +70,7 @@ class _PushDetailPageState extends State<PushDetailPage> with AutomaticKeepAlive
6870
return null;
6971
}
7072

73+
///绘制头部和提交item
7174
_renderEventItem(index) {
7275
if (index == 0) {
7376
return new PushHeader(pushHeaderViewModel);

lib/page/release_page.dart

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,12 +37,13 @@ class ReleasePage extends StatefulWidget {
3737

3838
class _ReleasePageState extends State<ReleasePage> with AutomaticKeepAliveClientMixin<ReleasePage>, GSYListState<ReleasePage> {
3939

40+
///配置标题了右侧的更多显示
4041
final OptionControl titleOptionControl = new OptionControl();
4142

43+
///显示tag还是relase
4244
int selectIndex = 0;
4345

44-
_ReleasePageState();
45-
46+
///绘制item
4647
_renderEventItem(index) {
4748
ReleaseItemViewModel releaseItemViewModel = ReleaseItemViewModel.fromMap(pullLoadWidgetControl.dataList[index]);
4849
return new ReleaseItem(
@@ -69,6 +70,7 @@ class _ReleasePageState extends State<ReleasePage> with AutomaticKeepAliveClient
6970
);
7071
}
7172

73+
///打开外部url
7274
_launchURL() async {
7375
String url = _getUrl();
7476
if (await canLaunch(url)) {

0 commit comments

Comments
 (0)