fix: 修复一系列 bug
This commit is contained in:
@@ -4,6 +4,7 @@ import { ViewManager } from './scripts/core/ViewManager';
|
||||
import { LevelDataManager } from './scripts/utils/LevelDataManager';
|
||||
import { AuthManager } from './scripts/utils/AuthManager';
|
||||
import { ShareManager } from './scripts/utils/ShareManager';
|
||||
import { ShareLaunchHandler } from './scripts/utils/ShareLaunchHandler';
|
||||
import { WxSDK } from './scripts/utils/WxSDK';
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
@@ -92,6 +93,9 @@ export class PageLoading extends Component {
|
||||
this._updateStatusLabel('正在加载挑战关卡...');
|
||||
const joinSuccess = await ShareManager.instance.joinShare(shareCode);
|
||||
if (joinSuccess) {
|
||||
// 把启动 shareCode 同步给 ShareLaunchHandler,
|
||||
// 避免 wx.onShow 在初始展示时拿到同一个 code 又走一遍 join。
|
||||
ShareLaunchHandler.instance.markActiveShareCode(shareCode);
|
||||
this._updateProgress(1);
|
||||
this._updateStatusLabel('加载完成');
|
||||
// 跳过首页,直接进入分享挑战关卡
|
||||
@@ -134,6 +138,20 @@ export class PageLoading extends Component {
|
||||
this._updateProgress(1);
|
||||
this._updateStatusLabel('加载完成');
|
||||
|
||||
// 兜底:如果在 PageLoading 还在 preload 期间,wx.onShow 已经把游戏切到了分享态
|
||||
// (ShareLaunchHandler 已经 joinShare 成功),这里就不应再覆盖回首页,
|
||||
// 否则用户点了好友分享卡片却看到 PageHome。
|
||||
if (ShareManager.instance.isShareMode) {
|
||||
console.log('[PageLoading] 检测到分享态已激活,跳过首页直达 PageLevel');
|
||||
ViewManager.instance.open('PageLevel', {
|
||||
params: { shareMode: true },
|
||||
onComplete: () => {
|
||||
this.node.destroy();
|
||||
},
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
ViewManager.instance.open('PageHome', {
|
||||
onComplete: () => {
|
||||
this.node.destroy();
|
||||
|
||||
Reference in New Issue
Block a user