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

简介: 微信小程序使用京东云实现垃圾分类图片识别垃圾分类

在做微信小程序垃圾分类功能时,有用到拍照识别语音识别和文字识别,文字识别直接传参,语音识别需要将语音转化成文字,图片识别需要将图片转化成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
  } = wxContext
  const app = new TcbRouter({
    event
  })
  //提供通过文本进行垃圾分类查询的能力
  app.router('garbageTextSearch', async (ctx, next) => {
    let {
      text,
      devIntegral
    } = event
    let 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
    })
  })
    //获取用户openID
    app.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"
    }
}


相关文章
|
小程序 前端开发 Java
毕业设计-基于微信小程序的智能垃圾分类回收系统
毕业设计-基于微信小程序的智能垃圾分类回收系统
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp小程序的城市垃圾分类管理系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp小程序的城市垃圾分类管理系统附带文章源码部署视频讲解等
156 13
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的垃圾分类小程序的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的垃圾分类小程序的详细设计和实现(源码+lw+部署文档+讲解等)
120 1
|
JavaScript Java 测试技术
基于ssm+vue.js+uniapp小程序的社区垃圾分类管理平台附带文章和源代码部署视频讲解等
基于ssm+vue.js+uniapp小程序的社区垃圾分类管理平台附带文章和源代码部署视频讲解等
111 3
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp小程序的垃圾分类回收系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp小程序的垃圾分类回收系统附带文章源码部署视频讲解等
146 0
|
JavaScript Java 测试技术
基于微信的垃圾分类小程序+springboot+vue.js附带文章和源代码设计说明文档ppt
基于微信的垃圾分类小程序+springboot+vue.js附带文章和源代码设计说明文档ppt
137 0
|
小程序 JavaScript Java
基于微信小程序的垃圾分类小程序的设计与实现(源码+lw+部署文档+讲解等)
基于微信小程序的垃圾分类小程序的设计与实现(源码+lw+部署文档+讲解等)
201 0
|
JSON 小程序 JavaScript
微信小程序毕业设计之垃圾分类小程序(一)
微信小程序毕业设计之垃圾分类小程序(一)
|
6月前
|
监控 前端开发 小程序
陪练,代练,护航,代打小程序源码/前端UNIAPP-VUE2.0开发 后端Thinkphp6管理/具备家政服务的综合型平台
这款APP通过技术创新,将代练、家政、娱乐社交等场景融合,打造“全能型生活服务生态圈”。以代练为切入点,提供模块化代码支持快速搭建平台,结合智能匹配与技能审核机制,拓展家政服务和商业管理功能。技术架构具备高安全性和扩展性,支持多业务复用,如押金冻结、录屏监控等功能跨领域应用。商业模式多元,包括交易抽成、增值服务及广告联名,同时设计跨领域积分体系提升用户粘性,实现生态共生与B端赋能。
542 12
|
9月前
|
移动开发 小程序
thinkphp+uniapp开发的多端商城系统源码/H5/小程序/APP支持DIY模板直播分销
thinkphp+uniapp开发的多端商城系统源码/H5/小程序/APP支持DIY模板直播分销
349 0

热门文章

最新文章