Module: UserStore

Pinia Store,用于管理用户认证状态、用户信息和用户偏好设置(如会话免打扰)。 该 Store 的状态支持持久化。
Source:

Members

(inner, constant) defaultUserInfo :object

默认的用户信息对象,用于初始化或重置用户状态。
Type:
  • object
Properties:
Name Type Description
username string 默认用户名。
userId string 默认用户ID。
avatar string 默认用户头像URL。
Source:

Methods

(inner) logout() → {void}

执行用户登出操作。 清除本地 token、用户信息和免打扰会话列表,并移除 localStorage 中的 token。
Source:
Returns:
Type
void

(inner) setToken(newToken) → {void}

设置用户的认证 token。
Parameters:
Name Type Description
newToken string 新的认证 token 字符串。
Source:
Returns:
Type
void

(inner) setUserInfo(newUserInfo) → {void}

设置用户的详细信息。 如果新用户信息包含 `mutedConversations` 数组,则同步更新本地的免打扰会话集合。
Parameters:
Name Type Description
newUserInfo object 包含用户详细信息的新对象。
Properties
Name Type Attributes Description
username string 用户名。
userId string 用户ID。
avatar string 用户头像URL。
mutedConversations Array.<string> <optional>
用户已设置免打扰的会话ID列表。
Source:
Returns:
Type
void

(inner) toggleMute(conversationId, mute) → {Promise.<void>}

切换指定会话的免打扰状态。 会同时更新本地状态和调用后端 API。如果 API 调用失败,会回滚本地状态。
Parameters:
Name Type Description
conversationId string 要切换免打扰状态的会话 ID。
mute boolean 如果为 `true` 则设为免打扰,如果为 `false` 则取消免打扰。
Source:
Throws:
如果切换免打扰状态的 API 请求失败,会打印错误信息并显示提示。
Type
Error
Returns:
Type
Promise.<void>

(inner) useUserStore() → {Object}

Pinia Store,用于管理用户的认证状态、个人信息以及聊天免打扰设置。 该 Store 的状态会被持久化到本地存储。
Properties:
Name Type Description
token Ref.<string> 用户的认证 token。
userInfo Ref.<object> 用户的详细信息,包括用户名、ID、头像等。
isLoggedIn ComputedRef.<boolean> 计算属性,判断用户是否已登录。
isMuted ComputedRef.<function()> 计算属性,返回一个函数,用于检查指定会话是否处于免打扰状态。
setToken function 设置用户的认证 token。
setUserInfo function 设置用户的详细信息,并同步免打扰会话列表。
toggleMute function 切换指定会话的免打扰状态。
logout function 执行用户登出操作,清除所有用户相关状态。
Source:
Returns:
Type
Object