uniCloud基礎(chǔ)練習(xí)---云函數(shù)練習(xí)---整合百度ai圖像識別SDK

      網(wǎng)友投稿 835 2022-05-29

      上篇文章https://bbs.huaweicloud.com/blogs/256599我們大致了解了下云函數(shù)

      這篇文章帶大家使用云函數(shù)來整合百度ai圖像識別SDK

      也算是云函數(shù)的一個小練習(xí) 最好看完上個文章再來看這個 就當(dāng)練習(xí)

      兩個文檔需要看

      uniCloud https://uniapp.dcloud.io/uniCloud/cf-common

      百度ai圖像識別SDK文檔 https://cloud.baidu.com/doc/IMAGERECOGNITION/s/bk3bcxkdg

      uniapp云函數(shù)整合百度ai圖像識別SDK

      視頻教程https://www.bilibili.com/video/BV1pU4y1W7c2

      云開發(fā)云函數(shù)練習(xí)—整合百度ai開放平臺api

      將sdk制作成公共模塊

      創(chuàng)建common目錄

      如果你沒有cloudfunctions 參考上篇文章

      鼠標(biāo)右鍵點(diǎn)擊這個文件夾 新建common目錄

      新建公共模塊

      右鍵點(diǎn)擊common新建公共模塊

      我在這里起名為hello

      創(chuàng)建完成

      npm導(dǎo)入百度aip

      這個時候 我們可以控制臺進(jìn)入 hello目錄

      根據(jù)百度ai開放平臺圖像識別SDK文檔

      https://cloud.baidu.com/doc/IMAGERECOGNITION/s/bk3bcxkdg

      可得 我們需要 npm install baidu-aip-sdk來安裝依賴

      在hello目錄下安裝 執(zhí)行npm install baidu-aip-sdk 建議使用cmd

      安裝完成

      再次封裝

      uniapp文檔說 需要使用module.exports導(dǎo)出模塊

      我們在 /hello/index.js來編寫

      根據(jù)百度ai文檔 node引入如下

      我們結(jié)合下

      var AipImageClassifyClient = require("baidu-aip-sdk").imageClassify; // 設(shè)置APPID/AK/SK var APP_ID = "你的 App ID"; var API_KEY = "你的 Api Key"; var SECRET_KEY = "你的 Secret Key"; // 新建一個對象,建議只保存一個對象調(diào)用服務(wù)接口 var client = new AipImageClassifyClient(APP_ID, API_KEY, SECRET_KEY); module.exports = client

      公共模塊完成 右鍵點(diǎn)擊hello文件夾 上傳公共模塊

      編寫云函數(shù)

      按照上篇文章 我們右鍵單擊cloudfunctons新建云函數(shù) 這里我起名為usehello

      右鍵點(diǎn)擊usehello 選擇管理公共模塊依賴 選擇hello 更新依賴

      代碼

      'use strict'; let client = require('hello') exports.main = async (event, context) => { return new Promise(function(resolve){ client.advancedGeneral(event.bas64).then(function(result) { resolve(result) }).catch(function(err) { // 如果發(fā)生網(wǎng)絡(luò)錯誤 console.log(err); return "error" }); }) };

      代碼解釋

      event.bas64為接收的base64數(shù)據(jù) 具體往下看前端測試調(diào)用云函數(shù)

      首先 我們導(dǎo)入公共模塊的hello導(dǎo)出的client

      在 主函數(shù)中編寫 這里使用通用物體識別 根據(jù)文檔

      這里我們直接給云函數(shù)傳送base64數(shù)據(jù) 當(dāng)然等會會講 圖片也壓縮了(用到了插件)

      返回一個Promise對象 如果不使用Promise可以使用回調(diào) 但是Promise方便

      我們把識別的結(jié)果拋出

      云函數(shù)編寫完成 右鍵點(diǎn)擊hello 更新依賴本模塊的云函數(shù)

      小踩坑

      如果出現(xiàn) 上傳公共模塊后 云函數(shù)還報錯說無依賴的公共模塊 需要你上傳

      修改 云函數(shù)目錄下的package.json

      "dependencies": { "hello": "file:..\common\hello" }

      改為

      "dependencies": { "hello": "file:../common/hello" }

      操作完成即可

      uniCloud基礎(chǔ)練習(xí)---云函數(shù)練習(xí)---整合百度ai圖像識別SDK

      前端測試

      我們直接使用 index

      這里給logo圖像加了個點(diǎn)擊事件 testOne

      使用了別人的壓縮插件來壓縮圖像 插件地址https://ext.dcloud.net.cn/plugin?id=2316

      當(dāng)然如果不想使用別人的壓縮插件 可以 通過如下步驟壓縮

      圖片畫到canvas上 自行壓縮尺寸 最后生成 base64數(shù)據(jù)

      頁面

      功能

      說明

      首先我們使用了uni.chooseImage選擇一個圖片 然后通過插件來壓縮圖片

      然后將圖片轉(zhuǎn)換為base64數(shù)據(jù) 并調(diào)用云函數(shù)

      圖片轉(zhuǎn)base64

      請求壓縮圖像得到的臨時圖像地址 請求得到arraybuffer 通過uni.arrayBufferToBase64轉(zhuǎn)化為base64

      uni.request({ url:resp, method:'GET', responseType: 'arraybuffer', success:function(res){ let base64s = uni.arrayBufferToBase64(res.data); } }

      調(diào)用云函數(shù)

      可以參考文檔 https://uniapp.dcloud.io/uniCloud/cf-functions?id=clientcallfunction

      我們調(diào)用寫的usehello云函數(shù) 傳送base64數(shù)據(jù) key:value格式傳送數(shù)據(jù)bas64:base64s

      uniCloud.callFunction({ name:'usehello', data: {bas64:base64s} }).then(res=>{ console.log(res.result.result) })

      得到拋出的結(jié)果

      效果如下

      完整功能代碼

      大學(xué)之道亦在自身,努力學(xué)習(xí),熱血青春

      AI API/SDK 圖像處理

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:一個合格的項(xiàng)目經(jīng)理都需要做哪些事情?
      下一篇:【軟件測試系列十】《壓力測試方案》
      相關(guān)文章
      亚洲欧洲自拍拍偷午夜色| 亚洲性日韩精品国产一区二区| 亚洲午夜精品久久久久久浪潮| 男人的天堂av亚洲一区2区| 亚洲中文字幕一二三四区苍井空| 亚洲网站在线播放| 老司机亚洲精品影院无码| 国产亚洲精品岁国产微拍精品| 国内精品99亚洲免费高清| 国产国拍亚洲精品福利| 国产亚洲av片在线观看18女人| 亚洲日韩在线观看| 亚洲日本一区二区一本一道| 亚洲 小说区 图片区 都市| 国产精品亚洲一区二区三区 | 亚洲爆乳无码一区二区三区| 亚洲日韩精品无码专区网址| 精品亚洲综合在线第一区| 亚洲成色www久久网站夜月| 亚洲国产精华液网站w| 亚洲AV无码国产在丝袜线观看| 亚洲AV综合色区无码另类小说| 亚洲成AV人片在线观看| 久久久久亚洲精品美女| 久久青青草原亚洲av无码app| 久久精品国产亚洲av高清漫画 | 老司机亚洲精品影院在线观看| 无码欧精品亚洲日韩一区夜夜嗨 | 国产亚洲福利精品一区二区| 亚洲 综合 国产 欧洲 丝袜| 色噜噜AV亚洲色一区二区| 亚洲精品卡2卡3卡4卡5卡区| 亚洲国产精品自在线一区二区| 久久综合亚洲鲁鲁五月天| 亚洲午夜电影在线观看高清| 亚洲色最新高清av网站| 色欲aⅴ亚洲情无码AV蜜桃| 亚洲精品无码久久毛片| 亚洲精品乱码久久久久久蜜桃不卡 | 亚洲一区二区三区精品视频 | 日韩亚洲产在线观看|