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 getHomeTabPages(BuildContext context) { final List pages = []; return pages; } @override List getHomeTabLabels(BuildContext context) { final List 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(context, listen: false).openDrawer(context); } @override bool shouldShowFirstRechargePrompt() { return UserManager().getCurrentUser()?.userProfile?.firstRecharge ?? false; } @override Map 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? 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 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 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 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 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 getMePage2StatisticsColors() { // 原始应用统计信息颜色配置 return { 'numberColor': Color(0xFF333333), 'labelColor': Color(0xFFB1B1B1), 'dividerColor': Color(0xFFE6E6E6), }; } @override Map 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 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 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 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 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 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': return "sc_images/room/sc_icon_luck_gift_head_bg.png"; case 'CP': return "sc_images/room/sc_icon_cp_gift_head_bg.png"; case 'MAGIC': return "sc_images/room/sc_icon_magic_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 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 getTaskPageReceivableButtonGradient() { // 原始应用:任务页面可领取按钮渐变颜色 - [Color(0xffBB92FF), Color(0xff8B45FF)] return [const Color(0xffBB92FF), const Color(0xff8B45FF)]; } @override List 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 } }