0.8.34 • Published 7 months ago

@mu-cabin/opms-permission v0.8.34

Weekly downloads
-
License
MIT
Repository
-
Last release
7 months ago

@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 用户组织信息

常见问题

  1. 为什么获取不到资源/菜单?
    • 请确保已正确登录(URL带有code参数),并且接口地址、systemId 配置正确。
  2. 本地缓存多久失效?
    • 资源、菜单等默认缓存24小时,超时会自动重新拉取。
  3. 如何自定义SSO clientId?
    • jumpToSSOLoginjumpToSSOLogout 方法均支持传入 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