#### 简介 实现统一认证登陆功能的逻辑插件,无实际渲染标签,内置统一登陆跳转、统一登录token获取、统一登陆token刷新等功能; 当token在指定时间内无更新时,会自动刷新本地token数据; 仅可在全局范围内加载使用(app.vue),全局仅可使用一次,多次使用,仅第一次使用有效; #### 组件参数 | 属性名 | 说明 | 类型 | 默认值 | | ------------------- | ------------------------------------------------------------ | ---------------------------------- | -------------- | | clientId | 应用id,统一认证平台提供,必填 | | —— | | clientSecret | 应用秘钥,统一认证平台提供,必填 | | —— | | useRouter | 路由对象,传入vue-Router的useRouter()值 | Router | —— | | loginInfo | 统一认证的登录信息,如传入该值,则不触发登陆,直接使用传入的用户信息,非必填 | LoginInfo | —— | | networkType | 网络环境类型配置 | 'LAN'\|'INT'(内网环境\|外网环境) | 'LAN' | | isEnabled | 是否启用组件,支持动态控制 | boolean | true | | listenToken | 是否实时监听token状态
100ms检测一次token是否存在,丢失触发重新获取 | boolean | false | | refreshTokenOnRoute | 是否开启路由变动时自动刷新token功能
开启后,每次路由变动延时2s自动刷新token | boolean | false | | redirectPath | 统一登陆成功后,跳转的地址;
如不设置,默认跳转至触发登陆的页面 | string | ‘’ | | tokenName | local中保存token值的键名称 | string | 'access_token' | | refreshInterval | token自动更新的时间间隔,单位秒 | number | 600 | | tokenValidity | token过期时间,单位秒 | number | 1800 | | getTokenUrl | 获取token的请求地址
默认根据networkType自动获取
内网为:http://10.76.91.87:28080
外网为:http://10.76.44.44:28080 | string | —— | | getCodeUrl | 获取code的跳转地址
默认根据networkType自动获取
内网为:http://sd.uts.cma:18010
外网为:https://58.59.29.50:13019 | string | —— | #### 组件事件 | 事件名 | 说明 | 类型 | | ------------ | ------------------------------------------- | -------------------------------------- | | loginSuccess | 初次加载,登陆信息成功后触发该事件 | Function:( loginInfo:Object ) => void | | tokenChange | token刷新时,触发该事件
首次登陆不触发 | Function:( loginInfo:Object ) => void | | loggingIn | 从统一认证平台返回后触发该事件 | Function:( ) => void | #### 暴露内容 | 方法名 | 说明 | 类型 | | --------------- | --------------------------- | -------------------- | | refreshToken | 手动刷新登陆状态,更新token | Function:()=>void | | logout | 退出登陆 | Function:()=>void | | getUnifiedToken | 获取当前使用的token | Function:()=>string | | getLoginInfo | 获取当前登录信息 | Function:()=>Object | #### 组件工具库 可在任意位置导入并使用该工具库内的方法,实现相关操作功能 导入方法 : ``` import {xxx} from '***/qlUnifiedLogin/tools.js' ``` | 方法名 | 说明 | 类型 | | --------------- | ---------------------------------------------- | -------------------- | | logout | 退出登陆 | Function:()=>void | | getUnifiedToken | 获取当前使用的token | Function:()=>string | | getLoginInfo | 获取当前登录信息 | Function:()=>Object | | refreshToken | 刷新token的方法,刷新成功后触发tokenChange事件 | Function:()=>void |