fix: 修复分享模式进入主线冲突的 bug
This commit is contained in:
@@ -7,6 +7,7 @@ import { ToastManager } from 'db://assets/scripts/utils/ToastManager';
|
||||
import { StaminaInfo } from 'db://assets/scripts/types/ApiTypes';
|
||||
import { AuthManager } from 'db://assets/scripts/utils/AuthManager';
|
||||
import { AchievementTitleManager } from 'db://assets/scripts/utils/AchievementTitleManager';
|
||||
import { ShareManager } from 'db://assets/scripts/utils/ShareManager';
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
/**
|
||||
@@ -110,15 +111,23 @@ export class PageHome extends BaseView {
|
||||
return;
|
||||
}
|
||||
|
||||
// 兜底:清空可能残留的好友分享挑战状态,确保进入的是纯主线挑战
|
||||
// 场景:用户从微信好友分享卡片进入挑战 → 退出回首页 → 再次点击开始游戏
|
||||
// 若不清理,缓存的 PageLevel 仍会读到 ShareManager 的分享态数据
|
||||
if (ShareManager.instance.isShareMode) {
|
||||
console.log('[PageHome] 检测到残留的分享挑战状态,清理后再进入主线挑战');
|
||||
ShareManager.instance.clearShareMode();
|
||||
}
|
||||
|
||||
this._isAnimating = true;
|
||||
this._playStaminaCostAnimation()
|
||||
.then(() => {
|
||||
ViewManager.instance.open('PageLevel');
|
||||
ViewManager.instance.open('PageLevel', { params: { shareMode: false } });
|
||||
})
|
||||
.catch(err => {
|
||||
console.error('[PageHome] 体力消耗动画异常:', err);
|
||||
// 异常兜底:直接进入关卡
|
||||
ViewManager.instance.open('PageLevel');
|
||||
ViewManager.instance.open('PageLevel', { params: { shareMode: false } });
|
||||
})
|
||||
.finally(() => {
|
||||
this._isAnimating = false;
|
||||
|
||||
Reference in New Issue
Block a user