After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 3.7 KiB |
After Width: | Height: | Size: 3.1 KiB |
After Width: | Height: | Size: 3.3 KiB |
After Width: | Height: | Size: 6.6 KiB |
After Width: | Height: | Size: 5.9 KiB |
After Width: | Height: | Size: 857 B |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 1.4 KiB |
@ -0,0 +1,144 @@ |
|||||||
|
import 'package:dio/dio.dart'; |
||||||
|
import 'package:flutter/cupertino.dart'; |
||||||
|
import 'package:flutter/material.dart'; |
||||||
|
import 'package:huixiang/generated/l10n.dart'; |
||||||
|
import 'package:huixiang/retrofit/data/base_data.dart'; |
||||||
|
import 'package:huixiang/retrofit/data/vip_card.dart'; |
||||||
|
import 'package:huixiang/retrofit/retrofit_api.dart'; |
||||||
|
import 'package:huixiang/utils/font_weight.dart'; |
||||||
|
import 'package:huixiang/view_widget/classic_header.dart'; |
||||||
|
import 'package:huixiang/view_widget/custom_image.dart'; |
||||||
|
import 'package:huixiang/view_widget/my_footer.dart'; |
||||||
|
import 'package:huixiang/view_widget/no_data_view.dart'; |
||||||
|
import 'package:pull_to_refresh/pull_to_refresh.dart'; |
||||||
|
import 'package:shared_preferences/shared_preferences.dart'; |
||||||
|
import 'package:flutter_screenutil/flutter_screenutil.dart'; |
||||||
|
|
||||||
|
class FansPage extends StatefulWidget { |
||||||
|
@override |
||||||
|
State<StatefulWidget> createState() { |
||||||
|
return _FansPage(); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
class _FansPage extends State<FansPage> { |
||||||
|
RefreshController _refreshController; |
||||||
|
|
||||||
|
ApiService apiService; |
||||||
|
|
||||||
|
@override |
||||||
|
void initState() { |
||||||
|
super.initState(); |
||||||
|
_refreshController = RefreshController(); |
||||||
|
|
||||||
|
SharedPreferences.getInstance().then((value) { |
||||||
|
apiService = |
||||||
|
ApiService(Dio(), context: context, token: value.getString("token")); |
||||||
|
|
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@override |
||||||
|
Widget build(BuildContext context) { |
||||||
|
return Scaffold( |
||||||
|
body: Container( |
||||||
|
child: SmartRefresher( |
||||||
|
enablePullDown: true, |
||||||
|
enablePullUp: false, |
||||||
|
header: MyHeader(), |
||||||
|
footer: CustomFooter( |
||||||
|
builder: (context, mode) { |
||||||
|
return MyFooter(mode); |
||||||
|
}, |
||||||
|
), |
||||||
|
controller: _refreshController, |
||||||
|
// onRefresh: , |
||||||
|
physics: BouncingScrollPhysics(), |
||||||
|
child: ListView.builder( |
||||||
|
padding: EdgeInsets.symmetric(vertical: 8.h), |
||||||
|
itemBuilder: (context, position) { |
||||||
|
return GestureDetector( |
||||||
|
onTap: () { |
||||||
|
|
||||||
|
}, |
||||||
|
child: fansItem(), |
||||||
|
); |
||||||
|
}, |
||||||
|
itemCount:5, |
||||||
|
) |
||||||
|
// NoDataView( |
||||||
|
// isShowBtn: false, |
||||||
|
// text: "共关注0人", |
||||||
|
// fontSize: 16.sp, |
||||||
|
// margin: EdgeInsets.only(top: 120.h), |
||||||
|
// ), |
||||||
|
), |
||||||
|
), |
||||||
|
); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
Widget fansItem() { |
||||||
|
return Container( |
||||||
|
margin: EdgeInsets.symmetric(horizontal: 16.w, vertical: 16.h), |
||||||
|
child:Row( |
||||||
|
mainAxisAlignment: MainAxisAlignment.spaceAround, |
||||||
|
crossAxisAlignment:CrossAxisAlignment.center, |
||||||
|
children: [ |
||||||
|
MImage( |
||||||
|
"assets/image/default_1.png", |
||||||
|
width: 44, |
||||||
|
height: 44, |
||||||
|
isCircle: true, |
||||||
|
fit: BoxFit.cover, |
||||||
|
errorSrc: "assets/image/default_1.png", |
||||||
|
fadeSrc: "assets/image/default_1.png", |
||||||
|
), |
||||||
|
SizedBox( |
||||||
|
width:8, |
||||||
|
), |
||||||
|
Expanded(child:Text( |
||||||
|
"百花谷", |
||||||
|
style: TextStyle( |
||||||
|
color: Color(0xFF1A1A1A), |
||||||
|
fontSize: 14.sp, |
||||||
|
fontWeight: MyFontWeight.medium, |
||||||
|
), |
||||||
|
)), |
||||||
|
Container( |
||||||
|
width: 56.w, |
||||||
|
height: 21.h, |
||||||
|
decoration: BoxDecoration( |
||||||
|
borderRadius: BorderRadius.circular(11.w), |
||||||
|
color: Color(0xFF32A060), |
||||||
|
), |
||||||
|
child:Row( |
||||||
|
mainAxisAlignment: MainAxisAlignment.center, |
||||||
|
crossAxisAlignment:CrossAxisAlignment.center, |
||||||
|
children: [ |
||||||
|
Icon( |
||||||
|
Icons.add, |
||||||
|
color: Colors.white, |
||||||
|
size: 14, |
||||||
|
), |
||||||
|
SizedBox( |
||||||
|
width:4, |
||||||
|
), |
||||||
|
Text( |
||||||
|
"关注", |
||||||
|
style: TextStyle( |
||||||
|
color: Colors.white, |
||||||
|
fontSize: 12.sp, |
||||||
|
fontWeight: MyFontWeight.regular, |
||||||
|
), |
||||||
|
), |
||||||
|
], |
||||||
|
), |
||||||
|
), |
||||||
|
], |
||||||
|
), |
||||||
|
); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,144 @@ |
|||||||
|
import 'package:dio/dio.dart'; |
||||||
|
import 'package:flutter/cupertino.dart'; |
||||||
|
import 'package:flutter/material.dart'; |
||||||
|
import 'package:huixiang/generated/l10n.dart'; |
||||||
|
import 'package:huixiang/retrofit/data/base_data.dart'; |
||||||
|
import 'package:huixiang/retrofit/data/vip_card.dart'; |
||||||
|
import 'package:huixiang/retrofit/retrofit_api.dart'; |
||||||
|
import 'package:huixiang/utils/font_weight.dart'; |
||||||
|
import 'package:huixiang/view_widget/classic_header.dart'; |
||||||
|
import 'package:huixiang/view_widget/custom_image.dart'; |
||||||
|
import 'package:huixiang/view_widget/my_footer.dart'; |
||||||
|
import 'package:huixiang/view_widget/no_data_view.dart'; |
||||||
|
import 'package:pull_to_refresh/pull_to_refresh.dart'; |
||||||
|
import 'package:shared_preferences/shared_preferences.dart'; |
||||||
|
import 'package:flutter_screenutil/flutter_screenutil.dart'; |
||||||
|
|
||||||
|
class FollowPage extends StatefulWidget { |
||||||
|
@override |
||||||
|
State<StatefulWidget> createState() { |
||||||
|
return _FollowPage(); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
class _FollowPage extends State<FollowPage> { |
||||||
|
RefreshController _refreshController; |
||||||
|
|
||||||
|
ApiService apiService; |
||||||
|
|
||||||
|
@override |
||||||
|
void initState() { |
||||||
|
super.initState(); |
||||||
|
_refreshController = RefreshController(); |
||||||
|
|
||||||
|
SharedPreferences.getInstance().then((value) { |
||||||
|
apiService = |
||||||
|
ApiService(Dio(), context: context, token: value.getString("token")); |
||||||
|
|
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@override |
||||||
|
Widget build(BuildContext context) { |
||||||
|
return Scaffold( |
||||||
|
body: Container( |
||||||
|
child: SmartRefresher( |
||||||
|
enablePullDown: true, |
||||||
|
enablePullUp: false, |
||||||
|
header: MyHeader(), |
||||||
|
footer: CustomFooter( |
||||||
|
builder: (context, mode) { |
||||||
|
return MyFooter(mode); |
||||||
|
}, |
||||||
|
), |
||||||
|
controller: _refreshController, |
||||||
|
// onRefresh: , |
||||||
|
physics: BouncingScrollPhysics(), |
||||||
|
child: ListView.builder( |
||||||
|
padding: EdgeInsets.symmetric(vertical: 8.h), |
||||||
|
itemBuilder: (context, position) { |
||||||
|
return GestureDetector( |
||||||
|
onTap: () { |
||||||
|
|
||||||
|
}, |
||||||
|
child: followItem(), |
||||||
|
); |
||||||
|
}, |
||||||
|
itemCount:5, |
||||||
|
) |
||||||
|
// NoDataView( |
||||||
|
// isShowBtn: false, |
||||||
|
// text: "共关注0人", |
||||||
|
// fontSize: 16.sp, |
||||||
|
// margin: EdgeInsets.only(top: 120.h), |
||||||
|
// ), |
||||||
|
), |
||||||
|
), |
||||||
|
); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
Widget followItem() { |
||||||
|
return Container( |
||||||
|
margin: EdgeInsets.symmetric(horizontal: 16.w, vertical: 16.h), |
||||||
|
child:Row( |
||||||
|
mainAxisAlignment: MainAxisAlignment.spaceAround, |
||||||
|
crossAxisAlignment:CrossAxisAlignment.center, |
||||||
|
children: [ |
||||||
|
MImage( |
||||||
|
"assets/image/default_1.png", |
||||||
|
width: 44, |
||||||
|
height: 44, |
||||||
|
isCircle: true, |
||||||
|
fit: BoxFit.cover, |
||||||
|
errorSrc: "assets/image/default_1.png", |
||||||
|
fadeSrc: "assets/image/default_1.png", |
||||||
|
), |
||||||
|
SizedBox( |
||||||
|
width:8, |
||||||
|
), |
||||||
|
Expanded(child:Text( |
||||||
|
"百花谷", |
||||||
|
style: TextStyle( |
||||||
|
color: Color(0xFF1A1A1A), |
||||||
|
fontSize: 14.sp, |
||||||
|
fontWeight: MyFontWeight.medium, |
||||||
|
), |
||||||
|
)), |
||||||
|
Container( |
||||||
|
width: 69.w, |
||||||
|
height: 21.h, |
||||||
|
decoration: BoxDecoration( |
||||||
|
borderRadius: BorderRadius.circular(11.w), |
||||||
|
color: Color(0xFFE6E6E6), |
||||||
|
), |
||||||
|
child:Row( |
||||||
|
mainAxisAlignment: MainAxisAlignment.center, |
||||||
|
crossAxisAlignment:CrossAxisAlignment.center, |
||||||
|
children: [ |
||||||
|
Icon( |
||||||
|
Icons.check, |
||||||
|
color: Color(0xFF808080), |
||||||
|
size: 14, |
||||||
|
), |
||||||
|
SizedBox( |
||||||
|
width:4, |
||||||
|
), |
||||||
|
Text( |
||||||
|
"已关注", |
||||||
|
style: TextStyle( |
||||||
|
color: Color(0xFF808080), |
||||||
|
fontSize: 12.sp, |
||||||
|
fontWeight: MyFontWeight.regular, |
||||||
|
), |
||||||
|
), |
||||||
|
], |
||||||
|
), |
||||||
|
), |
||||||
|
], |
||||||
|
), |
||||||
|
); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,65 @@ |
|||||||
|
import 'package:flutter/cupertino.dart'; |
||||||
|
import 'package:flutter/material.dart'; |
||||||
|
import 'package:huixiang/generated/l10n.dart'; |
||||||
|
import 'package:huixiang/mine/follow_page.dart'; |
||||||
|
import 'package:huixiang/mine/release_page.dart'; |
||||||
|
import 'package:huixiang/mine/vip_card_page.dart'; |
||||||
|
import 'package:huixiang/utils/font_weight.dart'; |
||||||
|
import 'package:huixiang/view_widget/my_appbar.dart'; |
||||||
|
import 'package:flutter_screenutil/flutter_screenutil.dart'; |
||||||
|
import 'package:huixiang/view_widget/my_tab.dart'; |
||||||
|
|
||||||
|
import '../fans_page.dart'; |
||||||
|
|
||||||
|
|
||||||
|
class CommunityFollow extends StatefulWidget { |
||||||
|
@override |
||||||
|
State<StatefulWidget> createState() { |
||||||
|
return _CommunityFollow(); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
class _CommunityFollow extends State<CommunityFollow> |
||||||
|
with SingleTickerProviderStateMixin { |
||||||
|
@override |
||||||
|
Widget build(BuildContext context) { |
||||||
|
return DefaultTabController( |
||||||
|
length: 3, |
||||||
|
child: Scaffold( |
||||||
|
appBar: MyAppBar( |
||||||
|
title: "", |
||||||
|
titleColor: Colors.black, |
||||||
|
background: Colors.white, |
||||||
|
leadingColor: Colors.black, |
||||||
|
toolbarHeight: kToolbarHeight + MediaQuery.of(context).padding.top, |
||||||
|
bottom: TabBar( |
||||||
|
// isScrollable: true, //可滚动 |
||||||
|
indicatorColor: Color(0xff39B54A), |
||||||
|
labelColor: Colors.black, |
||||||
|
labelStyle: TextStyle( |
||||||
|
fontSize: 17.sp, |
||||||
|
fontWeight: FontWeight.bold, |
||||||
|
), |
||||||
|
unselectedLabelStyle: TextStyle( |
||||||
|
fontSize: 16.sp, |
||||||
|
fontWeight: MyFontWeight.medium, |
||||||
|
), |
||||||
|
// controller: tabController, |
||||||
|
//未选中文字颜色 |
||||||
|
unselectedLabelColor: Color(0xffA29E9E), |
||||||
|
indicatorSize: TabBarIndicatorSize.label, |
||||||
|
//指示器与文字等宽 |
||||||
|
tabs: <Widget>[ |
||||||
|
MyTab(text:"关注(23)"), |
||||||
|
MyTab(text: "粉丝(55)"), |
||||||
|
MyTab(text: "发布(26)"), |
||||||
|
], |
||||||
|
), |
||||||
|
), |
||||||
|
body: TabBarView( |
||||||
|
children: [FollowPage(),FansPage(),ReleasePage()], |
||||||
|
), |
||||||
|
), |
||||||
|
); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,226 @@ |
|||||||
|
import 'package:dio/dio.dart'; |
||||||
|
import 'package:flutter/cupertino.dart'; |
||||||
|
import 'package:flutter/material.dart'; |
||||||
|
import 'package:huixiang/generated/l10n.dart'; |
||||||
|
import 'package:huixiang/retrofit/data/base_data.dart'; |
||||||
|
import 'package:huixiang/retrofit/data/vip_card.dart'; |
||||||
|
import 'package:huixiang/retrofit/retrofit_api.dart'; |
||||||
|
import 'package:huixiang/utils/font_weight.dart'; |
||||||
|
import 'package:huixiang/view_widget/classic_header.dart'; |
||||||
|
import 'package:huixiang/view_widget/custom_image.dart'; |
||||||
|
import 'package:huixiang/view_widget/my_footer.dart'; |
||||||
|
import 'package:huixiang/view_widget/no_data_view.dart'; |
||||||
|
import 'package:pull_to_refresh/pull_to_refresh.dart'; |
||||||
|
import 'package:shared_preferences/shared_preferences.dart'; |
||||||
|
import 'package:flutter_screenutil/flutter_screenutil.dart'; |
||||||
|
|
||||||
|
class ReleasePage extends StatefulWidget { |
||||||
|
@override |
||||||
|
State<StatefulWidget> createState() { |
||||||
|
return _ReleasePage(); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
class _ReleasePage extends State<ReleasePage> { |
||||||
|
RefreshController _refreshController; |
||||||
|
var isShowShrink = false; |
||||||
|
ApiService apiService; |
||||||
|
|
||||||
|
@override |
||||||
|
void initState() { |
||||||
|
super.initState(); |
||||||
|
_refreshController = RefreshController(); |
||||||
|
|
||||||
|
SharedPreferences.getInstance().then((value) { |
||||||
|
apiService = |
||||||
|
ApiService(Dio(), context: context, token: value.getString("token")); |
||||||
|
|
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@override |
||||||
|
Widget build(BuildContext context) { |
||||||
|
return Scaffold( |
||||||
|
body: Container( |
||||||
|
child: SmartRefresher( |
||||||
|
enablePullDown: true, |
||||||
|
enablePullUp: false, |
||||||
|
header: MyHeader(), |
||||||
|
footer: CustomFooter( |
||||||
|
builder: (context, mode) { |
||||||
|
return MyFooter(mode); |
||||||
|
}, |
||||||
|
), |
||||||
|
controller: _refreshController, |
||||||
|
// onRefresh: , |
||||||
|
physics: BouncingScrollPhysics(), |
||||||
|
child: ListView.builder( |
||||||
|
padding: EdgeInsets.symmetric(vertical: 8.h), |
||||||
|
itemBuilder: (context, position) { |
||||||
|
return GestureDetector( |
||||||
|
onTap: () { |
||||||
|
|
||||||
|
}, |
||||||
|
child: releaseItem(), |
||||||
|
); |
||||||
|
}, |
||||||
|
itemCount:5, |
||||||
|
) |
||||||
|
// NoDataView( |
||||||
|
// isShowBtn: false, |
||||||
|
// text: "共关注0人", |
||||||
|
// fontSize: 16.sp, |
||||||
|
// margin: EdgeInsets.only(top: 120.h), |
||||||
|
// ), |
||||||
|
), |
||||||
|
), |
||||||
|
); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
Widget releaseItem() { |
||||||
|
return Container( |
||||||
|
color: Colors.white, |
||||||
|
padding: EdgeInsets.symmetric(horizontal: 16.w), |
||||||
|
margin: EdgeInsets.symmetric(vertical: 16.w), |
||||||
|
child:Column( |
||||||
|
mainAxisAlignment: MainAxisAlignment.spaceAround, |
||||||
|
crossAxisAlignment:CrossAxisAlignment.start, |
||||||
|
children: [ |
||||||
|
Row( |
||||||
|
children: [ |
||||||
|
ClipOval( |
||||||
|
child: Image.network( |
||||||
|
"https://t7.baidu.com/it/u=2841334870,333581502&fm=193&f=GIF", |
||||||
|
fit: BoxFit.cover, |
||||||
|
width: 44.w, |
||||||
|
height: 44.h, |
||||||
|
), |
||||||
|
clipBehavior: Clip.hardEdge, |
||||||
|
), |
||||||
|
SizedBox( |
||||||
|
width: 8.w, |
||||||
|
), |
||||||
|
Expanded( |
||||||
|
child: Container( |
||||||
|
height: 60.h, |
||||||
|
child: Column( |
||||||
|
mainAxisAlignment: MainAxisAlignment.spaceEvenly, |
||||||
|
crossAxisAlignment: CrossAxisAlignment.start, |
||||||
|
children: [ |
||||||
|
Row( |
||||||
|
children: [ |
||||||
|
Expanded(child: Text( |
||||||
|
"百花谷", |
||||||
|
style: TextStyle( |
||||||
|
fontSize: 14.sp, |
||||||
|
fontWeight: MyFontWeight.medium, |
||||||
|
color: Color(0xff808080), |
||||||
|
), |
||||||
|
), ), |
||||||
|
InkWell( |
||||||
|
onTap: () { |
||||||
|
}, |
||||||
|
child: Icon( |
||||||
|
Icons.close, |
||||||
|
color: Colors.black, |
||||||
|
size: 16, |
||||||
|
), |
||||||
|
), |
||||||
|
], |
||||||
|
), |
||||||
|
Text( |
||||||
|
"2021.04.12 12:12", |
||||||
|
overflow: TextOverflow.ellipsis, |
||||||
|
maxLines: 2, |
||||||
|
style: TextStyle( |
||||||
|
fontSize: 12.sp, |
||||||
|
color: Color(0xff808080), |
||||||
|
), |
||||||
|
), |
||||||
|
], |
||||||
|
), |
||||||
|
), |
||||||
|
flex: 1, |
||||||
|
), |
||||||
|
], |
||||||
|
), |
||||||
|
SizedBox(height: 12), |
||||||
|
Text( |
||||||
|
"文本,是指书面语言的表现形式,从文学角度说,通常是具有完整、系统含义(Message)的一个句子或多个句子的组合。" |
||||||
|
"一个文本可以是一个句子(Sentence)、一个段落(Paragraph)或者一个篇章(Discourse)。广义“文本”:" |
||||||
|
"任何由书写所固定下来的任何话语。(利科尔) 狭义“文本”:由语言文字组成的文学实体,代指“作品”,相对于作者、世界构成一个独立、自足的系统。", |
||||||
|
overflow: isShowShrink |
||||||
|
? TextOverflow.visible |
||||||
|
: TextOverflow.ellipsis, |
||||||
|
maxLines: isShowShrink ? 10 :5, |
||||||
|
style: TextStyle( |
||||||
|
fontSize: 14.sp, |
||||||
|
color:Color(0xFF1A1A1A), |
||||||
|
fontWeight: MyFontWeight.regular, |
||||||
|
), |
||||||
|
), |
||||||
|
SizedBox(height: 4.h), |
||||||
|
GestureDetector( |
||||||
|
onTap: () { |
||||||
|
setState(() { |
||||||
|
isShowShrink = !isShowShrink; |
||||||
|
}); |
||||||
|
}, |
||||||
|
child: Row( |
||||||
|
// mainAxisAlignment: MainAxisAlignment.end, |
||||||
|
crossAxisAlignment: CrossAxisAlignment.center, |
||||||
|
mainAxisSize: MainAxisSize.max, |
||||||
|
children: [ |
||||||
|
Text( |
||||||
|
(isShowShrink != null && !isShowShrink) |
||||||
|
?"查看全文":"收起", |
||||||
|
style: TextStyle( |
||||||
|
fontSize: 14.sp, |
||||||
|
color: Color(0xFF32A060), |
||||||
|
fontWeight: MyFontWeight.medium, |
||||||
|
), |
||||||
|
), |
||||||
|
], |
||||||
|
), |
||||||
|
), |
||||||
|
SizedBox(height:16.h), |
||||||
|
Image.asset( |
||||||
|
"assets/image/laoban.png", |
||||||
|
height: 310.h, |
||||||
|
), |
||||||
|
SizedBox(height: 17.h), |
||||||
|
Row( |
||||||
|
children: [ |
||||||
|
Row( |
||||||
|
children: [ |
||||||
|
InkWell( |
||||||
|
onTap: () { |
||||||
|
}, |
||||||
|
child: Icon( |
||||||
|
Icons.close, |
||||||
|
color: Colors.black, |
||||||
|
size: 16, |
||||||
|
), |
||||||
|
), |
||||||
|
SizedBox(width:4), |
||||||
|
Text( |
||||||
|
"52", |
||||||
|
style: TextStyle( |
||||||
|
fontSize: 12.sp, |
||||||
|
color:Color(0xFF1A1A1A), |
||||||
|
fontWeight: MyFontWeight.regular, |
||||||
|
), |
||||||
|
), |
||||||
|
], |
||||||
|
), |
||||||
|
], |
||||||
|
), |
||||||
|
SizedBox(height: 16.h), |
||||||
|
], |
||||||
|
), |
||||||
|
); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,111 @@ |
|||||||
|
// GENERATED CODE - DO NOT MODIFY BY HAND |
||||||
|
|
||||||
|
part of 'min_api.dart'; |
||||||
|
|
||||||
|
// ************************************************************************** |
||||||
|
// RetrofitGenerator |
||||||
|
// ************************************************************************** |
||||||
|
|
||||||
|
class _MinApiService implements MinApiService { |
||||||
|
_MinApiService(this._dio, {this.baseUrl}) { |
||||||
|
ArgumentError.checkNotNull(_dio, '_dio'); |
||||||
|
baseUrl ??= 'http://192.168.10.236:8765/app/'; |
||||||
|
} |
||||||
|
|
||||||
|
final Dio _dio; |
||||||
|
|
||||||
|
String baseUrl; |
||||||
|
|
||||||
|
@override |
||||||
|
Future<BaseData<List<FindMiNiGroupList>>> findMiNiGroupList(param) async { |
||||||
|
ArgumentError.checkNotNull(param, 'param'); |
||||||
|
const _extra = <String, dynamic>{}; |
||||||
|
final queryParameters = <String, dynamic>{}; |
||||||
|
final _data = <String, dynamic>{}; |
||||||
|
_data.addAll(param ?? <String, dynamic>{}); |
||||||
|
final _result = await _dio.request<Map<String, dynamic>>( |
||||||
|
'product/findMiNiGroupList', |
||||||
|
queryParameters: queryParameters, |
||||||
|
options: RequestOptions( |
||||||
|
method: 'POST', |
||||||
|
headers: <String, dynamic>{}, |
||||||
|
extra: _extra, |
||||||
|
baseUrl: baseUrl), |
||||||
|
data: _data); |
||||||
|
final value = BaseData<List<FindMiNiGroupList>>.fromJson( |
||||||
|
_result.data, |
||||||
|
(json) => (json as List<dynamic>) |
||||||
|
.map<FindMiNiGroupList>( |
||||||
|
(i) => FindMiNiGroupList.fromJson(i as Map<String, dynamic>)) |
||||||
|
.toList()); |
||||||
|
return value; |
||||||
|
} |
||||||
|
|
||||||
|
@override |
||||||
|
Future<BaseData<MiNiDetail>> miNiDetail(id) async { |
||||||
|
ArgumentError.checkNotNull(id, 'id'); |
||||||
|
const _extra = <String, dynamic>{}; |
||||||
|
final queryParameters = <String, dynamic>{}; |
||||||
|
final _data = <String, dynamic>{}; |
||||||
|
final _result = await _dio.request<Map<String, dynamic>>( |
||||||
|
'/product/queryMiNiProductDetail?id=$id', |
||||||
|
queryParameters: queryParameters, |
||||||
|
options: RequestOptions( |
||||||
|
method: 'GET', |
||||||
|
headers: <String, dynamic>{}, |
||||||
|
extra: _extra, |
||||||
|
baseUrl: baseUrl), |
||||||
|
data: _data); |
||||||
|
final value = BaseData<MiNiDetail>.fromJson( |
||||||
|
_result.data, |
||||||
|
(json) => MiNiDetail.fromJson(json), |
||||||
|
); |
||||||
|
return value; |
||||||
|
} |
||||||
|
|
||||||
|
@override |
||||||
|
Future<BaseData<ShoppingCart>> shoppingCart(param, header) async { |
||||||
|
ArgumentError.checkNotNull(param, 'param'); |
||||||
|
ArgumentError.checkNotNull(header, 'header'); |
||||||
|
const _extra = <String, dynamic>{}; |
||||||
|
final queryParameters = <String, dynamic>{}; |
||||||
|
final _data = <String, dynamic>{}; |
||||||
|
_data.addAll(param ?? <String, dynamic>{}); |
||||||
|
final _result = await _dio.request<Map<String, dynamic>>('shoppingcart', |
||||||
|
queryParameters: queryParameters, |
||||||
|
options: RequestOptions( |
||||||
|
method: 'POST', |
||||||
|
headers: <String, dynamic>{}, |
||||||
|
extra: _extra, |
||||||
|
baseUrl: baseUrl), |
||||||
|
data: _data); |
||||||
|
final value = BaseData<ShoppingCart>.fromJson( |
||||||
|
_result.data, |
||||||
|
(json) => ShoppingCart.fromJson(json), |
||||||
|
); |
||||||
|
return value; |
||||||
|
} |
||||||
|
|
||||||
|
@override |
||||||
|
Future<BaseData<SettleOrderInfo>> getOrderInfo(param) async { |
||||||
|
ArgumentError.checkNotNull(param, 'param'); |
||||||
|
const _extra = <String, dynamic>{}; |
||||||
|
final queryParameters = <String, dynamic>{}; |
||||||
|
final _data = <String, dynamic>{}; |
||||||
|
_data.addAll(param ?? <String, dynamic>{}); |
||||||
|
final _result = await _dio.request<Map<String, dynamic>>( |
||||||
|
'order/getOrderInfo', |
||||||
|
queryParameters: queryParameters, |
||||||
|
options: RequestOptions( |
||||||
|
method: 'POST', |
||||||
|
headers: <String, dynamic>{}, |
||||||
|
extra: _extra, |
||||||
|
baseUrl: baseUrl), |
||||||
|
data: _data); |
||||||
|
final value = BaseData<SettleOrderInfo>.fromJson( |
||||||
|
_result.data, |
||||||
|
(json) => SettleOrderInfo.fromJson(json), |
||||||
|
); |
||||||
|
return value; |
||||||
|
} |
||||||
|
} |