文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

微信小程序怎么使用百度AI识别接口封装Promise

2023-07-05 19:58

关注

本篇内容介绍了“微信小程序怎么使用百度AI识别接口封装Promise”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

百度接口调用封装(Promise)

此封装主要是针对需要上传图片识别的接口,比如翻译,身份证识别,车牌识别等等。其他不需要上传图片的接口,把wx.chooseMedia那部分去掉就可以。

前提准备:

封装代码:

先在utils文件夹下新增BadiduOcr.js文件,代码如下:

function BadiduOcr() {return new Promise(function (resolve, reject) {// 图片识别wx.chooseMedia({ // 车牌图片/拍照count: 1, // 最多可以选择的文件个数mediaType: ['image'], //文件类型sizeType: ['original', 'compressed'], //是否压缩所选文件sourceType: ['album', 'camera'], // 图片来源success(res) { //调用照片选择成功的回调函数console.log(res);//图片编码部分核心代码 上传到接口需要将图片转为base64格式wx.getFileSystemManager().readFile({filePath: res.tempFiles[0].tempFilePath,encoding: 'base64', //编码格式success(ans) {// console.log(ans.data)wx.showLoading({title: '识别中'})//ans.data:保存了图片转码之后的数据// 1.请求获取百度的access_tokenwx.request({//url中的&client_id=client-i&client_secret=client—s中的参数client-i和client—s需要申请百度识别的账号和密码,具体申请流程参考上面url: 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=你的client_id&client_secret=你的client_secret',data: {}, //请求参数,此处没有参数,则置空header: {'content-type': 'application/x-www-form-urlencoded' // 默认值},success(rep) {var access_token = rep.data.access_token;console.log("access_token:", access_token)// 2.带着token与转码后的图片编码请求百度OCR接口,对图片进行识别wx.request({url: 'https://aip.baidubce.com/百度识别的具体接口?access_token=' + access_token,method: 'POST',header: {'Content-Type': 'application/x-www-form-urlencoded'},data: {image: ans.data, //ans.data:图片编码},success(_res) {wx.hideLoading();resolve(_res)console.log("识别成功:", _res)},fail(_res) {wx.hideLoading();wx.showToast({title: '请求出错',icon: 'none'})reject(_res)}})},fail(rep) {wx.hideLoading();wx.showToast({title: '请求出错',icon: 'none'})reject(rep)}});},fail(res) {wx.hideLoading();wx.showToast({title: '所选图片编码失败,请重试',icon: 'none'})reject(res)}})},fail(res) {wx.hideLoading();wx.showToast({title: '图片选择失败,请重试',icon: 'none'})reject(res)}})})}module.exports = {BadiduOcr: BadiduOcr}

调用

   <button width="200rpx" height="64rpx" size="{{30}}" bindtap="getNum" bold>百度识别</tui-button>
import {    BadiduOcr} from '../../utils/BadiduOcr'Page({     getNum() {        BadiduOcr().then(res => {            console.log(res);            if (res.statusCode == 200) {                wx.showToast({                    title: '识别成功',                })                            }        }).catch(err => {            console.log(err);        })    },})

“微信小程序怎么使用百度AI识别接口封装Promise”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯