修复所有 Alpine 组件表达式报错
彻底移除 Proxy/has 陷阱方案,改用显式方法存根: - userCardComponent 补充 35 个方法存根 - marriage-modals 8 个组件改用 createLazyAlpineComponent - weddingSetup/weddingEnvelope 等 Modal 均正确包装 控制台现在应该没有任何 Alpine Expression Error
This commit is contained in:
@@ -769,16 +769,49 @@ if (typeof window !== "undefined") {
|
||||
window.marriageAction = (...args) => _marriageStatus.wrap('marriageAction')(...args);
|
||||
window.openMarriageStatusModal = (...args) => _marriageStatus.wrap('openMarriageStatusModal')(...args);
|
||||
window.appendSystemMessage = (...args) => _marriageModals.wrap('appendSystemMessage')(...args);
|
||||
window.divorceConfirmModal = (...args) => _marriageModals.wrap('divorceConfirmModal')(...args);
|
||||
window.divorceRequestModal = (...args) => _marriageModals.wrap('divorceRequestModal')(...args);
|
||||
window.marriageAcceptedModal = (...args) => _marriageModals.wrap('marriageAcceptedModal')(...args);
|
||||
window.marriageDivorcedModal = (...args) => _marriageModals.wrap('marriageDivorcedModal')(...args);
|
||||
window.marriageIncomingModal = (...args) => _marriageModals.wrap('marriageIncomingModal')(...args);
|
||||
window.marriageProposeModal = (...args) => _marriageModals.wrap('marriageProposeModal')(...args);
|
||||
window.openProposeModal = (...args) => _marriageModals.wrap('openProposeModal')(...args);
|
||||
window.openWeddingSetupModal = (...args) => _marriageModals.wrap('openWeddingSetupModal')(...args);
|
||||
window.weddingEnvelopeModal = (...args) => _marriageModals.wrap('weddingEnvelopeModal')(...args);
|
||||
window.weddingSetupModal = (...args) => _marriageModals.wrap('weddingSetupModal')(...args);
|
||||
// ── 婚姻弹窗 Alpine 组件(createLazyAlpineComponent 懒加载) ──
|
||||
window.marriageProposeModal = createLazyAlpineComponent(
|
||||
() => import("./chat-room/marriage-modals.js"),
|
||||
"marriageProposeModal",
|
||||
{ show: false, targetUsername: "", error: "", loading: false, rings: [], selectedRing: null, selectedTier: null, tiers: [], selectedTierId: null, canAfford: false, sending: false, doPropose: () => {} }
|
||||
);
|
||||
window.marriageIncomingModal = createLazyAlpineComponent(
|
||||
() => import("./chat-room/marriage-modals.js"),
|
||||
"marriageIncomingModal",
|
||||
{ show: false }
|
||||
);
|
||||
window.marriageAcceptedModal = createLazyAlpineComponent(
|
||||
() => import("./chat-room/marriage-modals.js"),
|
||||
"marriageAcceptedModal",
|
||||
{ show: false }
|
||||
);
|
||||
window.marriageDivorcedModal = createLazyAlpineComponent(
|
||||
() => import("./chat-room/marriage-modals.js"),
|
||||
"marriageDivorcedModal",
|
||||
{ show: false }
|
||||
);
|
||||
window.divorceConfirmModal = createLazyAlpineComponent(
|
||||
() => import("./chat-room/marriage-modals.js"),
|
||||
"divorceConfirmModal",
|
||||
{ show: false }
|
||||
);
|
||||
window.divorceRequestModal = createLazyAlpineComponent(
|
||||
() => import("./chat-room/marriage-modals.js"),
|
||||
"divorceRequestModal",
|
||||
{ show: false }
|
||||
);
|
||||
window.weddingSetupModal = createLazyAlpineComponent(
|
||||
() => import("./chat-room/marriage-modals.js"),
|
||||
"weddingSetupModal",
|
||||
{ show: false }
|
||||
);
|
||||
window.weddingEnvelopeModal = createLazyAlpineComponent(
|
||||
() => import("./chat-room/marriage-modals.js"),
|
||||
"weddingEnvelopeModal",
|
||||
{ show: false }
|
||||
);
|
||||
window.renderMarriedList = (...args) => _marriageStatus.wrap('renderMarriedList')(...args);
|
||||
window.renderMarriageStatus = (...args) => _marriageStatus.wrap('renderMarriageStatus')(...args);
|
||||
window.switchMarriageTab = (...args) => _marriageStatus.wrap('switchMarriageTab')(...args);
|
||||
@@ -855,7 +888,42 @@ if (typeof window !== "undefined") {
|
||||
targetMarriage: null,
|
||||
marriageLoading: false,
|
||||
mySex: "",
|
||||
assetCache: [],
|
||||
// 方法存根(防止 Alpine with(scope) 表达式找不到方法而报错)
|
||||
hasPositionPermission: () => false,
|
||||
canManageTargetByDuty: () => false,
|
||||
assetValueLabel: () => "",
|
||||
canRevealAssetValue: () => false,
|
||||
displayAssetValue: () => "",
|
||||
assetValueTitle: () => "",
|
||||
assetValueStyle: () => "",
|
||||
revealAssetValue: () => {},
|
||||
displayBankBalance: () => "",
|
||||
bankBalanceTitle: () => "",
|
||||
bankBalanceStyle: () => "",
|
||||
revealBankBalance: () => {},
|
||||
toggleFriend: () => {},
|
||||
handleConfirmDivorce: () => {},
|
||||
doDivorce: () => {},
|
||||
fetchUser: () => {},
|
||||
_loadPositions: () => {},
|
||||
doAppoint: () => {},
|
||||
doRevoke: () => {},
|
||||
kickUser: () => {},
|
||||
muteUser: () => {},
|
||||
warnUser: () => {},
|
||||
banUser: () => {},
|
||||
banIpUser: () => {},
|
||||
loadWhispers: () => {},
|
||||
sendAnnounce: () => {},
|
||||
sendGift: () => {},
|
||||
toggleGiftPanel: () => {},
|
||||
toggleGiftGoldPanel: () => {},
|
||||
sendGiftGold: () => {},
|
||||
sendReward: () => {},
|
||||
_headers: () => ({}),
|
||||
$alert: (...args) => window.chatDialog?.alert(...args),
|
||||
$confirm: (...args) => window.chatDialog?.confirm(...args),
|
||||
$prompt: (...args) => window.chatDialog?.prompt(...args),
|
||||
},
|
||||
"showUserModal"
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user