# suanpan_node_sdk_test

> suanpan sdk for node.js

Latest version **1.2.3** (published 2020-07-30) · 0 weekly downloads

## Install

```sh
npm install suanpan_node_sdk_test
pnpm add suanpan_node_sdk_test
yarn add suanpan_node_sdk_test
bun add suanpan_node_sdk_test
```

## 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 | 1.2.3 |
| Published | 2020-07-30 |
| First published | 2020-07-13 |
| Weekly downloads | 0 |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 13 |
| Unpacked size | 49.6 KB |
| Known vulnerabilities | 0 (+2 in 2 direct dependencies) |
| Install scripts | no |
| Author | ryanaltair |
| Maintainers | coco-super |

## Links

- npm: https://www.npmjs.com/package/suanpan_node_sdk_test
- npm.io page: https://npm.io/package/suanpan_node_sdk_test

## Dependencies (13)

- [got](https://npm.io/package/got.md) ^10.6.0
- [uuid](https://npm.io/package/uuid.md) ^3.4.0
- [minio](https://npm.io/package/minio.md) ^7.0.15
- [yargs](https://npm.io/package/yargs.md) ^13.3.2
- [colors](https://npm.io/package/colors.md) ^1.4.0
- [lodash](https://npm.io/package/lodash.md) ^4.17.15
- [moment](https://npm.io/package/moment.md) ^2.24.0
- [ali-oss](https://npm.io/package/ali-oss.md) ^6.5.1
- [fs-extra](https://npm.io/package/fs-extra.md) ^9.0.1
- [socket.io](https://npm.io/package/socket.io.md) ^2.3.0
- [suanpan-mq](https://npm.io/package/suanpan-mq.md) ^1.4.1
- [serve-handler](https://npm.io/package/serve-handler.md) ^6.1.3
- [require-from-string](https://npm.io/package/require-from-string.md) ^2.0.2

## Recent versions

- 1.2.3 (latest) — 2020-07-30
- 1.0.0 — 2020-07-17
- 0.27.0 — 2020-07-14
- 0.26.0 — 2020-07-14
- 0.25.0 — 2020-07-14
- 0.24.0 — 2020-07-13
- 0.23.0 — 2020-07-13
- 0.22.0 — 2020-07-13

## README

[![JavaScript Style Guide](https://cdn.rawgit.com/standard/standard/master/badge.svg)](https://github.com/standard/standard)

## 简介
目前 node.js sdk

- 支持消息收发
- 读取组件的右面板参数
- 支持 oss 类型的 storage 功能[beta]


## 安装 sdk

```
npm install suanpan_node_sdk
```

## Docker

可以使用基础镜像 node_sdk_base:latest
latest可替换为指定的SDK版本号
例如
```
ARG ARCH="amd64"
FROM registry.cn-shanghai.aliyuncs.com/shuzhi-$ARCH/node_sdk_base:latest
```
基础镜像中 suanpan_node_sdk 通过全局安装
本地开发可以通过`npm install -D suanpan_node_sdk`来提供代码提示

## API 列表

### 加载 sdk

```
let sp = require('suanpan_node_sdk').sp
```

### 获得右面板配置参数(parameter)

```
let spParameter = sp.parameter
console.log(spParameter)
```

### 发送消息与接受消息

#### 构建发送包

```
let msgPackOut={
    out1:"a", //将发送 "a" 到第一个消息出口
    out2:"b", //将发送 "b" 到第二个消息出口
    // key(outN) 表示第N个消息出口, value必须是字符串
}
```

#### 监听 call 事件

```
// 当由一个消息到达时候触发
sp.onCall((req, res) => {
    let msgPackIn = req.msg
    console.log(msgPackIn)
    // msgPackIn结构如下
    //{in1:"a"}
    // key(inN) 表示第N个消息入口, value是字符串
    // doSomething here
    res.send(msgPackOut)
})
```

#### 主动发送信息

```
sp.sendMessage(msgPack)
```

### 存储相关

**目前存储相关api仍处于beta状态，api接口会活跃变动**

```javascript
let storage = require("suanpan_node_sdk").sp.storage; // use node module
if (1) {
  async function test() {
    if (1) {
      console.log("now we list all synced files");
      let list_result = await storage.list("/");
      console.log("list_result", list_result);
    }
    if (1) {
      console.log("now we upload **package.json** as new.json");
      let upload_result = await storage.upload("./package.json", "new.json");
      console.log("upload successfully:", upload_result);
    }
    if (1) {
      console.log("now we list, should see **new.json**");
      let list_result = await storage.list("/");
      console.log("list_result", list_result);
    }
    if (1) {
      console.log(
        "now we download **new.json** to local with new name **download.json**"
      );
      let download_file_buffer = await storage.download("new.json");
      let fs = require("fs");
      console.log("download_file_buffer type:", typeof download_file_buffer);
      console.log(
        "download_file_buffer isBuffer:",
        Buffer.isBuffer(download_file_buffer)
      );
      fs.writeFileSync("./download.json", download_file_buffer);
    }
    if (1) {
      console.log(
        "now we download **new.json** direct to local file **download2.json**"
      );
      await storage.download("new.json", "./download2.json");
      // console.log('is_download_success:', is_download_success)
    }

    if (1) {
      console.log("now we delete  **new.json**");
      let r = await storage.delete("new.json");
    }
    if (1) {
      console.log("now we list, should see **new.json** disappear");
      let list_result = await storage.list("/");
      console.log("list_result", list_result);
    }
    console.log("now we exit all test done");
    process.exit();
  }
  test();
}
```


static 原则 图片资源 html等前端资源

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