# @ctsy/api-sdk

> ```typescript import create, { ApiConfig } from '@ctsy/api-sdk' // 方式1 ApiConfig.AppID = 'tsy' ApiConfig.Secret = 'dxzef23d2dxs1'; ApiConfig.Key = '3F3fw24F5e5' //可以手动指定Api服务地址，默认为https://v1.api.tansuyun.cn ApiConfig.Host = 'http://localhost:3000' // 方式二

Latest version **2.0.404** (published 2025-03-17) · MIT license · 0 weekly downloads

## Install

```sh
npm install @ctsy/api-sdk
pnpm add @ctsy/api-sdk
yarn add @ctsy/api-sdk
bun add @ctsy/api-sdk
```

## Health

**Score 30/100 (F)** — status: maintenance-mode.

Positive: has types; no vulnerabilities.

Warnings: low downloads; no esm support.

Negative: stale; low maintenance score.

## Facts

| | |
|---|---|
| Version | 2.0.404 |
| Published | 2025-03-17 |
| First published | 2019-10-13 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | CommonJS |
| Dependencies | 6 |
| Unpacked size | 527.8 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 2 |
| Author | castleiMac |
| Maintainers | yanpengquan, ida_xyt |

## Links

- npm: https://www.npmjs.com/package/@ctsy/api-sdk
- Repository: https://github.com/c-tsy/api-sdk
- npm.io page: https://npm.io/package/@ctsy/api-sdk

## Dependencies (6)

- [md5](https://npm.io/package/md5.md) *
- [axios](https://npm.io/package/axios.md) *
- [dayjs](https://npm.io/package/dayjs.md) *
- [lodash](https://npm.io/package/lodash.md) *
- [@ctsy/hook](https://npm.io/package/@ctsy/hook.md) *
- [@ctsy/common](https://npm.io/package/@ctsy/common.md) *

## Recent versions

- 2.0.404 (latest) — 2025-03-17
- 2.0.403 — 2025-03-17
- 2.0.402 — 2025-03-17
- 2.0.401 — 2023-08-10
- 2.0.400 — 2023-08-01
- 2.0.399 — 2023-08-01
- 2.0.398 — 2023-07-18
- 2.0.397 — 2022-10-28
- 2.0.396 — 2022-10-28
- 2.0.395 — 2022-10-25
- 2.0.394 — 2022-07-24
- 2.0.393 — 2022-07-19
- 2.0.392 — 2022-07-17
- 2.0.391 — 2022-07-17
- 2.0.390 — 2022-07-16
- … 381 more at https://npm.io/package/@ctsy/api-sdk/versions

## README

api-sdk

# 碳素云Api云服务 nodejs-sdk
```typescript
import create, { ApiConfig } from '@ctsy/api-sdk'
// 方式1
ApiConfig.AppID = 'tsy'
ApiConfig.Secret = 'dxzef23d2dxs1';
ApiConfig.Key = '3F3fw24F5e5'
//可以手动指定Api服务地址，默认为https://v1.api.tansuyun.cn
ApiConfig.Host = 'http://localhost:3000'
// 方式二
create('tsy','3F3fw24F5e5','dxzef23d2dxs1','rand内容(有rand情况下secret为rand与secret组合后字典序排序内容)')

// 此处的Secret和Key均为不正确的，请联系工作人员申请
```

# 使用MQTT需要在在script中导入：
  <script src="//npm.tansuyun.cn/mqtt/dist/mqtt.min.js"></script>


    // 连接字符串, 通过协议指定使用的连接方式
    // ws 未加密 WebSocket 连接
    // wss 加密 WebSocket 连接
    // mqtt 未加密 TCP 连接
    // mqtts 加密 TCP 连接
    // wxs 微信小程序连接
    // alis 支付宝小程序连接

# 一些注意事项
## 文章模块
1. 若需要针对文章进行多级的结构划分，请使用文章的Classify对象进行树形管理，其分类类型为1，文章中允许通过设定CID来关联到该分类上

## 站点管理模块【查询可以不登录，修改和添加必须登录后】
1. 每个应用下必须先存在至少一个站点，
2. 每个站点可以配置多个 展示点/橱窗柜 ，一般在开发阶段已经确定好有哪些展示点了，程序启动后通过search接口查询展示配置后显示相关内容并作出逻辑处理
3. 每个展示点支持多个展示内容，

[2.0.360]
+ DebugEnd的本地存储为调试模式结束时间，若需要调试则写入该值为结束时间戳

[2.0.113]
新增 站点管理模块，具体文档请参看：https://www.yuque.com/fbfmru/qcllb6/iwn8ag

[2.0.109]
新增 Art.AuthorApi 用于讲师的部分信息的操作，支持adds/save接口
新增 Art.ArtExtendLive 用于描述音视频等信息类型，直播或录播或回放都依赖这个，其操作接口同Art.ArtApi.save

[2.0.108]

[2020-05-19] 用户账户模块 更新 注册接口增加Contacts参数，用于在注册时创建该用户的联系信息数据


# 签名方式

> 应用编号AppID:123456，应用Key：654321，密钥：xkf0i90f2i9fw，请求路径为：/_art/Art/rule

1. 获取 随机数 时间戳:1590131414213
2. 顺序拼接 随机数(1590131414213),请求路径(/_art/Art/rule),密钥(xkf0i90f2i9fw),请求内容({}) 生成签名主体: 
3. 1590131414213/_art/Art/rulexkf0i90f2i9fw{}
4. 用 应用编号AppID(123456),应用Key(654321),时间戳(1590131414213),签名主体md5(XXX)
5. 生成签名内容:123456_654321_1590131414213_c79e216462f1e08637ab833b3e4c0eac
6. 放置于请求头部auth中

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