chatapp3-flutter/lib/app/config/strategies/base_business_logic_strategy.dart
2026-04-15 21:22:05 +08:00

2542 lines
75 KiB
Dart
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import 'package:flutter/material.dart';
import 'package:yumi/app/config/business_logic_strategy.dart';
import 'package:yumi/shared/data_sources/sources/local/user_manager.dart';
import 'package:yumi/app_localizations.dart';
import 'package:yumi/services/general/sc_app_general_manager.dart';
import 'package:yumi/shared/tools/sc_dialog_utils.dart';
import 'package:yumi/ui_kit/theme/socialchat_theme.dart';
import 'package:provider/provider.dart';
/// 基础业务逻辑策略实现
/// 提供原始应用的默认业务逻辑
class BaseBusinessLogicStrategy implements BusinessLogicStrategy {
@override
List<Widget> getHomeTabPages(BuildContext context) {
final List<Widget> pages = [];
return pages;
}
@override
List<Widget> getHomeTabLabels(BuildContext context) {
final List<Widget> tabs = [];
tabs.add(Tab(text: SCAppLocalizations.of(context)!.popular));
tabs.add(Tab(text: SCAppLocalizations.of(context)!.explore));
return tabs;
}
@override
int getHomeInitialTabIndex() {
return 0;
}
@override
void onAvatarTap(BuildContext context) {
Provider.of<SCAppGeneralManager>(
context,
listen: false,
).openDrawer(context);
}
@override
bool shouldShowFirstRechargePrompt() {
return UserManager().getCurrentUser()?.userProfile?.firstRecharge ?? false;
}
@override
Map<String, double?> getFirstRechargePosition() {
return {'bottom': 40.0, 'end': 15.0, 'top': null, 'start': null};
}
@override
void onFirstRechargeTap(BuildContext context) {
SCDialogUtils.showFirstRechargeDialog(context);
}
/// === 登录页面差异化方法实现 ===
@override
String getLoginBackgroundImage() {
// 原始应用默认背景图片
return "sc_images/login/login_account.png";
}
@override
String getLoginAppIcon() {
// 原始应用默认图标
return "sc_images/splash/sc_icon_splash_icon.png";
}
@override
Color getLoginButtonColor() {
// 原始应用默认按钮颜色 - 使用马甲包主题的primaryLight
return SocialChatTheme.primaryLight;
}
@override
List<Color>? getLoginButtonGradient() {
// 原始应用默认不使用渐变
return null;
}
@override
Color getLoginButtonTextColor() {
// 原始应用默认按钮文本颜色(白色)
return Colors.white;
}
@override
Color getLoginLabelTextColor() {
// 原始应用默认标签文本颜色(黑色)
return Colors.black;
}
@override
BoxDecoration getLoginInputDecoration() {
// 原始应用输入框装饰:透明背景,黑色边框
return BoxDecoration(
color: Colors.transparent,
borderRadius: BorderRadius.all(Radius.circular(8)),
border: Border.all(color: Colors.black45, width: 0.5),
);
}
@override
EdgeInsets getLoginPagePadding() {
// 原始应用默认内边距
return const EdgeInsets.only(top: 100);
}
@override
bool shouldShowLoginStatusBar() {
// 原始应用默认显示状态栏
return true;
}
@override
Color getLoginHintTextColor() {
// 原始应用默认提示文本颜色黑色45%透明度)
return Colors.black45;
}
@override
Color getLoginInputTextColor() {
// 原始应用默认输入文本颜色(黑色)
return Colors.black;
}
/// === 家族页面差异化方法实现 ===
@override
bool shouldShowPasswordRoomIcon() {
// 原始应用:显示密码房间图标
return true;
}
/// === 探索页面差异化方法实现 ===
@override
int getExploreRoomDisplayThreshold() {
// 原始应用显示前6个房间在抽屉上方
return 6;
}
@override
String getExploreGridIcon() {
// 原始应用:网格视图图标
return "sc_images/index/sc_icon_index_room_model_1.png";
}
@override
String getExploreListIcon() {
// 原始应用:列表视图图标
return "sc_images/index/sc_icon_index_room_model_2.png";
}
@override
String getExploreRankIconPattern(bool isGrid, int rank) {
// 原始应用:排名图标路径模式
if (isGrid) {
return "sc_images/index/sc_icon_explore_room_model_1_rank_$rank.png";
} else {
return "sc_images/index/sc_icon_explore_room_model_2_rank_$rank.png";
}
}
@override
Color getExploreRoomBorderColor() {
// 原始应用:使用主题色作为边框颜色
return SocialChatTheme.primaryLight;
}
@override
double getExploreRoomBorderWidth() {
// 原始应用:边框宽度
return 1.3;
}
@override
int getExploreDrawerGridCrossAxisCount() {
// 原始应用:抽屉内容网格列数
return 3;
}
@override
int getExploreRoomNameMarqueeThreshold() {
// 原始应用房间名称长度超过10时显示滚动效果
return 10;
}
@override
int getExploreRoomDescMarqueeThreshold() {
// 原始应用房间描述长度超过12时显示滚动效果
return 12;
}
/// === 个人主页差异化方法实现 ===
@override
String getMePageDefaultBackgroundImage() {
// 原始应用默认背景图片
return "sc_images/person/sc_icon_my_head_bg_defalt.png";
}
@override
String getMePageGenderBackgroundImage(bool isFemale) {
// 原始应用性别背景图片
return isFemale
? "sc_images/person/sc_icon_my_head_bg_woman.png"
: "sc_images/person/sc_icon_my_head_bg_man.png";
}
@override
String getMePageCpDialogHeadImage() {
// 原始应用CP对话框头像图片
return "sc_images/person/sc_icon_send_cp_requst_dialog_head.png";
}
@override
String getMePageDefaultAvatarImage() {
// 原始应用默认头像图片
return "sc_images/general/sc_icon_avar_defalt.png";
}
@override
String getMePageIdBackgroundImage(bool hasSpecialId) {
// 原始应用ID背景图片
return hasSpecialId
? "sc_images/general/sc_icon_special_id_bg.png"
: "sc_images/general/sc_icon_id_bg.png";
}
@override
String getMePageCopyIdIcon() {
// 原始应用复制ID图标
return "sc_images/room/sc_icon_user_card_copy_id.png";
}
@override
String getMePageGenderAgeBackgroundImage(bool isFemale) {
// 原始应用性别年龄背景图片
return isFemale
? "sc_images/login/sc_icon_sex_woman_bg.png"
: "sc_images/login/sc_icon_sex_man_bg.png";
}
@override
String getMePageVisitorsFollowFansBackgroundImage(bool isFemale) {
// 原始应用访客关注粉丝背景图片
return isFemale
? "sc_images/person/sc_icon_vistors_follow_fans_bg_woman.png"
: "sc_images/person/sc_icon_vistors_follow_fans_bg_man.png";
}
@override
String getMePageEditUserInfoIcon() {
// 原始应用编辑用户信息图标
return "sc_images/person/sc_icon_edit_user_info2.png";
}
@override
Color getMePageShineColor() {
// 原始应用闪耀文本颜色
return const Color(0xffe6e6e6);
}
@override
List<Color> getMePageGradientColors(bool isFemale) {
// 原始应用渐变颜色
if (isFemale) {
return [
const Color(0xFF3F1016),
const Color(0xFF1E0B0E),
const Color(0xFF3F0810),
];
} else {
return [const Color(0xFF666666), const Color(0xFF000000)];
}
}
@override
List<Color> getMePageTabIndicatorGradient(bool isFemale) {
// 原始应用Tab指示器渐变
if (isFemale) {
return [const Color(0xffC62548), const Color(0xff9C0322)];
} else {
return [const Color(0xff141414), const Color(0xffE4E4E4)];
}
}
@override
Color getMePageVisitorsFollowFansTextColor() {
// 原始应用访客关注粉丝文本颜色
return const Color(0xffD0D0D0);
}
@override
int getMePageInitialTabIndex() {
// 原始应用初始Tab索引
return 1; // profile页
}
@override
double getMePageScrollOpacityThreshold() {
// 原始应用滚动透明度计算阈值
return 320.0;
}
@override
int getMePageNicknameScrollThreshold() {
// 原始应用昵称滚动显示阈值
return 13;
}
@override
int getMePageAgeDisplayWidthThreshold() {
// 原始应用年龄显示宽度阈值
return 999;
}
@override
double getMePageOpacityThresholdForAvatarDisplay() {
// 原始应用头像显示透明度阈值
return 0.5;
}
/// === 热门页面差异化方法实现 ===
@override
String getPopularLeaderboardBackgroundImage(String leaderboardType) {
// 原始应用:使用现有的图像资源路径
switch (leaderboardType) {
case 'room':
return "sc_images/index/sc_icon_leader_spinner_room_bg.png";
case 'wealth':
return "sc_images/index/sc_icon_leader_spinner_wealth_bg.png";
case 'charm':
return "sc_images/index/sc_icon_leader_spinner_charm_bg.png";
default:
return "sc_images/index/sc_icon_leader_spinner_room_bg.png";
}
}
/// === 游戏页面差异化方法实现 ===
@override
String getGameRankBackgroundImage(int rank) {
// 原始应用:使用现有的排名背景图像模式
return "sc_images/game/sc_icon_game_list_item_bg_$rank.png";
}
@override
String getGameRankIcon(int rank) {
// 原始应用:使用现有的排名图标模式
return "sc_images/game/sc_icon_game_rank_$rank.png";
}
@override
Color getGamePageThemeColor() {
// 原始应用:默认主题颜色
return const Color(0xffFF5722);
}
@override
Color getGamePageBackgroundColor() {
// 原始应用:默认背景颜色
return const Color(0xfff5f5f5);
}
@override
int getGamePageGridCrossAxisCount() {
// 原始应用3列网格
return 3;
}
@override
double getGamePageGridChildAspectRatio() {
// 原始应用:默认高度比例
return 1.3;
}
@override
Color getGameRankTextColor(int rank) {
// 原始应用:根据排名返回不同颜色
switch (rank) {
case 1:
return const Color(0xffFFD700); // 金色
case 2:
return const Color(0xffC0C0C0); // 银色
case 3:
return const Color(0xffCD7F32); // 铜色
default:
return Colors.black87;
}
}
@override
Color getGamePageGradientSecondColor() {
// 原始应用:渐变第二颜色
return const Color(0xffEAD4FF);
}
@override
String getGameHotTagBackgroundImage() {
// 原始应用:热门游戏标签背景图片
return "sc_images/index/sc_icon_hotgames_tag_bg.png";
}
@override
String getGameNewTagImage() {
// 原始应用:新游戏标签图片
return "sc_images/index/sc_icon_game_new_tag.png";
}
@override
String getGamePageMaskImage() {
// 原始应用:游戏页面遮罩图片
return "sc_images/index/sc_icon_index_mask.png";
}
/// === VIP页面差异化方法实现 ===
@override
String getVipPageBackgroundImage(int vipLevel) {
// 原始应用使用现有的VIP背景图像模式
return "sc_images/vip/sc_icon_vip_level_bg_$vipLevel.png";
}
@override
String getVipPageIcon(int vipLevel) {
// 原始应用使用现有的VIP图标模式
return "sc_images/vip/sc_icon_vip_level_$vipLevel.png";
}
@override
List<Color> getVipPageButtonGradient() {
// 原始应用VIP按钮渐变颜色
return [const Color(0xffFF5722), const Color(0xffFEB219)];
}
@override
int getVipPageGridCrossAxisCount() {
// 原始应用3列网格
return 3;
}
@override
double getVipPageGridChildAspectRatio() {
// 原始应用:默认高度比例
return 1.5;
}
@override
String getVipPageHeadBackgroundImage(int vipLevel) {
// 原始应用VIP头部背景图像模式
return "sc_images/vip/sc_icon_vip_head_bg_v$vipLevel.png";
}
@override
String getVipPageTabSelectedIcon(int vipLevel) {
// 原始应用Tab选中状态图标模式
return "sc_images/vip/sc_icon_tab_vip_text_on_v$vipLevel.png";
}
@override
String getVipPageTabUnselectedIcon(int vipLevel) {
// 原始应用Tab未选中状态图标模式
return "sc_images/vip/sc_icon_tab_vip_text_no_v$vipLevel.png";
}
@override
String getVipPageLargeIcon(int vipLevel) {
// 原始应用VIP页面大图标路径模式
return "sc_images/vip/sc_icon_vip${vipLevel}_ic.webp";
}
@override
String getVipPageTitleImage(int vipLevel) {
// 原始应用VIP页面标题图像路径模式
return "sc_images/vip/sc_icon_vip${vipLevel}_t1.png";
}
@override
String getVipPageTagImage(int vipLevel, int tagIndex) {
// 原始应用VIP页面标签图像路径模式
return "sc_images/vip/sc_icon_vip${vipLevel}_tag$tagIndex.png";
}
@override
String getVipPageItemBackgroundImage(int vipLevel) {
// 原始应用VIP页面功能项背景图像路径模式
return "sc_images/vip/sc_icon_vip${vipLevel}_item_bg.png";
}
@override
String getVipPagePrivilegeIcon(int vipLevel, int privilegeIndex) {
// 原始应用VIP页面特权图标路径模式
return "sc_images/vip/sc_icon_vip${vipLevel}_privilege$privilegeIndex.png";
}
@override
String getVipPageFeatureIcon(int vipLevel, String featureName) {
// 原始应用VIP页面功能图标路径模式
return "sc_images/vip/sc_icon_vip${vipLevel}_$featureName.png";
}
@override
String getVipPagePreviewImage(
int vipLevel,
String previewType,
String featureName,
) {
// 原始应用VIP页面预览图像路径模式
if (featureName == 'profile_frame') {
return "sc_images/vip/sc_icon_vip${vipLevel}_profile_rev.png";
} else if (featureName == 'profile_card') {
return "sc_images/vip/sc_icon_vip${vipLevel}_profile_card_rev.png";
} else if (featureName == 'room_cover_headdress') {
return "sc_images/vip/sc_icon_vip${vipLevel}_room_cover_border_rev.png";
} else if (featureName == 'mic_rippl_theme') {
return "sc_images/vip/sc_icon_vip${vipLevel}_sesc_rev.png";
} else if (featureName == 'chatbox') {
return "sc_images/vip/sc_icon_vip${vipLevel}_chatbox_pre.png";
} else {
return "sc_images/vip/sc_icon_vip${vipLevel}_${featureName}_$previewType.png";
}
}
@override
String getVipPagePurchaseBackgroundImage(int vipLevel) {
// 原始应用VIP页面购买背景图像路径模式
return "sc_images/vip/sc_icon_vip${vipLevel}_buy_bg.png";
}
@override
String getVipPagePurchaseButtonImage() {
// 原始应用VIP页面购买按钮图像路径
return "sc_images/vip/sc_icon_vip_buy_btn.png";
}
@override
Color getVipPageTextColor(int vipLevel) {
// 原始应用根据VIP等级返回不同的文本颜色
switch (vipLevel) {
case 1:
return const Color(0xFF71D671);
case 2:
return const Color(0xFF7179D6);
case 3:
return const Color(0xFFAA71D6);
case 4:
return const Color(0xFF71D6B3);
case 5:
return const Color(0xFFD67171);
case 6:
return const Color(0xFFFEE5BB);
default:
return Colors.white;
}
}
/// === 通用页面差异化方法实现 ===
@override
String getCommonRankBackgroundImage(String pageType, int rank) {
// 原始应用:通用的排名背景图像模式
return "sc_images/$pageType/sc_icon_${pageType}_rank_bg_$rank.png";
}
@override
String getCommonRankIcon(String pageType, int rank) {
// 原始应用:通用的排名图标模式
return "sc_images/$pageType/sc_icon_${pageType}_rank_$rank.png";
}
@override
int getCommonPageGridCrossAxisCount(String pageType) {
// 原始应用通用的2列网格
return 2;
}
@override
double getCommonPageGridChildAspectRatio(String pageType) {
// 原始应用:通用的高度比例
return 1.4;
}
/// === 个人主页2 (MePage2) 差异化方法实现 ===
@override
Map<String, dynamic> getMePage2WalletBackground() {
// 原始应用默认钱包背景配置
return {
'gradient': [
Color(0xFFFF9500),
Color(0xCCFF9500), // withOpacity(0.8)
],
'borderRadius': 12.0,
'shadow': {
'color': Color(0x1A000000), // Colors.black.withOpacity(0.1)
'blurRadius': 12.0,
'offset': Offset(0, 4.0),
},
};
}
@override
Map<String, Color> getMePage2StatisticsColors() {
// 原始应用统计信息颜色配置
return {
'numberColor': Color(0xFF333333),
'labelColor': Color(0xFFB1B1B1),
'dividerColor': Color(0xFFE6E6E6),
};
}
@override
Map<String, String> getMePage2FunctionIcons() {
// 原始应用功能卡片图标路径映射
return {
'invite': 'sc_images/general/sc_icon_invite.png',
'task': 'sc_images/general/sc_icon_task.png',
'store': 'sc_images/general/sc_icon_shop.png',
'items': 'sc_images/general/sc_icon_items.png',
'level': 'sc_images/general/sc_icon_level.png',
'badge': 'sc_images/general/sc_icon_badge.png',
'host': 'sc_images/general/sc_icon_host.png',
'bd': 'sc_images/general/sc_icon_bd.png',
'feedback': 'sc_images/general/sc_icon_feedback.png',
'settings': 'sc_images/general/sc_icon_settings_card.png',
};
}
@override
Map<String, dynamic> getMePage2CardStyles() {
// 原始应用卡片样式配置
return {
'borderRadius': 8.0,
'shadow': {
'color': Color(0x0D000000), // Colors.black.withOpacity(0.05)
'blurRadius': 8.0,
'offset': Offset(0, 2.0),
},
'border': null, // 无边框
};
}
/// === Admin编辑页面差异化方法实现 ===
@override
String getAdminEditingBackgroundImage() {
// 原始应用:编辑页面背景图片
return "sc_images/room/sc_icon_room_settig_bg.png";
}
@override
List<Color> getAdminEditingButtonGradient(String buttonType) {
// 原始应用:编辑页面按钮渐变颜色,两个按钮使用相同的渐变
return [const Color(0xffC670FF), const Color(0xff7726FF)];
}
@override
String getAdminEditingIcon(String iconType) {
// 原始应用:编辑页面图标路径
switch (iconType) {
case 'specialIdBg':
return "sc_images/general/sc_icon_special_id_bg.png";
case 'normalIdBg':
return "sc_images/general/sc_icon_id_bg.png";
case 'copyId':
return "sc_images/room/sc_icon_user_card_copy_id.png";
case 'addPic':
return "sc_images/general/sc_icon_add_pic.png";
case 'closePic':
return "sc_images/general/sc_icon_pic_close.png";
case 'checked':
return "sc_images/general/sc_icon_checked.png";
default:
return "";
}
}
@override
BoxDecoration getAdminEditingInputDecoration() {
// 原始应用:编辑页面输入框装饰样式
return BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(8),
border: Border.all(color: const Color(0xffE6E6E6), width: 1.0),
);
}
@override
int getAdminEditingMaxImageUploadCount() {
// 原始应用最大图片上传数量pic01, pic02, pic03
return 3;
}
@override
int getAdminEditingDescriptionMaxLength() {
// 原始应用:描述文本框最大字符数
return 200;
}
@override
Map<String, int> getAdminEditingViolationTypeMapping(String targetType) {
// 原始应用违规类型ID映射
if (targetType == 'User') {
return {'Pornography': 1, 'Illegal information': 2};
} else if (targetType == 'Room') {
return {
'Pornography': 3,
'Illegal information': 4,
'Fraud': 5,
'Other': 6,
};
}
return {};
}
/// === Admin搜索页面差异化方法实现 ===
@override
String getAdminSearchBackgroundImage(String pageType) {
// 原始应用:搜索页面背景图片
return "sc_images/index/sc_icon_coupon_head_bg.png";
}
@override
List<Color> getAdminSearchButtonGradient(String pageType) {
// 原始应用:搜索按钮渐变颜色 - 透明渐变
return [Colors.transparent, Colors.transparent];
}
@override
Color getAdminSearchButtonTextColor(String pageType) {
// 原始应用:搜索按钮文本颜色
return Colors.black;
}
@override
String getAdminSearchEditIcon(String pageType) {
// 原始应用:编辑图标路径
return "sc_images/room/sc_icon_room_edit.png";
}
@override
Color getAdminSearchInputBorderColor(String pageType) {
// 原始应用:搜索框边框颜色
return Colors.black12;
}
@override
Color getAdminSearchInputTextColor(String pageType) {
// 原始应用:搜索框文本颜色
return Colors.grey;
}
@override
String getAdminSearchUserInfoIcon(String iconType) {
// 原始应用:用户信息图标路径
switch (iconType) {
case 'specialIdBg':
return "sc_images/general/sc_icon_special_id_bg.png";
case 'normalIdBg':
return "sc_images/general/sc_icon_id_bg.png";
case 'copyId':
return "sc_images/room/sc_icon_user_card_copy_id.png";
default:
return "";
}
}
/// === 主登录页面差异化方法实现 ===
@override
String getLoginMainBackgroundImage() {
// 原始应用默认背景图片
return "sc_images/login/sc_login.png";
}
@override
String getLoginMainAppIcon() {
// 原始应用默认应用图标
return "sc_images/splash/sc_icon_splash_icon.png";
}
@override
String getLoginMainGoogleIcon() {
// 原始应用默认Google图标
return "sc_images/login/sc_icon_google.png";
}
@override
String getLoginMainAppleIcon() {
// 原始应用默认Apple图标
return "sc_images/login/sc_icon_iphone.png";
}
@override
String getLoginMainAccountIcon() {
// 原始应用默认账号图标
return "sc_images/login/sc_icon_account.png";
}
@override
String getLoginMainAgreementIcon(bool isSelected) {
// 原始应用默认协议图标
return isSelected
? "sc_images/login/sc_icon_login_ser_select.png"
: "sc_images/login/sc_icon_login_ser_select_un.png";
}
@override
Color getLoginMainDividerColor() {
// 原始应用默认分割线颜色
return const Color(0xFFCCCCCC);
}
@override
Color getLoginMainButtonBorderColor() {
// 原始应用默认按钮边框颜色
return const Color(0xFFE6E6E6);
}
@override
Color getLoginMainButtonBackgroundColor() {
// 原始应用默认按钮背景颜色
return Colors.white;
}
@override
Color getLoginMainLinkColor() {
// 原始应用默认链接颜色
return const Color(0xFFFF9500);
}
@override
Color getLoginMainButtonTextColor() {
// 原始应用默认按钮文本颜色
return Colors.black;
}
/// === 编辑个人资料页面差异化方法实现 ===
@override
String getEditProfileBackgroundImage() {
// 原始应用默认背景图片
return "sc_images/login/edit_profile_bg.png";
}
@override
String getEditProfileDefaultAvatarImage() {
// 原始应用默认头像图片
return "sc_images/login/sc_icon_profile_head.png";
}
@override
String getEditProfileGenderIcon(bool isMale) {
// 原始应用默认性别图标
return isMale
? "sc_images/login/sc_icon_sex_man.png"
: "sc_images/login/sc_icon_sex_woman.png";
}
@override
List<Color> getEditProfileGenderButtonGradient(bool isMale, bool isSelected) {
// 原始应用默认性别按钮渐变颜色
return [const Color(0xffFF9326), const Color(0xffFEB219)];
}
@override
Color getEditProfileInputBackgroundColor() {
// 原始应用默认输入框背景颜色
return Colors.white38;
}
@override
Color getEditProfileDatePickerConfirmColor() {
// 原始应用默认日期选择器确认按钮颜色
return const Color(0xff7726FF);
}
@override
Color getEditProfileContinueButtonColor() {
// 原始应用默认继续按钮颜色
return const Color(0xff7726FF);
}
/// === Country页面差异化方法实现 ===
@override
String getCountrySelectOkIcon() {
// 原始应用默认选择确认图标
return "sc_images/general/sc_icon_select_ok.png";
}
@override
String getCountrySelectUnOkIcon() {
// 原始应用默认选择未确认图标
return "sc_images/general/sc_icon_select_un_ok.png";
}
@override
String getCountryRadioSelectedIcon() {
// 原始应用默认单选选中图标
return "sc_images/login/sc_icon_login_ser_select.png";
}
@override
String getCountryRadioUnselectedIcon() {
// 原始应用默认单选未选中图标
return "sc_images/login/sc_icon_login_ser_select_un.png";
}
@override
Color getCountryItemBorderColor() {
// 原始应用默认国家列表项边框颜色
return const Color(0xffE6E6E6);
}
@override
Color getCountryPageScaffoldBackgroundColor() {
// 原始应用默认Scaffold背景颜色白色
return Colors.white;
}
@override
Color getCountryPageIconColor() {
// 原始应用默认图标颜色(黑色)
return Colors.black;
}
@override
Color getCountryPagePrimaryTextColor() {
// 原始应用默认主要文本颜色(黑色)
return Colors.black;
}
@override
Color getCountryPageSecondaryTextColor() {
// 原始应用默认次要文本颜色黑色45%透明度)
return Colors.black45;
}
@override
Color getCountryPageContainerBackgroundColor() {
// 原始应用默认容器背景颜色(白色)
return Colors.white;
}
/// === Chat页面差异化方法实现 ===
/// === 消息页面 (SCMessagePage) 方法实现 ===
@override
String getMessagePageIndexMaskIcon() {
// 原始应用:消息页面索引遮罩图标
return "sc_images/index/sc_icon_index_mask.png";
}
@override
String getMessagePageAnnouncementTagIcon() {
// 原始应用:消息页面公告标签图标
return "sc_images/msg/sc_icon_message_activity.png";
}
@override
String getMessagePageActivityMessageIcon() {
// 原始应用:消息页面活动消息图标
return "sc_images/msg/sc_icon_message_activity.png";
}
@override
String getMessagePageActivityTitleBackground(bool isRtl) {
// 原始应用:消息页面活动消息标题背景图标
return isRtl
? "sc_images/msg/sc_icon_activity_title_bg_rtl.png"
: "sc_images/msg/sc_icon_message_activity.png";
}
@override
String getMessagePageSystemMessageIcon() {
// 原始应用:消息页面系统消息图标
return "sc_images/msg/sc_icon_message_system.png";
}
@override
String getMessagePageSystemTitleBackground(bool isRtl) {
// 原始应用:消息页面系统消息标题背景图标
return isRtl
? "sc_images/msg/sc_icon_system_title_bg_rtl.png"
: "sc_images/msg/sc_icon_system_title_bg.png";
}
@override
String getMessagePageNotificationMessageIcon() {
// 原始应用:消息页面通知消息图标
return "sc_images/msg/sc_icon_message_noti.png";
}
@override
String getMessagePageNotificationTitleBackground(bool isRtl) {
// 原始应用:消息页面通知消息标题背景图标
return isRtl
? "sc_images/msg/sc_icon_notifcation_title_bg_rtl.png"
: "sc_images/msg/sc_icon_notifcation_title_bg.png";
}
/// === 聊天页面 (SCMessageChatPage) 方法实现 ===
@override
String getSCMessageChatPageRoomSettingBackground() {
// 原始应用:聊天页面房间设置背景图像
return "sc_images/room/sc_icon_room_settig_bg.png";
}
@override
String getSCMessageChatPageEmojiIcon() {
// 原始应用:聊天页面表情图标
return "sc_images/msg/sc_icon_emoji.png";
}
@override
String getSCMessageChatPageChatKeyboardIcon() {
// 原始应用:聊天页面聊天键盘图标
return "sc_images/msg/sc_icon_chsc_key.png";
}
@override
String getSCMessageChatPageAddIcon() {
// 原始应用:聊天页面添加图标
return "sc_images/msg/sc_icon_add.png";
}
@override
String getSCMessageChatPageSendMessageIcon() {
// 原始应用:聊天页面发送消息图标
return "sc_images/msg/sc_icon_chsc_message_send.png";
}
@override
String getSCMessageChatPageCameraIcon() {
// 原始应用:聊天页面相机图标
return "sc_images/msg/sc_icon_xiangji.png";
}
@override
String getSCMessageChatPagePictureIcon() {
// 原始应用:聊天页面图片图标
return "sc_images/msg/sc_icon_tupian.png";
}
@override
String getSCMessageChatPageRedEnvelopeIcon() {
// 原始应用:聊天页面红包图标
return "sc_images/msg/sc_icon_hongbao.png";
}
@override
String getSCMessageChatPageRedEnvelopeMessageBackground() {
// 原始应用:聊天页面红包消息背景图像
return "sc_images/msg/sc_icon_msg_send_hongbao_bg.png";
}
@override
String getSCMessageChatPageRedEnvelopeConfigTabButtonIcon() {
// 原始应用:聊天页面红包配置标签按钮图标
return "sc_images/room/sc_icon_red_envelope_config_tab_btn.png";
}
@override
String getSCMessageChatPageRedEnvelopeMessageItemBackground() {
// 原始应用:聊天页面红包消息项背景图像
return "sc_images/msg/sc_icon_red_envelopes_msg_item_bg.png";
}
@override
String getSCMessageChatPageRedEnvelopeReceivePackageIcon() {
// 原始应用:聊天页面红包接收包图标
return "sc_images/room/sc_icon_red_envelope_rec_pack.png";
}
@override
String getSCMessageChatPageRedEnvelopeOpenBackground() {
// 原始应用:聊天页面红包打开背景图像
return "sc_images/msg/sc_icon_red_envelopes_msg_open_bg.png";
}
@override
String getSCMessageChatPageRedEnvelopeOpenedBackground() {
// 原始应用:聊天页面红包已打开背景图像
return "sc_images/msg/sc_icon_red_envelopes_msg_opened_bg.png";
}
@override
String getSCMessageChatPageGoldCoinIcon() {
// 原始应用:聊天页面金币图标
return "sc_images/general/sc_icon_jb.png";
}
@override
String getSCMessageChatPageMessageMenuDeleteIcon() {
// 原始应用:聊天页面消息菜单删除图标
return "sc_images/msg/sc_icon_msg_menu_delete.png";
}
@override
String getSCMessageChatPageMessageMenuCopyIcon() {
// 原始应用:聊天页面消息菜单复制图标
return "sc_images/msg/sc_icon_msg_menu_copy.png";
}
@override
String getSCMessageChatPageMessageMenuRecallIcon() {
// 原始应用:聊天页面消息菜单撤回图标
return "sc_images/msg/sc_icon_msg_menu_recall.png";
}
@override
String getSCMessageChatPageLoadingIcon() {
// 原始应用:聊天页面加载图标
return "sc_images/general/sc_icon_loading.png";
}
@override
String getSCMessageChatPageSystemHeadImage() {
// 原始应用:聊天页面系统头像图像
return "sc_images/msg/head_system.png";
}
@override
String getGenderBackgroundImage(bool isFemale) {
// 原始应用:性别背景图片
return isFemale
? "sc_images/login/sc_icon_sex_woman_bg.png"
: "sc_images/login/sc_icon_sex_man_bg.png";
}
@override
String getIdBackgroundImage(bool hasSpecialId) {
// 原始应用ID背景图片
return hasSpecialId
? "sc_images/general/sc_icon_special_id_bg.png"
: "sc_images/general/sc_icon_id_bg.png";
}
@override
String getCopyIdIcon() {
// 原始应用复制ID图标
return "sc_images/room/sc_icon_user_card_copy_id.png";
}
/// === Gift页面差异化方法实现 ===
@override
String getGiftPageFirstRechargeRoomTagIcon() {
// 原始应用:首充房间标签图标
return "sc_images/room/sc_icon_first_recharge_room_tag.png";
}
@override
String getGiftPageGoldCoinIcon() {
// 原始应用:金币图标
return "sc_images/general/sc_icon_jb.png";
}
@override
String getGiftPageGiveTypeBackground() {
// 原始应用:赠送类型背景图像
return "sc_images/room/sc_icon_give_type_bg.png";
}
@override
String getGiftPageActivityGiftHeadBackground(String giftType) {
// 原始应用:活动礼物头部背景图像,根据礼物类型返回不同路径
switch (giftType) {
case 'ACTIVITY':
return "sc_images/room/sc_icon_activity_gift_head_bg.png";
case 'LUCK':
// Fallback to the activity header until dedicated localized assets land.
return "sc_images/room/sc_icon_activity_gift_head_bg.png";
case 'CP':
// Fallback to the activity header until dedicated localized assets land.
return "sc_images/room/sc_icon_activity_gift_head_bg.png";
case 'MAGIC':
// Fallback to the activity header until dedicated localized assets land.
return "sc_images/room/sc_icon_activity_gift_head_bg.png";
default:
return "sc_images/room/sc_icon_activity_gift_head_bg.png";
}
}
@override
String getGiftPageCustomizedRuleIcon() {
// 原始应用:自定义规则图标
return "sc_images/room/sc_icon_customized_rule.png";
}
@override
String getGiftPageGiftEffectIcon(String giftType) {
// 原始应用:特效礼物图标
return "sc_images/room/sc_icon_gift_effect.png";
}
@override
String getGiftPageGiftMusicIcon(String giftType) {
// 原始应用:音乐礼物图标
return "sc_images/room/sc_icon_gift_music.png";
}
@override
String getGiftPageGiftLuckIcon(String giftType) {
// 原始应用:幸运礼物图标
return "sc_images/room/sc_icon_gift_luck.png";
}
@override
String getGiftPageGiftCpIcon(String giftType) {
// 原始应用CP礼物图标
return "sc_images/room/sc_icon_gift_cp.png";
}
@override
String getGiftPageFirstRechargeTextIcon(String languageCode) {
// 原始应用:首充文本图标(根据语言显示不同图像)
if (languageCode == 'ar') {
return "sc_images/index/sc_icon_first_recharge_ar_text.png";
} else {
// 默认为英语版本
return "sc_images/index/sc_icon_first_recharge_en_text.png";
}
}
@override
String getGiftPageAllOnMicrophoneIcon() {
// 原始应用:"全开麦"图标
return "sc_images/room/sc_icon_all_on_microphone.png";
}
@override
String getGiftPageUsersOnMicrophoneIcon() {
// 原始应用:"用户开麦"图标
return "sc_images/room/sc_icon_userson_microphone.png";
}
@override
String getGiftPageAllInTheRoomIcon() {
// 原始应用:"房间所有人"图标
return "sc_images/room/sc_icon_all_in_the_room.png";
}
@override
String getCommonSelectIcon() {
// 原始应用:通用选择图标
return "sc_images/general/sc_icon_checked.png";
}
@override
String getCommonUnselectIcon() {
// 原始应用:通用未选择图标
return "sc_images/general/sc_icon_unchecked.png";
}
/// === Media页面差异化方法实现 ===
@override
Color getImagePreviewBackgroundColor() {
// 原始应用:图片预览页面背景颜色 - 黑色
return Colors.black;
}
@override
Color getImagePreviewGalleryBackgroundColor() {
// 原始应用:图片预览画廊背景颜色 - 黑色
return Colors.black;
}
@override
Color getImagePreviewAppBarBackgroundColor() {
// 原始应用图片预览AppBar背景颜色 - 黑色54%透明度
return Colors.black54;
}
@override
Color getImagePreviewBackIconColor() {
// 原始应用:图片预览返回图标颜色 - 白色
return Colors.white;
}
@override
Color getImagePreviewTextColor() {
// 原始应用:图片预览文本颜色 - 白色
return Colors.white;
}
@override
Color getImagePreviewLoadingIndicatorColor() {
// 原始应用:图片预览加载指示器颜色 - 默认主题色
// CircularProgressIndicator默认使用主题色
return const Color(0xFFFF9500); // 应用主色调
}
@override
double getImagePreviewAppBarOpacity() {
// 原始应用图片预览AppBar透明度 - 0.54 (Colors.black54)
return 0.54;
}
@override
Color getVideoPlayerBackgroundColor() {
// 原始应用:视频播放页面背景颜色 - 黑色
return Colors.black;
}
@override
Color getVideoPlayerControlsBackgroundColor() {
// 原始应用:视频播放控制界面背景颜色 - 黑色38%透明度
return Colors.black38;
}
@override
Color getVideoPlayerIconColor() {
// 原始应用:视频播放图标颜色 - 白色
return Colors.white;
}
@override
Color getVideoPlayerBottomControlsBackgroundColor() {
// 原始应用:视频播放底部控制栏背景颜色 - 黑色54%透明度
return Colors.black54;
}
@override
Color getVideoPlayerProgressBarActiveColor() {
// 原始应用:视频播放进度条活动颜色 - 红色
return Colors.red;
}
@override
Color getVideoPlayerProgressBarInactiveColor() {
// 原始应用:视频播放进度条非活动颜色 - 灰色
return Colors.grey;
}
@override
Color getVideoPlayerTextColor() {
// 原始应用:视频播放文本颜色 - 白色
return Colors.white;
}
@override
Color getVideoPlayerLoadingIndicatorColor() {
// 原始应用:视频播放加载指示器颜色 - 红色
return Colors.red;
}
@override
double getVideoPlayerControlsOpacity() {
// 原始应用:视频播放控制界面透明度 - 0.38 (Colors.black38)
return 0.38;
}
@override
double getVideoPlayerBottomControlsOpacity() {
// 原始应用:视频播放底部控制栏透明度 - 0.54 (Colors.black54)
return 0.54;
}
@override
int getVideoPlayerControlsDisplayDuration() {
// 原始应用:视频播放控制界面显示持续时间 - 3秒
return 3;
}
/// === 举报页面差异化方法实现 ===
@override
String getReportPageBackgroundImage() {
// 原始应用:举报页面背景图片 - 与房间设置背景相同
return "sc_images/room/sc_icon_room_settig_bg.png";
}
@override
Color getReportPageHintTextColor() {
// 原始应用:举报页面提示文本颜色 - Colors.black38
return Colors.black38;
}
@override
Color getReportPageContainerBackgroundColor() {
// 原始应用:举报页面容器背景颜色 - Colors.white
return Colors.white;
}
@override
Color getReportPageBorderColor() {
// 原始应用:举报页面边框颜色 - Color(0xffE6E6E6)
return const Color(0xffE6E6E6);
}
@override
Color getReportPagePrimaryTextColor() {
// 原始应用:举报页面主要文本颜色 - Colors.black
return Colors.black;
}
@override
Color getReportPageSecondaryHintTextColor() {
// 原始应用:举报页面次级提示文本颜色 - Colors.black45
return Colors.black45;
}
@override
Color getReportPageUnselectedBorderColor() {
// 原始应用:举报页面未选中边框颜色 - Colors.grey
return Colors.grey;
}
@override
Color getReportPageSubmitButtonBackgroundColor() {
// 原始应用:举报页面提交按钮背景颜色 - 使用主题主色
// 注意在实际使用时页面应通过SocialChatTheme.primaryColor获取
// 这里返回Colors.blue作为占位符实际页面应该使用主题颜色
// 或者可以考虑返回null让页面使用默认主题颜色
return Colors.blue; // 临时值,需要从主题获取
}
@override
Color getReportPageSubmitButtonTextColor() {
// 原始应用:举报页面提交按钮文本颜色 - Colors.white
return Colors.white;
}
@override
String getReportPageIcon(String iconType) {
// 原始应用:举报页面图标路径
switch (iconType) {
case 'addPic':
return "sc_images/general/sc_icon_add_pic.png";
case 'closePic':
return "sc_images/general/sc_icon_pic_close.png";
case 'checked':
return "sc_images/general/sc_icon_checked.png";
default:
return ""; // 未知图标类型返回空字符串
}
}
/// === 语音房间页面差异化方法实现 ===
@override
Color getVoiceRoomBackgroundColor() {
// 原始应用:语音房间页面背景颜色 - Colors.transparent
return Colors.transparent;
}
@override
Color getVoiceRoomTabLabelColor() {
// 原始应用语音房间页面Tab标签选中颜色 - Colors.white
return Colors.white;
}
@override
Color getVoiceRoomTabUnselectedLabelColor() {
// 原始应用语音房间页面Tab标签未选中颜色 - Colors.white54
return Colors.white54;
}
@override
Color getVoiceRoomTabIndicatorColor() {
// 原始应用语音房间页面Tab指示器颜色 - Colors.transparent
return Colors.transparent;
}
@override
Color getVoiceRoomTabDividerColor() {
// 原始应用语音房间页面Tab分割线颜色 - Colors.transparent
return Colors.transparent;
}
@override
EdgeInsets getVoiceRoomTabLabelPadding() {
// 原始应用语音房间页面Tab标签内边距 - EdgeInsets.symmetric(horizontal: 12)
// 注意页面需要将数值乘以ScreenUtil().w
return const EdgeInsets.symmetric(horizontal: 12);
}
@override
EdgeInsetsDirectional getVoiceRoomChatContainerMargin() {
// 原始应用:语音房间页面聊天容器外边距 - EdgeInsets.only(right: 52)
// 注意页面需要将数值乘以ScreenUtil().w
return const EdgeInsetsDirectional.only(end: 52);
}
@override
TextStyle getVoiceRoomTabLabelStyle() {
// 原始应用语音房间页面Tab标签选中文本样式
// 字体大小15字体族"MyCustomFont"
// 注意页面需要将字体大小乘以ScreenUtil().sp
return const TextStyle(fontSize: 15, fontFamily: "MyCustomFont");
}
@override
TextStyle getVoiceRoomTabUnselectedLabelStyle() {
// 原始应用语音房间页面Tab标签未选中文本样式
// 字体大小13字体族"MyCustomFont"
// 注意页面需要将字体大小乘以ScreenUtil().sp
return const TextStyle(fontSize: 13, fontFamily: "MyCustomFont");
}
@override
String getVoiceRoomDefaultBackgroundImage() {
// 原始应用:语音房间默认背景图像路径
return "sc_images/room/sc_icon_room_defaut_bg.png";
}
/// === 钱包页面差异化方法实现 ===
/// === 充值页面差异化方法实现 ===
@override
String getRechargePageBackgroundImage() {
// 原始应用:充值页面背景图像路径 - "sc_images/room/sc_icon_room_settig_bg.png"
return "sc_images/room/sc_icon_room_settig_bg.png";
}
@override
Color getRechargePageScaffoldBackgroundColor() {
// 原始应用充值页面Scaffold背景颜色 - Colors.transparent
return Colors.transparent;
}
@override
Color getRechargePageDialogBarrierColor() {
// 原始应用:充值页面对话框屏障颜色 - Colors.transparent
return Colors.transparent;
}
@override
Color getRechargePageDialogContainerBackgroundColor() {
// 原始应用:充值页面对话框容器背景颜色 - Colors.white30
return Colors.white30;
}
@override
Color getRechargePageDialogTextColor() {
// 原始应用:充值页面对话框文本颜色 - Colors.black38
return Colors.black38;
}
@override
Color getRechargePageMainContainerBackgroundColor() {
// 原始应用:充值页面主容器背景颜色 - Colors.white
return Colors.white;
}
@override
Color getRechargePageButtonBackgroundColor() {
// 原始应用:充值页面按钮背景颜色 - 使用主题颜色
// 注意页面应使用SocialChatTheme.primaryLight
return const Color(0xFFE6F7FF); // 近似主题浅色
}
@override
Color getRechargePageButtonTextColor() {
// 原始应用:充值页面按钮文本颜色 - Colors.white
return Colors.white;
}
@override
String getRechargePageWalletBackgroundImage() {
// 原始应用:充值页面钱包背景图像路径 - 'sc_images/index/sc_icon_wallet_bg.png'
return "sc_images/index/sc_icon_wallet_bg.png";
}
@override
String getRechargePageWalletIcon() {
// 原始应用:充值页面钱包图标路径 - 'sc_images/index/sc_icon_wallet_icon.png'
return "sc_images/index/sc_icon_wallet_icon.png";
}
@override
Color getRechargePageWalletTextColor() {
// 原始应用:充值页面钱包文本颜色 - Colors.white
return Colors.white;
}
@override
String getRechargePageGoldIcon() {
// 原始应用:充值页面金币图标路径(默认图标)- 'sc_images/general/sc_icon_jb.png'
return "sc_images/general/sc_icon_jb.png";
}
@override
Color getRechargePageSelectedItemBackgroundColor() {
// 原始应用:充值页面选中项背景颜色 - 使用主题浅色
// 注意页面应使用SocialChatTheme.primaryLight
return const Color(0xFFE6F7FF); // 近似主题浅色
}
@override
Color getRechargePageSelectedItemBorderColor() {
// 原始应用:充值页面选中项边框颜色 - 使用主题主色
// 注意页面应使用SocialChatTheme.primaryColor
return const Color(0xFF1890FF); // 近似主题主色
}
@override
Color getRechargePageUnselectedItemBorderColor() {
// 原始应用:充值页面未选中项边框颜色 - Color(0xffE6E6E6)
return const Color(0xffE6E6E6);
}
@override
Color getRechargePageUnselectedItemBackgroundColor() {
// 原始应用:充值页面未选中项背景颜色 - Colors.white
return Colors.white;
}
@override
Color getRechargePageItemTextColor() {
// 原始应用:充值页面项目文本颜色 - Colors.black54
return Colors.black54;
}
@override
Color getRechargePageItemPriceTextColor() {
// 原始应用:充值页面价格文本颜色 - Colors.black
return Colors.black;
}
@override
String getRechargePageGoldIconByIndex(int index) {
// 原始应用:根据索引获取充值页面金币图标路径
switch (index) {
case 0:
return "sc_images/general/sc_icon_jb.png";
case 1:
return "sc_images/general/sc_icon_jb2.png";
case 2:
return "sc_images/general/sc_icon_jb3.png";
default:
return "sc_images/general/sc_icon_jb.png"; // 默认图标
}
}
@override
String getRechargePageRecordIcon() {
// 原始应用:充值页面记录图标路径 - "sc_images/index/sc_icon_recharge_recod.png"
return "sc_images/index/sc_icon_recharge_recod.png";
}
@override
Color getRechargePageAppleItemBackgroundColor() {
// 原始应用充值页面Apple产品项背景颜色 - Colors.white
return Colors.white;
}
/// === 金币记录页面差异化方法实现 ===
@override
String getGoldRecordPageBackgroundImage() {
// 原始应用:金币记录页面背景图像路径 - "sc_images/room/sc_icon_room_settig_bg.png"
return "sc_images/room/sc_icon_room_settig_bg.png";
}
@override
Color getGoldRecordPageScaffoldBackgroundColor() {
// 原始应用金币记录页面Scaffold背景颜色 - Colors.transparent
return Colors.transparent;
}
@override
Color getGoldRecordSCPageListBackgroundColor() {
// 原始应用:金币记录页面列表背景颜色 - Colors.transparent
return Colors.transparent;
}
@override
Color getGoldRecordPageContainerBackgroundColor() {
// 原始应用:金币记录页面容器背景颜色 - Colors.white
return Colors.white;
}
@override
Color getGoldRecordPageBorderColor() {
// 原始应用:金币记录页面边框颜色 - Color(0xffE6E6E6)
return const Color(0xffE6E6E6);
}
@override
Color getGoldRecordPagePrimaryTextColor() {
// 原始应用:金币记录页面主要文本颜色 - Colors.black
return Colors.black;
}
@override
Color getGoldRecordPageSecondaryTextColor() {
// 原始应用:金币记录页面次要文本颜色 - Colors.black38
return Colors.black38;
}
/// === Store页面差异化方法实现 ===
@override
String getStorePageBackgroundImage() {
// 原始应用Store页面背景图像路径 - "sc_images/room/sc_icon_room_settig_bg.png"
return "sc_images/room/sc_icon_room_settig_bg.png";
}
@override
String getStorePageShoppingBagIcon() {
// 原始应用Store页面购物袋图标路径 - "sc_images/store/sc_icon_shop_bag.png"
return "sc_images/store/sc_icon_shop_bag.png";
}
@override
EdgeInsetsDirectional getStorePageShoppingBagMargin() {
// 原始应用Store页面购物袋图标外边距 - EdgeInsetsDirectional.only(end: 10.w)
// 注意:这里无法使用.w单位需要在调用处使用ScreenUtil()
return const EdgeInsetsDirectional.only(end: 10);
}
@override
EdgeInsets getStorePageTabLabelPadding() {
// 原始应用Store页面Tab标签内边距 - EdgeInsets.symmetric(horizontal: 12.w)
// 注意:这里无法使用.w单位需要在调用处使用ScreenUtil()
return const EdgeInsets.symmetric(horizontal: 12);
}
@override
TextStyle getStorePageTabLabelStyle() {
// 原始应用Store页面Tab标签选中文本样式
// 原始值TextStyle(fontSize: 15.sp, color: Colors.black87, fontWeight: FontWeight.w600)
// 注意:这里无法使用.sp单位需要在调用处使用ScreenUtil()
return const TextStyle(
fontSize: 15,
color: Color(0xDD000000), // Colors.black87 对应 #DD000000
fontWeight: FontWeight.w600,
);
}
@override
TextStyle getStorePageTabUnselectedLabelStyle() {
// 原始应用Store页面Tab标签未选中文本样式
// 原始值TextStyle(fontSize: 13.sp, color: Colors.black38, fontWeight: FontWeight.w500)
// 注意:这里无法使用.sp单位需要在调用处使用ScreenUtil()
return const TextStyle(
fontSize: 13,
color: Color(0x61000000), // Colors.black38 对应 #61000000
fontWeight: FontWeight.w500,
);
}
@override
Color getStorePageTabIndicatorColor() {
// 原始应用Store页面Tab指示器颜色 - SocialChatTheme.primaryColor
// 需要查看SocialChatTheme.primaryColor的值
// 从socialchat_theme.dart中查看到primaryColor = Color(0xffFF5722);
return const Color(0xffFF5722); // SocialChatTheme.primaryColor
}
@override
Color getStorePageTabDividerColor() {
// 原始应用Store页面Tab分割线颜色 - Colors.transparent
return Colors.transparent;
}
@override
Color getStorePageBottomDividerColor() {
// 原始应用Store页面底部Divider颜色 - Colors.black12
return const Color(0x1F000000); // Colors.black12 对应 #1F000000
}
@override
double getStorePageBottomDividerThickness() {
// 原始应用Store页面底部Divider厚度 - 0.5
// 注意原始代码中使用0.5,没有.w单位
return 0.5;
}
@override
double getStorePageBottomDividerHeight() {
// 原始应用Store页面底部Divider高度 - 24.w
// 注意:这里无法使用.w单位需要在调用处使用ScreenUtil()
return 24;
}
@override
String getStorePageGoldIcon() {
// 原始应用Store页面金币图标路径 - "sc_images/general/sc_icon_jb.png"
return "sc_images/general/sc_icon_jb.png";
}
@override
Color getStorePageGoldTextColor() {
// 原始应用Store页面金币文本颜色 - Color(0xFFFFE134)
return const Color(0xFFFFE134);
}
@override
Color getStorePageGoldIconColor() {
// 原始应用Store页面金币图标颜色 - Color(0xFFFFE134)
return const Color(0xFFFFE134);
}
/// === Store子页面商品项差异化方法实现 ===
@override
Color getStoreItemBackgroundColor() {
// 原始应用Store商品项背景颜色 - Colors.white
return Colors.white;
}
@override
Color getStoreItemUnselectedBorderColor() {
// 原始应用Store商品项未选中边框颜色 - Colors.black12
return const Color(0x1F000000); // Colors.black12 对应 #1F000000
}
@override
Color getStoreItemSelectedBorderColor() {
// 原始应用Store商品项选中边框颜色 - SocialChatTheme.primaryLight (Color(0xffFF9500))
return const Color(0xffFF9500);
}
@override
String getStoreItemGoldIcon() {
// 原始应用Store商品项金币图标路径 - "sc_images/general/sc_icon_jb.png"
return "sc_images/general/sc_icon_jb.png";
}
@override
Color getStoreItemPriceTextColor() {
// 原始应用Store商品项价格文本颜色 - Colors.black
return Colors.black;
}
@override
Color getStoreItemBuyButtonColor() {
// 原始应用Store商品项购买按钮背景颜色 - SocialChatTheme.primaryLight (Color(0xffFF9500))
return const Color(0xffFF9500);
}
@override
Color getStoreItemBuyButtonTextColor() {
// 原始应用Store商品项购买按钮文本颜色 - Colors.white
return Colors.white;
}
@override
String getStoreItemActionIcon(String itemType) {
// 原始应用Store商品项操作图标路径
// 根据商品类型返回不同的图标路径
switch (itemType) {
case 'headdress':
return "sc_images/store/sc_icon_shop_item_search.png"; // 头饰页面使用搜索图标
case 'mountains':
return "sc_images/store/sc_icon_shop_item_play.png"; // 山脉页面使用播放图标
case 'theme':
return "sc_images/store/sc_icon_store_theme_rev.png"; // 主题页面使用主题图标
case 'chatbox':
return "sc_images/store/sc_icon_shop_item_search.png"; // 聊天气泡页面使用搜索图标
default:
return "sc_images/store/sc_icon_store_theme_rev.png"; // 默认返回theme图标
}
}
/// === 动态页面差异化方法实现 ===
@override
String getDynamicPageBackgroundImage() {
// 原始应用:动态页面背景图像路径 - "sc_images/index/sc_icon_index_mask.png"
return "sc_images/index/sc_icon_index_mask.png";
}
@override
Color getDynamicPageScaffoldBackgroundColor() {
// 原始应用动态页面Scaffold背景颜色 - Colors.transparent
return Colors.transparent;
}
@override
Color getDynamicPageAppBarBackgroundColor() {
// 原始应用动态页面AppBar背景颜色 - Colors.transparent
return Colors.transparent;
}
@override
Color getDynamicPageTabLabelColor() {
// 原始应用动态页面Tab标签选中颜色 - Colors.black87
return Colors.black87;
}
@override
Color getDynamicPageTabUnselectedLabelColor() {
// 原始应用动态页面Tab标签未选中颜色 - Colors.black38
return Colors.black38;
}
@override
Color getDynamicPageTabIndicatorColor() {
// 原始应用动态页面Tab指示器颜色 - Colors.transparent
return Colors.transparent;
}
@override
Color getDynamicPageTabDividerColor() {
// 原始应用动态页面Tab分割线颜色 - Colors.transparent
return Colors.transparent;
}
@override
String getDynamicPageAddButtonIcon() {
// 原始应用:动态页面添加动态按钮图标路径 - "sc_images/dynamic/sc_icon_add_dynamic_btn.png"
return "sc_images/dynamic/sc_icon_add_dynamic_btn.png";
}
@override
bool shouldDynamicPageTabScrollable() {
// 原始应用动态页面Tab标签是否可滚动 - true
return true;
}
@override
TextStyle getDynamicPageTabLabelStyle() {
// 原始应用动态页面Tab标签选中文本样式 - TextStyle(fontWeight: FontWeight.bold, fontSize: 16.sp)
// 注意:这里无法使用.sp单位需要在调用处使用ScreenUtil()
return const TextStyle(fontWeight: FontWeight.bold, fontSize: 16);
}
@override
TextStyle getDynamicPageTabUnselectedLabelStyle() {
// 原始应用动态页面Tab标签未选中文本样式 - TextStyle(fontWeight: FontWeight.normal, fontSize: 15.sp)
// 注意:这里无法使用.sp单位需要在调用处使用ScreenUtil()
return const TextStyle(fontWeight: FontWeight.normal, fontSize: 15);
}
/// === 启动页面差异化方法实现 ===
@override
String getSplashPageBackgroundImage() {
// 原始应用:启动页面背景图像路径 - "sc_images/splash/splash.png"
return "sc_images/splash/sc_splash.png";
}
@override
String getSplashPageIcon() {
// 原始应用:启动页面图标路径 - "sc_images/splash/sc_icon_splash_icon.png"
return "sc_images/splash/sc_icon_splash_icon.png";
}
@override
String getSplashPageSkipButtonBackground() {
// 原始应用:启动页面跳过按钮背景图像路径 - "sc_images/splash/sc_icon_splash_skip_bg.png"
return "sc_images/splash/sc_icon_splash_skip_bg.png";
}
@override
Color getSplashPageSkipButtonTextColor() {
// 原始应用:启动页面跳过按钮文本颜色 - Colors.white
return Colors.white;
}
@override
String getSplashPageKingGamesNameBackground() {
// 原始应用:启动页面游戏名称背景图像路径 - "sc_images/index/sc_icon_splash_king_games_name_bg.png"
return "sc_images/index/sc_icon_splash_king_games_name_bg.png";
}
@override
Color getSplashPageKingGamesTextColor() {
// 原始应用:启动页面游戏名称文本颜色 - Colors.white
return Colors.white;
}
@override
String getSplashPageCpNameBackground() {
// 原始应用启动页面CP名称背景图像路径 - "sc_images/index/sc_icon_splash_cp_name_bg.png"
return "sc_images/index/sc_icon_splash_cp_name_bg.png";
}
@override
Color getSplashPageCpTextColor() {
// 原始应用启动页面CP名称文本颜色 - Colors.white
return Colors.white;
}
/// === WebView页面差异化方法实现 ===
@override
Color getWebViewPageAppBarBackgroundColor() {
// 原始应用WebView页面AppBar背景颜色 - Colors.white
return Colors.white;
}
@override
Color getWebViewPageTitleTextColor() {
// 原始应用WebView页面标题文本颜色 - Color(0xff333333)
return const Color(0xff333333);
}
@override
Color getWebViewPageBackArrowColor() {
// 原始应用WebView页面返回箭头图标颜色 - 使用默认图标颜色
return const Color(0xff333333);
}
@override
Color getWebViewPageProgressBarBackgroundColor() {
// 原始应用WebView页面进度条背景颜色 - Colors.white70.withOpacity(0)
return Colors.white70.withOpacity(0);
}
@override
Color getWebViewPageProgressBarActiveColor() {
// 原始应用WebView页面进度条活动颜色 - Color(0xffFF6000)
return const Color(0xffFF6000);
}
@override
Color getGameWebViewCloseIconColor() {
// 原始应用游戏WebView页面关闭图标颜色 - Colors.white
return Colors.white;
}
@override
Color getGameWebViewScaffoldBackgroundColor() {
// 原始应用游戏WebView页面Scaffold背景颜色 - Colors.transparent
return Colors.transparent;
}
@override
Color getGameWebViewProgressBarBackgroundColor() {
// 原始应用游戏WebView页面进度条背景颜色 - Colors.white70.withOpacity(0)
return Colors.white70.withOpacity(0);
}
@override
Color getGameWebViewLoadingIndicatorColor() {
// 原始应用游戏WebView页面加载指示器颜色 - Color(0xffFF6000)
return const Color(0xffFF6000);
}
/// === 搜索页面差异化方法实现 ===
@override
Color getSearchPageScaffoldBackgroundColor() {
// 原始应用搜索页面Scaffold背景颜色 - Colors.white
return Colors.white;
}
@override
Color getSearchPageBackIconColor() {
// 原始应用:搜索页面返回图标颜色 - Color(0xffBBBBBB)
return const Color(0xffBBBBBB);
}
@override
Color getSearchPageInputBorderColor() {
// 原始应用:搜索页面搜索框边框颜色 - Colors.transparent
return Colors.transparent;
}
@override
Color getSearchPageInputTextColor() {
// 原始应用:搜索页面搜索框文本颜色 - Colors.grey
return Colors.grey;
}
@override
Color getSearchPageButtonTextColor() {
// 原始应用:搜索页面搜索按钮文本颜色 - Colors.black
return Colors.black;
}
@override
List<Color> getSearchPageButtonGradient() {
// 原始应用:搜索页面搜索按钮渐变颜色 - [Colors.transparent, Colors.transparent]
return [Colors.transparent, Colors.transparent];
}
@override
Color getSearchPageHistoryTitleTextColor() {
// 原始应用:搜索页面历史记录标题文本颜色 - Colors.black
return Colors.black;
}
@override
Color getSearchPageHistoryItemTextColor() {
// 原始应用:搜索页面历史项文本颜色 - Colors.white
return Colors.white;
}
@override
Color getSearchPageHistoryItemBackgroundColor() {
// 原始应用:搜索页面历史项背景颜色 - SocialChatTheme.primaryLight (Color(0xffFF9500))
return const Color(0xffFF9500);
}
@override
Color getSearchPageTabIndicatorGradientStartColor() {
// 原始应用搜索页面Tab指示器渐变开始颜色 - Color(0xffFFA500)
return const Color(0xffFFA500);
}
@override
Color getSearchPageTabIndicatorGradientEndColor() {
// 原始应用搜索页面Tab指示器渐变结束颜色 - Color(0xffFFD700)
return const Color(0xffFFD700);
}
@override
Color getSearchPageTabSelectedLabelColor() {
// 原始应用搜索页面Tab标签选中颜色 - Colors.black
return Colors.black;
}
@override
Color getSearchPageTabDividerColor() {
// 原始应用搜索页面Tab分割线颜色 - Colors.transparent
return Colors.transparent;
}
@override
Color getSearchPageTabUnselectedLabelColor() {
// 原始应用搜索页面Tab标签未选中颜色 - Colors.black26
return Colors.black26;
}
@override
Color getSearchPageDividerContainerBackgroundColor() {
// 原始应用:搜索页面分隔容器背景颜色 - Color(0xffFFF8DA)
return const Color(0xffFFF8DA);
}
@override
TextStyle getSearchPageTabSelectedLabelStyle() {
// 原始应用搜索页面Tab标签选中文本样式 - TextStyle(fontSize: 18.sp, fontWeight: FontWeight.w600)
// 注意:这里无法使用.sp单位需要在调用处使用ScreenUtil()
return const TextStyle(
fontSize: 18,
fontWeight: FontWeight.w600,
color: Colors.black,
);
}
@override
TextStyle getSearchPageTabUnselectedLabelStyle() {
// 原始应用搜索页面Tab标签未选中文本样式 - TextStyle(fontSize: 17.sp, fontWeight: FontWeight.w400)
// 注意:这里无法使用.sp单位需要在调用处使用ScreenUtil()
return const TextStyle(
fontSize: 17,
fontWeight: FontWeight.w400,
color: Colors.black26,
);
}
@override
EdgeInsets getSearchPageResultTabLabelPadding() {
// 原始应用搜索页面搜索结果Tab标签内边距 - EdgeInsets.symmetric(horizontal: 15)
return const EdgeInsets.symmetric(horizontal: 15);
}
@override
Color getSearchPageResultTabLabelColor() {
// 原始应用搜索页面搜索结果Tab标签选中颜色 - Colors.black
return Colors.black;
}
@override
Color getSearchPageResultTabUnselectedLabelColor() {
// 原始应用搜索页面搜索结果Tab标签未选中颜色 - Colors.black26
return Colors.black26;
}
@override
TextStyle getSearchPageResultTabUnselectedLabelStyle() {
// 原始应用搜索页面搜索结果Tab标签未选中文本样式 - TextStyle(fontSize: 17, fontWeight: FontWeight.w400, color: Colors.black26)
return const TextStyle(
fontSize: 17,
fontWeight: FontWeight.w400,
color: Colors.black26,
);
}
@override
TextStyle getSearchPageResultTabLabelStyle() {
// 原始应用搜索页面搜索结果Tab标签选中文本样式 - TextStyle(fontSize: 18, fontWeight: FontWeight.w600, color: Colors.black87)
return const TextStyle(
fontSize: 18,
fontWeight: FontWeight.w600,
color: Colors.black87,
);
}
@override
LinearGradient getSearchPageResultTabIndicatorColor() {
// 原始应用搜索页面搜索结果Tab指示器颜色 - LinearGradient(colors: [Colors.transparent, Colors.transparent])
return const LinearGradient(
colors: [Colors.transparent, Colors.transparent],
);
}
@override
double getSearchPageResultTabIndicatorWidth() {
// 原始应用搜索页面搜索结果Tab指示器宽度 - 15.0
return 15.0;
}
@override
Color getSearchPageResultBackgroundColor() {
// 原始应用:搜索页面搜索结果背景颜色 - Color(0xffFFF8DA)
return const Color(0xffFFF8DA);
}
@override
String getSearchPageClearHistoryIcon() {
// 原始应用:搜索页面清除历史记录图标路径
return "sc_images/general/sc_icon_delete.png";
}
@override
String getSearchPageEmptyDataIcon() {
// 原始应用:搜索页面空数据图标路径
return "sc_images/room/sc_icon_room_defaut_bg.png";
}
// === 任务页面差异化方法 ===
@override
String getTaskPageBackgroundImage() {
// 原始应用:任务页面背景图像 - "sc_images/room/sc_icon_room_settig_bg.png"
return "sc_images/room/sc_icon_room_settig_bg.png";
}
@override
Color getTaskPageBackButtonColor() {
// 原始应用:任务页面返回按钮颜色 - Colors.black
return Colors.black;
}
@override
Color getTaskPageScaffoldBackgroundColor() {
// 原始应用任务页面Scaffold背景颜色 - Colors.white
return Colors.white;
}
@override
Color getTaskPageContainerBackgroundColor() {
// 原始应用:任务页面容器背景颜色 - Colors.white
return Colors.white;
}
@override
Color getTaskPageBorderColor() {
// 原始应用:任务页面边框颜色 - Color(0xffE6E6E6)
return const Color(0xffE6E6E6);
}
@override
Color getTaskPageSpecialBorderColor() {
// 原始应用:任务页面特殊边框颜色 - Color(0xffBB92FF)
return const Color(0xffBB92FF);
}
@override
Color getTaskPagePrimaryTextColor() {
// 原始应用:任务页面主要文本颜色 - Colors.white
return Colors.white;
}
@override
Color getTaskPageGoldTextColor() {
// 原始应用:任务页面金币文本颜色 - Color(0xffFFB627)
return const Color(0xffFFB627);
}
@override
Color getTaskPageExpTextColor() {
// 原始应用:任务页面经验文本颜色 - Color(0xff52FF90)
return const Color(0xff52FF90);
}
@override
Color getTaskPageThemeColor() {
// 原始应用:任务页面主题颜色 - SocialChatTheme.primaryColor
return const Color(0xffFF5722); // SocialChatTheme.primaryColor
}
@override
Color getTaskPageThemeLightColor() {
// 原始应用:任务页面浅主题颜色 - SocialChatTheme.primaryLight
return const Color(0xffFF9500); // SocialChatTheme.primaryLight
}
@override
List<Color> getTaskPageReceivableButtonGradient() {
// 原始应用:任务页面可领取按钮渐变颜色 - [Color(0xffBB92FF), Color(0xff8B45FF)]
return [const Color(0xffBB92FF), const Color(0xff8B45FF)];
}
@override
List<Color> getTaskPageCompletedButtonGradient() {
// 原始应用:任务页面已完成按钮渐变颜色 - [Color(0xffDADADA), Color(0xff585859)]
return [const Color(0xffDADADA), const Color(0xff585859)];
}
@override
Color getTaskPageButtonTextColor() {
// 原始应用:任务页面按钮文本颜色 - Colors.white
return Colors.white;
}
@override
Color getTaskPageMaskColor() {
// 原始应用:任务页面遮罩颜色 - Colors.black
return Colors.black;
}
@override
String getTaskPageHeadBackgroundImage() {
// 原始应用:任务页面头部背景图像 - "sc_images/index/sc_icon_task_head_bg.png"
return "sc_images/index/sc_icon_task_head_bg.png";
}
@override
String getTaskPageGoldIcon() {
// 原始应用:任务页面金币图标 - "sc_images/general/sc_icon_jb.png"
return "sc_images/general/sc_icon_jb.png";
}
@override
String getTaskPageExpIcon() {
// 原始应用:任务页面经验图标 - "sc_images/index/sc_icon_task_exp.png"
return "sc_images/index/sc_icon_task_exp.png";
}
@override
String getTaskPageInvitationRewardBackgroundImage() {
// 原始应用:任务页面邀请奖励背景图像 - "sc_images/index/sc_icon_invitation_bg.png"
return "sc_images/index/sc_icon_invitation_bg.png";
}
@override
Color getTaskPageGiftBagTextColor() {
// 原始应用:任务页面礼包文本颜色 - Colors.white
return Colors.white;
}
@override
Color getTaskPageAppBarBackgroundColor() {
// 原始应用任务页面AppBar背景颜色 - Colors.transparent
return Colors.transparent;
}
@override
Color getTaskPageTransparentContainerColor() {
// 原始应用:任务页面透明容器颜色 - Colors.transparent
return Colors.transparent;
}
/// === 设置页面差异化方法实现 ===
@override
String getSettingsPageBackgroundImage() {
// 原始应用:设置页面背景图像路径 - "sc_images/person/sc_icon_edit_userinfo_bg.png"
return "sc_images/person/sc_icon_edit_userinfo_bg.png";
}
@override
Color getSettingsPageMainContainerBackgroundColor() {
// 原始应用:设置页面主容器背景颜色 - Colors.white
return Colors.white;
}
@override
Color getSettingsPageMainContainerBorderColor() {
// 原始应用:设置页面主容器边框颜色 - Color(0xffE6E6E6)
return const Color(0xffE6E6E6);
}
@override
Color getSettingsPagePrimaryTextColor() {
// 原始应用:设置页面主文本颜色 - Colors.black
return Colors.black;
}
@override
Color getSettingsPageSecondaryTextColor() {
// 原始应用:设置页面次要文本颜色 - Colors.black38
return Colors.black38;
}
@override
Color getSettingsPageIconColor() {
// 原始应用:设置页面图标颜色 - Colors.black26
return Colors.black26;
}
@override
Color getSettingsPageCommonTextColor() {
// 原始应用:设置页面常见文本颜色 - Colors.black38
return Colors.black38;
}
@override
Color getSettingsPageAboutTextColor() {
// 原始应用:设置页面关于文本颜色 - Colors.black38
return Colors.black38;
}
@override
Color getSettingsPageContainerBorderColor() {
// 原始应用:设置页面容器边框颜色 - Color(0xffE6E6E6)
return const Color(0xffE6E6E6);
}
@override
Color getSettingsPageContainerBackgroundColor() {
// 原始应用:设置页面容器背景颜色 - Colors.white
return Colors.white;
}
@override
Color getSettingsPageButtonBackgroundColor() {
// 原始应用:设置页面按钮背景颜色 - Color(0xffBBBBBB)
return const Color(0xffBBBBBB);
}
@override
Color getSettingsPageButtonTextColor() {
// 原始应用:设置页面按钮文本颜色 - Colors.white
return Colors.white;
}
/// === 语言页面差异化方法实现 ===
@override
String getLanguagePageBackgroundImage() {
// 原始应用:语言页面背景图像路径 - "sc_images/person/sc_icon_edit_userinfo_bg.png"
return "sc_images/person/sc_icon_edit_userinfo_bg.png";
}
@override
Color getLanguagePageCheckboxActiveColor() {
// 原始应用:语言页面复选框选中颜色 - SocialChatTheme.primaryColor
return const Color(0xffFF5722); // SocialChatTheme.primaryColor
}
@override
Color getLanguagePageCheckboxBorderColor() {
// 原始应用:语言页面复选框边框颜色 - Color(0xffD4D4D4)
return const Color(0xffD4D4D4);
}
@override
Color getLanguagePagePrimaryTextColor() {
// 原始应用:语言页面主文本颜色 - Colors.black
return Colors.black;
}
@override
Color getLanguagePageCheckColor() {
// 原始应用:语言页面复选框对勾颜色 - Colors.transparent
return Colors.transparent;
}
@override
double getLanguagePageCheckboxBorderRadius() {
// 原始应用:语言页面复选框边框圆角 - 15
return 15;
}
@override
double getLanguagePageCheckboxBorderWidth() {
// 原始应用:语言页面复选框边框宽度 - 2
return 2;
}
@override
Color getLanguagePageScaffoldBackgroundColor() {
// 原始应用语言页面Scaffold背景颜色 - Colors.transparent
return Colors.transparent;
}
/// === 账户页面差异化方法实现 ===
@override
String getAccountPageBackgroundImage() {
// 原始应用:账户页面背景图像路径 - "sc_images/person/sc_icon_edit_userinfo_bg.png"
return "sc_images/person/sc_icon_edit_userinfo_bg.png";
}
@override
Color getAccountPageMainContainerBackgroundColor() {
// 原始应用:账户页面主容器背景颜色 - Colors.white
return Colors.white;
}
@override
Color getAccountPageMainContainerBorderColor() {
// 原始应用:账户页面主容器边框颜色 - Color(0xffE6E6E6)
return const Color(0xffE6E6E6);
}
@override
Color getAccountPagePrimaryTextColor() {
// 原始应用:账户页面主文本颜色 - Colors.black
return Colors.black;
}
@override
Color getAccountPageSecondaryTextColor() {
// 原始应用:账户页面次要文本颜色 - Colors.black38
return Colors.black38;
}
@override
Color getAccountPageIconColor() {
// 原始应用:账户页面图标颜色 - Colors.black26
return Colors.black26;
}
@override
Color getAccountPageDividerColor() {
// 原始应用:账户页面分隔线颜色 - Colors.black12
return Colors.black12;
}
@override
Color getAccountPageScaffoldBackgroundColor() {
// 原始应用账户页面Scaffold背景颜色 - Colors.transparent
return Colors.transparent;
}
@override
Color getGoldRecordPageListBackgroundColor() {
// 马甲包策略:金币记录页面列表背景颜色 - 深灰色
return const Color(0xff1a1a1a); // #1a1a1a
}
}