91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

微信小程序怎么使用百度AI識別接口封裝Promise

發布時間:2023-05-09 17:03:39 來源:億速云 閱讀:156 作者:iii 欄目:開發技術

本篇內容介紹了“微信小程序怎么使用百度AI識別接口封裝Promise”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

百度接口調用封裝(Promise)

此封裝主要是針對需要上傳圖片識別的接口,比如翻譯,身份證識別,車牌識別等等。其他不需要上傳圖片的接口,把wx.chooseMedia那部分去掉就可以。

前提準備:

  • 注冊百度AI賬號

  • 領取對應資源

  • 創建應用,拿到client_idclient_secret(本封裝方法的access_token是在小程序前端獲取的,如果是把access_token放后端,通過調用后端接口獲取的,url就換成自己的后端接口即可)。

封裝代碼:

先在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_token
						wx.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”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

柳河县| 咸丰县| 通江县| 清徐县| 绥棱县| 抚州市| 阿巴嘎旗| 桓仁| 大新县| 瑞昌市| 南投市| 新密市| 翼城县| 桂平市| 新宾| 阿坝| 繁峙县| 龙海市| 水富县| 都兰县| 伊通| 若羌县| 安新县| 根河市| 绥棱县| 珲春市| 高密市| 南部县| 商丘市| 朝阳县| 定兴县| 黄陵县| 夏津县| 玉门市| 郧西县| 宕昌县| 砀山县| 万山特区| 新干县| 商洛市| 赤峰市|