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
|
- 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