域名生态账号模块
适用于域名生态多个平台,主要处理了 账号信息、登录token的获取 和 登录状态路由拦截、
本模块涉及站点间跳转和通信,需确保 /_env/sites.js
已引入 及 扩展页 已正确配置。
使用示例
import Vue from 'vue'
import account from '@iwotech/account'
import router from './router'
// 需要传递路由实例,来实现路由拦截
Vue.use(account,{router})
路由拦截
配置路由的 meta.isAuthority 属性,true/false,表示是否需要验证 未设置 meta.isAuthority 的路由会继承上级路由的设置
状态
import {state} from '@iwotech/account'
/* 默认值 */
state = {
token: null, // 登录凭据
info: {}, // 用户信息
isLogined: undefined, // 登录状态 undefined不确定(即还在请求中)、true已登录、false未登录
}
方法
import {getUser, goLogin, goRegister, logout} from '@iwotech/account'
/* 内置方法 */
getUser() // 获取用户信息(初始化时会自动执行一次)
goLogin() // 前往登录页面
goRegister() // 前往注册页面
logout() // 退出登录
钩子
import {onTokenReady,onReady} from '@iwotech/account'
onTokenReady(()=>{
/* 这里的代码会确保 已从中台获取过了token 才执行 */
})
onReady(()=>{
/* 这里的代码会确保 获取用户信息 的请求已返回结果才执行 */
})
/* 同时也是一个 Promise */
await onTokenReady()
await onReady()