Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
G
gm_flutter
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
林生雨
gm_flutter
Commits
6e0f38b1
Commit
6e0f38b1
authored
Jul 07, 2020
by
杜欣
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'test' into featrue/duxin
parents
fb47c408
2af42286
Show whitespace changes
Inline
Side-by-side
Showing
26 changed files
with
354 additions
and
96 deletions
+354
-96
ClueRouter.dart
lib/ClueModel/ClueRouter.dart
+1
-1
ClueRouterImpl.dart
lib/ClueModel/ClueRouterImpl.dart
+2
-2
DiscussLowPriceModel.dart
lib/ClueModel/page/DiscussLowPrice/DiscussLowPriceModel.dart
+7
-3
DiscussLowPricePopView.dart
...lueModel/page/DiscussLowPrice/DiscussLowPricePopView.dart
+30
-8
PlanCompareDetailModel.dart
...eModel/page/PlanCompareDetail/PlanCompareDetailModel.dart
+1
-1
PlanCompareDetailPage.dart
...ueModel/page/PlanCompareDetail/PlanCompareDetailPage.dart
+5
-4
PlansCompareFeedPage.dart
...ClueModel/page/PlansCompareFeed/PlansCompareFeedPage.dart
+0
-2
ProjectDetailsItemView.dart
...ClueModel/page/ProjectDetails/ProjectDetailsItemView.dart
+16
-1
LevelOneItem.dart
lib/ClueModel/page/levelOne/LevelOneItem.dart
+19
-6
LevelOneList.dart
lib/ClueModel/page/levelOne/LevelOneList.dart
+20
-5
LevelOneModel.dart
lib/ClueModel/page/levelOne/LevelOneModel.dart
+2
-1
LevelOnePage.dart
lib/ClueModel/page/levelOne/LevelOnePage.dart
+9
-11
LevelTwoModel.dart
lib/ClueModel/page/levelTwo/LevelTwoModel.dart
+2
-1
PlanPage.dart
lib/ClueModel/page/plan/PlanPage.dart
+2
-0
TopPage.dart
lib/ClueModel/page/top/TopPage.dart
+1
-0
ClueApi.dart
lib/ClueModel/server/api/ClueApi.dart
+5
-5
ClueApi.serv.dart
lib/ClueModel/server/api/ClueApi.serv.dart
+3
-22
ClueTApi.dart
lib/ClueModel/server/api/ClueTApi.dart
+16
-0
ClueTApi.serv.dart
lib/ClueModel/server/api/ClueTApi.serv.dart
+188
-0
LevelOneFeedList.dart
lib/ClueModel/server/entity/LevelOneFeedList.dart
+1
-1
PlanBean.dart
lib/ClueModel/server/entity/PlanBean.dart
+2
-2
PlanCompareDetail.dart
lib/ClueModel/server/entity/PlanCompareDetail.dart
+0
-4
FiveStarView.dart
lib/ClueModel/view/FiveStarView.dart
+2
-2
JumpManager.dart
lib/MainRouter/manager/JumpManager.dart
+1
-3
TestPage.dart
lib/MainRouter/page/test/TestPage.dart
+18
-10
main.dart
lib/main.dart
+1
-1
No files found.
lib/ClueModel/ClueRouter.dart
View file @
6e0f38b1
...
@@ -18,7 +18,7 @@ abstract class ClueRouter implements RouterBaser {
...
@@ -18,7 +18,7 @@ abstract class ClueRouter implements RouterBaser {
Widget
getLevelTwoPage
(
Map
<
String
,
dynamic
>
params
);
Widget
getLevelTwoPage
(
Map
<
String
,
dynamic
>
params
);
Widget
getPlanPage
();
Widget
getPlanPage
(
Map
<
String
,
dynamic
>
params
);
Widget
getPlanCompareDetailPage
(
Map
<
String
,
dynamic
>
params
);
Widget
getPlanCompareDetailPage
(
Map
<
String
,
dynamic
>
params
);
...
...
lib/ClueModel/ClueRouterImpl.dart
View file @
6e0f38b1
...
@@ -35,8 +35,8 @@ class ClueRouterImpl implements ClueRouter {
...
@@ -35,8 +35,8 @@ class ClueRouterImpl implements ClueRouter {
}
}
@override
@override
Widget
getPlanPage
()
{
Widget
getPlanPage
(
Map
<
String
,
dynamic
>
params
)
{
return
PlanPage
();
return
PlanPage
(
params
);
}
}
@override
@override
...
...
lib/ClueModel/page/DiscussLowPrice/DiscussLowPriceModel.dart
View file @
6e0f38b1
...
@@ -5,6 +5,7 @@
...
@@ -5,6 +5,7 @@
* @Last Modified time: 2020-07-04 14:41:41
* @Last Modified time: 2020-07-04 14:41:41
*/
*/
import
'package:dio/dio.dart'
;
import
'package:dio/dio.dart'
;
import
'package:flutter/foundation.dart'
;
import
'package:flutter_common/commonModel/live/BaseModel.dart'
;
import
'package:flutter_common/commonModel/live/BaseModel.dart'
;
import
'package:flutter_common/commonModel/live/LiveData.dart'
;
import
'package:flutter_common/commonModel/live/LiveData.dart'
;
import
'package:gm_flutter/ClueModel/server/api/ClueApi.serv.dart'
;
import
'package:gm_flutter/ClueModel/server/api/ClueApi.serv.dart'
;
...
@@ -18,7 +19,8 @@ class DiscussLowPriceModel extends BaseModel {
...
@@ -18,7 +19,8 @@ class DiscussLowPriceModel extends BaseModel {
LiveData
<
Pair
<
int
,
DiscussLowPriceModelBean
>>
popViewLive
=
LiveData
();
LiveData
<
Pair
<
int
,
DiscussLowPriceModelBean
>>
popViewLive
=
LiveData
();
RxDispose
rxDispose
=
RxDispose
();
RxDispose
rxDispose
=
RxDispose
();
fetchPopviewData
(
String
planId
,
String
hospitalId
,
String
doctorId
)
{
fetchPopviewData
(
String
planId
,
String
hospitalId
,
String
doctorId
,
VoidCallback
fail
)
{
ClueApiImpl
.
getInstance
()
ClueApiImpl
.
getInstance
()
.
getPopviewData
(
.
getPopviewData
(
DioUtil
.
getInstance
().
getDio
(),
planId
,
hospitalId
,
doctorId
)
DioUtil
.
getInstance
().
getDio
(),
planId
,
hospitalId
,
doctorId
)
...
@@ -31,13 +33,15 @@ class DiscussLowPriceModel extends BaseModel {
...
@@ -31,13 +33,15 @@ class DiscussLowPriceModel extends BaseModel {
}
}
}
else
{
}
else
{
NativeToast
.
showNativeToast
(
event
.
message
);
NativeToast
.
showNativeToast
(
event
.
message
);
popViewLive
.
notifyView
(
Pair
(
FAIL
,
null
));
// popViewLive.notifyView(Pair(FAIL, null));
fail
();
}
}
})
})
.
addToDispose
(
rxDispose
)
.
addToDispose
(
rxDispose
)
.
onError
((
err
)
{
.
onError
((
err
)
{
popViewLive
.
notifyView
(
Pair
(
FAIL
,
null
));
//
popViewLive.notifyView(Pair(FAIL, null));
NativeToast
.
showNativeToast
(
err
.
message
);
NativeToast
.
showNativeToast
(
err
.
message
);
fail
();
});
});
}
}
...
...
lib/ClueModel/page/DiscussLowPrice/DiscussLowPricePopView.dart
View file @
6e0f38b1
...
@@ -15,14 +15,20 @@ import 'package:gm_flutter/commonModel/base/BaseUtil.dart';
...
@@ -15,14 +15,20 @@ import 'package:gm_flutter/commonModel/base/BaseUtil.dart';
import
'package:gm_flutter/main.mark.dart'
;
import
'package:gm_flutter/main.mark.dart'
;
class
DiscussLowPricePopView
{
class
DiscussLowPricePopView
{
static
void
showPopView
(
BuildContext
content
)
{
static
void
showPopView
(
BuildContext
content
,
String
pageName
,
String
planId
,
String
hospitalId
,
String
doctorId
)
{
BaseCenterPicker
()
BaseCenterPicker
()
..
setPicker
(
_PopView
())
..
setPicker
(
_PopView
(
pageName
,
planId
,
hospitalId
,
doctorId
))
..
show
(
content
);
..
show
(
content
);
}
}
}
}
class
_PopView
implements
ICenterPicker
{
class
_PopView
implements
ICenterPicker
{
String
planId
;
String
hospitalId
;
String
doctorId
;
String
pageName
;
_PopView
(
this
.
pageName
,
this
.
planId
,
this
.
hospitalId
,
this
.
doctorId
);
VoidCallback
dismissCallback
;
VoidCallback
dismissCallback
;
double
contentWidth
;
double
contentWidth
;
DiscussLowPriceModel
_model
=
new
DiscussLowPriceModel
();
DiscussLowPriceModel
_model
=
new
DiscussLowPriceModel
();
...
@@ -40,7 +46,9 @@ class _PopView implements ICenterPicker {
...
@@ -40,7 +46,9 @@ class _PopView implements ICenterPicker {
if
(
data
.
data
.
second
==
null
||
data
.
data
.
first
==
FAIL
)
{
if
(
data
.
data
.
second
==
null
||
data
.
data
.
first
==
FAIL
)
{
return
errorItem
(
contentWidth
,
308.5
,
()
{});
return
errorItem
(
contentWidth
,
308.5
,
()
{});
}
}
RouterCenterImpl
().
findMainRouter
().
buriedEvent
(
"popup_view"
,
{});
RouterCenterImpl
()
.
findMainRouter
()
.
buriedEvent
(
"popup_view"
,
phobosData
());
return
Opacity
(
return
Opacity
(
opacity:
alp
/
255.0
,
opacity:
alp
/
255.0
,
child:
Container
(
child:
Container
(
...
@@ -60,9 +68,6 @@ class _PopView implements ICenterPicker {
...
@@ -60,9 +68,6 @@ class _PopView implements ICenterPicker {
height:
13.5
,
height:
13.5
,
child:
GestureDetector
(
child:
GestureDetector
(
onTap:
()
{
onTap:
()
{
RouterCenterImpl
()
.
findMainRouter
()
.
buriedEvent
(
"popup_view"
,
{});
dismissCallback
();
dismissCallback
();
},
},
child:
Image
.
asset
(
child:
Image
.
asset
(
...
@@ -156,10 +161,12 @@ class _PopView implements ICenterPicker {
...
@@ -156,10 +161,12 @@ class _PopView implements ICenterPicker {
// ),
// ),
child:
Image
.
asset
(
child:
Image
.
asset
(
"assets/discuss_loe_price_auth.png"
,
"assets/discuss_loe_price_auth.png"
,
fit:
BoxFit
.
cover
,
),
),
).
gestureDetector
(()
{
).
gestureDetector
(()
{
// 一键授权
// 一键授权
_model
.
givePhoneAuth
(
111
,
()
{
_model
.
givePhoneAuth
(
_model
.
popViewLive
.
data
.
second
.
leadPhoneRequestId
,
()
{
dismissCallback
();
dismissCallback
();
});
});
}),
}),
...
@@ -170,6 +177,19 @@ class _PopView implements ICenterPicker {
...
@@ -170,6 +177,19 @@ class _PopView implements ICenterPicker {
]);
]);
}
}
Map
<
String
,
dynamic
>
phobosData
()
{
Map
<
String
,
dynamic
>
params
=
Map
();
params
[
'page_name'
]
=
this
.
pageName
;
if
(
this
.
hospitalId
.
length
>
0
)
{
params
[
'popup_name'
]
=
'interested_hospital'
;
}
else
if
(
this
.
doctorId
.
length
>
0
)
{
params
[
'popup_name'
]
=
'interested_doctor'
;
}
else
{
params
[
'popup_name'
]
=
'interested_plan'
;
}
return
params
;
}
@override
@override
void
dispose
()
{
void
dispose
()
{
_model
.
dispose
();
_model
.
dispose
();
...
@@ -178,6 +198,8 @@ class _PopView implements ICenterPicker {
...
@@ -178,6 +198,8 @@ class _PopView implements ICenterPicker {
@override
@override
void
initState
(
VoidCallback
dismissCall
,
BuildContext
context
)
{
void
initState
(
VoidCallback
dismissCall
,
BuildContext
context
)
{
this
.
dismissCallback
=
dismissCall
;
this
.
dismissCallback
=
dismissCall
;
_model
.
fetchPopviewData
(
'1'
,
'2'
,
'3'
);
_model
.
fetchPopviewData
(
this
.
planId
,
this
.
hospitalId
,
this
.
doctorId
,
()
{
dismissCallback
();
});
}
}
}
}
lib/ClueModel/page/PlanCompareDetail/PlanCompareDetailModel.dart
View file @
6e0f38b1
...
@@ -20,7 +20,7 @@ class PlanCompareDetailModel extends BaseModel {
...
@@ -20,7 +20,7 @@ class PlanCompareDetailModel extends BaseModel {
RxDispose
rxDispose
=
RxDispose
();
RxDispose
rxDispose
=
RxDispose
();
void
init
(
List
<
int
>
planIds
)
{
void
init
(
String
planIds
)
{
ClueApiImpl
.
getInstance
()
ClueApiImpl
.
getInstance
()
.
getPlanCompareDetail
(
DioUtil
.
getInstance
().
getDio
(),
planIds
)
.
getPlanCompareDetail
(
DioUtil
.
getInstance
().
getDio
(),
planIds
)
.
listen
((
event
)
{
.
listen
((
event
)
{
...
...
lib/ClueModel/page/PlanCompareDetail/PlanCompareDetailPage.dart
View file @
6e0f38b1
...
@@ -12,12 +12,14 @@ import 'package:gm_flutter/ClueModel/view/FiveStarView.dart';
...
@@ -12,12 +12,14 @@ import 'package:gm_flutter/ClueModel/view/FiveStarView.dart';
import
'package:gm_flutter/commonModel/base/BaseComponent.dart'
;
import
'package:gm_flutter/commonModel/base/BaseComponent.dart'
;
import
'package:gm_flutter/commonModel/base/BaseState.dart'
;
import
'package:gm_flutter/commonModel/base/BaseState.dart'
;
import
'package:gm_flutter/commonModel/bean/Pair.dart'
;
import
'package:gm_flutter/commonModel/bean/Pair.dart'
;
import
'dart:convert'
;
class
PlanCompareDetailPage
extends
StatefulWidget
{
class
PlanCompareDetailPage
extends
StatefulWidget
{
List
<
int
>
_planIds
;
String
_planIds
;
PlanCompareDetailPage
(
Map
<
String
,
dynamic
>
params
)
{
PlanCompareDetailPage
(
Map
<
String
,
dynamic
>
params
)
{
this
.
_planIds
=
params
[
"planIds"
];
String
planIds
=
json
.
encode
(
params
[
"planIds"
]);
this
.
_planIds
=
planIds
;
}
}
@override
@override
...
@@ -86,7 +88,7 @@ class PlanCompareDetailPageState extends BaseState<PlanCompareDetailPage> {
...
@@ -86,7 +88,7 @@ class PlanCompareDetailPageState extends BaseState<PlanCompareDetailPage> {
if
(
data
.
data
.
first
==
FAIL
)
{
if
(
data
.
data
.
first
==
FAIL
)
{
return
errorItem
(
MediaQuery
.
of
(
context
).
size
.
width
,
return
errorItem
(
MediaQuery
.
of
(
context
).
size
.
width
,
MediaQuery
.
of
(
context
).
size
.
height
,
()
{
MediaQuery
.
of
(
context
).
size
.
height
,
()
{
_model
.
init
(
[
1
,
2
]
);
_model
.
init
(
widget
.
_planIds
);
});
});
}
}
return
ListView
.
builder
(
return
ListView
.
builder
(
...
@@ -440,4 +442,3 @@ class PlanCompareDetailPageState extends BaseState<PlanCompareDetailPage> {
...
@@ -440,4 +442,3 @@ class PlanCompareDetailPageState extends BaseState<PlanCompareDetailPage> {
),
),
]));
]));
}
}
}
lib/ClueModel/page/PlansCompareFeed/PlansCompareFeedPage.dart
View file @
6e0f38b1
...
@@ -122,7 +122,6 @@ class _PlansCompareFeedState extends BaseState<PlansCompareFeedPage>
...
@@ -122,7 +122,6 @@ class _PlansCompareFeedState extends BaseState<PlansCompareFeedPage>
onClickCompare
()
{
onClickCompare
()
{
if
(
_compareColor
==
Color
(
0xFFCCCCCC
))
return
;
if
(
_compareColor
==
Color
(
0xFFCCCCCC
))
return
;
setState
(()
{
RouterCenterImpl
().
findMainRouter
().
jumpPage
(
RouterCenterImpl
().
findMainRouter
().
jumpPage
(
context
,
context
,
widget
.
_planType
==
1
widget
.
_planType
==
1
...
@@ -130,7 +129,6 @@ class _PlansCompareFeedState extends BaseState<PlansCompareFeedPage>
...
@@ -130,7 +129,6 @@ class _PlansCompareFeedState extends BaseState<PlansCompareFeedPage>
:
"level_two_plan_compare_deatil"
,
:
"level_two_plan_compare_deatil"
,
{
"planIds"
:
_setCompare
.
toList
()},
{
"planIds"
:
_setCompare
.
toList
()},
false
);
false
);
});
}
}
@override
@override
...
...
lib/ClueModel/page/ProjectDetails/ProjectDetailsItemView.dart
View file @
6e0f38b1
...
@@ -6,7 +6,6 @@
...
@@ -6,7 +6,6 @@
import
'package:flutter/cupertino.dart'
;
import
'package:flutter/cupertino.dart'
;
import
'package:flutter/material.dart'
;
import
'package:flutter/material.dart'
;
import
'package:gm_flutter/ClueModel/server/entity/ProjectDetailsItem.dart'
;
import
'package:gm_flutter/ClueModel/server/entity/ProjectDetailsItem.dart'
;
import
'package:gm_flutter/commonModel/base/BaseComponent.dart'
;
class
ProjectDetailsItemView
extends
StatelessWidget
{
class
ProjectDetailsItemView
extends
StatelessWidget
{
Groups
listData
;
Groups
listData
;
...
@@ -65,4 +64,20 @@ class ProjectDetailsItemView extends StatelessWidget {
...
@@ -65,4 +64,20 @@ class ProjectDetailsItemView extends StatelessWidget {
),
),
);
);
}
}
baseText
(
String
text
,
double
fontSize
,
Color
color
,
{
bool
bold
=
false
})
{
return
Text
(
text
,
textScaleFactor:
1.0
,
style:
TextStyle
(
decoration:
TextDecoration
.
none
,
fontSize:
fontSize
,
color:
color
,
fontStyle:
FontStyle
.
normal
,
fontWeight:
bold
?
FontWeight
.
w500
:
FontWeight
.
w400
),
textAlign:
TextAlign
.
left
,
maxLines:
2
,
overflow:
TextOverflow
.
ellipsis
,
);
}
}
}
lib/ClueModel/page/levelOne/LevelOneItem.dart
View file @
6e0f38b1
...
@@ -9,6 +9,7 @@ import 'package:gm_flutter/ClueModel/server/entity/LevelOneFeedList.dart';
...
@@ -9,6 +9,7 @@ import 'package:gm_flutter/ClueModel/server/entity/LevelOneFeedList.dart';
import
'package:gm_flutter/ClueModel/view/FiveStarView.dart'
;
import
'package:gm_flutter/ClueModel/view/FiveStarView.dart'
;
import
'package:gm_flutter/commonModel/base/BaseComponent.dart'
;
import
'package:gm_flutter/commonModel/base/BaseComponent.dart'
;
import
'package:gm_flutter/commonModel/base/BaseUtil.dart'
;
import
'package:gm_flutter/commonModel/base/BaseUtil.dart'
;
import
'package:gm_flutter/main.mark.dart'
;
class
LevelOneItem
extends
StatelessWidget
{
class
LevelOneItem
extends
StatelessWidget
{
final
Cards
cards
;
final
Cards
cards
;
...
@@ -54,6 +55,12 @@ class LevelOneItem extends StatelessWidget {
...
@@ -54,6 +55,12 @@ class LevelOneItem extends StatelessWidget {
throw
new
Exception
();
throw
new
Exception
();
}
}
return
GestureDetector
(
return
GestureDetector
(
behavior:
HitTestBehavior
.
opaque
,
onTap:
()
{
RouterCenterImpl
()
.
findMainRouter
()
.
jumpPage
(
context
,
cards
.
doctor
.
messageUrl
,
{},
true
);
},
child:
Container
(
child:
Container
(
margin:
EdgeInsets
.
only
(
left:
15
,
right:
15
),
margin:
EdgeInsets
.
only
(
left:
15
,
right:
15
),
height:
127
,
height:
127
,
...
@@ -67,9 +74,15 @@ class LevelOneItem extends StatelessWidget {
...
@@ -67,9 +74,15 @@ class LevelOneItem extends StatelessWidget {
child:
ClipOval
(
child:
ClipOval
(
child:
CachedNetworkImage
(
child:
CachedNetworkImage
(
imageUrl:
cards
.
doctor
.
portrait
,
imageUrl:
cards
.
doctor
.
portrait
,
fit:
BoxFit
.
cover
,
),
),
),
),
),
),
),
Positioned
(
left:
57
,
top:
44
,
child:
FiveStarView
(
int
.
parse
(
cards
.
doctor
.
star
),
5
),
),
),
Positioned
(
Positioned
(
left:
57
,
left:
57
,
...
@@ -82,7 +95,7 @@ class LevelOneItem extends StatelessWidget {
...
@@ -82,7 +95,7 @@ class LevelOneItem extends StatelessWidget {
bold:
true
),
bold:
true
),
Container
(
Container
(
margin:
EdgeInsets
.
only
(
left:
4
),
margin:
EdgeInsets
.
only
(
left:
4
),
child:
baseText
(
cards
.
doctor
.
nam
e
,
15
,
Color
(
0xff333333
),
child:
baseText
(
cards
.
doctor
.
titl
e
,
15
,
Color
(
0xff333333
),
bold:
true
),
bold:
true
),
)
)
],
],
...
@@ -111,11 +124,11 @@ class LevelOneItem extends StatelessWidget {
...
@@ -111,11 +124,11 @@ class LevelOneItem extends StatelessWidget {
right:
137
,
right:
137
,
child:
askWidget
(),
child:
askWidget
(),
),
),
Positioned
(
//
Positioned(
left:
4.5
,
//
left: 4.5,
bottom:
25
,
//
bottom: 25,
child:
compareWidget
(),
//
child: compareWidget(),
),
//
),
Positioned
(
Positioned
(
left:
0
,
left:
0
,
bottom:
0
,
bottom:
0
,
...
...
lib/ClueModel/page/levelOne/LevelOneList.dart
View file @
6e0f38b1
...
@@ -4,6 +4,7 @@
...
@@ -4,6 +4,7 @@
**/
**/
import
'package:flutter/cupertino.dart'
;
import
'package:flutter/cupertino.dart'
;
import
'package:flutter/material.dart'
;
import
'package:flutter/material.dart'
;
import
'package:gm_flutter/ClueModel/page/DiscussLowPrice/DiscussLowPricePopView.dart'
;
import
'package:gm_flutter/ClueModel/page/levelOne/LevelOneListModel.dart'
;
import
'package:gm_flutter/ClueModel/page/levelOne/LevelOneListModel.dart'
;
import
'package:gm_flutter/ClueModel/server/entity/LevelOneFeedList.dart'
;
import
'package:gm_flutter/ClueModel/server/entity/LevelOneFeedList.dart'
;
import
'package:gm_flutter/commonModel/base/BaseComponent.dart'
;
import
'package:gm_flutter/commonModel/base/BaseComponent.dart'
;
...
@@ -55,8 +56,11 @@ class LevelOneListState extends State<LevelOneList>
...
@@ -55,8 +56,11 @@ class LevelOneListState extends State<LevelOneList>
@override
@override
Widget
build
(
BuildContext
context
)
{
Widget
build
(
BuildContext
context
)
{
super
.
build
(
context
);
super
.
build
(
context
);
return
baseStateView
(
MediaQuery
.
of
(
context
).
size
.
width
,
return
baseStateView
(
MediaQuery
.
of
(
context
).
size
.
height
,
_model
.
stateLive
,
pages
(),
()
{
MediaQuery
.
of
(
context
).
size
.
width
,
MediaQuery
.
of
(
context
).
size
.
height
,
_model
.
stateLive
,
pages
(),
()
{
_model
.
refreshView
(
true
);
_model
.
refreshView
(
true
);
},
paddingTop:
widget
.
topHeight
);
},
paddingTop:
widget
.
topHeight
);
}
}
...
@@ -89,9 +93,20 @@ class LevelOneListState extends State<LevelOneList>
...
@@ -89,9 +93,20 @@ class LevelOneListState extends State<LevelOneList>
color:
Color
(
0xffF7F6FA
),
color:
Color
(
0xffF7F6FA
),
);
);
}
}
return
LevelOneItem
(
_model
.
data
[
index
]
return
LevelOneItem
(
,
lowPrice:
(){
_model
.
data
[
index
],
},);
lowPrice:
()
{
DiscussLowPricePopView
.
showPopView
(
context
,
"
${widget.planId}
"
,
_model
.
data
[
index
].
cardType
==
"hospital"
?
_model
.
data
[
index
].
hospital
:
""
,
_model
.
data
[
index
].
cardType
==
"doctor"
?
_model
.
data
[
index
].
doctor
:
""
);
},
);
},
},
childCount:
_model
.
data
.
length
+
1
,
childCount:
_model
.
data
.
length
+
1
,
),
),
...
...
lib/ClueModel/page/levelOne/LevelOneModel.dart
View file @
6e0f38b1
...
@@ -7,6 +7,7 @@ import 'package:flutter_common/commonModel/live/BaseModel.dart';
...
@@ -7,6 +7,7 @@ import 'package:flutter_common/commonModel/live/BaseModel.dart';
import
'package:flutter_common/commonModel/live/LiveData.dart'
;
import
'package:flutter_common/commonModel/live/LiveData.dart'
;
import
'package:flutter_common/commonModel/toast/NativeToast.dart'
;
import
'package:flutter_common/commonModel/toast/NativeToast.dart'
;
import
'package:gm_flutter/ClueModel/server/api/ClueApi.serv.dart'
;
import
'package:gm_flutter/ClueModel/server/api/ClueApi.serv.dart'
;
import
'package:gm_flutter/ClueModel/server/api/ClueTApi.serv.dart'
;
import
'package:gm_flutter/ClueModel/server/entity/LevelOneFeedList.dart'
;
import
'package:gm_flutter/ClueModel/server/entity/LevelOneFeedList.dart'
;
import
'package:gm_flutter/ClueModel/server/entity/PlanOverViewBean.dart'
;
import
'package:gm_flutter/ClueModel/server/entity/PlanOverViewBean.dart'
;
import
'package:gm_flutter/commonModel/GMBase.dart'
;
import
'package:gm_flutter/commonModel/GMBase.dart'
;
...
@@ -27,7 +28,7 @@ class LevelOneModel extends BaseModel {
...
@@ -27,7 +28,7 @@ class LevelOneModel extends BaseModel {
String
imageUrl
=
""
;
String
imageUrl
=
""
;
void
init
(
VoidCallback
callback
)
{
void
init
(
VoidCallback
callback
)
{
ClueApiImpl
.
getInstance
()
Clue
T
ApiImpl
.
getInstance
()
.
getPlanOverView
(
DioUtil
.
getInstance
().
getDio
(),
plan_id
)
.
getPlanOverView
(
DioUtil
.
getInstance
().
getDio
(),
plan_id
)
.
listen
((
event
)
{
.
listen
((
event
)
{
if
(
event
.
error
==
0
)
{
if
(
event
.
error
==
0
)
{
...
...
lib/ClueModel/page/levelOne/LevelOnePage.dart
View file @
6e0f38b1
...
@@ -47,8 +47,11 @@ class LevelOneState extends BaseState<LevelOnePage>
...
@@ -47,8 +47,11 @@ class LevelOneState extends BaseState<LevelOnePage>
int
index
=
0
;
int
index
=
0
;
double
stateBarHeight
=
0
;
@override
@override
void
initState
()
{
void
initState
()
{
DioUtil
.
getInstance
().
setProxy
(
"172.30.8.245"
);
super
.
initState
();
super
.
initState
();
_model
.
plan_id
=
widget
.
planId
;
_model
.
plan_id
=
widget
.
planId
;
_model
.
init
(()
{
_model
.
init
(()
{
...
@@ -83,6 +86,8 @@ class LevelOneState extends BaseState<LevelOnePage>
...
@@ -83,6 +86,8 @@ class LevelOneState extends BaseState<LevelOnePage>
@override
@override
Widget
buildItem
(
BuildContext
context
)
{
Widget
buildItem
(
BuildContext
context
)
{
stateBarHeight
=
MediaQueryData
.
fromWindow
(
window
).
padding
.
top
;
oneList
.
clear
();
oneList
.
clear
();
oneList
.
add
(
good
());
oneList
.
add
(
good
());
oneList
.
add
(
rect
());
oneList
.
add
(
rect
());
...
@@ -164,12 +169,11 @@ class LevelOneState extends BaseState<LevelOnePage>
...
@@ -164,12 +169,11 @@ class LevelOneState extends BaseState<LevelOnePage>
Widget
newHome
()
{
Widget
newHome
()
{
List
<
Widget
>
list
=
[];
List
<
Widget
>
list
=
[];
var
d
=
MediaQueryData
.
fromWindow
(
window
).
padding
.
top
;
for
(
int
i
=
0
;
i
<
_model
.
tabsList
.
length
;
i
++)
{
for
(
int
i
=
0
;
i
<
_model
.
tabsList
.
length
;
i
++)
{
list
.
add
(
extend
.
NestedScrollViewInnerScrollPositionKeyWidget
(
list
.
add
(
extend
.
NestedScrollViewInnerScrollPositionKeyWidget
(
Key
(
"Tab
${i}
"
),
Key
(
"Tab
${i}
"
),
LevelOneList
(
LevelOneList
(
widget
.
planId
,
_model
.
tabsList
[
i
].
tabType
,
widget
.
planId
,
_model
.
tabsList
[
i
].
tabType
,
kToolbarHeight
+
d
)));
kToolbarHeight
+
stateBarHeight
)));
}
}
final
double
statusBarHeight
=
MediaQuery
.
of
(
context
).
padding
.
top
;
final
double
statusBarHeight
=
MediaQuery
.
of
(
context
).
padding
.
top
;
final
double
pinnedHeaderHeight
=
statusBarHeight
+
kToolbarHeight
;
final
double
pinnedHeaderHeight
=
statusBarHeight
+
kToolbarHeight
;
...
@@ -183,8 +187,7 @@ class LevelOneState extends BaseState<LevelOnePage>
...
@@ -183,8 +187,7 @@ class LevelOneState extends BaseState<LevelOnePage>
SliverOverlapAbsorber
(
SliverOverlapAbsorber
(
handle:
extend
.
NestedScrollView
.
sliverOverlapAbsorberHandleFor
(
handle:
extend
.
NestedScrollView
.
sliverOverlapAbsorberHandleFor
(
context
),
context
),
sliver:
baseSliverAppBar
(
sliver:
baseSliverAppBar
(
_model
.
imageUrl
)),
_model
.
imageUrl
)),
SliverList
(
SliverList
(
delegate:
SliverChildBuilderDelegate
((
BuildContext
c
,
int
i
)
{
delegate:
SliverChildBuilderDelegate
((
BuildContext
c
,
int
i
)
{
if
(
i
==
0
)
{
if
(
i
==
0
)
{
...
@@ -358,14 +361,9 @@ class LevelOneState extends BaseState<LevelOnePage>
...
@@ -358,14 +361,9 @@ class LevelOneState extends BaseState<LevelOnePage>
),
),
GestureDetector
(
GestureDetector
(
onTap:
()
{
onTap:
()
{
//TODO
Map
<
String
,
dynamic
>
map
=
{};
map
[
"page_name"
]
=
"plan_home"
;
map
[
"referrer_link"
]
=
[];
RouterCenterImpl
()
RouterCenterImpl
()
.
findMainRouter
()
.
findMainRouter
()
.
buriedEvent
(
"on_click_navbar_search"
,
map
);
.
jumpPage
(
context
,
""
,
{},
false
);
},
},
behavior:
HitTestBehavior
.
opaque
,
behavior:
HitTestBehavior
.
opaque
,
child:
baseText
(
"了解更多"
,
12
,
Color
(
0xff3FB5AF
)),
child:
baseText
(
"了解更多"
,
12
,
Color
(
0xff3FB5AF
)),
...
...
lib/ClueModel/page/levelTwo/LevelTwoModel.dart
View file @
6e0f38b1
...
@@ -7,6 +7,7 @@ import 'package:flutter_common/commonModel/live/BaseModel.dart';
...
@@ -7,6 +7,7 @@ import 'package:flutter_common/commonModel/live/BaseModel.dart';
import
'package:flutter_common/commonModel/live/LiveData.dart'
;
import
'package:flutter_common/commonModel/live/LiveData.dart'
;
import
'package:flutter_common/commonModel/toast/NativeToast.dart'
;
import
'package:flutter_common/commonModel/toast/NativeToast.dart'
;
import
'package:gm_flutter/ClueModel/server/api/ClueApi.serv.dart'
;
import
'package:gm_flutter/ClueModel/server/api/ClueApi.serv.dart'
;
import
'package:gm_flutter/ClueModel/server/api/ClueTApi.serv.dart'
;
import
'package:gm_flutter/ClueModel/server/entity/PlanOverViewBean.dart'
;
import
'package:gm_flutter/ClueModel/server/entity/PlanOverViewBean.dart'
;
import
'package:gm_flutter/commonModel/GMBase.dart'
;
import
'package:gm_flutter/commonModel/GMBase.dart'
;
import
'package:gm_flutter/commonModel/bean/Pair.dart'
;
import
'package:gm_flutter/commonModel/bean/Pair.dart'
;
...
@@ -24,7 +25,7 @@ class LevelOneModel extends BaseModel {
...
@@ -24,7 +25,7 @@ class LevelOneModel extends BaseModel {
PlanOverData
planoverItem
;
PlanOverData
planoverItem
;
void
init
(
VoidCallback
callback
)
{
void
init
(
VoidCallback
callback
)
{
ClueApiImpl
.
getInstance
()
Clue
T
ApiImpl
.
getInstance
()
.
getPlanOverView
(
DioUtil
.
getInstance
().
getDio
(),
plan_id
)
.
getPlanOverView
(
DioUtil
.
getInstance
().
getDio
(),
plan_id
)
.
listen
((
event
)
{
.
listen
((
event
)
{
if
(
event
.
error
==
0
)
{
if
(
event
.
error
==
0
)
{
...
...
lib/ClueModel/page/plan/PlanPage.dart
View file @
6e0f38b1
...
@@ -34,6 +34,8 @@ import 'PlanModel.dart';
...
@@ -34,6 +34,8 @@ import 'PlanModel.dart';
import
'ProjectView.dart'
;
import
'ProjectView.dart'
;
class
PlanPage
extends
StatefulWidget
{
class
PlanPage
extends
StatefulWidget
{
PlanPage
(
Map
<
String
,
dynamic
>
params
)
{}
@override
@override
State
<
StatefulWidget
>
createState
()
=>
PlanState
();
State
<
StatefulWidget
>
createState
()
=>
PlanState
();
}
}
...
...
lib/ClueModel/page/top/TopPage.dart
View file @
6e0f38b1
...
@@ -26,6 +26,7 @@ class TopPage extends StatefulWidget {
...
@@ -26,6 +26,7 @@ class TopPage extends StatefulWidget {
String
rank_type
;
String
rank_type
;
TopPage
(
Map
<
String
,
dynamic
>
map
)
{
TopPage
(
Map
<
String
,
dynamic
>
map
)
{
print
(
"LSY
${map.toString()}
"
);
this
.
rank_type
=
map
[
"rank_type"
];
this
.
rank_type
=
map
[
"rank_type"
];
}
}
...
...
lib/ClueModel/server/api/ClueApi.dart
View file @
6e0f38b1
...
@@ -32,8 +32,8 @@ abstract class ClueApi {
...
@@ -32,8 +32,8 @@ abstract class ClueApi {
LevelOneFeedList
getLevelOneList
(
@Query
(
"plan_id"
)
int
plan_id
,
LevelOneFeedList
getLevelOneList
(
@Query
(
"plan_id"
)
int
plan_id
,
@Query
(
"tab_type"
)
String
tab_type
,
@Query
(
"page"
)
int
page
);
@Query
(
"tab_type"
)
String
tab_type
,
@Query
(
"page"
)
int
page
);
@Get
(
"api/janus/plans/compare"
)
@Get
(
"api/janus/plans/
plan_
compare"
)
PlanCompareDetail
getPlanCompareDetail
(
@Query
(
"plan_ids"
)
List
<
int
>
planIds
);
PlanCompareDetail
getPlanCompareDetail
(
@Query
(
"plan_ids"
)
String
planIds
);
@Get
(
"api/janus/plans/options"
)
@Get
(
"api/janus/plans/options"
)
PlanBean
getPlan
();
PlanBean
getPlan
();
...
@@ -59,7 +59,7 @@ abstract class ClueApi {
...
@@ -59,7 +59,7 @@ abstract class ClueApi {
@Get
(
"api/janus/plans/rank"
)
@Get
(
"api/janus/plans/rank"
)
PlanBarBean
getPlanBar
(
@Query
(
"rank_type"
)
String
rank_type
);
PlanBarBean
getPlanBar
(
@Query
(
"rank_type"
)
String
rank_type
);
@
Ge
t
(
"api/janus/plans/plan_phone_authorize"
)
@
Pos
t
(
"api/janus/plans/plan_phone_authorize"
)
DiscussLowPriceModelBean
getPopviewData
(
DiscussLowPriceModelBean
getPopviewData
(
@Query
(
"plan_id"
)
String
planId
,
@Query
(
"plan_id"
)
String
planId
,
@Query
(
"hospital_id"
)
String
hospitalId
,
@Query
(
"hospital_id"
)
String
hospitalId
,
...
@@ -70,6 +70,6 @@ abstract class ClueApi {
...
@@ -70,6 +70,6 @@ abstract class ClueApi {
DiscussLowPriceAuthBean
givePhoneAuth
(
DiscussLowPriceAuthBean
givePhoneAuth
(
@Query
(
"lead_phone_request_id"
)
int
leadPhoneRequestId
);
@Query
(
"lead_phone_request_id"
)
int
leadPhoneRequestId
);
@Get
(
"api/janus/plans/plan_overview"
)
//
@Get("api/janus/plans/plan_overview")
PlanOverViewBean
getPlanOverView
(
@Query
(
"plan_id"
)
int
plan_id
);
//
PlanOverViewBean getPlanOverView(@Query("plan_id") int plan_id);
}
}
lib/ClueModel/server/api/ClueApi.serv.dart
View file @
6e0f38b1
...
@@ -25,7 +25,6 @@ import 'package:gm_flutter/ClueModel/server/entity/PlanConsultBean.dart';
...
@@ -25,7 +25,6 @@ import 'package:gm_flutter/ClueModel/server/entity/PlanConsultBean.dart';
import
'package:gm_flutter/ClueModel/server/entity/PlanBarBean.dart'
;
import
'package:gm_flutter/ClueModel/server/entity/PlanBarBean.dart'
;
import
'package:gm_flutter/ClueModel/server/entity/DiscussLowPriceModelBean.dart'
;
import
'package:gm_flutter/ClueModel/server/entity/DiscussLowPriceModelBean.dart'
;
import
'package:gm_flutter/ClueModel/server/entity/DiscussLowPriceAuthBean.dart'
;
import
'package:gm_flutter/ClueModel/server/entity/DiscussLowPriceAuthBean.dart'
;
import
'package:gm_flutter/ClueModel/server/entity/PlanOverViewBean.dart'
;
const
bool
inProduction
=
const
bool
.
fromEnvironment
(
"dart.vm.product"
);
const
bool
inProduction
=
const
bool
.
fromEnvironment
(
"dart.vm.product"
);
...
@@ -90,8 +89,8 @@ class ClueApiImpl {
...
@@ -90,8 +89,8 @@ class ClueApiImpl {
});
});
}
}
Stream
<
PlanCompareDetail
>
getPlanCompareDetail
(
Dio
_dio
,
List
<
int
>
planIds
)
{
Stream
<
PlanCompareDetail
>
getPlanCompareDetail
(
Dio
_dio
,
String
planIds
)
{
return
Stream
.
fromFuture
(
get
(
_dio
,
'api/janus/plans/compare'
,
data:
{
return
Stream
.
fromFuture
(
get
(
_dio
,
'api/janus/plans/
plan_
compare'
,
data:
{
'plan_ids'
:
planIds
,
'plan_ids'
:
planIds
,
})).
flatMap
((
value
)
{
})).
flatMap
((
value
)
{
if
(
value
!=
null
&&
if
(
value
!=
null
&&
...
@@ -193,7 +192,7 @@ class ClueApiImpl {
...
@@ -193,7 +192,7 @@ class ClueApiImpl {
Stream
<
DiscussLowPriceModelBean
>
getPopviewData
(
Stream
<
DiscussLowPriceModelBean
>
getPopviewData
(
Dio
_dio
,
String
planId
,
String
hospitalId
,
String
doctorId
)
{
Dio
_dio
,
String
planId
,
String
hospitalId
,
String
doctorId
)
{
return
Stream
.
fromFuture
(
return
Stream
.
fromFuture
(
ge
t
(
_dio
,
'api/janus/plans/plan_phone_authorize'
,
data:
{
pos
t
(
_dio
,
'api/janus/plans/plan_phone_authorize'
,
data:
{
'plan_id'
:
planId
,
'plan_id'
:
planId
,
'hospital_id'
:
hospitalId
,
'hospital_id'
:
hospitalId
,
'doctor_id'
:
doctorId
,
'doctor_id'
:
doctorId
,
...
@@ -224,20 +223,6 @@ class ClueApiImpl {
...
@@ -224,20 +223,6 @@ class ClueApiImpl {
});
});
}
}
Stream
<
PlanOverViewBean
>
getPlanOverView
(
Dio
_dio
,
int
plan_id
)
{
return
Stream
.
fromFuture
(
get
(
_dio
,
'api/janus/plans/plan_overview'
,
data:
{
'plan_id'
:
plan_id
,
})).
flatMap
((
value
)
{
if
(
value
!=
null
&&
(
value
.
statusCode
>=
200
&&
value
.
statusCode
<
300
))
{
return
Stream
.
fromFuture
(
compute
(
parsePlanOverViewBean
,
value
.
toString
()));
}
else
{
throw
Exception
(
"--未知网络错误--"
);
}
});
}
///==================base method==================
///==================base method==================
Future
<
Response
>
get
(
Dio
_dio
,
url
,
{
data
,
options
,
cancelToken
})
async
{
Future
<
Response
>
get
(
Dio
_dio
,
url
,
{
data
,
options
,
cancelToken
})
async
{
...
@@ -418,7 +403,3 @@ DiscussLowPriceModelBean parseDiscussLowPriceModelBean(String value) {
...
@@ -418,7 +403,3 @@ DiscussLowPriceModelBean parseDiscussLowPriceModelBean(String value) {
DiscussLowPriceAuthBean
parseDiscussLowPriceAuthBean
(
String
value
)
{
DiscussLowPriceAuthBean
parseDiscussLowPriceAuthBean
(
String
value
)
{
return
DiscussLowPriceAuthBean
.
fromJson
(
json
.
decode
(
value
));
return
DiscussLowPriceAuthBean
.
fromJson
(
json
.
decode
(
value
));
}
}
PlanOverViewBean
parsePlanOverViewBean
(
String
value
)
{
return
PlanOverViewBean
.
fromJson
(
json
.
decode
(
value
));
}
lib/ClueModel/server/api/ClueTApi.dart
0 → 100644
View file @
6e0f38b1
/*
* @author lsy
* @date 2020/7/7
**/
import
'package:flutter_common/Annotations/anno/Get.dart'
;
import
'package:flutter_common/Annotations/anno/Query.dart'
;
import
'package:flutter_common/Annotations/anno/ServiceCenter.dart'
;
import
'package:gm_flutter/ClueModel/server/entity/PlanOverviewBean.dart'
;
@ServiceCenter
()
abstract
class
ClueTApi
{
@Get
(
"api/janus/plans/plan_overview"
)
PlanOverViewBean
getPlanOverView
(
@Query
(
"plan_id"
)
int
plan_id
);
}
\ No newline at end of file
lib/ClueModel/server/api/ClueTApi.serv.dart
0 → 100644
View file @
6e0f38b1
// GENERATED CODE - DO NOT MODIFY BY HAND
// **************************************************************************
// ServiceGenerator
// **************************************************************************
import
'dart:convert'
;
import
'dart:io'
;
import
'package:rxdart/rxdart.dart'
;
import
'package:dio/dio.dart'
;
import
'package:flutter/foundation.dart'
;
import
'package:gm_flutter/ClueModel/server/entity/PlanOverViewBean.dart'
;
const
bool
inProduction
=
const
bool
.
fromEnvironment
(
"dart.vm.product"
);
class
ClueTApiImpl
{
static
JsonEncoder
encoder
=
JsonEncoder
.
withIndent
(
' '
);
static
ClueTApiImpl
_instance
;
ClueTApiImpl
.
_
()
{}
static
ClueTApiImpl
getInstance
()
{
if
(
_instance
==
null
)
{
_instance
=
ClueTApiImpl
.
_
();
}
return
_instance
;
}
Stream
<
PlanOverViewBean
>
getPlanOverView
(
Dio
_dio
,
int
plan_id
)
{
return
Stream
.
fromFuture
(
get
(
_dio
,
'api/janus/plans/plan_overview'
,
data:
{
'plan_id'
:
plan_id
,
})).
flatMap
((
value
)
{
if
(
value
!=
null
&&
(
value
.
statusCode
>=
200
&&
value
.
statusCode
<
300
))
{
return
Stream
.
fromFuture
(
compute
(
parsePlanOverViewBean
,
value
.
toString
()));
}
else
{
throw
Exception
(
"--未知网络错误--"
);
}
});
}
///==================base method==================
Future
<
Response
>
get
(
Dio
_dio
,
url
,
{
data
,
options
,
cancelToken
})
async
{
Response
response
;
try
{
response
=
await
_dio
.
get
(
url
,
queryParameters:
data
,
options:
options
,
cancelToken:
cancelToken
);
_printHttpLog
(
response
);
}
on
DioError
catch
(
e
)
{
print
(
'get error---------
$e
${formatError(e)}
'
);
throw
e
;
}
return
response
;
}
Future
<
Response
>
post
(
Dio
_dio
,
url
,
{
data
,
options
,
cancelToken
})
async
{
Response
response
;
try
{
response
=
await
_dio
.
post
(
url
,
data:
FormData
.
fromMap
(
data
),
options:
options
,
cancelToken:
cancelToken
);
_printHttpLog
(
response
);
}
on
DioError
catch
(
e
)
{
print
(
'get error---------
$e
${formatError(e)}
'
);
throw
e
;
}
return
response
;
}
Future
<
Response
>
put
(
Dio
_dio
,
url
,
{
data
,
options
,
cancelToken
})
async
{
Response
response
;
try
{
response
=
await
_dio
.
put
(
url
,
data:
FormData
.
fromMap
(
data
),
options:
options
,
cancelToken:
cancelToken
);
_printHttpLog
(
response
);
}
on
DioError
catch
(
e
)
{
print
(
'get error---------
$e
${formatError(e)}
'
);
throw
e
;
}
return
response
;
}
Future
<
Response
>
delete
(
Dio
_dio
,
url
,
{
data
,
options
,
cancelToken
})
async
{
Response
response
;
try
{
response
=
await
_dio
.
delete
(
url
,
data:
FormData
.
fromMap
(
data
),
options:
options
,
cancelToken:
cancelToken
);
_printHttpLog
(
response
);
}
on
DioError
catch
(
e
)
{
print
(
'get error---------
$e
${formatError(e)}
'
);
throw
e
;
}
return
response
;
}
Future
<
Response
>
upload
(
Dio
_dio
,
url
,
String
key
,
String
path
,
{
Map
<
String
,
dynamic
>
data
,
options
,
cancelToken
})
async
{
Response
response
;
print
(
"UPLOAD===> URL:
$url
{
$key
:
$path
} data:
$data
"
);
MultipartFile
file
=
await
MultipartFile
.
fromFile
(
path
,
filename:
path
.
substring
(
path
.
lastIndexOf
(
"/"
)
+
1
,
path
.
length
));
if
(
data
==
null
)
{
data
=
new
Map
<
String
,
dynamic
>();
}
data
.
putIfAbsent
(
key
,
()
=>
file
);
try
{
response
=
await
_dio
.
post
(
url
,
data:
FormData
.
fromMap
(
data
),
options:
options
,
cancelToken:
cancelToken
);
_printHttpLog
(
response
);
}
on
DioError
catch
(
e
)
{
print
(
'get error---------
$e
${formatError(e)}
'
);
throw
e
;
}
return
response
;
}
void
_printHttpLog
(
Response
response
)
{
if
(!
inProduction
)
{
try
{
printRespond
(
response
);
}
catch
(
ex
)
{
print
(
"Http Log"
+
" error......"
);
}
}
}
static
void
printRespond
(
Response
response
)
{
Map
httpLogMap
=
Map
();
httpLogMap
.
putIfAbsent
(
"requestMethod"
,
()
=>
"
${response.request.method}
"
);
httpLogMap
.
putIfAbsent
(
"requestUrl"
,
()
=>
"
${response.request.uri}
"
);
httpLogMap
.
putIfAbsent
(
"requestHeaders"
,
()
=>
response
.
request
.
headers
);
httpLogMap
.
putIfAbsent
(
"requestQueryParameters"
,
()
=>
response
.
request
.
queryParameters
);
if
(
response
.
request
.
data
is
FormData
)
{
httpLogMap
.
putIfAbsent
(
"requestDataFields"
,
()
=>
((
response
.
request
.
data
as
FormData
).
fields
.
toString
()));
}
httpLogMap
.
putIfAbsent
(
"respondData"
,
()
=>
json
.
decode
(
response
.
toString
()));
printJson
(
httpLogMap
);
}
static
void
printJson
(
Object
object
)
{
try
{
var
encoderString
=
encoder
.
convert
(
object
);
debugPrint
(
encoderString
);
}
catch
(
e
)
{
print
(
e
);
}
}
String
formatError
(
DioError
e
)
{
String
reason
=
""
;
if
(
e
.
type
==
DioErrorType
.
CONNECT_TIMEOUT
)
{
reason
=
"连接超时
${e.message}
"
;
}
else
if
(
e
.
type
==
DioErrorType
.
SEND_TIMEOUT
)
{
reason
=
"请求超时
${e.message}
"
;
}
else
if
(
e
.
type
==
DioErrorType
.
RECEIVE_TIMEOUT
)
{
reason
=
"响应超时
${e.message}
"
;
}
else
if
(
e
.
type
==
DioErrorType
.
RESPONSE
)
{
reason
=
"出现异常
${e.message}
"
;
}
else
if
(
e
.
type
==
DioErrorType
.
CANCEL
)
{
reason
=
"请求取消
${e.message}
"
;
}
else
{
reason
=
"未知错误
${e.message}
"
;
}
return
reason
;
}
}
PlanOverViewBean
parsePlanOverViewBean
(
String
value
)
{
return
PlanOverViewBean
.
fromJson
(
json
.
decode
(
value
));
}
lib/ClueModel/server/entity/LevelOneFeedList.dart
View file @
6e0f38b1
...
@@ -554,7 +554,7 @@ class TagsNewEra {
...
@@ -554,7 +554,7 @@ class TagsNewEra {
}
}
class
User
{
class
User
{
Null
city
;
String
city
;
int
userId
;
int
userId
;
int
topicNumPosted
;
int
topicNumPosted
;
int
voteNumGained
;
int
voteNumGained
;
...
...
lib/ClueModel/server/entity/PlanBean.dart
View file @
6e0f38b1
...
@@ -21,8 +21,8 @@ class PlanBean {
...
@@ -21,8 +21,8 @@ class PlanBean {
PlanBean
.
fromJson
(
Map
<
String
,
dynamic
>
json
)
{
PlanBean
.
fromJson
(
Map
<
String
,
dynamic
>
json
)
{
error
=
json
[
'error'
];
error
=
json
[
'error'
];
message
=
json
[
'message'
];
message
=
json
[
'message'
];
extra
=
json
[
'extra'
];
extra
=
json
[
'extra'
]
??
""
;
errorExtra
=
json
[
'error_extra'
];
errorExtra
=
json
[
'error_extra'
]
??
""
;
userType
=
json
[
'user_type'
]
!=
null
userType
=
json
[
'user_type'
]
!=
null
?
new
UserType
.
fromJson
(
json
[
'user_type'
])
?
new
UserType
.
fromJson
(
json
[
'user_type'
])
:
null
;
:
null
;
...
...
lib/ClueModel/server/entity/PlanCompareDetail.dart
View file @
6e0f38b1
...
@@ -4,10 +4,6 @@
...
@@ -4,10 +4,6 @@
* @Last Modified by: zx
* @Last Modified by: zx
* @Last Modified time: 2020-07-01 20:31:42
* @Last Modified time: 2020-07-01 20:31:42
*/
*/
import
'dart:convert'
;
class
PlanCompareDetail
{
class
PlanCompareDetail
{
int
error
;
int
error
;
String
message
;
String
message
;
...
...
lib/ClueModel/view/FiveStarView.dart
View file @
6e0f38b1
...
@@ -21,7 +21,7 @@ class FiveStarView extends StatelessWidget {
...
@@ -21,7 +21,7 @@ class FiveStarView extends StatelessWidget {
width:
13
,
width:
13
,
child:
Image
.
asset
(
starAssets
??
"assets/sel_star.png"
),
child:
Image
.
asset
(
starAssets
??
"assets/sel_star.png"
),
));
));
if
(
i
!=
0
&&
i
!=
allStarCount
-
1
)
{
if
(
i
!=
allStarCount
-
1
)
{
list
.
add
(
Container
(
list
.
add
(
Container
(
height:
1
,
height:
1
,
width:
2
,
width:
2
,
...
@@ -33,7 +33,7 @@ class FiveStarView extends StatelessWidget {
...
@@ -33,7 +33,7 @@ class FiveStarView extends StatelessWidget {
width:
13
,
width:
13
,
child:
Image
.
asset
(
"assets/normal_star.png"
),
child:
Image
.
asset
(
"assets/normal_star.png"
),
));
));
if
(
i
!=
0
&&
i
!=
allStarCount
-
1
)
{
if
(
i
!=
allStarCount
-
1
)
{
list
.
add
(
Container
(
list
.
add
(
Container
(
height:
1
,
height:
1
,
width:
2
,
width:
2
,
...
...
lib/MainRouter/manager/JumpManager.dart
View file @
6e0f38b1
...
@@ -27,8 +27,6 @@ class JumpManager {
...
@@ -27,8 +27,6 @@ class JumpManager {
String
pageNameWrap
=
String
pageNameWrap
=
nativePage
?
"gm://
${pageName}
"
:
"flutter://
${pageName}
"
;
nativePage
?
"gm://
${pageName}
"
:
"flutter://
${pageName}
"
;
if
(!
MainManager
.
getInstance
().
isInit
)
{
if
(!
MainManager
.
getInstance
().
isInit
)
{
CacheManager
.
getInstance
().
get
(
MEMORY_CACHE
).
save
(
COOKIE
,
"_gtid=3123e178b91a11eaa2d87e40d376ac134112; sessionid=pq9wf8equ4h26ia3yspzmquqn2rjs6mx; _gm_token=4091a81593419225"
);
JumpUtil
.
jumpToPageRight
(
context
,
initMap
(
params
)[
pageNameWrap
]);
JumpUtil
.
jumpToPageRight
(
context
,
initMap
(
params
)[
pageNameWrap
]);
}
else
{
}
else
{
FlutterBoost
.
singleton
.
open
(
pageNameWrap
,
urlParams:
params
);
FlutterBoost
.
singleton
.
open
(
pageNameWrap
,
urlParams:
params
);
...
@@ -47,7 +45,7 @@ class JumpManager {
...
@@ -47,7 +45,7 @@ class JumpManager {
RouterCenterImpl
().
findClueRouter
().
getPlansCompareFeed
(
params
),
RouterCenterImpl
().
findClueRouter
().
getPlansCompareFeed
(
params
),
"flutter://level_two_plan_compare"
:
"flutter://level_two_plan_compare"
:
RouterCenterImpl
().
findClueRouter
().
getPlansCompareFeed
(
params
),
RouterCenterImpl
().
findClueRouter
().
getPlansCompareFeed
(
params
),
"flutter://plan_home"
:
RouterCenterImpl
().
findClueRouter
().
getPlanPage
(),
"flutter://plan_home"
:
RouterCenterImpl
().
findClueRouter
().
getPlanPage
(
params
),
"flutter://favor_plan"
:
"flutter://favor_plan"
:
RouterCenterImpl
().
findClueRouter
().
getTopPage
(
params
),
RouterCenterImpl
().
findClueRouter
().
getTopPage
(
params
),
"flutter://hot_plan"
:
"flutter://hot_plan"
:
...
...
lib/MainRouter/page/test/TestPage.dart
View file @
6e0f38b1
...
@@ -6,8 +6,10 @@ import 'package:flutter/cupertino.dart';
...
@@ -6,8 +6,10 @@ import 'package:flutter/cupertino.dart';
import
'package:flutter/material.dart'
;
import
'package:flutter/material.dart'
;
import
'package:flutter_common/commonModel/util/JumpUtil.dart'
;
import
'package:flutter_common/commonModel/util/JumpUtil.dart'
;
import
'package:gm_flutter/MainRouter/page/proxy/NetProxyPage.dart'
;
import
'package:gm_flutter/MainRouter/page/proxy/NetProxyPage.dart'
;
import
'package:gm_flutter/commonModel/App.dart'
;
import
'package:gm_flutter/commonModel/base/BaseComponent.dart'
;
import
'package:gm_flutter/commonModel/base/BaseComponent.dart'
;
import
'package:gm_flutter/commonModel/base/BaseState.dart'
;
import
'package:gm_flutter/commonModel/base/BaseState.dart'
;
import
'package:gm_flutter/commonModel/cache/CacheManager.dart'
;
import
'package:gm_flutter/main.mark.dart'
;
import
'package:gm_flutter/main.mark.dart'
;
import
'package:gm_flutter/ClueModel/page/DiscussLowPrice/DiscussLowPricePopView.dart'
;
import
'package:gm_flutter/ClueModel/page/DiscussLowPrice/DiscussLowPricePopView.dart'
;
import
'TP.dart'
;
import
'TP.dart'
;
...
@@ -25,6 +27,7 @@ class TestState extends BaseState<TestPage> {
...
@@ -25,6 +27,7 @@ class TestState extends BaseState<TestPage> {
list
.
add
(
listItem
(
"设置代理页面"
,
()
{
list
.
add
(
listItem
(
"设置代理页面"
,
()
{
JumpUtil
.
jumpToPageRight
(
context
,
NetProxyPage
());
JumpUtil
.
jumpToPageRight
(
context
,
NetProxyPage
());
}));
}));
list
.
add
(
listItem
(
"一级列表页"
,
()
{
list
.
add
(
listItem
(
"一级列表页"
,
()
{
RouterCenterImpl
()
RouterCenterImpl
()
.
findMainRouter
()
.
findMainRouter
()
...
@@ -35,23 +38,26 @@ class TestState extends BaseState<TestPage> {
...
@@ -35,23 +38,26 @@ class TestState extends BaseState<TestPage> {
.
findMainRouter
()
.
findMainRouter
()
.
jumpPage
(
context
,
"level_two_plan_deatil"
,
{
"planId"
:
192
},
false
);
.
jumpPage
(
context
,
"level_two_plan_deatil"
,
{
"planId"
:
192
},
false
);
}));
}));
list
.
add
(
listItem
(
"
方案页面
"
,
()
{
list
.
add
(
listItem
(
"
项目首页
"
,
()
{
RouterCenterImpl
()
RouterCenterImpl
()
.
findMainRouter
()
.
findMainRouter
()
.
jumpPage
(
context
,
"plan_home"
,
{
"planId"
:
137
},
false
);
.
jumpPage
(
context
,
"plan_home"
,
{},
false
);
}));
}));
list
.
add
(
listItem
(
"
对比详情页
"
,
()
{
list
.
add
(
listItem
(
"
方案页面
"
,
()
{
RouterCenterImpl
()
RouterCenterImpl
()
.
findMainRouter
()
.
findMainRouter
()
.
jumpPage
(
context
,
"
level_one_plan_compare_detail
"
,
{
"planId"
:
137
},
false
);
.
jumpPage
(
context
,
"
plan_home
"
,
{
"planId"
:
137
},
false
);
}));
}));
list
.
add
(
listItem
(
"
项目说明
"
,
()
{
list
.
add
(
listItem
(
"
对比详情页
"
,
()
{
JumpUtil
.
jumpToPageRight
(
RouterCenterImpl
().
findMainRouter
().
jumpPage
(
context
,
context
,
RouterCenterImpl
()
"level_one_plan_compare_detail"
,
.
findClueRouter
()
{
.
getProjectDetailsPage
({
"planId"
:
1
}));
"planIds"
:
[
137
,
139
]
},
false
);
}));
}));
list
.
add
(
listItem
(
"方案对比"
,
()
{
list
.
add
(
listItem
(
"方案对比"
,
()
{
JumpUtil
.
jumpToPageRight
(
JumpUtil
.
jumpToPageRight
(
context
,
context
,
...
@@ -64,13 +70,15 @@ class TestState extends BaseState<TestPage> {
...
@@ -64,13 +70,15 @@ class TestState extends BaseState<TestPage> {
RouterCenterImpl
().
findClueRouter
().
getTopPage
({
"rank_type"
:
"0"
}));
RouterCenterImpl
().
findClueRouter
().
getTopPage
({
"rank_type"
:
"0"
}));
}));
}));
list
.
add
(
listItem
(
"弹窗"
,
()
{
list
.
add
(
listItem
(
"弹窗"
,
()
{
DiscussLowPricePopView
.
showPopView
(
context
);
DiscussLowPricePopView
.
showPopView
(
context
,
"hahaha"
,
"1"
,
""
,
"112"
);
}));
}));
return
list
;
return
list
;
}
}
@override
@override
Widget
buildItem
(
BuildContext
context
)
{
Widget
buildItem
(
BuildContext
context
)
{
CacheManager
.
getInstance
().
get
(
MEMORY_CACHE
).
save
(
COOKIE
,
"_gm_token=1da6071594101423; csrftoken=rUrkkYYMOVZfIIQnU2IH09QIGmsfe8tE; sessionid=uz7f70uap76r6og48znci5l2hbr9vm5c; _gtid=5af9a5deba8511ea8d4082a085c393c93393"
);
return
Scaffold
(
return
Scaffold
(
appBar:
baseAppBar
(
appBar:
baseAppBar
(
title:
"测试页面"
,
title:
"测试页面"
,
...
...
lib/main.dart
View file @
6e0f38b1
...
@@ -59,7 +59,7 @@ class MyApp extends State<MyAppWidget> {
...
@@ -59,7 +59,7 @@ class MyApp extends State<MyAppWidget> {
super
.
initState
();
super
.
initState
();
FlutterBoost
.
singleton
.
registerPageBuilders
({
FlutterBoost
.
singleton
.
registerPageBuilders
({
'plan_home'
:
(
pageName
,
params
,
_
)
=>
'plan_home'
:
(
pageName
,
params
,
_
)
=>
RouterCenterImpl
().
findClueRouter
().
getPlanPage
(),
RouterCenterImpl
().
findClueRouter
().
getPlanPage
(
params
),
'level_one_plan_detail'
:
(
pageName
,
params
,
_
)
=>
'level_one_plan_detail'
:
(
pageName
,
params
,
_
)
=>
RouterCenterImpl
().
findClueRouter
().
getLevelOnePage
(
params
),
RouterCenterImpl
().
findClueRouter
().
getLevelOnePage
(
params
),
'level_two_plan_deatil'
:
(
pageName
,
params
,
_
)
=>
'level_two_plan_deatil'
:
(
pageName
,
params
,
_
)
=>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment