Appearance
看这里 ↩︎用户状态管理
useUserStore
参数
| Name | Type |
|---|---|
pinia? | null | Pinia |
hot? | StoreGeneric |
返回值
| 属性/方法 | 类型 | 默认值 | 描述 |
|---|---|---|---|
| init | (options: { enableZAA?: boolean, useDevelopZAA?: boolean }) => void | - | 初始化 Pinia Store 并添加拦截器,处理用户数据 |
| navToZAA | (options: { isDev: boolean, redirectPath: string, identityVerifyOnly: boolean }) => Promise<void> | - | 跳转到粤工惠进行用户信息授权 |
| watchZAAEnterOptions | (options: any) => any | - | 解析粤工惠传入的 JWT 参数,并更新用户数据,一般在 App onShow 内开启监听 |
| user | Object | {} | 用户信息 |
| isLoggingIn | Readonly<Boolean> | true | 用户是否正在登录中 |
| isLoggedIn | Readonly<Boolean> | - | 用户是否已经登录 |
| unverified | Readonly<Boolean> | - | 用户是否未实名 |
| verifiedAndNotAppliedJoinTradeUnion | Readonly<Boolean> | - | 用户已实名,但未申请加入工会 |
| verifiedAndReviewingJoinTradeUnion | Readonly<Boolean> | - | 用户已实名,正在等待工会加入审核 |
| verifiedAndJoinedTradeUnion | Readonly<Boolean> | - | 用户已实名并成功加入工会 |
| getUser | () => Promise<Object> | - | 更新并返回最新的用户信息 |
| checkUnverified | () => Promise<Boolean> | - | 确保用户已经登录的前提下检查用户是否未实名 |
| checkVerifiedAndNotAppliedJoinTradeUnion | () => Promise<Boolean> | - | 确保用户已经登录的前提下检查用户是否已实名但未申请加入工会 |
| checkVerifiedAndReviewingJoinTradeUnion | () => Promise<Boolean> | - | 确保用户已经登录的前提下检查用户是否已实名并正在等待工会加入审核 |
| checkVerifiedAndJoinedTradeUnion | () => Promise<Boolean> | - | 确保用户已经登录的前提下检查用户是否已实名并已成功加入工会 |
| updateUser | (data: Object) => Promise<Object> | - | 更新用户信息,若 data 为空则从知晓云 userprofile 内同步数据到本地 |
| updateUserByJwt | (jwt: string) => Promise<Object> | - | 使用 JWT 更新用户信息,并且同步到本地 |
| ensureLogin | () => Promise<Object> | - | 确保用户已登录,并返回用户信息 |
init
js
/**
* 初始化 userStore,添加静默登录、用户信息等拦截器,处理用户数据
* @param {object} options 登录配置
* @param {boolean} options.enableZAA 是否开启 0AA
* @param {boolean} options.useDevelopZAA 是否前往测试小程序 0AA
*/
function init({enableZAA = true, useDevelopZAA: dev} = {}) {
// Function Body...
}navToZAA
js
/**
* 跳转到粤工惠小程序进行用户信息授权
* @param {object} options
* @param {boolean} options.isDev 指定跳转正式/测试粤工惠小程序 (待取消参数,如项目引用需尽快更改,现阶段暂时兼容)
* @param {string} options.redirectPath 指定回跳路径(不传该参数时登录小程序将原路径返回;通过半屏方式打开的,默认原路径返回)
* @param {boolean} options.identityVerifyOnly 是否只实名不入会
* @return {Promise<void>}
*/
async function navToZAA({
isDev = false,
redirectPath,
identityVerifyOnly = false,
} = {}) {
// Function Body...
}watchZAAEnterOptions
js
/**
* 解析粤工惠传入的 JWT 参数,并更新用户数据,一般在 App onShow 内开启监听
* @param {object} options App launch options
* @return {Promise<void>}
*/
async function watchZAAEnterOptions(options) {
// Function Body...
}