0.8.34 • Published 7 months ago
@mu-cabin/opms-permission v0.8.34
@mu-cabin/opms-permission
简介
@mu-cabin/opms-permission 是一个用于 OPMS 权限与认证管理的前端 SDK,支持资源、菜单、组织、用户信息的统一获取与本地缓存,适用于需要接入 OPMS 权限体系的前端项目。
安装
pnpm add @mu-cabin/opms-permission
# 或
yarn add @mu-cabin/opms-permission
# 或
npm install @mu-cabin/opms-permission主要功能
- SSO 单点登录/登出跳转
- 用户信息获取与本地缓存
- 资源、菜单、控件权限获取与处理
- 组织树、公司信息查询
- 本地存储自动过期管理
快速开始
import { OpmsPermission, jumpToSSOLogin, jumpToSSOLogout } from '@mu-cabin/opms-permission';
const permission = new OpmsPermission({
systemId: 1001, // 系统ID
baseUrl: 'https://your-api-domain/opms', // OPMS后端接口地址
ssoBaseUrl: 'https://your-sso-domain', // SSO登录地址
});
// 登录(需URL带有code参数)
await permission.login();
// 获取用户信息
const userInfo = await permission.getUserInfo();
// 获取资源、菜单、控件权限
const { resources, menuList, widgetMap } = await permission.getResources(userInfo.account);
// 跳转到SSO登录
jumpToSSOLogin({ baseUrl: 'https://your-sso-domain' });
// 跳转到SSO登出
jumpToSSOLogout({ baseUrl: 'https://your-sso-domain', redirectToUrl: window.location.origin });主要API
类:OpmsPermission
| 方法 | 说明 |
|---|---|
login() | SSO登录,获取并缓存token |
logout() | 登出并清除本地缓存 |
getUserInfo() | 获取当前用户信息 |
getResources(uniAccount) | 获取资源、菜单、控件权限 |
queryOrgs() | 获取组织树 |
queryCompanies() | 获取公司信息 |
isLogin() | 判断当前是否已登录 |
getToken() | 获取当前token |
SSO 工具方法
jumpToSSOLogin({ baseUrl, redirectUrl?, clientId? })跳转到SSO登录页jumpToSSOLogout({ baseUrl, redirectToUrl, clientId? })跳转到SSO登出页
类型说明
Resource资源对象,包含资源ID、类型、路径、子节点等MenuItem菜单项对象,包含菜单路径、名称、子菜单等UserInfo用户信息对象,包含账号、姓名、工号、组织等UserOrganization用户组织信息
常见问题
- 为什么获取不到资源/菜单?
- 请确保已正确登录(URL带有code参数),并且接口地址、systemId 配置正确。
- 本地缓存多久失效?
- 资源、菜单等默认缓存24小时,超时会自动重新拉取。
- 如何自定义SSO clientId?
jumpToSSOLogin和jumpToSSOLogout方法均支持传入clientId参数。
License
0.8.34
7 months ago
0.8.33
7 months ago
0.8.32
7 months ago
0.8.31
7 months ago
0.8.30
7 months ago
0.8.29
7 months ago
0.8.28
7 months ago
0.8.27
7 months ago
0.8.26
7 months ago
0.8.25
7 months ago
0.8.24
7 months ago
0.8.23
7 months ago
0.8.22
7 months ago
0.8.21
7 months ago
0.8.20
7 months ago
0.8.19
7 months ago
0.8.18
7 months ago
0.8.17
7 months ago
0.8.16
7 months ago
0.8.15
7 months ago
0.8.13
7 months ago
0.8.12
7 months ago
0.8.11
7 months ago
0.8.10
7 months ago
0.8.9
7 months ago
0.8.8
7 months ago
0.8.7
7 months ago
0.8.6
7 months ago
0.8.5
7 months ago
0.8.4
7 months ago
0.8.3
7 months ago
0.8.2
7 months ago
0.8.1
7 months ago
0.8.0
7 months ago
0.7.0
7 months ago
0.6.0
7 months ago
0.5.0
7 months ago
0.4.0
7 months ago
0.3.0
7 months ago
0.2.0
7 months ago
0.1.0
7 months ago