基于有道翻译的英翻中微信小程序
基于有道翻译的英翻中微信小程序
环境
微信开发者工具
微信小程序云开发
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,编译小程序客户端
编译结果
左侧的模拟器可以看到
测试结果
最后
- 由于博主水平有限,不免有疏漏之处,欢迎读者随时批评指正,以免造成不必要的误解!
基于有道翻译的英翻中微信小程序相关推荐
- html自定义js程序,JS中微信小程序自定义底部弹出框
实现微信小程序底部弹出框效果,代码分为html,css和js两部分,具体代码详情大家参考下本文. html CSS .commodity_screen { width: 100%; height: 1 ...
- 【微信小程序】基于Java+uniapp框架开发的全开源微信小程序商城系统
应用介绍 基于Java+uniapp框架开发的全开源微信小程序商城系统,前端采用目前主流的uniapp框架开发,后端采用Java语言开发,前后端代码全部开源,减少重复造轮子,支持小程序商城秒杀.优惠券 ...
- 翻遍“微信小程序”的所有知乎问答,我们整理了大家最关注几个话题
9 月 21 日,微信应用号正式以"微信公众平台·小程序"的名义发布. 小程序出来之后,各界存在这些疑问: App 和服务号会不会消失:是否会颠覆 App Store:安卓.iOS ...
- jee-weapp是一套基于jfinal,dubbo微服务开发的微信小程序商城项目,首次开放全部拼团前后台源码
介绍: jee-weapp 简介 jee-weapp基于微信第三方开放平台基础框架, 多模块化开发不同的微信营销插件, 支持微信第三方平台扫码授权公众号,小程序 支持微信第三方平台覆盖全网发布 支持小 ...
- ajax 微信code获取_计算机毕业设计中微信小程序实现微信登录(Java后台)
点击上方"蓝字",关注我们. 需要的材料 1:一个可以测试的微信小程序 2:此微信小程序的APPID和APPscret 流程 微信用户对应一个小程序都有一个唯一的openid,微信 ...
- uni-app 中微信小程序使用高德地图等第三方 SDK的方法
获取SDK 首先在高德开放平台,注册账号并且申请相关的 key 等信息: 然后下载它的微信小程序版 SDK:微信小程序 SDK 然后填写app包名,申请原生sdk的appkey信息,但不需要下载原生s ...
- 基于ssm快递取件及上门服务微信小程序
开发语言:Java 框架:ssm JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea ...
- 解决PHP7中微信(小程序)mcrypt_module_open() 无法使用的解决方法
在PHP7 中 mcrypt_module_open()已经被 OPENSSL 取代. 当然你要是还是想用 mcrypt_module_open()就安装 mcrypt 扩展. 使用 openssl ...
- uniapp中微信小程序账号登录
<template><view class="content"><!-- 登录适配 --><!-- 最新版登录方法 --><b ...
最新文章
- 了解EF CodeFirst的Migrator功能与Migrator.Net对比
- 如何学好3D游戏引擎编程《转自3D游戏引擎网》
- eclipse里source的快捷方法_Eclipse开发必备快捷键
- java gettext用法_Java Context.getText方法代码示例
- mongodb指南(翻译)(一) - 翻译前言
- hdu1728--------坑爹啊
- ionic3 自动创建启动背景splash以及图标icon
- 学习编程技术常见的疑问,你敢说你没有过一个吗?信你个鬼!
- JAVA设计模式 - 建造者模式
- 自组网中继台_家庭组网无线漫游方案--Mesh 组网
- Linux 内核里的数据结构——基数树
- 悄悄安装vcredist_x64.exe,不弹出对话框
- 免费好用的 PDF 编辑器推荐
- ggplot2的中文显示
- POJ 1201 Intervals(差分约束)
- 高端啤酒正在失去年轻人
- mysql.sock.lock的作用_mysql.sock的作用
- 深度linux没有声音,deepin扬声器/耳机没有声音解决方案
- 基本面量化与美林时钟模型
- 【科研】浅学Cross-attention?
热门文章
- oracle ora_p0,ORA-12801: error signaled in parallel query server P005
- [NLP]高级词向量表达之Word2vec详解(知识点全覆盖)
- js 数字转为罗马数字(互转换),I 、II 、 III 、IV、V
- linux批量对文件改名,在Linux中对文件进行批量重命名文件的方法
- UVA 10163 Storage Keepers (01背包DP + 二分)
- 《Gartner2016年度新兴技术成熟度曲线》全解读
- 计算机等级考试计算器吗,算天数转单位Win7计算器能做得更多
- 集团化企业的电子印章管理模式
- 如何搭建属于自己的阿里云服务器
- 修改内网服务器数据,内网服务器拷数据