1.先附上有道産品文檔位址
https://ai.youdao.com/DOCSIRMA/html/%E8%87%AA%E7%84%B6%E8%AF%AD%E8%A8%80%E7%BF%BB%E8%AF%91/API%E6%96%87%E6%A1%A3/%E6%96%87%E6%9C%AC%E7%BF%BB%E8%AF%91%E6%9C%8D%E5%8A%A1/%E6%96%87%E6%9C%AC%E7%BF%BB%E8%AF%91%E6%9C%8D%E5%8A%A1-API%E6%96%87%E6%A1%A3.html
連結位址右下方有 js demon,下面粘貼一份:
<!doctype html>
<head>
<meta charset="utf-8"/>
</head>
<body>
<div>可打開浏覽器控制台檢視結果</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="https://cdn.bootcdn.net/ajax/libs/crypto-js/4.0.0/crypto-js.js"></script>
<script type="text/javascript">
var appKey = \'\';
var key = \'\';//注意:暴露appSecret,有被盜用造成損失的風險
var salt = (new Date).getTime();
var curtime = Math.round(new Date().getTime()/1000);
var query = \'您好,歡迎再次使用有道智雲文本翻譯API接口服務\';
// 多個query可以用\n連接配接 如 query=\'apple\norange\nbanana\npear\'
var from = \'zh-CHS\';
var to = \'en\';
var str1 = appKey + truncate(query) + salt + curtime + key;
var vocabId = \'您的使用者詞表ID\';
//console.log(\'---\',str1);
var sign = CryptoJS.SHA256(str1).toString(CryptoJS.enc.Hex);
$.ajax({
url: \'http://openapi.youdao.com/api\',
type: \'post\',
dataType: \'jsonp\',
data: {
q: query,
appKey: appKey,
salt: salt,
from: from,
to: to,
sign: sign,
signType: "v3",
curtime: curtime,
vocabId: vocabId,
},
success: function (data) {
console.log(data);
}
});
function truncate(q){
var len = q.length;
if(len<=20) return q;
return q.substring(0, 10) + len + q.substring(len-10, len);
}
</script>
</body>
具體參數注釋産品文檔有詳細介紹,這裡就不多解釋了,來看看還需準備什麼 appKey 和 key
2.登入注冊有道智雲AI開放平台---->控制台---->建立應用,如下圖
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiETPwJWZ3ZCMwcTP39zZuBnLENTJENTJ3pVdC5GT0sGVNl3YE5UejRUT4BTeNRzYU9UMrpWT1EEVNp3YE1EeJRUT5BTaOlXS61kMZRVT2NGRNhXSE1Ue4kmT5lkeNJTWU1kdjJjYzpkMMRXOykVdNNjW2hXbZVnTtx0dJRUT5N2ViBXO5xkNNh0YwIFSh9CXt92YuM3YltWas5iclN3Ztl2Lc9CX6MHc0RHaiojIsJye.png)
建立應用成功,先别着急用,需要再綁定語音合成功能,否則會報 110 錯誤,點選修改選取如下:
修改成功之後就可以用了,如下圖:
appKey=應用ID
key = 應用秘鑰
但是!!!!提供的demon并不适合vue項目重複調用,需要封裝,代碼如下:
import $ from \'jquery\'
import CryptoJS from \'./CryptoJS.js\'
var appKey = \' 應用ID \';
var key = \'應用秘鑰\'; //注意:暴露appSecret,有被盜用造成損失的風險
var from = \'en\';
var to = \'en\';
var vocabId = \'\'; //您的使用者詞表ID
// 多個query可以用\n連接配接 如 query=\'apple\norange\nbanana\npear\'
function getMp3Url(query) {
let salt = (new Date).getTime();
let curtime = Math.round(new Date().getTime() / 1000);
var str1 = appKey + truncate(query) + salt + curtime + key;
var sign = CryptoJS.SHA256(str1).toString(CryptoJS.enc.Hex);
return new Promise((resolve, reject) => {
$.ajax({
url: \'https://openapi.youdao.com/api\',
type: \'post\',
dataType: \'jsonp\',
data: {
q: query,
appKey: appKey,
salt: salt,
from: from,
to: to,
sign: sign,
signType: "v3",
curtime: curtime,
vocabId: vocabId,
voice: \'0\'
},
success: function(data) {
resolve(data)
},
fail(err) {
reject(err)
}
});
})
}
function truncate(q) {
var len = q.length;
if (len <= 20) return q;
return q.substring(0, 10) + len + q.substring(len - 10, len);
}
export default getMp3Url
使用方法:
全局挂載
import youdao from \'./assets/js/youdao.js\'
app.config.globalProperties.$getMp3Url = youdao
頁面使用:
this.$getMp3Url(\'需要傳入的單詞\').then((res) => {
});
加密庫CryptoJS.js檔案下載下傳位址:
連結: https://pan.baidu.com/s/1NH-IRCdywMEaMA5K8J87Tw 提取碼: gtbp 複制這段内容後打開百度網盤手機App,操作更友善哦