@@ -30,13 +30,16 @@ class GoodsDetailsPageBloc extends Bloc<GoodsDetailsPageEvent, GoodsDetailsPageS | |||
} | |||
Stream<GoodsDetailsPageState> _mapInitEventToState(GoodsDetailsPageInitEvent event) async* { | |||
var result = await repository.fetchInitModData(event.model); | |||
// 获取上面传回来的数据 | |||
var parendData = await repository.fetchParentPageData(event?.model); | |||
if(!EmptyUtil.isEmpty(parendData)){ | |||
yield GoodsDetailsPageLoadedState(model: parendData); | |||
} | |||
// 获取服务器的数据 | |||
var result = await repository.fetchInitModData(event?.model); | |||
if (!EmptyUtil.isEmpty(result)) { | |||
yield GoodsDetailsPageLoadedState(model: result); | |||
// var itemModelData = await repository.fetchModData(event.model); | |||
// if(!EmptyUtil.isEmpty(itemModelData)){ | |||
// yield GoodsDetailsPageLoadedState(model: itemModelData); | |||
// } | |||
} else { | |||
yield GoodsDetailsPageErrorState(); | |||
} | |||
@@ -2,107 +2,161 @@ import 'dart:convert'; | |||
import 'package:zhiying_comm/zhiying_comm.dart'; | |||
class GoodsDetailsPageRepository { | |||
/// 获取上个页面传进来的数据 | |||
Future<List<Map<String, dynamic>>> fetchParentPageData(final Map<String, dynamic> model) async { | |||
try { | |||
if (!EmptyUtil.isEmpty(model) && model.containsKey('detail_data') && !EmptyUtil.isEmpty(model['detail_data'])) { | |||
String provider = model['provider']?.toString(); | |||
String goodId = model['good_id']?.toString(); | |||
if (!EmptyUtil.isEmpty(provider) && !EmptyUtil.isEmpty(goodId)) { | |||
Map<String, dynamic> detailData = model['detail_data']; | |||
return _baseDataProcess(goodId, provider, detailData); | |||
// Logger.log('商品类型 = $provider, 商品ID = $goodId'); | |||
// List<Map<String, dynamic>> _pageData = []; | |||
// List<dynamic> modLists = detailData['mod_list']; | |||
// for (int i = 0; i < modLists.length; i++) { | |||
// Map<String, dynamic> item = modLists[i]; | |||
// Map<String, dynamic> data = item['data']; | |||
// Map<String, dynamic> baseData = {'provider': provider, 'good_id': goodId}; | |||
// data.addAll(baseData); | |||
// item['data'] = data; | |||
// _pageData.add(item); | |||
// } | |||
// return _pageData; | |||
} | |||
} | |||
} catch (e, s) { | |||
Logger.error(e, s); | |||
} | |||
return null; | |||
} | |||
/// 获取数据 | |||
Future<List<Map<String, dynamic>>> fetchInitModData(final Map<String, dynamic> model) async{ | |||
String provider = model['provider']; | |||
String goodId = model['good_id']; | |||
Future<List<Map<String, dynamic>>> fetchInitModData(final Map<String, dynamic> model) async { | |||
try { | |||
String provider = model['provider']; | |||
String goodId = model['good_id']; | |||
if (!EmptyUtil.isEmpty(provider) && !EmptyUtil.isEmpty(goodId)) { | |||
Logger.log('商品类型 = $provider, 商品ID = $goodId'); | |||
var result = await NetUtil.post('/api/v1/detail/$provider/$goodId', method: NetMethod.GET); | |||
if (NetUtil.isSuccess(result) && !EmptyUtil.isEmpty(result[GlobalConfig.HTTP_RESPONSE_KEY_DATA])) { | |||
return _baseDataProcess(goodId, provider, result[GlobalConfig.HTTP_RESPONSE_KEY_DATA]); | |||
// List<Map<String, dynamic>> _pageData = []; | |||
List<Map<String, dynamic>> _pageData = []; | |||
/// 合并数据 | |||
List<dynamic> modLists = result[GlobalConfig.HTTP_RESPONSE_KEY_DATA]['mod_list']; | |||
for(int i = 0; i < modLists.length; i++){ | |||
Map<String, dynamic> item = modLists[i]; | |||
Map<String, dynamic> data = item['data']; | |||
Map<String, dynamic> style = jsonDecode(item['style']); | |||
// List<dynamic> modLists = result[GlobalConfig.HTTP_RESPONSE_KEY_DATA]['mod_list']; | |||
// for (int i = 0; i < modLists.length; i++) { | |||
// Map<String, dynamic> item = modLists[i]; | |||
// Map<String, dynamic> data = item['data']; | |||
// Map<String, dynamic> style = jsonDecode(item['style']); | |||
// | |||
// Map<String, dynamic> baseData = {'provider': provider, 'good_id': goodId}; | |||
// style.addAll(baseData); | |||
// | |||
// if (!EmptyUtil.isEmpty(data)) { | |||
// style.addAll(data); | |||
// item['data'] = jsonEncode(style); | |||
// _pageData.add(item); | |||
// } else { | |||
// item['data'] = jsonEncode(style); | |||
// _pageData.add(item); | |||
// } | |||
// } | |||
// | |||
// return _pageData; | |||
} | |||
} | |||
} catch (e, s) { | |||
Logger.error(e, s); | |||
} | |||
return null; | |||
} | |||
Map<String, dynamic> baseData = {'provider': provider, 'good_id': goodId}; | |||
style.addAll(baseData); | |||
/// 数据处理 | |||
List<Map<String, dynamic>> _baseDataProcess(String goodId, String provider, final Map<String, dynamic> model) { | |||
if (!EmptyUtil.isEmpty(provider) && !EmptyUtil.isEmpty(goodId) && !EmptyUtil.isEmpty(model)) { | |||
try { | |||
List<Map<String, dynamic>> _pageData = []; | |||
Map<String, dynamic> baseData = {'provider': provider, 'good_id': goodId}; | |||
List<dynamic> modLists = model['mod_list']; | |||
for (int i = 0; i < modLists.length; i++) { | |||
Map<String, dynamic> item = modLists[i]; | |||
Map<String, dynamic> data = item['data'] is String ? jsonDecode(item['data']) : item['data']; | |||
Map<String, dynamic> style = jsonDecode(item['style']); | |||
style.addAll(baseData); | |||
if(!EmptyUtil.isEmpty(data)){ | |||
style.addAll(data); | |||
item['data'] = jsonEncode(style); | |||
_pageData.add(item); | |||
}else{ | |||
item['data'] = jsonEncode(style); | |||
_pageData.add(item); | |||
} | |||
if (!EmptyUtil.isEmpty(data)) { | |||
style.addAll(data); | |||
item['data'] = jsonEncode(style); | |||
_pageData.add(item); | |||
} else { | |||
item['data'] = jsonEncode(style); | |||
_pageData.add(item); | |||
} | |||
return _pageData; | |||
} | |||
return _pageData; | |||
} catch (e, s) { | |||
Logger.error(e, s); | |||
} | |||
}catch(e){ | |||
Logger.log(e); | |||
} | |||
return null; | |||
} | |||
///【弃用】获取mod数据 把子mod数据塞在data中 | |||
// Future<List<Map<String, dynamic>>> fetchModData(final Map<String, dynamic> model) async{ | |||
// String provider = model['provider']; | |||
// String goodId = model['good_id']; | |||
// try { | |||
// if (!EmptyUtil.isEmpty(provider) && !EmptyUtil.isEmpty(goodId)) { | |||
// Logger.log('商品类型 = $provider, 商品ID = $goodId'); | |||
// var result = await NetUtil.post('/api/v1/detail/$provider/$goodId', method: NetMethod.GET); | |||
// if(NetUtil.isSuccess(result) && !EmptyUtil.isEmpty(result[GlobalConfig.HTTP_RESPONSE_KEY_DATA])) { | |||
// for (int i = 0; i < _pageData.length; i++) { | |||
// //result[GlobalConfig.HTTP_RESPONSE_KEY_DATA]['mod_list'][i]; | |||
// Map<String, dynamic> resultData = result[GlobalConfig.HTTP_RESPONSE_KEY_DATA]['mod_list'][i]; | |||
// Map<String, dynamic> data = jsonDecode(_pageData[i]['data']); | |||
// if(!EmptyUtil.isEmpty(data)){ | |||
// data.addAll(resultData); | |||
// _pageData[i]['data'] = jsonEncode(data); | |||
// }else{ | |||
// _pageData[i]['data'] = (null != resultData && resultData.length > 0) ? jsonEncode(resultData) : ''; | |||
// } | |||
// } | |||
// return _pageData; | |||
// } | |||
// } | |||
// }catch(e){ | |||
// Logger.log(e); | |||
// } | |||
// return null; | |||
// } | |||
// | |||
// ///【弃用】初始化 | |||
// Future<List<Map<String, dynamic>>> fetchInitData(Map<String, dynamic> model) async { | |||
// int id = 13; | |||
// var result = await NetUtil.post('/api/v1/mod', method: NetMethod.POST, params: {'ids': [id]}); | |||
// try { | |||
// if(NetUtil.isSuccess(result) && !EmptyUtil.isEmpty(result[GlobalConfig.HTTP_RESPONSE_KEY_DATA])) { | |||
// return _loadData(id, result[GlobalConfig.HTTP_RESPONSE_KEY_DATA]); | |||
// } | |||
// } catch (e) { | |||
// Logger.log(e); | |||
// } | |||
// return null; | |||
// } | |||
// | |||
// ///【弃用】处理数据 | |||
// List<Map<String, dynamic>> _loadData(int id, dynamic data) { | |||
// String key = id.toString(); | |||
// Map<String, dynamic> json = Map<String, dynamic>.from(data); | |||
// if (json.containsKey(key)) { | |||
// List<dynamic> list = json[key]; | |||
// _pageData = list.map((item) { | |||
// return Map<String, dynamic>.from(item); | |||
// }).toList(); | |||
// return _pageData; | |||
// } | |||
// return null; | |||
// } | |||
// Future<List<Map<String, dynamic>>> fetchModData(final Map<String, dynamic> model) async{ | |||
// String provider = model['provider']; | |||
// String goodId = model['good_id']; | |||
// try { | |||
// if (!EmptyUtil.isEmpty(provider) && !EmptyUtil.isEmpty(goodId)) { | |||
// Logger.log('商品类型 = $provider, 商品ID = $goodId'); | |||
// var result = await NetUtil.post('/api/v1/detail/$provider/$goodId', method: NetMethod.GET); | |||
// if(NetUtil.isSuccess(result) && !EmptyUtil.isEmpty(result[GlobalConfig.HTTP_RESPONSE_KEY_DATA])) { | |||
// for (int i = 0; i < _pageData.length; i++) { | |||
// //result[GlobalConfig.HTTP_RESPONSE_KEY_DATA]['mod_list'][i]; | |||
// Map<String, dynamic> resultData = result[GlobalConfig.HTTP_RESPONSE_KEY_DATA]['mod_list'][i]; | |||
// Map<String, dynamic> data = jsonDecode(_pageData[i]['data']); | |||
// if(!EmptyUtil.isEmpty(data)){ | |||
// data.addAll(resultData); | |||
// _pageData[i]['data'] = jsonEncode(data); | |||
// }else{ | |||
// _pageData[i]['data'] = (null != resultData && resultData.length > 0) ? jsonEncode(resultData) : ''; | |||
// } | |||
// } | |||
// return _pageData; | |||
// } | |||
// } | |||
// }catch(e){ | |||
// Logger.log(e); | |||
// } | |||
// return null; | |||
// } | |||
// | |||
// ///【弃用】初始化 | |||
// Future<List<Map<String, dynamic>>> fetchInitData(Map<String, dynamic> model) async { | |||
// int id = 13; | |||
// var result = await NetUtil.post('/api/v1/mod', method: NetMethod.POST, params: {'ids': [id]}); | |||
// try { | |||
// if(NetUtil.isSuccess(result) && !EmptyUtil.isEmpty(result[GlobalConfig.HTTP_RESPONSE_KEY_DATA])) { | |||
// return _loadData(id, result[GlobalConfig.HTTP_RESPONSE_KEY_DATA]); | |||
// } | |||
// } catch (e) { | |||
// Logger.log(e); | |||
// } | |||
// return null; | |||
// } | |||
// | |||
// ///【弃用】处理数据 | |||
// List<Map<String, dynamic>> _loadData(int id, dynamic data) { | |||
// String key = id.toString(); | |||
// Map<String, dynamic> json = Map<String, dynamic>.from(data); | |||
// if (json.containsKey(key)) { | |||
// List<dynamic> list = json[key]; | |||
// _pageData = list.map((item) { | |||
// return Map<String, dynamic>.from(item); | |||
// }).toList(); | |||
// return _pageData; | |||
// } | |||
// return null; | |||
// } | |||
} |
@@ -23,7 +23,7 @@ class GoodsDetailsPage extends StatefulWidget { | |||
class _GoodsDetailsPageState extends State<GoodsDetailsPage> { | |||
@override | |||
void initState() { | |||
print("parent data = ${widget.data}"); | |||
print("parent data = ${widget?.data}"); | |||
super.initState(); | |||
} | |||
@@ -36,8 +36,7 @@ class _GoodsDetailsPageState extends State<GoodsDetailsPage> { | |||
], | |||
child: BlocProvider<GoodsDetailsPageBloc>( | |||
create: (_) => | |||
GoodsDetailsPageBloc(repository: GoodsDetailsPageRepository()) | |||
..add(GoodsDetailsPageInitEvent(model: widget?.data)), | |||
GoodsDetailsPageBloc(repository: GoodsDetailsPageRepository())..add(GoodsDetailsPageInitEvent(model: widget?.data)), | |||
child: GoodsDetailsContainer(widget?.data), | |||
), | |||
); | |||
@@ -118,7 +117,7 @@ class _GoodsDetailsContainerState extends State<GoodsDetailsContainer> { | |||
return true; | |||
}, | |||
builder: (context, state) { | |||
print('currente state = $state'); | |||
print('GoodsDetailsPage currente state = $state'); | |||
if (state is GoodsDetailsPageLoadedState) { | |||
return _getMainWidget(state?.model); | |||
} | |||
@@ -46,7 +46,6 @@ class TeamBloc extends Bloc<TeamEvent, TeamState> { | |||
} | |||
var resultData = await repository.fetchNetData(); | |||
if (!EmptyUtil.isEmpty(resultData) && (!EmptyUtil.isEmpty(resultStyle) || !EmptyUtil.isEmpty(cache))) { | |||
Logger.log('================================================= load ================='); | |||
yield TeamLoadedState(dataModel: resultData, styleModel: !EmptyUtil.isEmpty(resultStyle) ? resultStyle : cache); | |||
} else { | |||
yield TeamErrorState(); | |||
@@ -1,41 +1,64 @@ | |||
class TeamDataModel { | |||
String all_fans; | |||
String direct_fans_count; | |||
String indirect_fans_count; | |||
String referrer_invite_code; | |||
String referrer_phone; | |||
String referrer_username; | |||
String referrer_wechat; | |||
String today_add; | |||
String yesterday_add; | |||
TeamDataModel({this.all_fans, this.direct_fans_count, this.indirect_fans_count, this.referrer_invite_code, this.referrer_phone, this.referrer_username, this.referrer_wechat, this.today_add, this.yesterday_add}); | |||
factory TeamDataModel.fromJson(Map<String, dynamic> json) { | |||
return TeamDataModel( | |||
all_fans: json['all_fans'], | |||
direct_fans_count: json['direct_fans_count'], | |||
indirect_fans_count: json['indirect_fans_count'], | |||
referrer_invite_code: json['referrer_invite_code'], | |||
referrer_phone: json['referrer_phone'], | |||
referrer_username: json['referrer_username'], | |||
referrer_wechat: json['referrer_wechat'], | |||
today_add: json['today_add'], | |||
yesterday_add: json['yesterday_add'], | |||
); | |||
} | |||
Map<String, dynamic> toJson() { | |||
final Map<String, dynamic> data = new Map<String, dynamic>(); | |||
data['all_fans'] = this.all_fans; | |||
data['direct_fans_count'] = this.direct_fans_count; | |||
data['indirect_fans_count'] = this.indirect_fans_count; | |||
data['referrer_invite_code'] = this.referrer_invite_code; | |||
data['referrer_phone'] = this.referrer_phone; | |||
data['referrer_username'] = this.referrer_username; | |||
data['referrer_wechat'] = this.referrer_wechat; | |||
data['today_add'] = this.today_add; | |||
data['yesterday_add'] = this.yesterday_add; | |||
return data; | |||
} | |||
} | |||
import 'package:equatable/equatable.dart'; | |||
class TeamDataModel extends Equatable { | |||
String all_fans; | |||
String direct_fans_count; | |||
String indirect_fans_count; | |||
String referrer_invite_code; | |||
String referrer_phone; | |||
String referrer_username; | |||
String referrer_wechat; | |||
String today_add; | |||
String yesterday_add; | |||
String referrerAvatar; | |||
TeamDataModel({ | |||
this.all_fans, | |||
this.direct_fans_count, | |||
this.indirect_fans_count, | |||
this.referrer_invite_code, | |||
this.referrer_phone, | |||
this.referrer_username, | |||
this.referrer_wechat, | |||
this.today_add, | |||
this.yesterday_add, | |||
this.referrerAvatar, | |||
}); | |||
factory TeamDataModel.fromJson(Map<String, dynamic> json) { | |||
return TeamDataModel( | |||
all_fans: json['all_fans'], | |||
direct_fans_count: json['direct_fans_count'], | |||
indirect_fans_count: json['indirect_fans_count'], | |||
referrer_invite_code: json['referrer_invite_code'], | |||
referrer_phone: json['referrer_phone'], | |||
referrer_username: json['referrer_username'], | |||
referrer_wechat: json['referrer_wechat'], | |||
today_add: json['today_add'], | |||
yesterday_add: json['yesterday_add'], | |||
referrerAvatar: json['referrer_avatar'], | |||
); | |||
} | |||
Map<String, dynamic> toJson() { | |||
final Map<String, dynamic> data = new Map<String, dynamic>(); | |||
data['all_fans'] = this.all_fans; | |||
data['direct_fans_count'] = this.direct_fans_count; | |||
data['indirect_fans_count'] = this.indirect_fans_count; | |||
data['referrer_invite_code'] = this.referrer_invite_code; | |||
data['referrer_phone'] = this.referrer_phone; | |||
data['referrer_username'] = this.referrer_username; | |||
data['referrer_wechat'] = this.referrer_wechat; | |||
data['today_add'] = this.today_add; | |||
data['yesterday_add'] = this.yesterday_add; | |||
data['referrer_avatar'] = this.referrerAvatar; | |||
return data; | |||
} | |||
@override | |||
List<Object> get props => [this.all_fans, this.direct_fans_count, this.indirect_fans_count, this.referrer_invite_code, this.referrer_phone, this.referrer_username, this.referrer_wechat, | |||
this.today_add, this.yesterday_add, this.referrerAvatar]; | |||
} |
@@ -52,10 +52,10 @@ class _TeamPageContainerState extends State<_TeamPageContainer> { | |||
return true; | |||
}, | |||
builder: (context, state) { | |||
print('TeamPage state === $state'); | |||
print('TeamPage state === $state, '); | |||
if (state is TeamLoadedState) { | |||
_initTabController(state?.styleModel); | |||
return _getMainWidget(state.styleModel, state.dataModel); | |||
return _getMainWidget(state?.styleModel, state?.dataModel); | |||
} | |||
/// 骨架屏幕 | |||
@@ -12,19 +12,22 @@ class HomeGoodsModel extends Equatable { | |||
String marketPrice; | |||
String currentPrice; | |||
String inorderCount; | |||
Map<String, dynamic> detailData; | |||
HomeGoodsModel( | |||
{this.provider, | |||
this.providerName, | |||
this.goodId, | |||
this.goodImage, | |||
this.goodTitle, | |||
this.shopName, | |||
this.coupon, | |||
this.commission, | |||
this.marketPrice, | |||
this.currentPrice, | |||
this.inorderCount}); | |||
HomeGoodsModel({ | |||
this.provider, | |||
this.providerName, | |||
this.goodId, | |||
this.goodImage, | |||
this.goodTitle, | |||
this.shopName, | |||
this.coupon, | |||
this.commission, | |||
this.marketPrice, | |||
this.currentPrice, | |||
this.inorderCount, | |||
this.detailData, | |||
}); | |||
HomeGoodsModel.fromJson(Map<String, dynamic> json) { | |||
provider = json['provider']; | |||
@@ -38,6 +41,7 @@ class HomeGoodsModel extends Equatable { | |||
marketPrice = json['market_price']; | |||
currentPrice = json['current_price']; | |||
inorderCount = json['inorder_count']; | |||
detailData = json['detail_data']; | |||
} | |||
Map<String, dynamic> toJson() { | |||
@@ -53,10 +57,10 @@ class HomeGoodsModel extends Equatable { | |||
data['market_price'] = this.marketPrice; | |||
data['current_price'] = this.currentPrice; | |||
data['inorder_count'] = this.inorderCount; | |||
data['detail_data'] = this.detailData; | |||
return data; | |||
} | |||
@override | |||
List<Object> get props => [this.goodId, this.provider, this.providerName]; | |||
} | |||
@@ -37,7 +37,12 @@ class TeamRecommendBloc extends Bloc<TeamRecommendEvent, TeamRecommendState> { | |||
/// 初始化数据 | |||
Stream<TeamRecommendState> _mapInitEventToState(TeamRecommendInitEvent event) async* { | |||
yield TeamRecommendLoadedState(event?.dataModel); | |||
var dataModel = await repository.fetchNetData(); | |||
if (!EmptyUtil.isEmpty(dataModel) && !EmptyUtil.isEmpty(dataModel.referrer_username) && !EmptyUtil.isEmpty(dataModel.referrer_invite_code)) { | |||
yield TeamRecommendLoadedState(dataModel); | |||
} else { | |||
yield TeamRecommendErrorState(); | |||
} | |||
} | |||
/// 关联推荐人 | |||
@@ -14,4 +14,19 @@ class TeamRecommendRepository { | |||
} | |||
return null; | |||
} | |||
/// 获取网络数据 | |||
Future<TeamDataModel> fetchNetData() async { | |||
var data = await NetUtil.post('/api/v1/user/myteam', method: NetMethod.GET); | |||
try { | |||
if (NetUtil.isSuccess(data) && !EmptyUtil.isEmpty(data[GlobalConfig.HTTP_RESPONSE_KEY_DATA])) { | |||
TeamDataModel _dataModel = TeamDataModel.fromJson(data[GlobalConfig.HTTP_RESPONSE_KEY_DATA]); | |||
return _dataModel; | |||
} | |||
} catch (e, s) { | |||
Logger.log('e = $e, s = $s'); | |||
} | |||
return null; | |||
} | |||
} |
@@ -10,9 +10,9 @@ class TeamRecommendInitial extends TeamRecommendState { | |||
} | |||
class TeamRecommendLoadedState extends TeamRecommendState { | |||
TeamDataModel model; | |||
final TeamDataModel model; | |||
TeamRecommendLoadedState(this.model); | |||
const TeamRecommendLoadedState(this.model); | |||
@override | |||
List<Object> get props => [this.model]; | |||
@@ -21,7 +21,7 @@ class TeamRecommendWidget extends StatelessWidget { | |||
Widget build(BuildContext context) { | |||
return BlocProvider<TeamRecommendBloc>( | |||
create: (_) => TeamRecommendBloc(TeamRecommendRepository())..add(TeamRecommendInitEvent(dataModel: dataModel)), | |||
child: _TeamRecommendWidgetContainer(styleModel), | |||
child: _TeamRecommendWidgetContainer(styleModel, dataModel), | |||
); | |||
} | |||
} | |||
@@ -29,17 +29,19 @@ class TeamRecommendWidget extends StatelessWidget { | |||
class _TeamRecommendWidgetContainer extends StatefulWidget { | |||
TeamStyleModel styleModel; | |||
// TeamDataModel dataModel; | |||
TeamDataModel dataModel; | |||
_TeamRecommendWidgetContainer(this.styleModel); | |||
_TeamRecommendWidgetContainer(this.styleModel, dataModel); | |||
@override | |||
_TeamRecommendWidgetState createState() => _TeamRecommendWidgetState(); | |||
__TeamRecommendWidgetState createState() => __TeamRecommendWidgetState(); | |||
} | |||
class _TeamRecommendWidgetState extends State<_TeamRecommendWidgetContainer> { | |||
class __TeamRecommendWidgetState extends State<_TeamRecommendWidgetContainer> { | |||
TextEditingController _textEditingController; | |||
FocusNode _focusNode; | |||
TeamStyleModel styleModel; | |||
TeamDataModel dataModel; | |||
/// 按钮点击添加事件 | |||
void _onClickListener() { | |||
@@ -231,7 +233,7 @@ class _TeamRecommendWidgetState extends State<_TeamRecommendWidgetContainer> { | |||
mainAxisAlignment: MainAxisAlignment.start, | |||
children: <Widget>[ | |||
/// 头像widget | |||
_getAvatarWidget(), | |||
_getAvatarWidget(dataModel), | |||
const SizedBox(width: 12), | |||
@@ -242,11 +244,14 @@ class _TeamRecommendWidgetState extends State<_TeamRecommendWidgetContainer> { | |||
} | |||
/// 头像widget | |||
Widget _getAvatarWidget() { | |||
Widget _getAvatarWidget(TeamDataModel dataModel) { | |||
return Container( | |||
width: 55, | |||
height: 55, | |||
color: Colors.red, | |||
// height: 55, | |||
// color: Colors.red, | |||
child: CachedNetworkImage( | |||
imageUrl: dataModel?.referrerAvatar ?? '', | |||
), | |||
); | |||
} | |||