iOS版本

This commit is contained in:
roxy 2026-06-04 09:58:47 +08:00
parent e9ee3e9c02
commit dc6795e00e
5 changed files with 83 additions and 75 deletions

View File

@ -524,7 +524,7 @@
CODE_SIGN_ENTITLEMENTS = Runner/RunnerRelease.entitlements;
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 160;
CURRENT_PROJECT_VERSION = 100;
DEVELOPMENT_TEAM = S9YG87C297;
ENABLE_BITCODE = NO;
INFOPLIST_FILE = Runner/Info.plist;
@ -533,7 +533,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 1.6.0;
MARKETING_VERSION = 1.0.0;
PRODUCT_BUNDLE_IDENTIFIER = com.org.yumiparty;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
@ -715,7 +715,7 @@
CODE_SIGN_ENTITLEMENTS = Runner/RunnerDebug.entitlements;
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 160;
CURRENT_PROJECT_VERSION = 100;
DEVELOPMENT_TEAM = S9YG87C297;
ENABLE_BITCODE = NO;
INFOPLIST_FILE = Runner/Info.plist;
@ -724,7 +724,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 1.6.0;
MARKETING_VERSION = 1.0.0;
PRODUCT_BUNDLE_IDENTIFIER = com.org.yumiparty;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
@ -744,7 +744,7 @@
CODE_SIGN_ENTITLEMENTS = Runner/RunnerRelease.entitlements;
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 160;
CURRENT_PROJECT_VERSION = 100;
DEVELOPMENT_TEAM = S9YG87C297;
ENABLE_BITCODE = NO;
INFOPLIST_FILE = Runner/Info.plist;
@ -753,7 +753,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 1.6.0;
MARKETING_VERSION = 1.0.0;
PRODUCT_BUNDLE_IDENTIFIER = com.org.yumiparty;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";

View File

@ -31,8 +31,8 @@
<string>yumi</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>$(FLUTTER_BUILD_NAME)</string>
<key>CFBundleShortVersionString</key>
<string>1.0.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleURLTypes</key>
@ -56,8 +56,8 @@
</array>
</dict>
</array>
<key>CFBundleVersion</key>
<string>$(FLUTTER_BUILD_NUMBER)</string>
<key>CFBundleVersion</key>
<string>100</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>NSCameraUsageDescription</key>

View File

@ -1761,6 +1761,42 @@ class _GiftPageState extends State<GiftPage> with TickerProviderStateMixin {
'hasFullScreenEffect=$hasFullScreenEffect '
'effectsEnabled=${SCGlobalConfig.isGiftSpecialEffects}',
);
if (gift.giftSourceUrl != null && gift.special != null) {
if (scGiftHasFullScreenEffect(gift.special)) {
if (SCGlobalConfig.allowsHighCostAnimations &&
SCGlobalConfig.isGiftSpecialEffects &&
(rtcProvider?.shouldShowRoomVisualEffects ?? false)) {
_giftFxLog(
'local trigger player play '
'path=${gift.giftSourceUrl} '
'giftId=${gift.id} '
'giftName=${gift.giftName} '
'animationCount=$animationCount',
);
SCGiftVapSvgaManager().play(gift.giftSourceUrl!);
} else {
_giftFxLog(
'skip local play because visual effects disabled '
'giftId=${gift.id} '
'isGiftSpecialEffects=${SCGlobalConfig.isGiftSpecialEffects} '
'roomVisible=${rtcProvider?.shouldShowRoomVisualEffects ?? false}',
);
}
} else {
_giftFxLog(
'skip local play because special does not include '
'${SCGiftType.ANIMSCION.name}/$kSCGiftAnimationSpecialAlias/${SCGiftType.GLOBAL_GIFT.name} '
'giftId=${gift.id} special=${gift.special}',
);
}
} else {
_giftFxLog(
'skip local play because giftSourceUrl or special is null '
'giftId=${gift.id} '
'giftSourceUrl=${gift.giftSourceUrl} '
'special=${gift.special}',
);
}
Provider.of<RtmProvider>(
navigatorKey.currentState!.context,
listen: false,
@ -1826,42 +1862,6 @@ class _GiftPageState extends State<GiftPage> with TickerProviderStateMixin {
),
);
}
if (gift.giftSourceUrl != null && gift.special != null) {
if (scGiftHasFullScreenEffect(gift.special)) {
if (SCGlobalConfig.allowsHighCostAnimations &&
SCGlobalConfig.isGiftSpecialEffects &&
(rtcProvider?.shouldShowRoomVisualEffects ?? false)) {
_giftFxLog(
'local trigger player play '
'path=${gift.giftSourceUrl} '
'giftId=${gift.id} '
'giftName=${gift.giftName} '
'animationCount=$animationCount',
);
SCGiftVapSvgaManager().play(gift.giftSourceUrl!);
} else {
_giftFxLog(
'skip local play because visual effects disabled '
'giftId=${gift.id} '
'isGiftSpecialEffects=${SCGlobalConfig.isGiftSpecialEffects} '
'roomVisible=${rtcProvider?.shouldShowRoomVisualEffects ?? false}',
);
}
} else {
_giftFxLog(
'skip local play because special does not include '
'${SCGiftType.ANIMSCION.name}/$kSCGiftAnimationSpecialAlias/${SCGiftType.GLOBAL_GIFT.name} '
'giftId=${gift.id} special=${gift.special}',
);
}
} else {
_giftFxLog(
'skip local play because giftSourceUrl or special is null '
'giftId=${gift.id} '
'giftSourceUrl=${gift.giftSourceUrl} '
'special=${gift.special}',
);
}
}
}

View File

@ -727,35 +727,43 @@ class _VoiceRoomPageState extends State<VoiceRoomPage>
targetGroupKey == null ||
_markGiftVisualBatchForPlayback(msg, targetGroupKey);
if (shouldPlayBatchVisuals) {
var giftModel = LGiftModel();
giftModel.labelId = _buildGiftTickerLabelId(msg, targetGroupKey);
giftModel.sendUserName = msg.user?.userNickname ?? "";
giftModel.sendToUserName = _resolveGiftTickerTargetName(
msg,
targetUserIds,
SCRoomEffectScheduler().scheduleDeferredEffect(
debugLabel: 'room_gift_ticker_${msg.type}_${msg.gift?.id ?? ""}',
action: () {
if (!mounted) {
return;
}
var giftModel = LGiftModel();
giftModel.labelId = _buildGiftTickerLabelId(msg, targetGroupKey);
giftModel.sendUserName = msg.user?.userNickname ?? "";
giftModel.sendToUserName = _resolveGiftTickerTargetName(
msg,
targetUserIds,
);
giftModel.sendUserPic = msg.user?.userAvatar ?? "";
giftModel.giftPic = msg.gift?.giftPhoto ?? "";
giftModel.giftCount = msg.number ?? 0;
giftModel.giftCountStepUnit = _resolveGiftCountStepUnit(msg);
unawaited(
warmImageResource(
giftModel.sendUserPic,
logicalWidth: 26.w,
logicalHeight: 26.w,
),
);
unawaited(
warmImageResource(
giftModel.giftPic,
logicalWidth: 34.w,
logicalHeight: 34.w,
),
);
Provider.of<GiftAnimationManager>(
context,
listen: false,
).enqueueGiftAnimation(giftModel);
},
);
giftModel.sendUserPic = msg.user?.userAvatar ?? "";
giftModel.giftPic = msg.gift?.giftPhoto ?? "";
giftModel.giftCount = msg.number ?? 0;
giftModel.giftCountStepUnit = _resolveGiftCountStepUnit(msg);
unawaited(
warmImageResource(
giftModel.sendUserPic,
logicalWidth: 26.w,
logicalHeight: 26.w,
),
);
unawaited(
warmImageResource(
giftModel.giftPic,
logicalWidth: 34.w,
logicalHeight: 34.w,
),
);
Provider.of<GiftAnimationManager>(
context,
listen: false,
).enqueueGiftAnimation(giftModel);
} else {
debugPrint(
'[GiftFx][voice] skip gift ticker by visual batch dedupe '

View File

@ -85,13 +85,13 @@ class OverlayManager {
SCFloatingMessage message, {
required String debugLabel,
}) {
unawaited(_warmMessageImages(message));
SCRoomEffectScheduler().scheduleDeferredEffect(
debugLabel: debugLabel,
action: () {
if (_isDisposed || _isSuppressed) {
return;
}
unawaited(_warmMessageImages(message));
_messageQueue.add(message);
_safeScheduleNext();
},