以前写了一个每日推送的英文小程序:brainyQuoteLite 有兴趣的小伙伴可以扫码体验一下。
接入百度翻译API,首先你先注册一个开发者:
然后选择你要的翻译服务,我的是通用翻译,你会有一个appid和key,请求API的时候需要对参数进行md5,后面会有例子。
备注:这个模板是网上找的。这里包装了一下异步的函数,这样就方便在别的地方调用了。
import md5 from './md5.js'
const appid = '' //注册百度翻译api
const key = '' //注册百度翻译api
function translate(q, from='en',to='zh') {
// { from = 'auto', to = 'auto' } = { from: 'auto', to: 'auto' } 表示默认传递参数传递的值
//Promise 对象
return new Promise((resolve, reject) => {
let salt = Date.now() //随机数
let sign = md5(`${appid}${q}${salt}${key}`) //拼接 MD5进行加密
wx.request({
url: 'https://fanyi-api.baidu.com/api/trans/vip/translate',
data: {
q, //待翻译文本
from, //待翻译的原始语言
to, //待翻译成的目标语言
appid,
salt, //随机数
sign //拼接 MD5进行加密
},
success(res) {
console.log(res)
if (res.data && res.data.trans_result) {
resolve(res.data)
} else {
reject({ status: 'error', msg: '翻译失败' })
wx.showToast({
title: '翻译失败',
icon: 'none',
duration: 3000
})