open-index/open-npm huggingface dataset:
npm package: @liuhlightning/bcrypt
Description: bcrypt in full typescript
Author: Alex
Latest version: 0.0.1

# bcrypt

bcrypt for hash and verify password

## How to use

```bash
npm install --save @liuhlightning/bcrypt
# or
yarn add @liuhlightning/bcrypt
```

```typescript
import { hash, verify } from "@liuhlightning/bcrypt";

const passwordHash = hash("your password");
// store the password hash

const isThatYou = verify("input password", passwordHash);
```
npm package: @liuhlightning/jwt
Description: json web token in full typescript.
Author: Alex
Latest version: 0.3.6

# JWT

JSON Web Token

## Reference

> https://jwt.io/
>
> https://datatracker.ietf.org/doc/html/rfc7519

## How to use

```bash
npm install --save @liuhlightning/jwt
# or
yarn add @liuhlightning/jwt
```

```typescript
import JWT from "@liuhlightning/jwt";

const jwt = new JWT("your jwt secret");
```

### Sign a token

```typescript
const token = jwt.sign({ uid: 1234, username: "alex" });
```

### Verify a token and use payload

```typescript
const payload = jwt.verify("input token");
```
npm package: @liuhlightning/wx-jssdk
Description: use wx jssdk
Author: Alex
Latest version: 0.0.5

# wx-jssdk

Interface to wx jssdk

According to Low Coupling and High cohesion, using as less dependencies as possibel.

Has no side effect feature, such as storage.

## How to use

Add script tag in html head

```html
<script src="https://res.wx.qq.com/open/js/jweixin-1.6.0.js"></script>
```

Import wx and config

```typescript
import { wx } from "@liuhlightning/wx-jssdk"; 

wx.config({
  debug: import.meta.env.DEV,
  appId: "your app id",
  timestamp: "time when sign",
  nonceStr: "nonce when sign",
  signature: "signature",
  jsApiList: ["updateAppMessageShareData", "updateTimelineShareData"],
});
```
npm package: @liuhui1990/react-native-iphone-x-helper
Description: A library to help you design your react-native app for the iPhone X
Author: liuhui1990
Latest version: 1.4.3

# @liuhui1990/react-native-iphone-x-helper
A library to help you design your react-native app for notched iPhones.
- fork from react-native-iphone-x-helper and continue maintenance 
- add support for iphone14 2023.02.08

## Installing ##
`npm i @liuhui1990/react-native-iphone-x-helper -S`

## API ##

### ifIphoneX(iphoneXStyle, \[regularStyle\]) ###
this method it for creating stylesheets with the iPhone X in mind

#### Parameters ####
**iphoneXStyle** - the style to apply if you're on iPhone X

**regularStyle (*optional*)** - the style to apply if you're not on iPhone X

#### Example ####
```js
// in style.js

import { StyleSheet } from 'react-native';
import { ifIphoneX } from '@liuhui1990/react-native-iphone-x-helper'

export default StyleSheet.create({
    header:{
        position: 'absolute',
        top: 0,
        left: 0,
        right: 0,
        padding:10,
        height: 60,
        backgroundColor: 'transparent',
        ...ifIphoneX({
            paddingTop: 50
        }, {
            paddingTop: 20
        })
    },
});
```

### isIphoneX() ###

**returns** - `true` if you running on an iPhone X.

#### Example ####
```js
import { isIphoneX } from '@liuhui1990/react-native-iphone-x-helper'

// ...

if (isIphoneX()) {
    // do this...
} else {
    // do that...
}
```

### getStatusBarHeight([safe]) ###

#### Parameters ####
**safe** - whether you want for get safe area height or not

**returns** - the height of the status bar: `44` for safe iPhoneX, `30` for unsafe iPhoneX, `20` for other iOS devices and `StatusBar.currentHeight` for Android.

#### Example ####

```js
// in style.js

import { StyleSheet } from 'react-native';
import { getStatusBarHeight } from '@liuhui1990/react-native-iphone-x-helper'

export default StyleSheet.create({
    header:{
        position: 'absolute',
        top: 0,
        left: 0,
        right: 0,
        padding:10,
        height: 60,
        backgroundColor: 'transparent',
        paddingTop: getStatusBarHeight()
    },
});
```

***NOTE:*** If your using the the unsafe statusbar height, make sure to add 14dp of padding to your content, otherwise it's going to be flush against the notch

### getBottomSpace ###

**returns** - the height of the bottom to fit the safe area: `34` for iPhone X and `0` for other devices.

#### Example ####

```js
// in style.js

import { StyleSheet } from 'react-native';
import { getBottomSpace } from '@liuhui1990/react-native-iphone-x-helper'

export default StyleSheet.create({
    totalview: {
        flex: 1,
        backgroundColor: 'transparent',
        marginBottom: getBottomSpace()
    },
});
```

## Licence ##
**MIT**
npm package: @liujialin/web-tools
Description: Web 工具集合：signMD5加密，可按需扩展
Latest version: 1.0.0

# dbb-web-tools

Web 工具集合（TypeScript）：x-dy 签名、参数排序与 MD5 签名、AES 加密等。

## 安装

```bash
npm install dbb-web-tools
```

## 使用

### 1. x-dy 签名（signMD5）

适用于 axios 等请求配置，按 x-dy 规范用 HmacSHA256 生成 `x-dy-signature`，并写入 `config.headers['x-dy-signature']`。

```javascript
const { signMD5 } = require('dbb-web-tools');

// 在请求拦截器中：先设置 nonce、timestamp，再调 signMD5
config.headers['x-dy-nonce'] = nonce;
config.headers['x-dy-timestamp'] = timestamp;

signMD5(appSecret, config, config.method || 'GET', APP_KEY);
// config.headers['x-dy-signature'] 与 config.headers['x-dy-appkey'] 已写入
```

**参数：** `signMD5(appSecret, params, method, appKey?)`  
- `appSecret`：密钥（必传）  
- `params`：请求配置，同 axios config（headers、url、baseURL、params、data）  
- `method`：`'GET'` \| `'POST'`（必传）  
- `appKey`：可选，传入时会设置 `params.headers['x-dy-appkey']`

### 2. 参数排序与 MD5 签名（generateSignature）

参数排序后拼 `&key=privateKey` 做 MD5，返回大写 hex，常用于支付等场景。

```javascript
const { getSortedParams, getSortedParamsString, generateSignature } = require('dbb-web-tools');

getSortedParams({ b: '2', a: '1', sign: 'x' });           // ['a=1', 'b=2']
getSortedParamsString({ b: '2', a: '1' });              // 'a=1&b=2'
generateSignature({ a: '1', b: '2' }, 'your-private-key'); // MD5 大写 hex
```

### 3. AES 加密（encrypt）

CBC、Pkcs7，key/iv 按 UTF8 解析。

```javascript
const { encrypt } = require('dbb-web-tools');

encrypt('plaintext', 'key16bytes!!!!!!', 'iv16bytes!!!!!!');
```

### TypeScript

```typescript
import { signMD5, type SignParams, generateSignature, encrypt } from 'dbb-web-tools';
```

## 发布到 npm

1. 在 [npmjs.com](https://www.npmjs.com/) 注册并登录。
2. 在项目根目录执行：
   ```bash
   npm login
   npm publish
   ```
   - 若包名 `dbb-web-tools` 已被占用，可在 `package.json` 中改为作用域包，例如 `"name": "@你的用户名/dbb-web-tools"`，然后执行 `npm publish --access public`。

## License

MIT
npm package: @liujianan/cube-bpmn
Description: 工作流引擎
Author: 刘佳男
Latest version: 0.1.8

# cube-flowable工作流引擎

## 简介

cube-flowable工作流引擎旨在打造一套零代码、领先、且快速实用的引擎工具，助力开发者在面对工作流开发任务时，除去学习工作流框架知识和API的学习成本且不去关心工作流是什么技术，无需了解学习，安装使用cube-flowable工作流引擎并应用落地。此工作流引擎是零代码或低代码的工作流引擎，安装配置开箱即可使用，完全适用于中国国情的工作流引擎。主要特点包括：在线拖拽可视化业务表单并自动创建业务表，关联业务表单创建工作流并在线设计工作流程模型，发布流程模型生成实例，在线申请，在线审批，撤回，驳回至节点，多实例任务审批，多重网关条件审批，指定工作流节点分支审批，委托（转办）办理，流程进度监控跟踪，流程历史日志跟踪等等丰富功能。

## 近期更新

- 2022.12.15 V 0.1.10 版本发布[公开测试版]


## 下载工作流引擎组件
* 前端引擎安装
```
npm i @liujianan/cube-vue-bpmn
```
* 后端服务引用
pom文件加入以下依赖
```java
<dependency>
    <groupId>com.liujianan</groupId>
    <artifactId>cube-flowable-starter</artifactId>
    <version>0.1.10</version>
</dependency>

<repositories>
    <!-- 阿里云镜像仓库 -->
    <repository>
        <id>aliyun</id>
        <name>aliyun Repository</name>
        <url>http://maven.aliyun.com/nexus/content/groups/public</url>
    </repository>
    <!-- 私服 -->
     <repository>
        <id>xinjishu-releases</id>
        <name>maven-releases</name>        
        <url>http://192.168.28.90:8081/repository/maven-releases/</url>
    </repository>
</repositories>
```

### 前端引用组件，在自己项目的main.js里
```
import store from "./store"

// 使用工作流
import CubeVueBpmn from '@liujianan/cube-vue-bpmn'
import '@liujianan/cube-vue-bpmn/lib/cube-vue-bpmn.css'
Vue.use(CubeVueBpmn, { store })
```
### 后端服务配置
* 数据源连接参数配置
``` java
useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true
```
* mybatis配置，配置mapper的扫描，找到所有的mapper.xml映射文件
``` java
# MyBatis配置
mybatis:
    # 搜索指定包别名
    typeAliasesPackage: com.ruoyi.**.domain
    # 配置mapper的扫描，找到所有的mapper.xml映射文件
    mapperLocations: classpath*:mapper/**/*Mapper.xml,classpath:cube/flowable/mapper/*.xml
    # 加载全局的配置文件
    configLocation: classpath:mybatis/mybatis-config.xml
```
* 分页配置
``` java
# PageHelper分页插件
pagehelper: 
  helperDialect: mysql
  supportMethodsArguments: true
  params: count=countSql 
```
* 指定要扫描的Mapper类的包的路径配置
``` java
// 指定要扫描的Mapper类的包的路径
@MapperScan(basePackages = {"com.ruoyi.**.mapper", "com.liujianan.cube.flowable.mapper"})
```

## 文档教程

- [初始化用户和组织机构](./doc/%E7%94%A8%E6%88%B7%E6%93%8D%E4%BD%9C.md)
- [表单设计](./doc/%E8%A1%A8%E5%8D%95%E8%AE%BE%E8%AE%A1.md)
- [流程设计](./doc/%E6%B5%81%E7%A8%8B%E8%AE%BE%E8%AE%A1.md)
    - [流程设计器](./doc/%E6%B5%81%E7%A8%8B%E8%AE%BE%E8%AE%A1%E5%99%A8.md)
- [流程定义](./doc/%E6%B5%81%E7%A8%8B%E5%AE%9A%E4%B9%89.md)
- [发起申请](./doc/%E5%8F%91%E8%B5%B7%E7%94%B3%E8%AF%B7.md)
- [我的申请](./doc/%E6%88%91%E7%9A%84%E7%94%B3%E8%AF%B7.md)
- [我的待办](./doc/%E6%88%91%E7%9A%84%E5%BE%85%E5%8A%9E.md)
- [我的已办](./doc/%E6%88%91%E7%9A%84%E5%B7%B2%E5%8A%9E.md)
npm package: @liujianan/cube-publish3
Description: 自定义组件测试
Author: 刘佳男
Latest version: 1.0.2

# test-publish3

> 自定义组件测试

## Build Setup

``` bash
# install dependencies
npm install

# serve with hot reload at localhost:8080
npm run dev

# build for production with minification
npm run build
```

For detailed explanation on how things work, consult the [docs for vue-loader](http://vuejs.github.io/vue-loader).
npm package: @liujianan/cube-vue-bpmn
Description: 工作流引擎
Author: 刘佳男
Latest version: 0.2.12

# cube-flowable工作流引擎

## 简介

cube-flowable工作流引擎旨在打造一套零代码、领先、且快速实用的引擎工具，助力开发者在面对工作流开发任务时，除去学习工作流框架知识和API的学习成本且不去关心工作流是什么技术，无需了解学习，安装使用cube-flowable工作流引擎并应用落地。此工作流引擎是零代码或低代码的工作流引擎，安装配置开箱即可使用，完全适用于中国国情的工作流引擎。主要特点包括：在线拖拽可视化业务表单并自动创建业务表，关联业务表单创建工作流并在线设计工作流程模型，发布流程模型生成实例，在线申请，在线审批，撤回，驳回至节点，多实例任务审批，多重网关条件审批，指定工作流节点分支审批，委托（转办）办理，流程进度监控跟踪，流程历史日志跟踪等等丰富功能。

## 近期更新

- 2022.12.15 V 0.1.10 版本发布[公开测试版]


## 下载工作流引擎组件
* 前端引擎安装
```
npm i @liujianan/cube-vue-bpmn
```
* 后端服务引用
pom文件加入以下依赖
```java
<dependency>
    <groupId>com.liujianan</groupId>
    <artifactId>cube-flowable-starter</artifactId>
    <version>0.1.10</version>
</dependency>

<repositories>
    <!-- 阿里云镜像仓库 -->
    <repository>
        <id>aliyun</id>
        <name>aliyun Repository</name>
        <url>http://maven.aliyun.com/nexus/content/groups/public</url>
    </repository>
    <!-- 私服 -->
     <repository>
        <id>xinjishu-releases</id>
        <name>maven-releases</name>        
        <url>http://192.168.28.90:8081/repository/maven-releases/</url>
    </repository>
</repositories>
```

### 前端引用组件，在自己项目的main.js里
```
import store from "./store"

// 使用工作流
import CubeVueBpmn from '@liujianan/cube-vue-bpmn'
import '@liujianan/cube-vue-bpmn/lib/cube-vue-bpmn.css'
Vue.use(CubeVueBpmn, { store })
```
### 后端服务配置
* 数据源连接参数配置
``` java
useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true
```
* mybatis配置，配置mapper的扫描，找到所有的mapper.xml映射文件
``` java
# MyBatis配置
mybatis:
    # 搜索指定包别名
    typeAliasesPackage: com.ruoyi.**.domain
    # 配置mapper的扫描，找到所有的mapper.xml映射文件
    mapperLocations: classpath*:mapper/**/*Mapper.xml,classpath:cube/flowable/mapper/*.xml
    # 加载全局的配置文件
    configLocation: classpath:mybatis/mybatis-config.xml
```
* 分页配置
``` java
# PageHelper分页插件
pagehelper: 
  helperDialect: mysql
  supportMethodsArguments: true
  params: count=countSql 
```
* 指定要扫描的Mapper类的包的路径配置
``` java
// 指定要扫描的Mapper类的包的路径
@MapperScan(basePackages = {"com.ruoyi.**.mapper", "com.liujianan.cube.flowable.mapper"})
```

## 文档教程

- [初始化用户和组织机构](./doc/%E7%94%A8%E6%88%B7%E6%93%8D%E4%BD%9C.md)
- [表单设计](./doc/%E8%A1%A8%E5%8D%95%E8%AE%BE%E8%AE%A1.md)
- [流程设计](./doc/%E6%B5%81%E7%A8%8B%E8%AE%BE%E8%AE%A1.md)
    - [流程设计器](./doc/%E6%B5%81%E7%A8%8B%E8%AE%BE%E8%AE%A1%E5%99%A8.md)
- [流程定义](./doc/%E6%B5%81%E7%A8%8B%E5%AE%9A%E4%B9%89.md)
- [发起申请](./doc/%E5%8F%91%E8%B5%B7%E7%94%B3%E8%AF%B7.md)
- [我的申请](./doc/%E6%88%91%E7%9A%84%E7%94%B3%E8%AF%B7.md)
- [我的待办](./doc/%E6%88%91%E7%9A%84%E5%BE%85%E5%8A%9E.md)
- [我的已办](./doc/%E6%88%91%E7%9A%84%E5%B7%B2%E5%8A%9E.md)
npm package: @liujiangshan/js-utils
Description: js-utils
Author: liujiangshan
Latest version: 0.0.6

#### 安装
```bash
npm install @liujiangshan/js-utils
or
npm add @liujiangshan/js-utils
```
#### 技术架构

| 分类        | 使用技术               |
| ----------- | ---------------------- |
| 单元测试    | Jest                   |
| Api模拟请求 | mockjs、axios          |
| 语言        | typescript、javascript |



#### 启动单元测试

|npm|yarn|
|:---:|:---:|
|npm run test:unit|yarn run test:unit|