# @chidiui/base-platform

> 基础平台-后台管理包

Latest version **2.2.3** (published 2019-04-19) · ISC license · 0 weekly downloads

## Install

```sh
npm install @chidiui/base-platform
pnpm add @chidiui/base-platform
yarn add @chidiui/base-platform
bun add @chidiui/base-platform
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 2.2.3 |
| Published | 2019-04-19 |
| First published | 2019-03-29 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 7 |
| Unpacked size | 489.4 KB |
| Known vulnerabilities | 0 (+25 in 2 direct dependencies) |
| Install scripts | no |
| Author | p_2018254 |
| Maintainers | budblack, p_2018254 |
| Keywords | chidiui |

## Links

- npm: https://www.npmjs.com/package/@chidiui/base-platform
- Repository: http://192.168.0.174/szgc.fe/base-platform
- npm.io page: https://npm.io/package/@chidiui/base-platform

## Dependencies (7)

- [vue](https://npm.io/package/vue.md) ^2.6.6
- [axios](https://npm.io/package/axios.md) ^0.18.0
- [js-md5](https://npm.io/package/js-md5.md) ^0.7.3
- [moment](https://npm.io/package/moment.md) ^2.24.0
- [recast](https://npm.io/package/recast.md) ^0.17.5
- [element-ui](https://npm.io/package/element-ui.md) ^2.6.3
- [vue-json-viewer](https://npm.io/package/vue-json-viewer.md) ^2.1.4

## Alternatives

- [@sindresorhus/slugify](https://npm.io/package/@sindresorhus/slugify.md) — 3.7M weekly downloads
- [solid-js](https://npm.io/package/solid-js.md) — 2.7M weekly downloads
- [expo-glass-effect](https://npm.io/package/expo-glass-effect.md) — 2.5M weekly downloads
- [nanoassert](https://npm.io/package/nanoassert.md) — 780.8K weekly downloads
- [@ffmpeg/ffmpeg](https://npm.io/package/@ffmpeg/ffmpeg.md) — 529.5K weekly downloads

## Recent versions

- 2.2.3 (latest) — 2019-04-19
- 2.2.2 — 2019-04-04
- 2.2.1 — 2019-04-01
- 2.2.0 — 2019-04-01
- 2.1.0 — 2019-04-01
- 2.0.2 — 2019-04-01
- 2.0.1 — 2019-04-01
- 2.0.0 — 2019-04-01
- 1.1.4 — 2019-04-01
- 1.1.3 — 2019-04-01
- 1.1.2 — 2019-03-29
- 1.1.1 — 2019-03-29
- 1.1.0 — 2019-03-29
- 1.0.2 — 2019-03-29
- 1.0.1 — 2019-03-29
- … 1 more at https://npm.io/package/@chidiui/base-platform/versions

## README

# 基础平台
+ 成勘院数字分公司研发中心专用包

## 说明
1. 为避免与其他组件冲突，基础平台所有组件都添加有bp(base-platform)前缀
2. 此包强制依赖一下第三方库：
    + axios
    + vue
    + element-ui
    + moment
    + js-md5
    + vue-json-viewer
3. 在引入包之前请确保element-ui已初始化
4. 此组件强依赖于vuex，并需要业务系统在主业务store中的getters中配置current对象，current对象为/api/current接口返回的data数据
```javascript
// 示例
export const getters = {
  current : state => state.user.loginInfo
}
```
5. 引入Permission组件，根据当前用户所拥有的权限以及所用有的角色，决定此组件下的内容是否渲染，此组件强依赖于store.getters.current
```html
<template>
  <!--
    1、此组件如果不传入code属性，则permission下的内容默认渲染
    2、code = String | Array, excludeRole = String | Array
    3、不传入code，子组件默认渲染
    4、current.permissons中如果包含code传入的内容，渲染
    5、如果current.permissions中不能匹配，而excludeRole能与current.roles相匹配，也能渲染
  -->
  <permission code="run" exclude-role="super">
    <el-button>测试</el-button>
  </permission>
</template>
```

## 组件地图
+ 用户管理：[BpUser](http://192.168.0.174:9380/szgc.fe/base-platform/blob/master/src/views/system/page/user/index.vue)
+ 游客管理：[BpTempUser](http://192.168.0.174:9380/szgc.fe/base-platform/blob/master/src/views/system/page/temp_user/index.vue)
+ 区划管理：[BpAdministrative](http://192.168.0.174:9380/szgc.fe/base-platform/blob/master/src/views/system/page/administrative/index.vue)
+ 部门管理：[BpDepartment](http://192.168.0.174:9380/szgc.fe/base-platform/blob/master/src/views/system/page/department/index.vue)
+ 群组管理：[BpGroup](http://192.168.0.174:9380/szgc.fe/base-platform/blob/master/src/views/system/page/group/index.vue)
+ 角色管理：[BpRole](http://192.168.0.174:9380/szgc.fe/base-platform/blob/master/src/views/system/page/role/index.vue)
+ 资源管理：[BpPermission](http://192.168.0.174:9380/szgc.fe/base-platform/blob/master/src/views/system/page/permission/index.vue)
+ 接口管理：[BpApi](http://192.168.0.174:9380/szgc.fe/base-platform/blob/master/src/views/system/page/api/index.vue)
+ 字典管理：[BpDict](http://192.168.0.174:9380/szgc.fe/base-platform/blob/master/src/views/system/page/dict/index.vue)
+ 系统日志：[BpLog](http://192.168.0.174:9380/szgc.fe/base-platform/blob/master/src/views/system/page/log/index.vue)
+ 待办任务：[BpTodoTask](http://192.168.0.174:9380/szgc.fe/base-platform/blob/master/src/views/system/page/task/todoTask.vue)
+ 我的任务：[BpMyTask](http://192.168.0.174:9380/szgc.fe/base-platform/blob/master/src/views/system/page/task/myTask.vue)
+ 已办任务：[BpDoneTask](http://192.168.0.174:9380/szgc.fe/base-platform/blob/master/src/views/system/page/task/doneTask.vue)
+ 抄送任务：[BpCopyTask](http://192.168.0.174:9380/szgc.fe/base-platform/blob/master/src/views/system/page/task/copyToTask.vue)

## 用法
```javascript
// 在业务系统入口文件中添加以下逻辑
// 基础平台包必须在系统登录成功后进行初始化
import Vue from 'vue'; 
import basePlatform from '@chidiui/base-platform';

Vue.use(basePlatform);
/* NOTE: 基础平台初始化 结束*/

// TODO: 其他业务逻辑
```


## 系统参数的获取
+ 基础平台在载入后会自动获取以下后端系统配置参数
  1. 密码是否需要md5加密
  2. 系统登录是否需要验证码
  3. jwt参数名
  4. 业务通知id
  5. 系统默认密码
+ 在业务系统的开发中，这些参数不必在额外发送请求获取，通过基础平台提供的api直接获取即可
+ 示例
```javascript
/**
 * 获取系统配置信息
 * getSystemConfig (configName) : any;
**/
import { getSystemConfig } from '@chidiui/base-platform';

// 获取系统密码是否需要md5加密配置
const needMd5 = getSystemConfig('needMd5');
// 获取系统是否需要严重吗功能
const needkaptcha = getSystemConfig('needkaptcha');
// 获取系统传递token时的参数名，作为请求header参数或者params参数使用
const jwtParamName = getSystemConfig('jwtParamName');
// 获取系统websocket业务消息id
const noticeBusinessId = getSystemConfig('noticeBusinessId');
// 获取系统默认密码
const defaultPwd = getSystemConfig('defaultPwd');
// 获取当前登录用户
const current = getSystemConfig('current');
```

## 单组件用法
```javascript
import {BpApi} from '@chidiui/base-platform';

export defualt {
  components : {
    BpApi
  }
};
```

---
_Source: https://npm.io/package/@chidiui/base-platform · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
