@@ -15,6 +15,7 @@ import 'package:provider/provider.dart'; | |||||
import 'package:zhiying_base_widget/dialog/global_dialog/advertising_dialog/advertising_dialog.dart'; | import 'package:zhiying_base_widget/dialog/global_dialog/advertising_dialog/advertising_dialog.dart'; | ||||
import 'package:zhiying_base_widget/dialog/global_dialog/intellect_search_goods_dialog/intellect_create.dart'; | import 'package:zhiying_base_widget/dialog/global_dialog/intellect_search_goods_dialog/intellect_create.dart'; | ||||
import 'package:zhiying_base_widget/dialog/global_dialog/notification_setting_dialog/notification_setting_dialog.dart'; | import 'package:zhiying_base_widget/dialog/global_dialog/notification_setting_dialog/notification_setting_dialog.dart'; | ||||
import 'package:zhiying_base_widget/dialog/loading/loading.dart'; | |||||
import 'package:zhiying_base_widget/dialog/notification_dialog/notification_dialog.dart'; | import 'package:zhiying_base_widget/dialog/notification_dialog/notification_dialog.dart'; | ||||
import 'package:zhiying_base_widget/dialog/tip_dialog/tip_dialog.dart'; | import 'package:zhiying_base_widget/dialog/tip_dialog/tip_dialog.dart'; | ||||
import 'package:zhiying_base_widget/models/app_config_model.dart'; | import 'package:zhiying_base_widget/models/app_config_model.dart'; | ||||
@@ -139,6 +140,7 @@ class _HomePageState extends State<HomePage> with WidgetsBindingObserver, Ticker | |||||
MobPushUtil.addPushReceiver(); | MobPushUtil.addPushReceiver(); | ||||
loginSubscription = EventUtil.instance.on<LoginSuccessEvent>().listen((event) async { | loginSubscription = EventUtil.instance.on<LoginSuccessEvent>().listen((event) async { | ||||
setAlias(); | setAlias(); | ||||
Loading.dismiss(); | |||||
}); | }); | ||||
} catch (e, s) { | } catch (e, s) { | ||||
print(e); | print(e); | ||||
@@ -373,7 +375,7 @@ class _HomePageState extends State<HomePage> with WidgetsBindingObserver, Ticker | |||||
///每打开5次检查一次权限 | ///每打开5次检查一次权限 | ||||
String showNotiPermissionTime = await SharedPreferencesUtil.getStringValue(Constants.showNotiPermissionTime, defaultVal: "5"); | String showNotiPermissionTime = await SharedPreferencesUtil.getStringValue(Constants.showNotiPermissionTime, defaultVal: "5"); | ||||
int timer = int.tryParse(showNotiPermissionTime) ?? 0; | int timer = int.tryParse(showNotiPermissionTime) ?? 0; | ||||
if (timer % 5 == 0) { | |||||
if (timer % 5 == 0 && Platform.isAndroid) { | |||||
timer++; | timer++; | ||||
SharedPreferencesUtil.setStringValue(Constants.showNotiPermissionTime, timer.toString()); | SharedPreferencesUtil.setStringValue(Constants.showNotiPermissionTime, timer.toString()); | ||||
if (!await Permission.storage.isGranted) { | if (!await Permission.storage.isGranted) { | ||||
@@ -405,6 +407,11 @@ class _HomePageState extends State<HomePage> with WidgetsBindingObserver, Ticker | |||||
} | } | ||||
} | } | ||||
if (Platform.isIOS) { | |||||
///ios不显示弹窗,直接将同意值设置为1 | |||||
SharedPreferencesUtil.setStringValue(Constants.notificationAgree, "1"); | |||||
} | |||||
// 活动弹窗 | // 活动弹窗 | ||||
await AdvertisingDialog.show(context); | await AdvertisingDialog.show(context); | ||||
@@ -499,7 +506,7 @@ class _HomePageState extends State<HomePage> with WidgetsBindingObserver, Ticker | |||||
///设置定向推送 | ///设置定向推送 | ||||
void setAlias() async { | void setAlias() async { | ||||
///如果没有开启通知则设置别名 | ///如果没有开启通知则设置别名 | ||||
if (await SharedPreferencesUtil.getStringValue(Constants.notificationAgree, defaultVal: "0") == "1") { | |||||
if (await SharedPreferencesUtil.getStringValue(Constants.notificationAgree, defaultVal: "0") == "1" || Platform.isIOS) { | |||||
UserInfoModel userInfo = UserInfoNotifier?.staitcUserInfo; | UserInfoModel userInfo = UserInfoNotifier?.staitcUserInfo; | ||||
var setting = await NativeUtil.getSetting(); | var setting = await NativeUtil.getSetting(); | ||||
String masterId = setting['master_id']; | String masterId = setting['master_id']; | ||||
@@ -1,7 +1,13 @@ | |||||
import 'dart:async'; | |||||
import 'dart:io'; | |||||
import 'package:flutter/material.dart'; | import 'package:flutter/material.dart'; | ||||
import 'package:flutter_bloc/flutter_bloc.dart'; | import 'package:flutter_bloc/flutter_bloc.dart'; | ||||
import 'package:zhiying_base_widget/dialog/notification_dialog/notification_dialog.dart'; | |||||
import 'package:zhiying_base_widget/pages/message_settings_page/model/message_settings_data_model.dart'; | import 'package:zhiying_base_widget/pages/message_settings_page/model/message_settings_data_model.dart'; | ||||
import 'package:zhiying_base_widget/pages/message_settings_page/model/message_settings_style_model.dart'; | import 'package:zhiying_base_widget/pages/message_settings_page/model/message_settings_style_model.dart'; | ||||
import 'package:zhiying_base_widget/utils/contants.dart'; | |||||
import 'package:zhiying_base_widget/utils/mob_push_util.dart'; | |||||
import 'package:zhiying_comm/zhiying_comm.dart'; | import 'package:zhiying_comm/zhiying_comm.dart'; | ||||
import 'bloc/message_settings_bloc.dart'; | import 'bloc/message_settings_bloc.dart'; | ||||
@@ -32,6 +38,8 @@ class _MessageSettingsPageContainer extends StatefulWidget { | |||||
} | } | ||||
class __MessageSettingsPageContainerState extends State<_MessageSettingsPageContainer> { | class __MessageSettingsPageContainerState extends State<_MessageSettingsPageContainer> { | ||||
bool isOpen = false; | |||||
/// 列表点击 | /// 列表点击 | ||||
void _onClickListItem(Settings model, MessageSettingsDataModel dataModel) { | void _onClickListItem(Settings model, MessageSettingsDataModel dataModel) { | ||||
/// 跳转查看隐私协议 | /// 跳转查看隐私协议 | ||||
@@ -41,8 +49,70 @@ class __MessageSettingsPageContainerState extends State<_MessageSettingsPageCont | |||||
} | } | ||||
/// 隐私开关 | /// 隐私开关 | ||||
void _switchOnChange(String key, bool value) { | |||||
BlocProvider.of<MessageSettingsBloc>(context).add(MessageSettingsUpdateEvent(value: value, key: key)); | |||||
void _switchOnChange(bool value) async { | |||||
if (value) { | |||||
await SharedPreferencesUtil.setStringValue(Constants.notificationAgree, "1"); | |||||
if (!await Permission.notification.isGranted) { | |||||
bool isGranted = await Permission.notification.isGranted; | |||||
if (!isGranted) { | |||||
var result = await showDialog( | |||||
context: context, | |||||
child: NotificationDialog( | |||||
isGranted: isGranted, | |||||
)); | |||||
if (result != null && result) { | |||||
SharedPreferencesUtil.setStringValue(Constants.notificationAgree, "1"); | |||||
if (!await Permission.notification.isGranted) { | |||||
if (Platform.isIOS) { | |||||
await openAppSettings().then((value) { | |||||
getState(); | |||||
}); | |||||
} else { | |||||
await NativeUtil.openAppSettings(); | |||||
} | |||||
} | |||||
} | |||||
} | |||||
} | |||||
setAlias(); | |||||
} else { | |||||
await SharedPreferencesUtil.setStringValue(Constants.notificationAgree, "0"); | |||||
MobPushUtil.deleteAlias(); | |||||
} | |||||
getState(); | |||||
//BlocProvider.of<MessageSettingsBloc>(context).add(MessageSettingsUpdateEvent(value: value, key: key)); | |||||
} | |||||
///设置定向推送 | |||||
void setAlias() async { | |||||
///如果没有开启通知则设置别名 | |||||
UserInfoModel userInfo = UserInfoNotifier?.staitcUserInfo; | |||||
var setting = await NativeUtil.getSetting(); | |||||
String masterId = setting['master_id']; | |||||
Logger.log("我的Alias: " + masterId + "_" + userInfo?.userId); | |||||
if (!EmptyUtil.isEmpty(userInfo.userId) && !EmptyUtil.isEmpty(masterId)) { | |||||
print("设置标签" + masterId + "_" + userInfo.userId); | |||||
await MobPushUtil.restartPush(); | |||||
await MobPushUtil.setAlias(masterId + "_" + userInfo.userId); | |||||
SharedPreferencesUtil.setStringValue(Constants.isSetTag, "1"); | |||||
} | |||||
} | |||||
Timer timer; | |||||
@override | |||||
void initState() { | |||||
getState(); | |||||
timer = Timer.periodic(Duration(seconds: 1), (timer) { | |||||
getState(); | |||||
}); | |||||
super.initState(); | |||||
} | |||||
@override | |||||
void dispose() { | |||||
timer?.cancel(); | |||||
super.dispose(); | |||||
} | } | ||||
@override | @override | ||||
@@ -139,11 +209,11 @@ class __MessageSettingsPageContainerState extends State<_MessageSettingsPageCont | |||||
width: 60, | width: 60, | ||||
height: 15, | height: 15, | ||||
child: Switch( | child: Switch( | ||||
value: dataModel.data[element.dataKeys[0]] == '1', | |||||
value: isOpen, | |||||
activeColor: HexColor.fromHex('#FF4B4B'), | activeColor: HexColor.fromHex('#FF4B4B'), | ||||
// trackColor: HexColor.fromHex('#F9F9F9') , | // trackColor: HexColor.fromHex('#F9F9F9') , | ||||
onChanged: (bool value) { | onChanged: (bool value) { | ||||
_switchOnChange(element.dataKeys[0], value); | |||||
_switchOnChange(value); | |||||
}, | }, | ||||
), | ), | ||||
), | ), | ||||
@@ -227,4 +297,11 @@ class __MessageSettingsPageContainerState extends State<_MessageSettingsPageCont | |||||
elevation: 0, | elevation: 0, | ||||
); | ); | ||||
} | } | ||||
void getState() async { | |||||
var result = await SharedPreferencesUtil.getStringValue(Constants.notificationAgree, defaultVal: "0"); | |||||
var per = await Permission.notification.isGranted; | |||||
isOpen = (result == "1" && per) ? true : false; | |||||
setState(() {}); | |||||
} | |||||
} | } |
@@ -38,7 +38,18 @@ class MobPushUtil { | |||||
break; | break; | ||||
//接受到推送弹出通知事件 | //接受到推送弹出通知事件 | ||||
case 1: | case 1: | ||||
MobPushNotifyMessage message = new MobPushNotifyMessage.fromJson(result); | |||||
try { | |||||
MobPushNotifyMessage message = new MobPushNotifyMessage.fromJson(result); | |||||
Map<String, dynamic> map = message.extrasMap; | |||||
if(map.containsKey("skip_identifier")){ | |||||
//公共跳转 | |||||
RouterUtil.route(SkipModel.fromJson(map), map, context); | |||||
} | |||||
} catch (e) { | |||||
Logger.log(e); | |||||
RouterUtil.goBackHomePage(context); | |||||
} | |||||
print("类型1: " + result.toString()); | print("类型1: " + result.toString()); | ||||
break; | break; | ||||
//点击弹窗事件 | //点击弹窗事件 | ||||
@@ -6,6 +6,7 @@ import 'package:zhiying_comm/zhiying_comm.dart'; | |||||
import 'bottom_pic_style.dart'; | import 'bottom_pic_style.dart'; | ||||
////自定义页面底部固定图片 | |||||
class BottomPic extends StatelessWidget { | class BottomPic extends StatelessWidget { | ||||
final Map<String, dynamic> model; | final Map<String, dynamic> model; | ||||
@@ -1,5 +1,6 @@ | |||||
import 'package:flutter/material.dart'; | import 'package:flutter/material.dart'; | ||||
import 'package:flutter/services.dart'; | import 'package:flutter/services.dart'; | ||||
import 'package:zhiying_base_widget/widgets/base_state/base_state.dart'; | |||||
import 'package:zhiying_base_widget/widgets/custom/multi_nav/cached_network_image_util.dart'; | import 'package:zhiying_base_widget/widgets/custom/multi_nav/cached_network_image_util.dart'; | ||||
import 'package:zhiying_base_widget/widgets/custom/share_content/model/custom_share_content_model.dart'; | import 'package:zhiying_base_widget/widgets/custom/share_content/model/custom_share_content_model.dart'; | ||||
import 'package:zhiying_base_widget/widgets/custom/share_content/share_content_sk.dart'; | import 'package:zhiying_base_widget/widgets/custom/share_content/share_content_sk.dart'; | ||||
@@ -16,7 +17,6 @@ import 'package:flutter/cupertino.dart'; | |||||
/// 分享内容组件 | /// 分享内容组件 | ||||
/// | /// | ||||
class CustomShareContentWidget extends StatelessWidget { | class CustomShareContentWidget extends StatelessWidget { | ||||
final Map<String, dynamic> model; | final Map<String, dynamic> model; | ||||
const CustomShareContentWidget(this.model, {Key key}) : super(key: key); | const CustomShareContentWidget(this.model, {Key key}) : super(key: key); | ||||
@@ -35,8 +35,7 @@ class _CustomShareContentContainerWidget extends StatefulWidget { | |||||
_CustomShareContentContainerWidgetState createState() => _CustomShareContentContainerWidgetState(); | _CustomShareContentContainerWidgetState createState() => _CustomShareContentContainerWidgetState(); | ||||
} | } | ||||
class _CustomShareContentContainerWidgetState extends State<_CustomShareContentContainerWidget> { | |||||
class _CustomShareContentContainerWidgetState extends BaseWidgetState<_CustomShareContentContainerWidget> { | |||||
/// 分享方法 | /// 分享方法 | ||||
void _clickShareButton(val) { | void _clickShareButton(val) { | ||||
showCupertinoModalPopup( | showCupertinoModalPopup( | ||||
@@ -62,6 +61,7 @@ class _CustomShareContentContainerWidgetState extends State<_CustomShareContentC | |||||
}, | }, | ||||
builder: (context, state) { | builder: (context, state) { | ||||
Logger.log('商品详情刷新了 builder state = ' + state?.toString()); | Logger.log('商品详情刷新了 builder state = ' + state?.toString()); | ||||
/// 数据加载完毕 | /// 数据加载完毕 | ||||
if (state is CustomShareContentLoadedState) { | if (state is CustomShareContentLoadedState) { | ||||
return _getMainWidget(state?.model); | return _getMainWidget(state?.model); | ||||
@@ -71,6 +71,7 @@ class _CustomShareContentContainerWidgetState extends State<_CustomShareContentC | |||||
if (state is CustomShareContentErrorState) { | if (state is CustomShareContentErrorState) { | ||||
return _errorWidget(); | return _errorWidget(); | ||||
} | } | ||||
/// 骨架图 | /// 骨架图 | ||||
return _getSkeletonWidget(); | return _getSkeletonWidget(); | ||||
}, | }, | ||||
@@ -80,59 +81,82 @@ class _CustomShareContentContainerWidgetState extends State<_CustomShareContentC | |||||
/// 主视图 | /// 主视图 | ||||
Widget _getMainWidget(CustomShareContentModel model) { | Widget _getMainWidget(CustomShareContentModel model) { | ||||
return Container( | return Container( | ||||
width: double.infinity, | |||||
// height: 98, | |||||
margin: EdgeInsets.only(top: ParseUtil.stringParseDouble(model?.topMargin), left: ParseUtil.stringParseDouble(model?.leftRightMargin, defVal: 12.5), right: ParseUtil.stringParseDouble(model?.leftRightMargin, defVal: 12.5)), | |||||
decoration: BoxDecoration( | |||||
// color: Colors.red, | |||||
borderRadius: BorderRadius.only( | |||||
bottomLeft: Radius.circular(ParseUtil.stringParseDouble(model?.bottomLeftRadius)), | |||||
bottomRight: Radius.circular(ParseUtil.stringParseDouble(model?.bottomRightRadius)), | |||||
topLeft: Radius.circular(ParseUtil.stringParseDouble(model?.topLeftRadius)), | |||||
topRight: Radius.circular(ParseUtil.stringParseDouble(model?.topRightRadius)), | |||||
)), | |||||
child: Container( | |||||
width: double.infinity, | width: double.infinity, | ||||
padding: const EdgeInsets.only(left: 12, right: 12, bottom: 14), | |||||
// height: 98, | |||||
margin: EdgeInsets.only( | |||||
top: ParseUtil.stringParseDouble(model?.topMargin), | |||||
left: ParseUtil.stringParseDouble(model?.leftRightMargin, defVal: 12.5), | |||||
right: ParseUtil.stringParseDouble(model?.leftRightMargin, defVal: 12.5)), | |||||
decoration: BoxDecoration( | decoration: BoxDecoration( | ||||
color: HexColor.fromHex(model?.cardBgColor), | |||||
border: Border.all(color: HexColor.fromHex(model?.cardBorderColor), width: 1), | |||||
borderRadius: BorderRadius.all(Radius.circular(8)) | |||||
), | |||||
child: Column( | |||||
children: [ | |||||
// 标题 | |||||
Row( | |||||
mainAxisAlignment: MainAxisAlignment.spaceBetween, | |||||
crossAxisAlignment: CrossAxisAlignment.center, | |||||
children: [ | |||||
CachedNetworkImage(imageUrl: model?.scaleImageUrl, width: 36), | |||||
CachedNetworkImage(imageUrl: model?.titleImageUrl, width: 90), | |||||
SizedBox(width: 36,) | |||||
], | |||||
), | |||||
SizedBox(height: 20), | |||||
// 文案 | |||||
Text(model?.text?? '', style: TextStyle(color: HexColor.fromHex(model?.textColor), fontSize: 15), maxLines: 4, overflow: TextOverflow.ellipsis,), | |||||
SizedBox(height: 22), | |||||
// 复制按钮 or 分享 按钮 | |||||
Visibility( | |||||
visible: (model?.isShowShareFriend ?? '0') == '1', | |||||
// 仅仅复制按钮 | |||||
replacement: GestureDetector( onTap: () => _clickCopyButton(model?.text) ,child: CachedNetworkImage(imageUrl: model?.copyLongImageUrl ?? '', width: double.infinity)), | |||||
child: Row( | |||||
children: [ | |||||
// 复制按钮 | |||||
Flexible(flex: 1, child: GestureDetector(onTap: () => _clickCopyButton(model?.text),child: CachedNetworkImage(imageUrl: model?.copyImageUrl, width: double.infinity,))), | |||||
SizedBox(width: 20), | |||||
// 分享按钮 | |||||
Flexible(flex: 1,child: GestureDetector(onTap: ()=> _clickShareButton(model?.text), child: CachedNetworkImage(imageUrl: model?.shareImageUrl, width: double.infinity,))) | |||||
], | |||||
)) | |||||
], | |||||
), | |||||
) | |||||
); | |||||
// color: Colors.red, | |||||
borderRadius: BorderRadius.only( | |||||
bottomLeft: Radius.circular(ParseUtil.stringParseDouble(model?.bottomLeftRadius)), | |||||
bottomRight: Radius.circular(ParseUtil.stringParseDouble(model?.bottomRightRadius)), | |||||
topLeft: Radius.circular(ParseUtil.stringParseDouble(model?.topLeftRadius)), | |||||
topRight: Radius.circular(ParseUtil.stringParseDouble(model?.topRightRadius)), | |||||
)), | |||||
child: Container( | |||||
width: double.infinity, | |||||
padding: const EdgeInsets.only(left: 12, right: 12, bottom: 14), | |||||
decoration: BoxDecoration( | |||||
color: HexColor.fromHex(model?.cardBgColor), | |||||
border: Border.all(color: HexColor.fromHex(model?.cardBorderColor), width: 1), | |||||
borderRadius: BorderRadius.all(Radius.circular(8))), | |||||
child: Column( | |||||
children: [ | |||||
// 标题 | |||||
Row( | |||||
mainAxisAlignment: MainAxisAlignment.spaceBetween, | |||||
crossAxisAlignment: CrossAxisAlignment.center, | |||||
children: [ | |||||
CachedNetworkImage(imageUrl: model?.scaleImageUrl, width: 36), | |||||
CachedNetworkImage(imageUrl: model?.titleImageUrl, width: 90), | |||||
SizedBox( | |||||
width: 36, | |||||
) | |||||
], | |||||
), | |||||
SizedBox(height: 20), | |||||
// 文案 | |||||
Text( | |||||
model?.text ?? '', | |||||
style: TextStyle(color: HexColor.fromHex(model?.textColor), fontSize: 15), | |||||
maxLines: 4, | |||||
overflow: TextOverflow.ellipsis, | |||||
), | |||||
SizedBox(height: 22), | |||||
// 复制按钮 or 分享 按钮 | |||||
Visibility( | |||||
visible: (model?.isShowShareFriend ?? '0') == '1', | |||||
// 仅仅复制按钮 | |||||
replacement: | |||||
GestureDetector(onTap: () => _clickCopyButton(model?.text), child: CachedNetworkImage(imageUrl: model?.copyLongImageUrl ?? '', width: double.infinity)), | |||||
child: Row( | |||||
children: [ | |||||
// 复制按钮 | |||||
Flexible( | |||||
flex: 1, | |||||
child: GestureDetector( | |||||
onTap: () => _clickCopyButton(model?.text), | |||||
child: CachedNetworkImage( | |||||
imageUrl: model?.copyImageUrl, | |||||
width: double.infinity, | |||||
))), | |||||
SizedBox(width: 20), | |||||
// 分享按钮 | |||||
Flexible( | |||||
flex: 1, | |||||
child: GestureDetector( | |||||
onTap: () => _clickShareButton(model?.text), | |||||
child: CachedNetworkImage( | |||||
imageUrl: model?.shareImageUrl, | |||||
width: double.infinity, | |||||
))) | |||||
], | |||||
)) | |||||
], | |||||
), | |||||
)); | |||||
} | } | ||||
/// 骨架图 | /// 骨架图 | ||||
@@ -145,5 +169,8 @@ class _CustomShareContentContainerWidgetState extends State<_CustomShareContentC | |||||
return Container(); | return Container(); | ||||
} | } | ||||
@override | |||||
void refreshWidget(String value) { | |||||
setState(() {}); | |||||
} | |||||
} | } | ||||
@@ -3,6 +3,7 @@ import 'package:flutter/material.dart'; | |||||
import 'package:flutter/services.dart'; | import 'package:flutter/services.dart'; | ||||
import 'package:zhiying_base_widget/pages/team_page/model/team_style_model.dart'; | import 'package:zhiying_base_widget/pages/team_page/model/team_style_model.dart'; | ||||
import 'package:cached_network_image/cached_network_image.dart'; | import 'package:cached_network_image/cached_network_image.dart'; | ||||
import 'package:zhiying_base_widget/widgets/base_state/base_state.dart'; | |||||
import 'package:zhiying_base_widget/widgets/team/fans_list/model/team_fans_list_model.dart'; | import 'package:zhiying_base_widget/widgets/team/fans_list/model/team_fans_list_model.dart'; | ||||
import 'package:zhiying_comm/zhiying_comm.dart'; | import 'package:zhiying_comm/zhiying_comm.dart'; | ||||
import 'package:fluttertoast/fluttertoast.dart'; | import 'package:fluttertoast/fluttertoast.dart'; | ||||
@@ -21,7 +22,7 @@ class TeamFansItem extends StatefulWidget { | |||||
_TeamFansItemState createState() => _TeamFansItemState(); | _TeamFansItemState createState() => _TeamFansItemState(); | ||||
} | } | ||||
class _TeamFansItemState extends State<TeamFansItem> { | |||||
class _TeamFansItemState extends BaseWidgetState<TeamFansItem> { | |||||
/// 跳去粉丝详情 | /// 跳去粉丝详情 | ||||
void _openFansItemDetailsPage() { | void _openFansItemDetailsPage() { | ||||
// Navigator.push(context, CupertinoPageRoute(builder: (_) => TeamDetailsPage(null))); | // Navigator.push(context, CupertinoPageRoute(builder: (_) => TeamDetailsPage(null))); | ||||
@@ -30,10 +31,10 @@ class _TeamFansItemState extends State<TeamFansItem> { | |||||
/// 复制文字 | /// 复制文字 | ||||
void _copyText(text) { | void _copyText(text) { | ||||
if(!EmptyUtil.isEmpty(text)) { | |||||
if (!EmptyUtil.isEmpty(text)) { | |||||
Clipboard.setData(ClipboardData(text: text)); | Clipboard.setData(ClipboardData(text: text)); | ||||
Fluttertoast.showToast(msg: '复制成功~'); | Fluttertoast.showToast(msg: '复制成功~'); | ||||
}else{ | |||||
} else { | |||||
Fluttertoast.showToast(msg: '内容不能为空'); | Fluttertoast.showToast(msg: '内容不能为空'); | ||||
} | } | ||||
} | } | ||||
@@ -79,7 +80,7 @@ class _TeamFansItemState extends State<TeamFansItem> { | |||||
// ), | // ), | ||||
child: CircleAvatar( | child: CircleAvatar( | ||||
backgroundImage: CachedNetworkImageProvider( | backgroundImage: CachedNetworkImageProvider( | ||||
widget?.dataModel?.avatar ?? '', | |||||
widget?.dataModel?.avatar ?? '', | |||||
), | ), | ||||
), | ), | ||||
)), | )), | ||||
@@ -106,7 +107,10 @@ class _TeamFansItemState extends State<TeamFansItem> { | |||||
alignment: Alignment.center, | alignment: Alignment.center, | ||||
child: Row( | child: Row( | ||||
children: <Widget>[ | children: <Widget>[ | ||||
CachedNetworkImage(imageUrl: widget?.dataModel?.levelIcon ?? '', width: 11,), | |||||
CachedNetworkImage( | |||||
imageUrl: widget?.dataModel?.levelIcon ?? '', | |||||
width: 11, | |||||
), | |||||
const SizedBox(width: 2.5), | const SizedBox(width: 2.5), | ||||
Text( | Text( | ||||
widget?.dataModel?.levelName ?? '黑钻会员', | widget?.dataModel?.levelName ?? '黑钻会员', | ||||
@@ -145,13 +149,10 @@ class _TeamFansItemState extends State<TeamFansItem> { | |||||
textAlign: TextAlign.center, | textAlign: TextAlign.center, | ||||
text: TextSpan(text: '', children: [ | text: TextSpan(text: '', children: [ | ||||
/// 手机号码 | /// 手机号码 | ||||
TextSpan( | |||||
text: widget?.styleModel?.phooneText ?? '手机号:', | |||||
style: TextStyle(color: HexColor.fromHex(widget?.styleModel?.phoneColor ?? '#333333'), fontSize: 11)), | |||||
TextSpan(text: widget?.styleModel?.phooneText ?? '手机号:', style: TextStyle(color: HexColor.fromHex(widget?.styleModel?.phoneColor ?? '#333333'), fontSize: 11)), | |||||
TextSpan( | TextSpan( | ||||
text: widget?.dataModel?.blurMobile ?? '', | text: widget?.dataModel?.blurMobile ?? '', | ||||
style: TextStyle( | |||||
color: HexColor.fromHex(widget?.styleModel?.phoneColor ?? '#333333'), fontSize: 11, fontFamily: 'Din', package: 'zhiying_comm')), | |||||
style: TextStyle(color: HexColor.fromHex(widget?.styleModel?.phoneColor ?? '#333333'), fontSize: 11, fontFamily: 'Din', package: 'zhiying_comm')), | |||||
/// 复制按钮 | /// 复制按钮 | ||||
WidgetSpan( | WidgetSpan( | ||||
@@ -234,11 +235,7 @@ class _TeamFansItemState extends State<TeamFansItem> { | |||||
)), | )), | ||||
TextSpan( | TextSpan( | ||||
text: widget?.dataModel?.lastLogin ?? '', | text: widget?.dataModel?.lastLogin ?? '', | ||||
style: TextStyle( | |||||
color: HexColor.fromHex(widget?.styleModel?.infoBarLastLoginValueColor ?? '#909090'), | |||||
fontSize: 11, | |||||
fontFamily: 'Din', | |||||
package: 'zhiying_comm')), | |||||
style: TextStyle(color: HexColor.fromHex(widget?.styleModel?.infoBarLastLoginValueColor ?? '#909090'), fontSize: 11, fontFamily: 'Din', package: 'zhiying_comm')), | |||||
]), | ]), | ||||
) | ) | ||||
], | ], | ||||
@@ -377,4 +374,9 @@ class _TeamFansItemState extends State<TeamFansItem> { | |||||
], | ], | ||||
); | ); | ||||
} | } | ||||
@override | |||||
void refreshWidget(String value) { | |||||
setState(() {}); | |||||
} | |||||
} | } |