open-index/open-npm huggingface dataset:
npm package: @lantsang/nestjs-ali-express
Description: 自用nestjs 阿里云快递物流查询插件
Author: Iric
Latest version: 0.0.2

# Nest.js 阿里云-全国快递物流查询API接口-插件
注意：<font color="#dd0000">仍在开发中，目前仅在内部使用</font><br /> 
产品地址：https://market.aliyun.com/products/57126001/cmapi011120.html

## 使用说明
- 外部人员仅供参考，请不要用于生产环境，因此导致的事故后果请自行承担。
- 目前仅支持App Code验证方式，计划2.x版本支持App Key验证方式。
- TS target es2017

### 安装
`$ npm i @lantsang/nestjs-ali-express` <br />
or <br />
`$ yarn add @lantsang/nestjs-ali-express`<br />
推荐使用yarn

### 配置
```typescript
import { AliExpressModule } from '@lantsang/nestjs-ali-express'

@Module({
  imports: [
    AliExpressModule.forRoot({
      appCode: config.Ali.Express.AppCode,  //账号，appCode，appKey和appSecret
      appKey: config.Ali.Express.AppKey,
      appSecret: config.Ali.Express.AppSecret,
    })
  ]
})
export class AppModule { }
```

### 获取支持的快递公司列表
npm package: @lantsang/nestjs-aliyun-oss
Description: 阿里云OSS nestjs封装
Author: Iric
Latest version: 0.0.5

# nestjs 阿里云OSS插件

注意：<font color="#dd0000">仍在开发中，目前仅在内部使用</font><br /> 

## 使用说明

* 外部人员仅供参考，请不要用于生产环境，因此导致的事故后果请自行承担。
* TS target es2019
* 支持集群

## 安装

`$ npm i @lantsang/nestjs-aliyun-oss` <br />
or <br />
`$ yarn add @lantsang/nestjs-aliyun-oss` <br />
推荐使用yarn

## 引入

``` typescript
import { AliOSSModule } from '@lantsang/nestjs-aliyun-oss'

@Module({
  imports: [
    AliOSSModule.register({
      region: 'oss-cn-beijing',
      endpoint: 'https://oss-cn-beijing.aliyuncs.com', 
      bucket: 'vue-test-iric',
      accessKeyId: '********',
      accessKeySecret: '******'
    })
  ]
})
export class AppModule { }
```

## 方法使用

### Put上传文件

``` typescript
import { Inject, Injectable } from '@nestjs/common';
import { AliOSSService } from "@lantsang/nestjs-aliyun-oss";

@Injectable()
export class TestService {
  constructor(private readonly aliOSSService: AliOSSService) {}

  /**
   * 上传文件到OSS上，返回oss中文件url地址
   * @param remotePath OSS远端路径, 例如：'upload/123.txt'
   * @param localPath 文件本地路径，绝对路径，使用path.join()方法获取
   */
  async upload(remotePath: string, localPath: string):Promise<string>{
    const { name, url, res } = await this.aliOSSService.putUpload(remotePath,localPath);
    return url;
  }
}
```

### 检测文件是否存在

``` typescript
const exist = await this.aliOSSService.fileExist('upload/123.txt');
```

### 删除文件

`注意：` 删除文件首先先**保证oss中存在此文件**，如果不存在会抛错，删除并不会返回删除成功与否结果，这个问题具体看代码中注释。

``` typescript
await this.aliOSSService.delete('upload/123.txt');
```

### 拷贝文件

`注意：` 如果目标文件不存在会报错。

``` typescript
const copyResult = await this.aliOSSService.copy('upload/123.txt','upload/123_copy.txt');
```
npm package: @lantsang/nestjs-official
Description: NestJS 公众号插件
Author: Iric
Latest version: 0.0.11

# NestJS 微信公众号插件

注意：<font color="#dd0000">仍在开发中，目前仅在内部使用</font><br /> 

## 使用说明

外部人员仅供参考，请不要用于生产环境，因此导致的事故后果请自行承担。

### 支持环境

* node >=`14.x`

### 安装

``` shell
$ npm i @lantsang/nestjs-official

or
$ yarn add @lantsang/nestjs-official  # 推荐使用yarn
```

### 配置

#### 同步方式

``` typescript
import { Module } from '@nestjs/common';
import { OfficialModule } from '@lantsang/nestjs-official'

@Module({
  imports: [
    OfficialModule.forRoot({
      appId: '公众号appid', 
      appSecret: '公众号app secret',
      authToken: '微信调用第三方服务器token', // 当启用服务器配置时必填
      encodingAESKey: '微信调用第三方服务器消息加密解密秘钥', // 当启用服务器配置时必填
      redisOptions: {   // redisOptions 参数选填
        host:'localhost',
        port:6379,
        db:1,
        password:'',
        keyPrefix:'official-'
      }
    })
  ]
})
export class AppModule { }
```

#### 异步方式

``` typescript
import { Module } from '@nestjs/common';
import { OfficialModule } from '@lantsang/nestjs-official'
import { ConfigModule } from './modules/config/config.module';
import { CONFIG_PROVIDER } from './modules/config/constants/config.constant';
import { ConfigService } from './modules/config/services/config.service';

@Module({
  imports: [
    OfficialModule.forRootAsync({
      useFactory: (configService: ConfigService) => ({
        appId: configService.official.appId,
        appSecret: configService.official.appSecret,
        authToken: configService.official.authToken,  // 当启用服务器配置时必填
        encodingAESKey: configService.official.encodingAESKey,  // 当启用服务器配置时必填
        redisOptions: configService.redis.official  // redisOptions 参数选填
      }),
      inject: [CONFIG_PROVIDER]
    }),
    ConfigModule
  ]
})
export class AppModule { }
```

> 提示：异步注册方式采用的 `ConfigModule` 并不是 `NestJS` 自带的配置功能，而是我基于官方自己设计的一套，具体实现请参考笔记：[NestJS配置模块设计](https://github.com/IricBing/note/blob/master/NodeJS/NestJS/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1/%E9%85%8D%E7%BD%AE%E6%A8%A1%E5%9D%97%E8%AE%BE%E8%AE%A1/README.md)

## 文档地址

* [私有Gitlab](https://gitlab.lantsang.cn/nestjs-plugins/nestjs-official/tree/master/docs)
* [GitHub](https://github.com/lantsang/nestjs-official/tree/master/docs)
* [Gitee](https://gitee.com/lantsang/nestjs-official/tree/master/docs)
npm package: @lantsang/nestjs-tdengine
Description: NestJS TDengine 驱动
Author: Iric
Latest version: 0.0.12

# NestJS `TDengine` 驱动插件

注意：<font color="#dd0000">仍在开发中，目前仅在内部使用</font><br /> 

## 使用说明

外部人员仅供参考，请不要用于生产环境，因此导致的事故后果请自行承担。

### 支持环境

* node >=`14.x`
* NestJS >= `7.x`

### 安装

```shell
$ npm i @lantsang/nestjs-tdengine

or
$ yarn add @lantsang/nestjs-tdengine  # 推荐使用yarn
```

### 配置

#### 同步方式

```typescript
import { Module } from '@nestjs/common';
import { TDengineModule } from '@lantsang/nestjs-tdengine'

@Module({
  imports: [
    TDengineModule.forRoot({
      url: 'http://127.0.0.1:6041',
      username: 'root',
      password: 'taosdata',
      logging: false
    }),
  ]
})
export class AppModule { }
```

#### 异步方式

```typescript
import { Module } from '@nestjs/common';
import { TDengineModule } from '@lantsang/nestjs-tdengine'
import { ConfigModule } from './modules/config/config.module';
import { CONFIG_PROVIDER } from './modules/config/constants/config.constant';
import { ConfigService } from './modules/config/services/config.service';

@Module({
  imports: [
    TDengineModule.forRootAsync({
      useFactory: (configService: ConfigService) => ({
        url: configService.tdengine.url,
        username: configService.tdengine.username,
        password: configService.tdengine.password,
        logging: configService.tdengine.logging
      }),
      inject: [CONFIG_PROVIDER]
    }),
    ConfigModule
  ]
})
export class AppModule {}
```

> 提示：异步注册方式采用的 `ConfigModule` 并不是 `NestJS` 自带的配置功能，而是我基于官方自己设计的一套，具体实现请参考笔记：[NestJS配置模块设计](https://github.com/IricBing/note/blob/master/NodeJS/NestJS/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1/%E9%85%8D%E7%BD%AE%E6%A8%A1%E5%9D%97%E8%AE%BE%E8%AE%A1/README.md)

## 文档地址

* [私有Gitlab](https://gitlab.lantsang.cn/nestjs-plugins/nestjs-tdengine/tree/master/docs)
* [GitHub](https://github.com/lantsang/nestjs-tdengine/tree/master/docs)
* [Gitee](https://gitee.com/lantsang/nestjs-tdengine/tree/master/docs)
npm package: @lantsang/nestjs-tencent-iot
Description: 自用 nestjs 对接腾讯云物联网通信插件
Author: Iric
Latest version: 0.0.8

# NestJS 腾讯云 `物联网通信` 服务插件

注意：<font color="#dd0000">仍在开发中，目前仅在内部使用</font><br /> 

## 使用说明

外部人员仅供参考，请不要用于生产环境，因此导致的事故后果请自行承担。

### 支持环境

* node >=`14.x`

### 安装

``` shell
$ npm i @lantsang/nestjs-tencent-iot

or
$ yarn add @lantsang/nestjs-tencent-iot  # 推荐使用yarn
```

### 配置

#### 同步方式

``` typescript
import { Module } from '@nestjs/common';
import { TencentIotModule } from '@lantsang/nestjs-tencent-iot'

@Module({
  imports: [
    TencentIotModule.forRoot({
      user: {
        secretId: '腾讯云子用户SecretId',
        secretKey: '腾讯云子用户SecretKey'
      },
      token: '数据转发到第三方服务器校验token'  // 选填，当在规则引擎中启用数据转发到第三方服务器时必填！
    })
  ]
})
export class AppModule { }
```

#### 异步方式

``` typescript
import { Module } from '@nestjs/common';
import { TencentIotModule } from '@lantsang/nestjs-tencent-iot'
import { ConfigModule } from './modules/config/config.module';
import { CONFIG_PROVIDER } from './modules/config/constants/config.constant';
import { ConfigService } from './modules/config/services/config.service';

@Module({
  imports: [
    TencentIotModule.forRootAsync({
      useFactory: (configService: ConfigService) => ({
        user: {
          secretId: configService.tencent.cam.user.secretId,
          secretKey: configService.tencent.cam.user.secretKey
        },
        token: configService.tencent.iothub.token // 选填，当在规则引擎中启用数据转发到第三方服务器时必填！
      }),
      inject: [CONFIG_PROVIDER]
    }),
    ConfigModule
  ]
})
export class AppModule {}
```

> 提示：异步注册方式采用的 `ConfigModule` 并不是 `NestJS` 自带的配置功能，而是我基于官方自己设计的一套，具体实现请参考笔记：[NestJS配置模块设计](https://github.com/IricBing/note/blob/master/NodeJS/NestJS/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1/%E9%85%8D%E7%BD%AE%E6%A8%A1%E5%9D%97%E8%AE%BE%E8%AE%A1/README.md)

## 文档地址

* [私有Gitlab](https://gitlab.lantsang.cn/nestjs-plugins/nestjs-tencent-iot/tree/master/docs)
* [GitHub](https://github.com/lantsang/nestjs-tencent-iot/tree/master/docs)
* [Gitee](https://gitee.com/lantsang/nestjs-tencent-iot/tree/master/docs)