open-index/open-npm huggingface dataset:
npm package: @iworb/ngx-utils
Description: ![](https://img.shields.io/badge/license-MIT-blue.svg)
Latest version: 0.0.3

# NgxUtils

![](https://img.shields.io/badge/license-MIT-blue.svg)

## Install

You could install this package with `npm i @iworb/ngx-utils` or `yarn add @iworb/ngx-utils` 

## Features

### `trackBy`

This function returns `trackBy` function by property name

## Demo

You could check an online demo of all features [here](https://iworb.github.io/ngx-utils/).
npm package: @iwotech/account
Description: 适用于域名生态多个平台，主要处理了 账号信息、登录token的获取 和 登录状态路由拦截、
Author: Canson
Latest version: 0.1.8

## 域名生态账号模块

适用于域名生态多个平台，主要处理了 账号信息、登录token的获取 和 登录状态路由拦截、

本模块涉及站点间跳转和通信，需确保 ```/_env/sites.js```已引入 及 扩展页 已正确配置。

### 使用示例
```js
import Vue from 'vue'
import account from '@iwotech/account'
import router from './router'

// 需要传递路由实例，来实现路由拦截
Vue.use(account,{router})

```

### 路由拦截
配置路由的 meta.isAuthority 属性，true/false，表示是否需要验证
未设置 meta.isAuthority 的路由会继承上级路由的设置

### 状态
```js
import {state} from '@iwotech/account'

/* 默认值 */
state = {
  token: null, // 登录凭据
  info: {}, // 用户信息
  isLogined: undefined, // 登录状态 undefined不确定(即还在请求中)、true已登录、false未登录
}
```

### 方法
```js
import {getUser, goLogin, goRegister, logout} from '@iwotech/account'

/* 内置方法 */
getUser() // 获取用户信息(初始化时会自动执行一次)
goLogin() // 前往登录页面
goRegister() // 前往注册页面
logout() // 退出登录
```

### 钩子
```js
import {onTokenReady，onReady} from '@iwotech/account'

onTokenReady(()=>{
  /* 这里的代码会确保 已从中台获取过了token 才执行 */
})
onReady(()=>{
  /* 这里的代码会确保 获取用户信息 的请求已返回结果才执行 */
})

/* 同时也是一个 Promise */
await onTokenReady()
await onReady()

```
npm package: @iwotech/ddd-components
Description: DDD公用的组件库，依赖element，多数组件基于element封装
Author: Canson
Latest version: 1.0.12

# DDD 组件库

DDD公用的组件库，依赖element，多数组件基于element封装

## 使用方法
```js
import dddComponents from '@iwotech/ddd-components'
Vue.use(dddComponents)
```

---
## 组件说明

### ddd-button
按钮组件，主要处理了按钮的loading状态
#### 使用示例
##### template
```html
<ddd-button loading @click="submit">提交</ddd-button>
```
如果设置了loading属性，那么当按钮被点击时会自动进入loading状态，并且在点击事件的回调中返回一个控制loading的方法。
##### script
```js
export default {
  methods:{
    submit(loading){
      await request()
      // loading方法可以传入true或false来决定loading的状态，不传值则是取当前状态的反值
      loading()
    }
  }
}
```
npm package: @iwotech/ddd-request
Description: ### 使用示例 ```js import Request from '@iwotech/ddd-request'
Author: Canson
Latest version: 1.0.1

## 请求拦截器

### 使用示例
```js
import Request from '@iwotech/ddd-request'

/** 配置参数
 * @param timeout [number] 请求超时秒数
 * @param errorMessage [object] 预置错误信息
 * @param beforeRequest [function] 请求前
 * @param afterRequest [function] 请求后
 * @param showError [function] 显示错误的方法
 * @param withToken [function|boolean] 是否携带token
 */

const request = new Request({
  // 请求结果 res.showError() 会执行此方法
  showError(errorMessage, res){
    // this.$message.error(errorMessage)
  },
  // 可以根据 url 规则，决定是否需要携带token
  withToken(url){
    return true
  }
})

request.post('/url', data, config)

```
npm package: @iwotech/deploy-cli
Description: - 执行 yarn deploy 后，将自动上传 dist 目录下的文件到指定仓库指定分支，并发起 webhook 请求 - 发布可指定单个或多个环境，执行 yarn deploy test prod ...，不指定则发布全部环境
Author: canson
Latest version: 1.4.1

# 自动部署

- 执行 yarn deploy 后，将自动上传 dist 目录下的文件到指定仓库指定分支，并发起 webhook 请求
- 发布可指定单个或多个环境，执行 yarn deploy test prod ...，不指定则发布全部环境

## 配置文件示例
配置会优先读取项目根目录下 deploy.config.js 文件，如果不存在会读取全局配置文件，位于用户目录下 deploy.config.global.js
```js
module.exports = {
  // 文件路径（默认dist）
  fileDir: 'dist',
  // 发布环境 (可配置多个环境，key可自定义)
  envs: {
    test: {
      repo:'', // 存放静态资源仓库
      branch: '', // 对应分支 (不能是master)
      // 可以是对象或对象数组
      webhooks: {
        url:'',
        secret:''
      }
    },
    prod:{
      repo:'', // 存放静态资源仓库
      branch: '', // 对应分支 (不能是master)
      // 可以是对象或对象数组
      webhooks: [
        {
          url:'',
          secret:''
        },
        {
          url:'',
          secret:''
        },
      ]
    }
  },
  // 忽略规则
  gitignore:[]
}
```
npm package: @iwotech/i18n-remote
Description: ### 使用示例 ```js import i18n,{ setLocale, remoteText } from '@iwotech/i18n-remote'
Author: iwotech
Latest version: 1.1.2

## 远程文字多语言处理

### 使用示例
```js
import i18n,{ setLocale, remoteText } from '@iwotech/i18n-remote'

// i18n 内部vue-i18n实例

// 设置语言
setLocale('zh-CN')

// 获取文本（具有响应式，可在 template 中使用）
remoteText('key')

// Vue
// export default {
//   methods:{
//     remoteText
//   }
// }

```
npm package: @iwotech/multi-captcha
Description: 集合了 谷歌v2、谷歌v3 人机交互验证方式。自动获取当前站点所使用的验证方式，简化并保持api一致。
Author: canson
Latest version: 0.0.5

# 人机交互验证 多合一

集合了 谷歌v2、谷歌v3 人机交互验证方式。自动获取当前站点所使用的验证方式，简化并保持api一致。

## 示例
```js
import Captcha from '@iwotech/multi-captcha'

const captcha = new Captcha({
  url: '/api/m/n/captcha/type'
})

async function submit(){
  // 执行验证
  const captchaResult = await captcha.verify()
  
  console.log(res)
}
```
npm package: @iwotech/payment
Description: ### 示例 ```js import Payment from '@iwotech/payment'
Author: canson
Latest version: 0.0.4

## 在线支付模块

### 示例
```js
import Payment from '@iwotech/payment'

// 实例化
const payment = new Payment({
  api: {
    // 提交订单的请求
    submit: (data) => request.post('/api/c/c/order/online_payment', data),
    // 获取支付结果的请求
    getStatus: (data) => request.get('/api/c/c/finance/recharge/online/status', data)
  }
})


// 设置支付方式
payment.payMethod = {...}

```

### 内置方法
```js
// 提交订单
payment.submit({
  // 订单参数（根据接口文档提交参数，recharge_method_uuid is_mobile 参数已内置，可忽略）
})
// 手动停止轮询 (submit方法提交成功后会自动开始轮询支付状态)
payment.stopLoop()
// 手动检查一次支付状态
await payment.checkState() // return true|false
```

### 事件
```js
// 进入等待状态 (submit方法提交成功后触发)
payment.onWait=()=>{}
// 支付完成
payment.onFinish = (status)=>{
  // status='fail' 支付失败
  // status='success' 支付成功
  // status='unusual' 支付异常(不确定是否成功，大概率是失败)
}
// 支付取消 (支付窗口被关闭并且从接口中获取的状态仍为未支付)
payment.onCancel=()=>{}
// 提交支付订单时请求返回错误
payment.onError=()=>{}

```
npm package: @iwotech/utils
Description: 常用的工具集合（持续扩充）
Author: Canson
Latest version: 1.5.0

# 工具库

常用的工具集合（持续扩充）

## 安装
```sh
yarn add @iwotech/utils
```
## 模块目录
- copyText - 复制文本
- debounce - 防抖
- throttle - 节流
- file - 文件处理
- image - 图片处理
- regular - 正则
- scoket
- types - 类型判断
- xlsx


### copyText (文本复制)

#### 示例
```js
import copyText from '@iwotech/utils/es/copyText'
copyText('复制的内容')
```
#### 参数
| Param | Type | Description |
| --- | --- | --- |
| text | <code>string</code> | 要复制的文本内容 |

### 防抖、节流
从 lodash 源码中提取，api 完全一致
```js
import debounce from '@iwotech/utils/es/debounce'
import throttle from '@iwotech/utils/es/throttle'
```
[lodash debounce 文档](https://www.lodashjs.com/docs/lodash.debounce)
[lodash throttle 文档](https://www.lodashjs.com/docs/lodash.throttle)