基于有道翻译的英翻中微信小程序

环境

微信开发者工具
微信小程序云开发
node.js v12.16.3
axios@0.20.0
cheerio@1.0.0-rc.3

相关内容

Node.js有道翻译爬虫

客户端

创建新的微信小程序项目,创建时选择不使用小程序云开发,进入项目后自行编写云函数,并修改下列文件

project.config.json

project.config.json
其中 "cloudfunctionRoot" : "cloud/"用于设置云函数根目录,cloud/可以修改为任意目录名
修改<appid>

{"description": "项目配置文件","cloudfunctionRoot": "cloud/","packOptions": {"ignore": []},"setting": {"urlCheck": true,"es6": true,"postcss": true,"preloadBackgroundData": false,"minified": true,"newFeature": true,"coverView": true,"nodeModules": false,"autoAudits": false,"showShadowRootInWxmlPanel": true,"scopeDataCheck": false,"checkInvalidKey": true,"checkSiteMap": true,"uploadWithSourceMap": true,"babelSetting": {"ignore": [],"disablePlugins": [],"outputPath": ""},"useCompilerModule": true,"userConfirmedUseCompilerModuleSwitch": false},"compileType": "miniprogram","libVersion": "2.13.0","appid": "<appid>","projectname": "spider","debugOptions": {"hidedInDevtools": []},"isGameTourist": false,"simulatorType": "wechat","simulatorPluginLibVersion": {},"cloudfunctionTemplateRoot": "cloudfunctionTemplate","condition": {"search": {"current": -1,"list": []},"conversation": {"current": -1,"list": []},"game": {"currentL": -1,"list": []},"miniprogram": {"current": -1,"list": []}}
}

App.js

app.js

修改下述代码中的<环境ID>

//app.js
App({onLaunch: function () {wx.cloud.init({env: "<环境ID>",// traceUser: true,});},globalData: {userInfo: null}
})

index.wxml

pages\index\index.wxml


<!--index.wxml-->
<view class="container"><view class="userinfo"><button bindtap="translate">翻译</button></view><view class="usermotto"><input placeholder="Word" bindinput="getWord"></input></view><view class="usermotto"><text class="user-motto">{{motto}}</text></view>
</view>

index.js

pages\index\index.js

//index.js
//获取应用实例
const app = getApp()Page({data: {motto: '释义',word : ''},onLoad: function () {},translate: function(e) {var that = this;wx.cloud.callFunction({name: "translator",data: {word : that.data.word},success: (res) => {console.log(res.result["meaning"]);that.setData({motto : res.result["meaning"]});},fail: (res) => {console.log("fail", res);}});console.log(this.data.word);},getWord: function(e) {this.setData({word : e.detail.value});}
})

云函数

创建云函数

右击云函数根目录,点击新建Node.js云函数,输入translator保存,右击新建的Node.js云函数目录translator,点击在终端打开,输入npm install axios cheerio,进行npm安装

npm安装

npm install axios cheerio

index.js

基于有道翻译和爬虫技术获取英文的中文释义,将结果返回给小程序
爬虫获取英文的中文释义可以参考Node.js有道翻译爬虫
cloud\translator\index.js

// 云函数入口文件
const cloud = require('wx-server-sdk')cloud.init()// 云函数入口函数
exports.main = async (event, context) => {const cheerio = require("cheerio");const axios = require("axios");var str = null;try {const a = await axios.get(`http://www.youdao.com/w/eng/${event.word}`).then((response) => {let $ = cheerio.load(response.data);$(".results-content").each((index, element) => {str = String($(".trans-container").children().first().text()).replace(' ', '').replace('\n', '')console.log(str);});});} catch(err) {console.log(err);}return {meaning : str};
}

云函数部署

右击Node.js云函数目录,点击上传并部署:所有文件,等待更新云函数translator的云调用权限上传云函数translator提示出现后上传成功

编译

点击上方的编译或快捷键Ctrl+S,编译小程序客户端

编译结果

左侧的模拟器可以看到

测试结果

最后

  • 由于博主水平有限,不免有疏漏之处,欢迎读者随时批评指正,以免造成不必要的误解!

基于有道翻译的英翻中微信小程序相关推荐

  1. html自定义js程序,JS中微信小程序自定义底部弹出框

    实现微信小程序底部弹出框效果,代码分为html,css和js两部分,具体代码详情大家参考下本文. html CSS .commodity_screen { width: 100%; height: 1 ...

  2. 【微信小程序】基于Java+uniapp框架开发的全开源微信小程序商城系统

    应用介绍 基于Java+uniapp框架开发的全开源微信小程序商城系统,前端采用目前主流的uniapp框架开发,后端采用Java语言开发,前后端代码全部开源,减少重复造轮子,支持小程序商城秒杀.优惠券 ...

  3. 翻遍“微信小程序”的所有知乎问答,我们整理了大家最关注几个话题

    9 月 21 日,微信应用号正式以"微信公众平台·小程序"的名义发布. 小程序出来之后,各界存在这些疑问: App 和服务号会不会消失:是否会颠覆 App Store:安卓.iOS ...

  4. jee-weapp是一套基于jfinal,dubbo微服务开发的微信小程序商城项目,首次开放全部拼团前后台源码

    介绍: jee-weapp 简介 jee-weapp基于微信第三方开放平台基础框架, 多模块化开发不同的微信营销插件, 支持微信第三方平台扫码授权公众号,小程序 支持微信第三方平台覆盖全网发布 支持小 ...

  5. ajax 微信code获取_计算机毕业设计中微信小程序实现微信登录(Java后台)

    点击上方"蓝字",关注我们. 需要的材料 1:一个可以测试的微信小程序 2:此微信小程序的APPID和APPscret 流程 微信用户对应一个小程序都有一个唯一的openid,微信 ...

  6. uni-app 中微信小程序使用高德地图等第三方 SDK的方法

    获取SDK 首先在高德开放平台,注册账号并且申请相关的 key 等信息: 然后下载它的微信小程序版 SDK:微信小程序 SDK 然后填写app包名,申请原生sdk的appkey信息,但不需要下载原生s ...

  7. 基于ssm快递取件及上门服务微信小程序

    开发语言:Java 框架:ssm JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea ...

  8. 解决PHP7中微信(小程序)mcrypt_module_open() 无法使用的解决方法

    在PHP7 中 mcrypt_module_open()已经被 OPENSSL 取代. 当然你要是还是想用 mcrypt_module_open()就安装 mcrypt 扩展. 使用 openssl ...

  9. uniapp中微信小程序账号登录

    <template><view class="content"><!-- 登录适配 --><!-- 最新版登录方法 --><b ...

最新文章

  1. 了解EF CodeFirst的Migrator功能与Migrator.Net对比
  2. 如何学好3D游戏引擎编程《转自3D游戏引擎网》
  3. eclipse里source的快捷方法_Eclipse开发必备快捷键
  4. java gettext用法_Java Context.getText方法代码示例
  5. mongodb指南(翻译)(一) - 翻译前言
  6. hdu1728--------坑爹啊
  7. ionic3 自动创建启动背景splash以及图标icon
  8. 学习编程技术常见的疑问,你敢说你没有过一个吗?信你个鬼!
  9. JAVA设计模式 - 建造者模式
  10. 自组网中继台_家庭组网无线漫游方案--Mesh 组网
  11. Linux 内核里的数据结构——基数树
  12. 悄悄安装vcredist_x64.exe,不弹出对话框
  13. 免费好用的 PDF 编辑器推荐
  14. ggplot2的中文显示
  15. POJ 1201 Intervals(差分约束)
  16. 高端啤酒正在失去年轻人
  17. mysql.sock.lock的作用_mysql.sock的作用
  18. 深度linux没有声音,deepin扬声器/耳机没有声音解决方案
  19. 基本面量化与美林时钟模型
  20. 【科研】浅学Cross-attention?

热门文章

  1. oracle ora_p0,ORA-12801: error signaled in parallel query server P005
  2. [NLP]高级词向量表达之Word2vec详解(知识点全覆盖)
  3. js 数字转为罗马数字(互转换),I 、II 、 III 、IV、V
  4. linux批量对文件改名,在Linux中对文件进行批量重命名文件的方法
  5. UVA 10163 Storage Keepers (01背包DP + 二分)
  6. 《Gartner2016年度新兴技术成熟度曲线》全解读
  7. 计算机等级考试计算器吗,算天数转单位Win7计算器能做得更多
  8. 集团化企业的电子印章管理模式
  9. 如何搭建属于自己的阿里云服务器
  10. 修改内网服务器数据,内网服务器拷数据