open-index/open-npm huggingface dataset:
npm package: @jianghohwason/nt-addon-ali-oss
Description: The aliCould OSS api addon for nest application
Author: jianghohwason
Latest version: 1.0.0

# nest 阿里云短信插件

基于 nest 封装的 OSS API

### 安装

`npm install @jianghohwason/nt-addon-ali-oss`

### 配置 PayAddon

```typescript
import { Module } from '@nestjs/common';
import { AliOSSAddon } from '@jianghohwason/nt-addon-ali-oss';

@Module({
    imports: [
        AliOSSAddon.forRoot({
            accessKeyId: 'accessKeyId',
            accessKeySecret: 'accessKeySecret',
            bucket: 'bucket',
            endpoint: 'endpoint',
        }),
    ],
})
export class ApplicationModule {}
```

# 使用 SMS 插件

```ts
import { Injectable, Inject } from '@nestjs/common';
import { AliOSSAddon } from '@jianghohwason/nt-addon-ali-oss';

@Injectable()
export class TestUpload {
    constructor(@Inject(AliSMSService) private readonly aliSMSService: AliSMSService) {}

    async upload() {
        const res = await aliOSSService.uploadFile('test.png', './test.png');
        console.log(res);
        console.log('res', res);
    }
}
```
npm package: @jianghohwason/nt-addon-ali-sms
Description: The aliCould SMS api addon for notadd application
Author: jianghohwason
Latest version: 0.0.1

# nest 阿里云短信插件

基于 nest 封装的 阿里云短信 API

### 安装

`npm install @huazai5m/nt-addon-pay`

### 配置 PayAddon

```typescript
import { Module } from '@nestjs/common';
import { AliSMSAddon } from '@jianghohwason/nt-addon-ali-sms';

@Module({
    imports: [
        AliSMSAddon.forRoot({
            accessKeyId: 'accessKeyId',
            accessKeySecret: 'accessKeySecret',
            endpoint: 'https://dysmsapi.aliyuncs.com',
            apiVersion: '2017-05-25',
        }),
    ],
})
export class ApplicationModule {}
```

# 使用 SMS 插件

```ts
import { Injectable, Inject } from '@nestjs/common';
import { AliSMSService } from '@jianghohwason/nt-addon-ali-sms';

@Injectable()
export class TestPay {
    constructor(@Inject(AliSMSService) private readonly aliSMSService: AliSMSService) {}

    async send() {
        const res: any = await aliSMSService.sendSms({
            PhoneNumbers: 'PhoneNumbers',
            SignName: 'SignName',
            TemplateCode: 'TemplateCode',
            TemplateParam: JSON.stringify({ customer: '开发者' }),
        });
        console.log('res', res);
    }
}
```
npm package: @jianghohwason/nt-addon-ioredis
Description: The redis addon for Notadd modules.
Author: dzzzzzy
Latest version: 1.0.1

# nt-addon-redis

Redis addon for Notadd.

## Installation

```bash
# install
$ npm install @jianghohwason/nt-addon-ioredis

or

$ yarn add @jianghohwason/nt-addon-ioredis
```

## Usage

> app.module.ts

```typescript
import { Module } from '@nestjs/common';
import { RedisAddon } from '@jianghohwason/nt-addon-ioredis'

@Module({
    import: [
        RedisAddon.forRoot({
            // redis connection options, such as host, port, etc
        })
    ]
})
export AppModule { }
```

> xxx.service.ts

```typescript
import { Injectable } from '@nestjs/common';
import { RedisService } from '@jianghohwason/nt-addon-ioredis';

@Injectable()
export class TestService {
    constructor(
        @Inject(RedisService) private readonly redisService: RedisService
    ) { }

    // service method usage
    async test() {
        // redis hset
        await this.redisService.hset(key, field, value);
        // redis hget
        await this.redisService.hget(key, field);
    }
}
```
npm package: @jianghohwason/nt-addon-wechatapi
Description: The wechat service platform api addon for notadd application
Author: jianghohwason
Latest version: 1.1.0

# nt-addon-wechatapi

基于 nest 封装的 微信公众平台 API
安装

```sh
npm i @jianghohwason/nt-addon-wechatapi
```

## 使用方法

引入模块

```ts
import { Module } from '@nestjs/common';
import { WechatApiAddon } from '@jianghohwason/nt-addon-wechatapi';

@Module({
    imports: [
        WechatApiAddon.forRoot({
            appid: 'appid',
            secret: 'secret',
        }),
    ],
})
export class ApplicationModule {}
```

在需要使用的模块中引入注入并使用

```ts
import { Injectable, Inject } from '@nestjs/common';
import { WechatCustomer } from '@jianghohwason/nt-addon-wechatapi';

@Injectable()
export class TestPay {
    constructor(
        @Inject(WechatCustomer)
        private readonly wechatCustomer: WechatCustomer,
    ) {}

    async test() {
        const data = await this.wechatCustomer.getKfMsgRecord(appid, parameter);
        console.log(data);
    }
}
```

-   [x] 发送客服消息（文本、图片、语音、视频、音乐、图文）
-   [x] 菜单操作（查询、创建、删除、个性化菜单）
-   [x] 二维码（创建临时、永久二维码，查看二维码 URL）
-   [x] 分组操作（查询、创建、修改、批量移动用户到分组, 批量从分组移除用户）
-   [x] 用户信息（批量查询用户基本信息、获取关注者列表）
-   [x] 媒体文件（上传、获取）
-   [x] 群发消息（文本、图片、语音、视频、图文）
-   [x] 客服记录（查询客服记录，查看客服、查看在线客服）
-   [x] 群发消息
-   [ ] 公众号支付（发货通知、订单查询）
-   [ ] 微信小店（商品管理、库存管理、邮费模板管理、分组管理、货架管理、订单管理、功能接口）
-   [x] 模版消息
-   [ ] 网址缩短
-   [ ] 语义查询
-   [ ] 数据分析
-   [x] JSSDK 服务端支持
-   [x] 素材管理
-   [ ] 摇一摇周边