JavaScript 集成文档

最近更新时间:2023-07-28 14:09:18 前往 Coding 编辑

导出文档

一、准备环境

  1. 首先 JS SDK 需要浏览器支持基本的 HTML5 特性,以便计算音频流 base64 值。
  2. 注册登录 新联云管理中心控制台
  3. 前往 云API密钥 的控制台页面,获取或创建您的项目 SecretId 和 SecretKey。
说明:

SecretId 和 SecretKey 必须严格保管,避免泄露。

二、计算签名

由于签名计算放在前端会暴露 SecretId 和 SecretKey,我们把签名计算过程放在后端实现,前端通过 ajax 向后端获取签名结果,正式部署时请在后端加一层自己网站本身的权限检验。 计算过程详见签名方法

三、获取安装

通过 Npm 安装

  1. 支持 webpack 打包的场景,可以用 npm 引入作为模块,执行以下安装命令:
    npm install @neunit/cloud-sdk-js --save
  2. 在您的代码中引用对应模块代码,可参考示例

通过源码包安装

  1. 前往 Coding 仓库 下载源码包。
  2. 将源码包中的 dist 文件夹放到您项目合适的位置。
  3. 在您的代码中引用对应模块代码,可参考示例

四、示例

  • script 引入方式

  1. 创建 test.html,填入下面的代码。
  2. 部署好后端的签名服务,并修改 getAuthorization 里的签名服务地址。
  3. 把 test.html 放在 Web 服务器下,然后在浏览器访问页面,测试录音识别。
<script src="dist/sc/sc-js-sdk.min.js"></script>
<script>
  // 初始化实例
  var sc = new SC({
    getAuthorization: function (options, callback) {
      var url = 'http://127.0.0.1:3000/sts'; // 这里替换成您的服务接口地址
      var xhr = new XMLHttpRequest();
      xhr.open('POST', url, true);
      xhr.setRequestHeader('Content-Type', 'application/json');
      xhr.onload = function (e) {
        try {
          var data = JSON.parse(e.target.responseText);
          var credentials = data.credentials;
        } catch (e) {}
        if (!data || !credentials) {
          return console.error('credentials invalid:\n' + JSON.stringify(data, null, 2));
        }
        callback({
          Authorization: credentials.Authorization,
          Nonce: credentials.Nonce,
          Timestamp: credentials.Timestamp,
          SecretId: credentials.SecretId,
        });
      };
      xhr.send(options.Body);
    }
  });

  sc.getScInfo({
    audioChunk: 'pcm 格式的音频二进制流 base64 后的内容' 
  }, (err, response) => {
    // 请求异常返回,打印异常信息
    if (err) {
      console.log(err)
      return
    }
    // 请求正常返回,打印response对象
    console.log(response)
  });

</script>
  • webpack 引入方式

import XLCLOUD from '@neunit/cloud-sdk-js';

const { SC } = XLCLOUD;
const sc = new SC({
  getAuthorization: (options, callback) => {
    // ...
  },
});

sc.getScInfo({
  audioChunk: 'pcm 格式的音频二进制流 base64 后的内容',
}, (err, response) => {
  // ...
});

五、Start Demo

  1. git clone https://e.coding.net/neunit/kms/cloud-sdk-js.git 至本地;
  2. cd cloud-sdk-js 进入根目录后执行 npm install
  3. 修改 server 文件夹中 sts.js 中的 secretId、secretKey 配置;
  4. npm run server 用 node 启动服务;
  5. 浏览器输入 http://127.0.0.1:3000/ 即可进行 demo 演示;

六、相关文档