# hz-agent-api

汇智的API库，支持 UMD、CJS、ESM 多模式和 Tree-Shaking。

> 目的：高效率完成前端业务代码

业务开发过程中，快速的调用接口。

## 本项目的开发流程（用于汇智的开发人员）

1. 在 src 目录下创建一个文件夹，文件夹用大类的命名，如 `auth` 就是鉴权的模块。
2. 在文件夹中创建一个 js 文件，名用小类的命名，如 `loginDeployOfH5` 就是部署 H5 的登录接口。
3. 在 `auth` 目录下，再新建一个 `index.js`，用于导出整个模块的 API。
4. 在根目录下的 `index.js` 中，使用 `export` 导出模块中所有的 API。
5. 在根目录下的 `package.json` 中，修改 `version` 的版本号。
6. `pnpm install` 后执行打包操作 `pnpm run build`。
7. `npm publish` 进行发包。

## 安装和使用 :wrench:

### ESM

使用 npm 安装。支持 Tree-shaking。

```shell
npm i hz-agent-api -D
```

```js
// 引入不登录获取智能体信息API接口
import { getAgentDetails } from 'hz-agent-api';

// 在Vue3组件挂载时调用
onMounted(async() => {
  const tenantId = '476'
  const agentNo = 'AG1806510241710477312NELS'
  const shareKey = 'LINK18156324277003264008266'
  const res = getAgentDetails(tenantId, agentNo, shareKey)
  console.log('不登录获取智能体信息', res)
})
```

### CJS

[hz-agent-api/lib](https://fastly.jsdelivr.net/npm/hz-agent-api@0.0.10/lib/)

切换版本号后，直接下载 `lib` 目录下的 `AGENT_API.cjs.js` 使用，在 node 环境中引入使用。

![CDN](https://buff8.oss-cn-shanghai.aliyuncs.com/agent_sass_b/hz-agent/API/CDN.png)

### CDN

[hz-agent-api/lib](https://fastly.jsdelivr.net/npm/hz-agent-api@0.0.10/lib/)

切换版本号后，直接下载 `lib` 目录下的 `AGENT_API.browser.js` 使用，支持 CDN 方式，直接在 html 文件中引入使用。

```html
<script src="./js/AGENT_API.browser.js"></script>
<script>
  const tenantId = '476'
  const agentNo = 'AG1806510241710477312NELS'
  const shareKey = 'LINK18156324277003264008266'
  const agentObj = HZAPI.getAgentDetails(tenantId, agentNo, shareKey);
</script>
```

## npm 链接 :link:

[hz-agent-api](https://www.npmjs.com/package/hz-agent-api)

## API 文档 :package:

### 鉴权

#### 部署方式登录 - 部署 PC、小程序、安卓和IOS 的登录

方法：`loginDeployOfCommon`

参数：

- `tenantId`：租户ID
- `appKey`：应用key
- `signature`：签名
- `timestamp`：时间戳
- `userIdentifier`：用户标识

返回值：登录成功后返回的 token 等的对象信息

#### 部署方式登录 - 部署公众号的登录

方法：`loginDeployOfH5`

参数：

返回值：登录成功后返回的 token 等的对象信息

### 智能体

#### 分享智能体 - 不登录获取智能体信息

方法：`getAgentDetails`

参数：

- `tenantId`：租户ID
- `agentNo`：智能体编号
- `shareKey`：分享key

返回值：智能体信息对象

