Commit d18aa2b8 authored by 杜欣's avatar 杜欣

Merge branch 'test' into featrue/duxin

parents aceea30b d94ecc47
......@@ -2,6 +2,7 @@
* @author lsy
* @date 2020/6/24
**/
import 'package:flutter/cupertino.dart';
import 'package:flutter_common/Annotations/RouterBaser.dart';
import 'package:flutter_common/Annotations/anno/Router.dart';
import 'package:flutter_common/Annotations/anno/RouterCenter.dart';
......@@ -10,4 +11,5 @@ import 'package:gm_flutter/ClueModel/ClueRouterImpl.dart';
@Router("ClueRouter",ClueRouterImpl,true)
abstract class ClueRouter implements RouterBaser{
Widget getLevelOnePage();
}
\ No newline at end of file
......@@ -2,8 +2,13 @@
* @author lsy
* @date 2020/6/24
**/
import 'package:flutter/src/widgets/framework.dart';
import 'package:gm_flutter/ClueModel/ClueRouter.dart';
import 'package:gm_flutter/ClueModel/page/levelOne/LevelOnePage.dart';
class ClueRouterImpl implements ClueRouter{
class ClueRouterImpl implements ClueRouter {
@override
Widget getLevelOnePage() {
return LevelOnePage();
}
}
/*
* @author lsy
* @date 2020/6/29
**/
import 'package:cached_network_image/cached_network_image.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:gm_flutter/ClueModel/server/entity/LevelOneFeedList.dart';
import 'package:gm_flutter/commonModel/base/BaseComponent.dart';
import 'package:gm_flutter/commonModel/base/BaseUtil.dart';
class LevelOneItem extends StatelessWidget {
final Cards cards;
VoidCallback lowPrice;
VoidCallback ask;
LevelOneItem(this.cards, {this.lowPrice, this.ask});
@override
Widget build(BuildContext context) {
if (cards.cardType == "plan") {
return PlanItem(context);
} else if (cards.cardType == "hospital") {
return HospitalItem(context);
}
}
Widget DoctorItem(BuildContext context) {
if (cards.doctor == null && isDebug) {
throw new Exception();
}
return GestureDetector(
child: Container(
margin: EdgeInsets.only(left: 15, right: 15),
height: 127,
child: Stack(
children: <Widget>[
Positioned(
top: 15,
child: Container(
width: 45,
height: 45,
child: ClipOval(
child: CachedNetworkImage(
imageUrl: cards.doctor.portrait,
),
),
),
),
Positioned(
left: 57,
top: 18,
child: Row(
mainAxisSize: MainAxisSize.min,
crossAxisAlignment: CrossAxisAlignment.end,
children: <Widget>[
baseText(cards.doctor.name, 15, Color(0xff333333),
bold: true),
Container(
margin: EdgeInsets.only(left: 4),
child: baseText(cards.doctor.name, 15, Color(0xff333333),
bold: true),
)
],
),
),
Positioned(
top: 42,
right: 0,
child: Row(
crossAxisAlignment: CrossAxisAlignment.end,
mainAxisSize: MainAxisSize.min,
children: <Widget>[
baseText("¥", 12, Color(0xffFF5963)),
baseText("${cards.doctor.minPrice}-${cards.doctor.maxPrice}",
15, Color(0xffFF5963)),
],
),
),
Positioned(
bottom: 15,
right: 0,
child: lowPriceWidget(),
),
Positioned(
bottom: 15,
right: 187,
child: askWidget(),
),
Positioned(
left: 4.5,
bottom: 25,
child: compareWidget(),
),
],
),
),
);
}
Widget HospitalItem(BuildContext context) {
if (cards.hospital == null && isDebug) {
throw new Exception();
}
return GestureDetector(
onTap: () {},
child: Container(
margin: EdgeInsets.only(left: 15, right: 15),
height: 149,
child: Stack(
children: <Widget>[
Positioned(
left: 0,
top: 15,
child: Container(
width: 45,
height: 45,
child: ClipOval(
child: CachedNetworkImage(
imageUrl: cards.hospital.portrait,
),
),
),
),
Positioned(
left: 57,
top: 17.5,
child: baseText(cards.hospital.name, 15, Color(0xff333333),
bold: true),
),
Positioned(
top: 42.5,
right: 0,
child: Row(
crossAxisAlignment: CrossAxisAlignment.end,
mainAxisSize: MainAxisSize.min,
children: <Widget>[
baseText("¥", 12, Color(0xffFF5963)),
baseText(
"${cards.hospital.minPrice}-${cards.hospital.maxPrice}",
15,
Color(0xffFF5963)),
],
),
),
Positioned(
bottom: 15,
right: 0,
child: lowPriceWidget(),
),
Positioned(
bottom: 15,
right: 187,
child: askWidget(),
),
Positioned(
left: 4.5,
bottom: 25,
child: compareWidget(),
),
Positioned(
bottom: 67,
left: 57,
child: baseText(cards.hospital.name, 12, Color(0xff666666)),
)
],
),
));
}
Widget PlanItem(BuildContext context) {
if (cards.plan == null && isDebug) {
throw new Exception();
}
return Container(
height: 118,
margin: EdgeInsets.only(left: 15, right: 15),
child: Stack(
children: <Widget>[
Positioned(
left: 0,
top: 15,
child: baseText(cards.plan.planName, 15, Color(0xff282828),
bold: true),
),
Positioned(
right: 0,
top: 15,
child: Row(
mainAxisSize: MainAxisSize.min,
crossAxisAlignment: CrossAxisAlignment.end,
children: <Widget>[
baseText("¥", 12, Color(0xffFF5963)),
baseText(cards.plan, 15, Color(0xffFF5963))
],
),
),
Positioned(
left: 4.5,
bottom: 25,
child: compareWidget(),
),
Positioned(bottom: 15, right: 0, child: lowPriceWidget()),
Positioned(
right: 152,
bottom: 15,
child: askWidget(),
),
Positioned(
top: 40,
right: 0,
child: baseText(
"指导价:¥${cards.plan.minPrice}-${cards.plan.maxPrice}",
11,
Color(0xff666666)),
),
Positioned(
left: 15,
bottom: 0,
child: Container(
width: MediaQuery.of(context).size.width - 30,
height: 0.5,
color: Color(0xffE5E5E5),
),
)
],
),
);
}
Widget lowPriceWidget() {
return GestureDetector(
onTap: lowPrice,
behavior: HitTestBehavior.opaque,
child: Container(
width: 122,
height: 37,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(18.5),
color: Color(0xffFFF5F5)),
alignment: Alignment.center,
child: baseText("获取底价", 14, Color(0xffFF5963), bold: true),
),
);
}
Widget askWidget() {
return GestureDetector(
onTap: ask,
behavior: HitTestBehavior.opaque,
child: Container(
width: 122,
height: 37,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(18.5),
color: Color(0xffEEFDFD)),
alignment: Alignment.center,
child: baseText("咨询", 14, Color(0xff3FB5AF), bold: true),
),
);
}
Widget compareWidget() {
return Row(
mainAxisSize: MainAxisSize.min,
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
Container(
width: 18,
height: 18,
child: Image.asset("assets/vs.png"),
),
Container(
margin: EdgeInsets.only(left: 1.5),
child: baseText("去比较", 13, Color(0xff282828), bold: true),
)
],
);
}
}
......@@ -3,6 +3,8 @@
* @date 2020/6/29
**/
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:gm_flutter/ClueModel/view/FiveStarView.dart';
import 'package:gm_flutter/commonModel/base/BaseState.dart';
class LevelOnePage extends StatefulWidget {
......@@ -13,5 +15,12 @@ class LevelOnePage extends StatefulWidget {
class LevelOneState extends BaseState<LevelOnePage> {
@override
Widget buildItem(BuildContext context) {
return Scaffold(
backgroundColor: Colors.white,
body: Stack(
children: <Widget>[ FiveStarView(3, 5),
],
),
);
}
}
......@@ -7,4 +7,6 @@ import 'package:flutter_common/Annotations/anno/ServiceCenter.dart';
@ServiceCenter()
class ClueApi {
}
\ No newline at end of file
This diff is collapsed.
/*
* @author lsy
* @date 2020/6/29
**/
import 'package:flutter/cupertino.dart';
class FiveStarView extends StatelessWidget {
final int allStarCount;
final int lightStarCount;
FiveStarView(this.lightStarCount, this.allStarCount);
@override
Widget build(BuildContext context) {
List<Widget> list = new List();
for (int i = 0; i < allStarCount; i++) {
if (i <= lightStarCount) {
list.add(Container(
height: 13,
width: 13,
child: Image.asset("assets/sel_star.png"),
));
if (i != 0 && i != allStarCount - 1) {
list.add(Container(
height: 1,
width: 2,
));
}
} else {
list.add(Container(
height: 13,
width: 13,
child: Image.asset("assets/normal_star.png"),
));
if (i != 0 && i != allStarCount - 1) {
list.add(Container(
height: 1,
width: 2,
));
}
}
}
return Row(
mainAxisSize: MainAxisSize.min,
crossAxisAlignment: CrossAxisAlignment.center,
children: list,
);
}
}
......@@ -58,7 +58,8 @@ class MyApp extends State<MyAppWidget> {
return DemoPage1();
},
});
FlutterBoost.singleton.addBoostContainerLifeCycleObserver((state, settings) {
FlutterBoost.singleton.addBoostContainerLifeCycleObserver((state,
settings) {
print("LSY ${state}");
});
// FlutterBoost.singleton.addBoostNavigatorObserver(TestBoostNavigatorObserver());
......@@ -70,24 +71,12 @@ class MyApp extends State<MyAppWidget> {
return MaterialApp(
theme: ThemeData(),
builder: FlutterBoost.init(postPush: _onRoutePushed),
home: isDebug
? Container(
color: Colors.red,
)
: Container(
color: Colors.white,
child: Center(
child: loadingItem(),
),
)
);
home: RouterCenterImpl().findClueRouter().getLevelOnePage());
}
void _onRoutePushed(
String pageName,
void _onRoutePushed(String pageName,
String uniqueId,
Map<String, dynamic> params,
Route<dynamic> route,
Future<dynamic> _,
) {}
Future<dynamic> _,) {}
}
......@@ -32,6 +32,7 @@ dependencies:
#轻量级存储
shared_preferences: ^0.5.7+1
dev_dependencies:
flutter_test:
sdk: flutter
......@@ -40,7 +41,8 @@ dev_dependencies:
flutter:
uses-material-design: true
assets:
- assets/
module:
androidX: true
androidPackage: com.example.gm_flutter
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment