2542 lines
75 KiB
Dart
2542 lines
75 KiB
Dart
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
|
||
}
|
||
}
|