Weller 4 years ago
parent
commit
df4cec036f
6 changed files with 74 additions and 58 deletions
  1. +6
    -6
      lib/pages/message_notice_page/message_notice_page.dart
  2. +22
    -20
      lib/pages/message_notice_page/model/message_notice_data_model.dart
  3. +14
    -16
      lib/pages/message_notice_page/model/message_notice_style_model.dart
  4. +10
    -4
      lib/widgets/team/fans_list/team_fans_item.dart
  5. +12
    -6
      lib/widgets/team/recommend/team_recommend_widget.dart
  6. +10
    -6
      lib/widgets/team_details/referrer/team_details_referrer_widget.dart

+ 6
- 6
lib/pages/message_notice_page/message_notice_page.dart View File

@@ -276,7 +276,7 @@ class __MessageNoticePageContainerState extends State<_MessageNoticePageContaine
/// 官方通知样式 /// 官方通知样式
Widget _buildOfficialNoticeStyleWidget(OfficialNotificationStyle styleModel, MessageNoticeDataItemModel dataModel) { Widget _buildOfficialNoticeStyleWidget(OfficialNotificationStyle styleModel, MessageNoticeDataItemModel dataModel) {
return GestureDetector( return GestureDetector(
onTap: ()=> _onItemClick(styleModel),
onTap: ()=> _onItemClick(dataModel),
behavior: HitTestBehavior.opaque, behavior: HitTestBehavior.opaque,
child: Container( child: Container(
padding: const EdgeInsets.only(left: 15, right: 15, top: 12.5, bottom: 10), padding: const EdgeInsets.only(left: 15, right: 15, top: 12.5, bottom: 10),
@@ -333,7 +333,7 @@ class __MessageNoticePageContainerState extends State<_MessageNoticePageContaine
/// 官方活动样式 /// 官方活动样式
Widget _buildOfficialActivitiesStyleWidget(OfficialActivityStyle styleModel, MessageNoticeDataItemModel dataModel) { Widget _buildOfficialActivitiesStyleWidget(OfficialActivityStyle styleModel, MessageNoticeDataItemModel dataModel) {
return GestureDetector( return GestureDetector(
onTap: ()=> _onItemClick(styleModel),
onTap: ()=> _onItemClick(dataModel),
behavior: HitTestBehavior.opaque, behavior: HitTestBehavior.opaque,
child: Container( child: Container(
padding: const EdgeInsets.only(left: 15, right: 15, top: 12.5, bottom: 10), padding: const EdgeInsets.only(left: 15, right: 15, top: 12.5, bottom: 10),
@@ -380,7 +380,7 @@ class __MessageNoticePageContainerState extends State<_MessageNoticePageContaine
/// 交易通知样式 /// 交易通知样式
Widget _buildTradeNoticeStyleWidget(TransactionNotificationStyle styleModel, MessageNoticeDataItemModel dataModel) { Widget _buildTradeNoticeStyleWidget(TransactionNotificationStyle styleModel, MessageNoticeDataItemModel dataModel) {
return GestureDetector( return GestureDetector(
onTap: ()=> _onItemClick(styleModel),
onTap: ()=> _onItemClick(dataModel),
behavior: HitTestBehavior.opaque, behavior: HitTestBehavior.opaque,
child: Container( child: Container(
padding: const EdgeInsets.only(left: 15, right: 15, top: 12.5, bottom: 10), padding: const EdgeInsets.only(left: 15, right: 15, top: 12.5, bottom: 10),
@@ -426,7 +426,7 @@ class __MessageNoticePageContainerState extends State<_MessageNoticePageContaine
/// 推广通知样式 /// 推广通知样式
Widget _buildPromoteNoticeStyleWidget(PromotionNotificationStyle styleModel, MessageNoticeDataItemModel dataModel) { Widget _buildPromoteNoticeStyleWidget(PromotionNotificationStyle styleModel, MessageNoticeDataItemModel dataModel) {
return GestureDetector( return GestureDetector(
onTap: ()=> _onItemClick(styleModel),
onTap: ()=> _onItemClick(dataModel),
behavior: HitTestBehavior.opaque, behavior: HitTestBehavior.opaque,
child: Container( child: Container(
padding: const EdgeInsets.only(left: 15, right: 15, top: 12.5, bottom: 10), padding: const EdgeInsets.only(left: 15, right: 15, top: 12.5, bottom: 10),
@@ -441,7 +441,7 @@ class __MessageNoticePageContainerState extends State<_MessageNoticePageContaine
Row( Row(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[ children: <Widget>[
_buildCustomerAvatarWidget(icon: styleModel?.icon),
_buildCustomerAvatarWidget(icon: dataModel?.img),
const SizedBox(width: 10), const SizedBox(width: 10),
Expanded( Expanded(
child: Column( child: Column(
@@ -480,7 +480,7 @@ class __MessageNoticePageContainerState extends State<_MessageNoticePageContaine
/// 反馈通知样式 /// 反馈通知样式
Widget _buildFeedbackNoticeStyleWidget(FeedbackNotificationStyle styleModel, MessageNoticeDataItemModel dataModel) { Widget _buildFeedbackNoticeStyleWidget(FeedbackNotificationStyle styleModel, MessageNoticeDataItemModel dataModel) {
return GestureDetector( return GestureDetector(
onTap: ()=> _onItemClick(styleModel),
onTap: ()=> _onItemClick(dataModel),
behavior: HitTestBehavior.opaque, behavior: HitTestBehavior.opaque,
child: Container( child: Container(
padding: const EdgeInsets.only(left: 15, right: 15, top: 14, bottom: 10), padding: const EdgeInsets.only(left: 15, right: 15, top: 14, bottom: 10),


+ 22
- 20
lib/pages/message_notice_page/model/message_notice_data_model.dart View File

@@ -1,5 +1,7 @@
import 'dart:convert'; import 'dart:convert';


import 'package:zhiying_base_widget/dialog/global_dialog/intellect_search_goods_dialog/model/no_goods_dialog_style_model.dart';
import 'package:zhiying_comm/models/base/skip_model.dart';
import 'package:zhiying_comm/util/empty_util.dart'; import 'package:zhiying_comm/util/empty_util.dart';


class MessageNoticeDataModel { class MessageNoticeDataModel {
@@ -22,7 +24,7 @@ class MessageNoticeDataModel {
} }
} }


class MessageNoticeDataItemModel {
class MessageNoticeDataItemModel extends SkipModel {
String unread_count; String unread_count;
String receiver; String receiver;
String body; String body;
@@ -55,28 +57,28 @@ class MessageNoticeDataItemModel {
this.transactions, this.transactions,
}); });


factory MessageNoticeDataItemModel.fromJson(Map<String, dynamic> json) {
return MessageNoticeDataItemModel(
unread_count: json['unread_count']?.toString(),
receiver: json['receiver']?.toString(),
body: json['body']?.toString(),
date_time: json['date_time']?.toString(),
id: json['id']?.toString(),
img: json['img']?.toString(),
main_preview: json['main_preview']?.toString(),
oid: json['oid']?.toString(),
sender: json['sender']?.toString(),
status: json['status']?.toString(),
subtitle: json['subtitle']?.toString(),
title: json['title']?.toString(),
type: json['type']?.toString(),
transactions:
(!EmptyUtil.isEmpty(json['body']) && jsonDecode(json['body']) != null) ? (jsonDecode(json['body']) as List).map((e) => TransactionBodyItemModel.fromJson(e)).toList() : null,
);
MessageNoticeDataItemModel.fromJson(Map<String, dynamic> json) {
super.fromJson(json);
unread_count = json['unread_count']?.toString();
receiver = json['receiver']?.toString();
body = json['body']?.toString();
date_time = json['date_time']?.toString();
id = json['id']?.toString();
img = json['img']?.toString();
main_preview = json['main_preview']?.toString();
oid = json['oid']?.toString();
sender = json['sender']?.toString();
status = json['status']?.toString();
subtitle = json['subtitle']?.toString();
title = json['title']?.toString();
type = json['type']?.toString();
transactions = (!EmptyUtil.isEmpty(json['body']) && jsonDecode(json['body']) != null)
? (jsonDecode(json['body']) as List).map((e) => TransactionBodyItemModel.fromJson(e)).toList()
: null;
} }


Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
final Map<String, dynamic> data = super.toJson();
data['receiver'] = this.receiver; data['receiver'] = this.receiver;
data['body'] = this.body; data['body'] = this.body;
data['date_time'] = this.date_time; data['date_time'] = this.date_time;


+ 14
- 16
lib/pages/message_notice_page/model/message_notice_style_model.dart View File

@@ -1,3 +1,5 @@
import 'dart:collection';

import 'package:zhiying_base_widget/dialog/global_dialog/intellect_search_goods_dialog/model/no_goods_dialog_style_model.dart'; import 'package:zhiying_base_widget/dialog/global_dialog/intellect_search_goods_dialog/model/no_goods_dialog_style_model.dart';
import 'package:zhiying_comm/models/base/skip_model.dart'; import 'package:zhiying_comm/models/base/skip_model.dart';


@@ -81,7 +83,7 @@ class MessageNoticeStyleModel {
} }
} }


class FeedbackNotificationStyle extends SkipModel {
class FeedbackNotificationStyle {
String bg_color; String bg_color;
String icon; String icon;
String message_value_color; String message_value_color;
@@ -110,7 +112,7 @@ class FeedbackNotificationStyle extends SkipModel {
// } // }


FeedbackNotificationStyle.fromJson(Map<String, dynamic> json) { FeedbackNotificationStyle.fromJson(Map<String, dynamic> json) {
super.fromJson(json);
bg_color = json['bg_color']; bg_color = json['bg_color'];
icon = json['icon']; icon = json['icon'];
message_value_color = json['message_value_color']; message_value_color = json['message_value_color'];
@@ -120,7 +122,7 @@ class FeedbackNotificationStyle extends SkipModel {
} }


Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {
final Map<String, dynamic> data = super.toJson();
final Map<String, dynamic> data = new HashMap<String, dynamic>();
data['bg_color'] = this.bg_color; data['bg_color'] = this.bg_color;
data['icon'] = this.icon; data['icon'] = this.icon;
data['message_value_color'] = this.message_value_color; data['message_value_color'] = this.message_value_color;
@@ -157,7 +159,7 @@ class MainNotificationStyle {
} }
} }


class MainNotificationStyleItem extends SkipModel {
class MainNotificationStyleItem {
String bg_color; String bg_color;
String icon; String icon;
String name; String name;
@@ -201,7 +203,7 @@ class MainNotificationStyleItem extends SkipModel {
} }
} }


class OfficialActivityStyle extends SkipModel {
class OfficialActivityStyle {
String bg_color; String bg_color;
String message_value_color; String message_value_color;
String skip_identifier; String skip_identifier;
@@ -217,7 +219,6 @@ class OfficialActivityStyle extends SkipModel {
}); });


OfficialActivityStyle.fromJson(Map<String, dynamic> json) { OfficialActivityStyle.fromJson(Map<String, dynamic> json) {
super.fromJson(json);
bg_color = json['bg_color']; bg_color = json['bg_color'];
message_value_color = json['message_value_color']; message_value_color = json['message_value_color'];
skip_identifier = json['skip_identifier']; skip_identifier = json['skip_identifier'];
@@ -226,7 +227,7 @@ class OfficialActivityStyle extends SkipModel {
} }


Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {
final Map<String, dynamic> data = super.toJson();
final Map<String, dynamic> data = new HashMap<String, dynamic>();
data['bg_color'] = this.bg_color; data['bg_color'] = this.bg_color;
data['message_value_color'] = this.message_value_color; data['message_value_color'] = this.message_value_color;
data['skip_identifier'] = this.skip_identifier; data['skip_identifier'] = this.skip_identifier;
@@ -236,7 +237,7 @@ class OfficialActivityStyle extends SkipModel {
} }
} }


class OfficialNotificationStyle extends SkipModel {
class OfficialNotificationStyle {
String bg_color; String bg_color;
String icon; String icon;
String message_value_color; String message_value_color;
@@ -254,7 +255,6 @@ class OfficialNotificationStyle extends SkipModel {
}); });


OfficialNotificationStyle.fromJson(Map<String, dynamic> json) { OfficialNotificationStyle.fromJson(Map<String, dynamic> json) {
super.fromJson(json);
bg_color = json['bg_color']; bg_color = json['bg_color'];
icon = json['icon']; icon = json['icon'];
message_value_color = json['message_value_color']; message_value_color = json['message_value_color'];
@@ -264,7 +264,7 @@ class OfficialNotificationStyle extends SkipModel {
} }


Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {
final Map<String, dynamic> data = super.toJson();
final Map<String, dynamic> data = new HashMap<String, dynamic>();
data['bg_color'] = this.bg_color; data['bg_color'] = this.bg_color;
data['icon'] = this.icon; data['icon'] = this.icon;
data['message_value_color'] = this.message_value_color; data['message_value_color'] = this.message_value_color;
@@ -275,7 +275,7 @@ class OfficialNotificationStyle extends SkipModel {
} }
} }


class PromotionNotificationStyle extends SkipModel {
class PromotionNotificationStyle {
String bg_color; String bg_color;
String icon; String icon;
String message_value_color; String message_value_color;
@@ -303,7 +303,6 @@ class PromotionNotificationStyle extends SkipModel {
// ); // );
// } // }
PromotionNotificationStyle.fromJson(Map<String, dynamic> json) { PromotionNotificationStyle.fromJson(Map<String, dynamic> json) {
super.fromJson(json);
bg_color = json['bg_color']; bg_color = json['bg_color'];
icon = json['icon']; icon = json['icon'];
message_value_color = json['message_value_color']; message_value_color = json['message_value_color'];
@@ -313,7 +312,7 @@ class PromotionNotificationStyle extends SkipModel {
} }


Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {
final Map<String, dynamic> data = super.toJson();
final Map<String, dynamic> data = new HashMap<String, dynamic>();
data['bg_color'] = this.bg_color; data['bg_color'] = this.bg_color;
data['icon'] = this.icon; data['icon'] = this.icon;
data['message_value_color'] = this.message_value_color; data['message_value_color'] = this.message_value_color;
@@ -324,7 +323,7 @@ class PromotionNotificationStyle extends SkipModel {
} }
} }


class TransactionNotificationStyle extends SkipModel {
class TransactionNotificationStyle {
String bg_color; String bg_color;
String earnings; String earnings;
String icon; String icon;
@@ -356,7 +355,6 @@ class TransactionNotificationStyle extends SkipModel {
// } // }


TransactionNotificationStyle.fromJson(Map<String, dynamic> json) { TransactionNotificationStyle.fromJson(Map<String, dynamic> json) {
super.fromJson(json);
bg_color = json['bg_color']; bg_color = json['bg_color'];
earnings = json['earnings']; earnings = json['earnings'];
icon = json['icon']; icon = json['icon'];
@@ -367,7 +365,7 @@ class TransactionNotificationStyle extends SkipModel {
} }


Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {
final Map<String, dynamic> data = super.toJson();
final Map<String, dynamic> data = new HashMap<String, dynamic>();
data['bg_color'] = this.bg_color; data['bg_color'] = this.bg_color;
data['earnings'] = this.earnings; data['earnings'] = this.earnings;
data['icon'] = this.icon; data['icon'] = this.icon;


+ 10
- 4
lib/widgets/team/fans_list/team_fans_item.dart View File

@@ -1,5 +1,6 @@
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.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/team/fans_list/model/team_fans_list_model.dart'; import 'package:zhiying_base_widget/widgets/team/fans_list/model/team_fans_list_model.dart';
@@ -28,8 +29,13 @@ class _TeamFansItemState extends State<TeamFansItem> {
} }


/// 复制文字 /// 复制文字
void _copyText() {
Fluttertoast.showToast(msg: '复制成功~');
void _copyText(text) {
if(!EmptyUtil.isEmpty(text)) {
Clipboard.setData(ClipboardData(text: text));
Fluttertoast.showToast(msg: '复制成功~');
}else{
Fluttertoast.showToast(msg: '内容不能为空');
}
} }


@override @override
@@ -146,7 +152,7 @@ class _TeamFansItemState extends State<TeamFansItem> {
alignment: ui.PlaceholderAlignment.middle, alignment: ui.PlaceholderAlignment.middle,
child: GestureDetector( child: GestureDetector(
behavior: HitTestBehavior.opaque, behavior: HitTestBehavior.opaque,
onTap: () => _copyText(),
onTap: () => _copyText(widget?.dataModel?.phone),
child: Container( child: Container(
width: 11, width: 11,
margin: const EdgeInsets.only(left: 3), margin: const EdgeInsets.only(left: 3),
@@ -198,7 +204,7 @@ class _TeamFansItemState extends State<TeamFansItem> {
WidgetSpan( WidgetSpan(
alignment: ui.PlaceholderAlignment.middle, alignment: ui.PlaceholderAlignment.middle,
child: GestureDetector( child: GestureDetector(
onTap: () => _copyText(),
onTap: () => _copyText(widget?.dataModel?.wechat),
behavior: HitTestBehavior.opaque, behavior: HitTestBehavior.opaque,
child: Container( child: Container(
padding: const EdgeInsets.only(left: 5.5), padding: const EdgeInsets.only(left: 5.5),


+ 12
- 6
lib/widgets/team/recommend/team_recommend_widget.dart View File

@@ -1,4 +1,5 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:zhiying_base_widget/pages/team_page/model/team_data_model.dart'; import 'package:zhiying_base_widget/pages/team_page/model/team_data_model.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:zhiying_base_widget/widgets/team/recommend/bloc/team_recommend_bloc.dart'; import 'package:zhiying_base_widget/widgets/team/recommend/bloc/team_recommend_bloc.dart';
@@ -54,8 +55,13 @@ class __TeamRecommendWidgetState extends State<_TeamRecommendWidgetContainer> {
} }


/// 拷贝 /// 拷贝
void _copyText() {
Fluttertoast.showToast(msg: '复制成功~');
void _copyText(String text) {
if(!EmptyUtil.isEmpty(text)) {
Clipboard.setData(ClipboardData(text: text));
Fluttertoast.showToast(msg: '复制成功~');
}else{
Fluttertoast.showToast(msg: '内容不能为空~');
}
} }


@override @override
@@ -321,7 +327,7 @@ class __TeamRecommendWidgetState extends State<_TeamRecommendWidgetContainer> {
const SizedBox(width: 6), const SizedBox(width: 6),


/// 拷贝按钮 /// 拷贝按钮
_getCustomCopyWidget(),
_getCustomCopyWidget(dataModel?.referrer_phone),
], ],
); );
} }
@@ -336,16 +342,16 @@ class __TeamRecommendWidgetState extends State<_TeamRecommendWidgetContainer> {
const SizedBox(width: 6), const SizedBox(width: 6),


/// 拷贝按钮 /// 拷贝按钮
_getCustomCopyWidget(),
_getCustomCopyWidget(dataModel?.referrer_wechat),
], ],
); );
} }


/// 自定义复制按钮的Widget /// 自定义复制按钮的Widget
Widget _getCustomCopyWidget() {
Widget _getCustomCopyWidget(String text) {
return GestureDetector( return GestureDetector(
behavior: HitTestBehavior.opaque, behavior: HitTestBehavior.opaque,
onTap: () => _copyText(),
onTap: () => _copyText(text),
child: Container( child: Container(
padding: const EdgeInsets.only(left: 4, bottom: 2, top: 2, right: 6), padding: const EdgeInsets.only(left: 4, bottom: 2, top: 2, right: 6),
decoration: BoxDecoration( decoration: BoxDecoration(


+ 10
- 6
lib/widgets/team_details/referrer/team_details_referrer_widget.dart View File

@@ -12,8 +12,12 @@ class TeamDetailsReferrerWidget extends StatelessWidget {
TeamDetailsReferrerWidget(this.styleModel, this.dataModel); TeamDetailsReferrerWidget(this.styleModel, this.dataModel);


/// 复制文字 /// 复制文字
void _copyText() {
Fluttertoast.showToast(msg: '复制成功~');
void _copyText(String text) {
if (!EmptyUtil.isEmpty(text)) {
Fluttertoast.showToast(msg: '复制成功~');
} else {
Fluttertoast.showToast(msg: '内容不能为空');
}
} }


@override @override
@@ -138,7 +142,7 @@ class TeamDetailsReferrerWidget extends StatelessWidget {
style: TextStyle(color: HexColor.fromHex(styleModel?.phone_color ?? '#333333'), fontSize: 11, fontFamily: 'Din', package: 'zhiying_base_widget')), style: TextStyle(color: HexColor.fromHex(styleModel?.phone_color ?? '#333333'), fontSize: 11, fontFamily: 'Din', package: 'zhiying_base_widget')),


/// 复制按钮 /// 复制按钮
_getCopyWidget(),
_getCopyWidget(dataModel?.phone),
// _getCopyWidget(), // _getCopyWidget(),
]), ]),
), ),
@@ -149,12 +153,12 @@ class TeamDetailsReferrerWidget extends StatelessWidget {
} }


/// 复制按钮 /// 复制按钮
InlineSpan _getCopyWidget() {
InlineSpan _getCopyWidget(String text) {
return WidgetSpan( return WidgetSpan(
alignment: ui.PlaceholderAlignment.middle, alignment: ui.PlaceholderAlignment.middle,
child: GestureDetector( child: GestureDetector(
behavior: HitTestBehavior.opaque, behavior: HitTestBehavior.opaque,
onTap: () => _copyText(),
onTap: () => _copyText(text),
child: Container( child: Container(
width: 15, width: 15,
padding: const EdgeInsets.only(left: 3), padding: const EdgeInsets.only(left: 3),
@@ -190,7 +194,7 @@ class TeamDetailsReferrerWidget extends StatelessWidget {
fontSize: 11, fontSize: 11,
fontFamily: 'Din', fontFamily: 'Din',
package: 'zhiying_base_widget')), package: 'zhiying_base_widget')),
_getCopyWidget(),
_getCopyWidget(dataModel?.wechat),
]), ]),
), ),




Loading…
Cancel
Save