qlfy-unified-login
Version:
实现统一认证登陆功能的逻辑插件,无实际渲染标签,内置统一登陆跳转、统一登录token获取、统一登陆token刷新等功能;
68 lines (67 loc) • 1.95 kB
TypeScript
import { Router } from 'vue-router';
/** 响应式数据对象 */
export declare class Data {
}
/** 网络环境类型 */
export declare enum NetworkType {
LAN = "LAN",
INT = "INT"
}
export interface LoginInfo {
[x: string]: any;
access_token: string;
refresh_token: string;
account: string;
nick_name: string;
real_name: string;
role_name: string;
role_id: string;
user_id: string;
user_name: string;
tenant_id: string;
outLogin?: boolean;
}
export interface Prop {
/** 应用id,平台提供*/
clientId: string;
/** 应用秘钥,平台提供*/
clientSecret: string;
/** 应用名称,平台提供 */
clientName: string;
/** 统一登陆页面的ip地址 */
loginPageBaseAddress: string;
/** 登陆服务的ip地址 */
loginServiceBaseAddress: string;
/** 实体id:局域网使用sdPLUGIN,互联网使用multClient*/
entityId: 'sdPLUGIN' | 'multClient';
/** 路由对象 */
useRouter: Router;
/** 传入loginInfo则使用外部登陆信息 */
outLoginInfo?: LoginInfo;
/** 是否启用组件,支持动态控制,非必填*/
isEnabled?: boolean;
/** 获取token的请求地址*/
getTokenUrl?: string;
/** 获取code的跳转地址*/
getCodeUrl?: string;
/** 是否开启路由变动时自动刷新token功能*/
refreshTokenOnRoute?: boolean;
/** 是否实时监听token状态,非必填*/
listenToken?: boolean;
/** 认证成功后的,非必填*/
redirectPath?: string;
/** local中保存token值的键名称,非必填*/
tokenName?: string;
/** token有效期,单位秒,非必填*/
tokenValidity?: number;
}
export interface Emits {
(e: 'loggingIn', params: {
code: string | string[];
grant_type: string;
state: number;
}): void;
(e: 'loginSuccess', loginInfo: {
[x: string]: any;
}): void;
}