在做微信小程序垃圾分类功能时,有用到拍照识别语音识别和文字识别,文字识别直接传参,语音识别需要将语音转化成文字,图片识别需要将图片转化成base64格式传参,通过调用京东云的接口来返回垃圾信息。具体实现我用了云函数来实现,具体步骤如下(无坑一步一步跟着走绝对能运行)

一、构建云函数

// 云函数入口文件
const cloud = require('wx-server-sdk')
const TcbRouter = require('tcb-router');
const axios = require('axios');
const {Context,Signer
} = require('jdcloud-sdk-signer')cloud.init({env: ""
})
let db = cloud.database()
const _ = db.command/*** 因为京东neuhub平台服务器崩溃,所以改用京东云垃圾分类API*//*** 京东API配置* 垃圾分类api* * 申请地址:https://www.jdcloud.com/cn/products/garbage-classification*/
let jdaiyuncofig = {accessKeyId: 'JDC_F0904F0F3B595D5B7221FEAw3802CF8',secretAccessKey: 'DEA78F8481A2C51112337F2F89BD3BA9F0B'
//这里需要自己去京东云申请自己的密钥,上面的密钥是假的
}function getAuthorization() {let ctx = new Context('nativecontainer.internal.cn-north-1.jdcloud-api.com', '/jdai/*', 'POST', null, '', 'cn-north-1')ctx.buildNonce()let signer = new Signer(ctx, jdaiyuncofig)let auth = signer.sign(new Date())return auth
}// 云函数入口函数
exports.main = async (event, context) => {const wxContext = cloud.getWXContext()let {APPID,OPENID} = wxContextconst app = new TcbRouter({event})//提供通过文本进行垃圾分类查询的能力app.router('garbageTextSearch', async (ctx, next) => {let {text,devIntegral} = eventlet auth = getAuthorization()ctx.body = axios.post(`https://aiapi.jdcloud.com/jdai/garbageTextSearch`, {text: text,cityId: '310000'}, {headers: {'Content-Type': 'application/json','Authorization': auth}}).then(res => {return res.data})})//获取用户openIDapp.router('openId', async (ctx, next) => {ctx.body = {openId: OPENID}})return app.serve()}

构建云函数时相应的插件如下,保存后通过工具=》构建npm来进行构建

{"name": "api","version": "1.0.0","description": "","main": "index.js","scripts": {"test": "echo \"Error: no test specified\" && exit 1"},"author": "","license": "ISC","dependencies": {"axios": "^0.20.0","debug": "^4.3.1","jdcloud-sdk-signer": "^2.0.2","md5-node": "^1.0.1","qs": "^6.9.4","tcb-router": "^1.1.2","wx-server-sdk": "~2.5.3"}
}

微信小程序使用京东云实现垃圾分类图片识别垃圾分类相关推荐

  1. 微信小程序canva生成图片,长按图片识别小程序二维码详解

    下面这个图片就是通过图片和文字等内容合成的一张带有微信小程序二维码的图片,在小程序内部长按可以识别出来: 基本思路是先将内容用canvas排好版,然后把该canvas转化成图片:图片利用wx.prev ...

  2. 【中级】 微信小程序 - 腾讯云 - wafer2 - PHP - DEMO - 003 - 源码分析 - 01 - 文件组成详细分析

    1 前言: 本文原创,欢迎转载,但是,务必保持原文并且给出原文链接. 微信小程序 - 腾讯云 - PHP - DEMO 是微信提供的一个微信小程序和腾讯云小程序云服务wafer 进行接口的例子. 本仓 ...

  3. 微信小程序使用阿里云物联网API开发物联网应用

    微信小程序是一种不需要下载安装即可使用的应用,它实现了应用"触手可及"的梦想,用户扫一扫或者搜一下就可以打开的应用. 微信小程序具有方便快捷,速度快,安全及保密性高的优点,同时开发 ...

  4. 微信小程序:uni-app云开发的网盘助手

    这是一款uni-app开发的一款网盘小助手小程序源码 该源码主要用于用户输入关键词然后全网抓取百度网盘资源内容 另外呢该小程序还可以免费领取百度网盘七天会员,所以用来引流特别的不错 该小程序还有外卖系 ...

  5. 【微信小程序开发(云壁纸小程序教程)】

    微信小程序开发(云壁纸小程序教程) 1. 准备 HBuilder X 和 微信开发者工具 2. 进入网站注册小程序 3. 点击发行,这时候就用到微信开发者工具 1. 准备 HBuilder X 和 微 ...

  6. 微信小程序开发13 云开发:云原生一体化应用开发平台

    你好,我是冠宇,从这个模块开始,就由我带着你一起学习. 在开篇词中,俊鹏讲到云开发诞生的背后动力是困扰前端开发者们的一个核心问题:对后端的依赖.那云开发到底怎么去优化和解决这个问题的呢? 这就是我们今 ...

  7. 微信小程序自动化构建(云效)

    文章目录 前言 一.miniprogram-ci 二.将appid和privateKey配置成云效参数 1.修改上传时的脚本 2.修改manifest.json中的appid 3.修改云效配置 总结 ...

  8. 仿京细菜谱微信小程序源码云开版

    仿京细菜谱微信小程序源码云开版,不需要域名和服务器即可搭建小程序,直接导入开发者工具即可上传审核. 源码下载:仿京细菜谱微信小程序源码云开版-小程序文档类资源-CSDN下载

  9. 【物联网】微信小程序接入阿里云物联网平台

    微信小程序接入阿里云物联网平台 一 阿里云平台端 1.登录阿里云 阿里云物联网平台 点击进入公共实例,之前没有的点进去申请 2.点击产品->创建产品 3.产品名称自定义,按项目选择类型,节点类型 ...

最新文章

  1. 陈怡然团队最新研究:用复数神经网络提高梯度正则化准确度 | ICML 2021
  2. Android研究-linux内核启动到android系统
  3. iOS下载大文件原理解析一
  4. Leetcode 152.乘机最大子序列
  5. 题目1065:输出梯形
  6. java spring boot 注解验证_如何理解Java原生注解和Spring 各种注解?
  7. java动态代理模式初解
  8. MongoDB-与SpringBoot集成
  9. JAVA环境变量安装
  10. 颜色转换:十六进制转RGBA并可控制透明度
  11. PDF 已加密 如何去除限制
  12. 合并报表编制采用的理论_谈合并报表的编制理论
  13. 2020年证券从业资格考试《金融市场基础知识》真题汇编卷一
  14. Linux 查看网络流量 iftop
  15. fanc 机器人_24个FANUC机器人的视觉功能详细介绍
  16. echarts X轴和Y轴不对应(xAxis type time)的用法
  17. 【Spark NLP】第 16 章:对象字符识别(OCR)
  18. java线性表实验心得_20162311 实验一 线性结构 实验报告
  19. 美国光纤通信展归来:光时代的MPO应用无法抗拒
  20. JS中onpropertychange事件和onchange事件区别

热门文章

  1. LILO使用指南(上)
  2. 国产数据库(达梦数据库)培训心得分享
  3. Linux 系统 top 命令详解
  4. HDU -2201 熊猫阿波的故事
  5. gs地图开发_地图编制小课堂 | 境界分类
  6. OGG故障错误处理总结
  7. android 换机 iphone8,最好的换机之选?iPhone8 PLUS众测体验
  8. 如何将多个PDF合并且页面顺序交叉重排
  9. 移动应用开发--5.10学习日志
  10. 基本器件选型之二极管