安装与使用
在 Needle 仓库中包含了大量基础插件,只需要通过 npm 安装即可使用
例如使用 Login
插件
# 安装插件
npm install @hvisions/plugin-default-login
// 引入插件
import loginPlugin from '@hvisions/plugin-default-login';
import Core from '@hvisions/core';
// 使用插件
Core.plugin(loginPlugin);
插件开发
install([options])
插件的注册方法
参数名 | 说明 | 类型 | 默认值 | 必须 | 版本 |
---|---|---|---|---|---|
options | 配置参数,包含 core 实例对象 | any | - | - | - |
方法返回值可包含属性如表
参数名 | 说明 | 类型 | 默认值 | 必须 | 版本 |
---|---|---|---|---|---|
router | 路由配置列表 | Array<NeedleRouter> | - | - | - |
store | redux reducer | Reducer | - | - | - |
locale | 国际化 | Object | - | - | - |
type
定义插件种类, 支持
layout
,login
,不设置即为普通插件
getLoginComponent([options])
声明 Login 页面的 UI (仅当
type
是 login 时有效)
参数名 | 说明 | 类型 | 默认值 | 必须 | 版本 |
---|---|---|---|---|---|
options | 配置参数,包含 core 实例对象 | any | - | - | - |
options 包含属性
参数名 | 说明 | 类型 | 默认值 | 必须 | 版本 |
---|---|---|---|---|---|
core | core 实例对象 | any | - | - | - |
config | 该插件的全局配置 | any | - | - | - |
loginComplete | 登录成功后的回调方法 | (token: string, authData: any) => void | - | - | - |
方法返回值为 ReactNode (路由页面的展示UI)
getLayoutComponent([options])
声明 Layout 页面的 UI (仅当
type
是 layout 时有效)
参数名 | 说明 | 类型 | 默认值 | 必须 | 版本 |
---|---|---|---|---|---|
options | 配置参数,包含 core 实例对象 | any | - | - | - |
options 包含属性
参数名 | 说明 | 类型 | 默认值 | 必须 | 版本 |
---|---|---|---|---|---|
core | core 实例对象 | any | - | - | - |
config | 该插件的全局配置 | any | - | - | - |
extraComponents | 系统顶部条可配置的额外内容 | Array | - | - | - |
routers | 路由表 | Array<NeedleRouter> | - | - | - |
routeView | 路由页面展示内容 | React.ReactNode | - | - | - |
logoutComplete | 登出成功后的回调方法 | () => void | - | - | - |
方法返回值为 ReactNode (Layout布局页面的展示UI)
layoutExtraComponents([options])
声明 Layout 布局中的额外显示内容
参数名 | 说明 | 类型 | 默认值 | 必须 | 版本 |
---|---|---|---|---|---|
options | 配置参数,包含 core 实例对象 | any | - | - | - |
options 包含属性
参数名 | 说明 | 类型 | 默认值 | 必须 | 版本 |
---|---|---|---|---|---|
core | core 实例对象 | any | - | - | - |
返回值 Array<{ type: string; index: number; component: ReactNode; }>
eventHandler(e, [options])
事件钩子处理
参数名 | 说明 | 类型 | 默认值 | 必须 | 版本 |
---|---|---|---|---|---|
e | 事件对象 | EventEmitter | - | 是 | - |
options | 配置参数,包含 core 实例对象 | any | - | - | - |
使用方法
function eventHandler(e) {
e.on('sysEntered', someHandler);
}