JavaScript 集成文档
最近更新时间:2023-07-28 14:09:18 前往 Coding 编辑 导出文档
一、准备环境
- 首先 JS SDK 需要浏览器支持基本的 HTML5 特性,以便计算音频流 base64 值。
- 注册登录 新联云管理中心控制台 。
- 前往 云API密钥 的控制台页面,获取或创建您的项目 SecretId 和 SecretKey。
说明:SecretId 和 SecretKey 必须严格保管,避免泄露。
二、计算签名
由于签名计算放在前端会暴露 SecretId 和 SecretKey,我们把签名计算过程放在后端实现,前端通过 ajax 向后端获取签名结果,正式部署时请在后端加一层自己网站本身的权限检验。 计算过程详见签名方法。
三、获取安装
通过 Npm 安装
- 支持 webpack 打包的场景,可以用 npm 引入作为模块,执行以下安装命令:
npm install @neunit/cloud-sdk-js --save
- 在您的代码中引用对应模块代码,可参考示例。
通过源码包安装
四、示例
script 引入方式
- 创建 test.html,填入下面的代码。
- 部署好后端的签名服务,并修改 getAuthorization 里的签名服务地址。
- 把 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
git clone https://e.coding.net/neunit/kms/cloud-sdk-js.git
至本地;cd cloud-sdk-js
进入根目录后执行npm install
;- 修改 server 文件夹中 sts.js 中的 secretId、secretKey 配置;
npm run server
用 node 启动服务;- 浏览器输入 http://127.0.0.1:3000/ 即可进行 demo 演示;