npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

lynnlin-sso-um

v0.0.2

Published

> 通过统一调用以及参数配置实现SSO和UM菜单权限的配置

Readme

rect-sso-um

通过统一调用以及参数配置实现SSO和UM菜单权限的配置

使用流程

1 安装

npm install snk-sso-um --save

2 配置文件 .roadhogrc.js

... 
   extraBabelIncludes:["node_modules/snk-sso-um"], // <-- 增加babel 编译配置
   env: {
    development: { // 开发环境
      extraBabelPlugins: [
        'dva-hmr',
      ],
      define: {
        SERVER: '',
        // 单点登录用户信息接口 具体业务具体填写
        SSOSERVER:'http://ip:port/sso/user',
        UMMENUSERVER:'http://ip:port/um/system/这里是UM系统名/user/{userCode}/menu',
        UMBUTTONSERVER:'http://ip:port/um/system/这里是UM系统名/user/{userCode}/button',
        SSOLOGOUTSERVER:'http://10.1.109.27:8080/sso/logout',
      }
    },
  },

3 在src/router.js 编写业务代码,增加Menu菜单配置,以及路由注册,和方法调用

DEMO

http://git.sinosafe.com.cn/teamwork/selling-expenses/blob/master/fee-admin-domain/FeeAdmin/src/router.js

名称 | 类型 | 描述 ---|---|--- um | boolean | 是否使用UM权限 默认为false menuData | JSON | 菜单数据,如果UM为true的时候不传 router | JSON | 路由注册数据 useButtonPermission|boolean|是否使用调用BUTTON权限 默认为false ... | 其他参数 | 固定写法,参照demo中的配置

4 更改src/layout/BasicLayout.js

DEMO

http://git.sinosafe.com.cn/teamwork/selling-expenses/blob/master/fee-admin-domain/FeeAdmin/src/layouts/BasicLayout.js

其中增加了ssoummodel的注入,以及Menu菜单数据的注入,以及退出的等方法实现

新的工程可直接拷贝这个页面使用

5 按钮权限的使用(如果应用需要使用到的按钮权限的话)

首先需要在UM系统中进行按钮的相关配置

然后.roadhogrc.js配置增加按钮路径的配置UMBUTTONSERVER字段

然后src/router.js 中配置 useButtonPermission为true

普通按钮权限

import {  PermissionWrapper } from 'snk-sso-um';

<PermissionWrapper permissionKey='um系统中对应的按钮的名称'>
    <Button>删除</Button>  // <- 这里原来怎么写就怎么写
</PermissionWrapper>

理论上是可以包裹任意的组件,但是包裹Select.Option报错,所以增加了如下的实现。

下拉按钮的权限

import {  PermissinSelectOption } from 'snk-sso-um';

<Select>
    <Option>审批</Option>
    <Option>未审批</Option>
    <Option><PermissinSelectOption permissionKey='um系统中对应的按钮的名称'>权限</PermissinSelectOption></Option>
</Select>

以上为使用步骤




开发注意事项

因为封装时候的代码,在src\AuthorityWrapper\router中封装了model的引用,在开发和发布的时候因为实际的业务model路径不一致,所以需要做如下的更改

http://git.sinosafe.com.cn/snk/snk-sso-um/blob/master/src/AuthorityWrapper/router.js#L23

http://git.sinosafe.com.cn/snk/snk-sso-um/blob/master/src/AuthorityWrapper/router.js#L39

开发阶段

23行39行 路径为:

../models

发布阶段

23行39行 路径为:

../../../../src/models