一、事前准备
微信开发者工具微信开发者工具下载地址与更新日志 | 微信开放文档
(无需多言,有需要请自行下载工具和开通微信小程序账号,网上教程多,请自行搜索)
百度翻译开放平台百度翻译开放平台
根据流程:登录,注册,认证,开通
开通翻译API服务
由于本人已经申请,所以显示这种情况。
如果还没有开通,自行按要求进行申请开通即可。
点击这里,查看你的开发者信息(一些信息、申请、认证情况等等)
注意注意!!以下画框的三个内容在开发过程中会非常重要!
在代码部分会讲解。
二、如何使用
当你看到这一步,就默认你走完上述的流程。以下是代码部分。
(一)页面部分:
//html
<div>
<div>一个测试百度翻译api的案例</div>
<div>
<input style="border: 1px black solid;" type="text" id="query" bind:change="inputQuery" />
<button bindtap="setTranslateApi">文本翻译</button>
</div>
<div wx:if="transResult">翻译结果:{
{transResult}}</div>
</div>
(二)JS部分:
引入第三方库(需要下载,下文有教程)
import md5 from 'js-md5';
案例用到的数据
data: {
query: '', //存储输入的文本内容
transResult:'', //存储翻译生成的结果
},
获取并存储文本框的输入内容
inputQuery: function (e) {
this.setData({
query: e.detail
});
},
生成数字随机码
generateRandomString: function (length) {
var result = '';
var characters = '0123456789';
var charactersLength = characters.length;
for (var i = 0; i < length; i++) {
result += characters.charAt(Math.floor(Math.random() * charactersLength));
}
return result;
},
发送翻译请求
setTranslateApi: function () {
var that=this;
let query = this.data.query.value;
if (query) {
console.log("预翻译文本是", query);
} else {
console.log("输入内容不能为空");
}
let appid = "xxxx"; //替换成你自己的百度appid
let secertKey='xxx'; //替换成你自己的百度密钥
var salt = this.generateRandomString(10); //生成随机数字字符串,传的参数表示生成多少位
console.log('生成的10位随机码,',salt);
let sign=md5(appid+query+salt+secertKey);
console.log("生成的sign签名是,",sign);
wx.request({
url: "https://fanyi-api.baidu.com/api/trans/vip/translate",
data: {
q: query,
from: 'zh',
to: 'en',
appid: appid,
salt: salt,
sign: sign
},
success(res) {
var result = res;
console.log("得到的翻译结果",res.data, res.data.trans_result);
that.setData({
transResult:res.data.trans_result[0].dst
})
},
fail() {
uni.showModal({
title: "错误!",
content: "网络错误!",
complete() {
this.translate_source = ""
}
})
}
})
},
JS-安装第三方库js-md5,用于生成必要的md5。
打开项目,右键点击空白处
在打开的终端输入指令:
npm install js-md5 --save
注意:接下来这一步非常重要! 构建npm
想要你安装的库可以正常使用,都需要进行“构建npm”
微信开发者工具-工具-构建npm-重新编译项目
(三)可能出现的错误(这部分非常重要,只演示个人测试时出现的错误)
发送成功,但返回不正确的结果,状态码是58000(INVALID_CLIENT_IP),此时需要你做两步。
第一步:将客户端的服务器IP添加到翻译开发者平台
(在开发者工具,console.log打印请求后得到的信息,重点关注“INVALID_CLIENT_IP”字眼)
第一个是我一开始填写的,但实际上,我发送请求时用的不是第一个服务器IP。
(因为我连的是公司的网络,所以我就添加公司网络服务器IP,也就是下图的第二个)
把你实际运行发送请求的服务器IP,添加进去。
第二步:在微信小程序平台上添加服务器域名
在此添加域名,然后点击保存即可。
https://fanyi-api.baidu.com
三、效果展示
整理不易,如果你喜欢这篇文章,请点赞、收藏、关注~
后续有时间,考虑整理代码上传到仓库,关注我,获取最新消息。11-19