refactor(chat): remove legacy screen visibility events and use absolute state refs
- Remove ChatScreenVisible and ChatScreenInvisible events from chat state machine - Remove legacy ChatInit event handler - Migrate state transitions to use absolute references (#chat.guestSession, #chat.userSession, #chat.idle) - Adjust legal text wording for Cozsweet privacy agreement
This commit is contained in:
@@ -18,8 +18,6 @@
|
||||
export type ChatEvent =
|
||||
// 内部 UI 事件
|
||||
| { type: "ChatInit" }
|
||||
| { type: "ChatScreenVisible" }
|
||||
| { type: "ChatScreenInvisible" }
|
||||
// 鉴权生命周期(**用户**显式触发登录后由 chat-screen 派)
|
||||
| { type: "ChatGuestLogin" }
|
||||
| { type: "ChatNonGuestLogin"; token: string }
|
||||
|
||||
@@ -297,10 +297,8 @@ export const chatMachine = setup({
|
||||
// ─────────────────────────────────────────────────────────────
|
||||
idle: {
|
||||
on: {
|
||||
ChatGuestLogin: "guestSession",
|
||||
ChatNonGuestLogin: "userSession",
|
||||
// 兼容旧事件(**无**资源 —— 旧 chat-screen 还在派 ChatInit)
|
||||
ChatInit: "guestSession",
|
||||
ChatGuestLogin: "#chat.guestSession",
|
||||
ChatNonGuestLogin: "#chat.userSession",
|
||||
ChatLoadMoreHistory: "loadingMoreHistory", // 旧逻辑保留(翻历史用)
|
||||
},
|
||||
},
|
||||
@@ -345,10 +343,9 @@ export const chatMachine = setup({
|
||||
actions: "appendUserImage",
|
||||
},
|
||||
ChatLoadMoreHistory: "loadingMore",
|
||||
ChatScreenInvisible: "idle", // 屏不可见 → idle
|
||||
ChatLogout: "idle", // 登出 → idle
|
||||
ChatLogout: "#chat.idle", // 登出 → idle
|
||||
// 跨态(游客 → email)
|
||||
ChatNonGuestLogin: "userSession",
|
||||
ChatNonGuestLogin: "#chat.userSession",
|
||||
ChatAISentenceReceived: {
|
||||
actions: "appendOrUpdateAISentence",
|
||||
},
|
||||
@@ -426,10 +423,9 @@ export const chatMachine = setup({
|
||||
actions: "appendUserImage",
|
||||
},
|
||||
ChatLoadMoreHistory: "loadingMore",
|
||||
ChatScreenInvisible: "idle", // 屏不可见 → idle(cleanup WS via parent state exit)
|
||||
ChatLogout: "idle", // 登出 → idle(cleanup WS)
|
||||
ChatLogout: "#chat.idle", // 登出 → idle(cleanup WS)
|
||||
// 跨态(email → 游客)
|
||||
ChatGuestLogin: "guestSession",
|
||||
ChatGuestLogin: "#chat.guestSession",
|
||||
ChatAISentenceReceived: {
|
||||
actions: "appendOrUpdateAISentence",
|
||||
},
|
||||
@@ -501,10 +497,9 @@ export const chatMachine = setup({
|
||||
actions: "appendUserImage",
|
||||
},
|
||||
ChatLoadMoreHistory: "loadingMoreHistory",
|
||||
ChatScreenInvisible: "idle",
|
||||
ChatLogout: "idle",
|
||||
ChatGuestLogin: "guestSession",
|
||||
ChatNonGuestLogin: "userSession",
|
||||
ChatLogout: "#chat.idle",
|
||||
ChatGuestLogin: "#chat.guestSession",
|
||||
ChatNonGuestLogin: "#chat.userSession",
|
||||
ChatAISentenceReceived: {
|
||||
actions: "appendOrUpdateAISentence",
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user