第12章 微信小程序云開發(fā)_第1頁
第12章 微信小程序云開發(fā)_第2頁
第12章 微信小程序云開發(fā)_第3頁
第12章 微信小程序云開發(fā)_第4頁
第12章 微信小程序云開發(fā)_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

第12章微信小程序云開發(fā)云開發(fā)介紹云數(shù)據(jù)庫云函數(shù)云存儲云托管0102040503云開發(fā)介紹云開發(fā)簡介微信云開發(fā)是微信團隊聯(lián)合騰訊云推出的專業(yè)的小程序開發(fā)服務,開發(fā)者可以使用云開發(fā)快速開發(fā)小程序、小游戲、公眾號網(wǎng)頁等,并且原生打通微信開放能力。開發(fā)者無需搭建服務器,可免鑒權直接使用平臺提供的API進行業(yè)務開發(fā)。云開發(fā)簡介云開發(fā)簡介快速構建小程序免鑒權調(diào)用微信開放服務統(tǒng)一開發(fā)多端應用不限開發(fā)語言和框架更低的開發(fā)成本云開發(fā)的優(yōu)勢:云開發(fā)簡介小程序管理員:在云開發(fā)控制臺中擁有最高權限,可以指定云開發(fā)管理員,也可以自行配置開發(fā)者權限;云開發(fā)管理員:在云開發(fā)控制臺中擁有完整權限,可以配置開發(fā)者權限,由小程序管理員指定,最多不能超過3人;云開發(fā)開發(fā)者:在云開發(fā)控制臺中的權限為小程序管理員或云開發(fā)管理員指定。云開發(fā)的權限:云數(shù)據(jù)庫云數(shù)據(jù)庫云開發(fā)提供了一個JSON數(shù)據(jù)庫,即非關系型數(shù)據(jù)庫。非關系型數(shù)據(jù)庫中的每條記錄都是一個JSON格式的對象,又被稱為文檔數(shù)據(jù)庫。微信小程序云開發(fā)平臺為云數(shù)據(jù)庫提供了2GB的免費存儲空間,只要是非測試賬號的微信小程序均可免費開通云數(shù)據(jù)庫。云數(shù)據(jù)庫小程序的云數(shù)據(jù)庫提供了以下幾種數(shù)據(jù)類型:String:表示字符串類型;Number:表示數(shù)字類型;Object:表示對象類型;Array:表示數(shù)組類型;Bool:表示布爾類型;Date:表示時間類型;Geo:表示多種地理位置類型;Null:表示一個占位符,用于該字段存在但是值為空的情況。云數(shù)據(jù)庫小程序提供了操作云數(shù)據(jù)庫的API:wx.cloud.database()獲取云數(shù)據(jù)庫引用db.collection()獲取集合引用db.collection().doc().get()查詢集合中的數(shù)據(jù)db.collection().where().get()條件查詢db.collection().add()插入數(shù)據(jù)db.collection().doc().update()更新數(shù)據(jù)db.collection().doc().remove()刪除數(shù)據(jù)云函數(shù)云函數(shù)云函數(shù)就是一段運行在云端的代碼,相當于小程序服務端的后臺代碼,有了云函數(shù)之后,開發(fā)者就無需再去管理后端服務器,只需要在微信開發(fā)者工具中編寫相關的業(yè)務代碼即可,然后在通過一鍵上傳將代碼部署到小程序的云端。云函數(shù)我們以定義一個將兩個數(shù)字相加的函數(shù)作為我們第一個云函數(shù)的示例。在項目根目錄找到project.config.json文件,新增cloudfunctionRoot字段,指定本地已存在的目錄作為云開發(fā)的本地根目錄。{"cloudfunctionRoot":"cloudfunctions/"}云函數(shù)完成指定之后,云開發(fā)根目錄的圖標會變成“云開發(fā)圖標”,云函數(shù)根目錄下的第一級目錄(云函數(shù)目錄)是與云函數(shù)名字相同的,如果對應的線上環(huán)境存在該云函數(shù),則我們會用一個特殊的“云圖標”標明。云函數(shù)開發(fā)者工具在本地創(chuàng)建出云函數(shù)目錄和入口index.js文件,代碼如下://云函數(shù)入口文件constcloud=require('wx-server-sdk')cloud.init()//云函數(shù)入口函數(shù)exports.main=async(event,context)=>{constwxContext=cloud.getWXContext()return{event,openid:wxContext.OPENID,appid:wxContext.APPID,unionid:wxContext.UNIONID,}}云函數(shù)部署完成后,我們可以在小程序中調(diào)用該云函數(shù):wx.cloud.callFunction({//云函數(shù)名稱name:'add',//傳給云函數(shù)的參數(shù)data:{a:1,b:2,},success:function(res){console.log(res.result.sum)//3},fail:console.error})云函數(shù)使用Promise風格調(diào)用云函數(shù),代碼如下:wx.cloud.callFunction({//云函數(shù)名稱name:'add',//傳給云函數(shù)的參數(shù)data:{a:1,b:2,},}).then(res=>{console.log(res.result)//3}).catch(console.error)云存儲云存儲微信小程序的云開發(fā)提供了一個云存儲空間,方便開發(fā)者在云端保存文件。云存儲提供高可用、高穩(wěn)定、強安全的云端存儲服務,支持任意數(shù)量和形式的非結構化數(shù)據(jù)存儲,例如視頻、圖片、音頻等,并在云開發(fā)控制臺進行可視化管理。云存儲云存儲包含以下功能:存儲管理:支持文件夾,方便文件歸類。支持文件的上傳、刪除、移動、下載、搜索等,并可以查看文件的詳情信息;權限設置:支持基礎權限設置和高級安全規(guī)則權限控制;上傳管理:在這里可以查看文件上傳歷史、進度及狀態(tài);文件搜索:支持文件前綴名稱及子目錄文件的搜索;組件支持:支持在image、audio等組件中傳入云文件ID。云存儲在小程序端可調(diào)用wx.cloud.uploadFile方法進行上傳:wx.cloud.uploadFile({cloudPath:'example.png',//上傳至云端的路徑filePath:'',//小程序臨時文件路徑success:res=>{//返回文件IDconsole.log(res.fileID)},fail:console.error})云存儲可以根據(jù)文件ID下載文件,用戶僅可下載其有訪問權限的文件:wx.cloud.downloadFile({fileID:'',//文件IDsuccess:res=>{//返回臨時文件路徑console.log(res.tempFilePath)},fail:console.error})云存儲可以通過wx.cloud.deleteFile刪除文件:wx.cloud.deleteFile({fileList:['a7xzcb'],success:res=>{//handlesuccessconsole.log(res.fileList)},fail:console.error})云存儲可以根據(jù)文件ID換取臨時文件網(wǎng)絡鏈接,文件鏈接有有效期為兩個小時:wx.cloud.getTempFileURL({fileList:['cloud://xxx.png'],success:res=>{//fileList是一個有如下結構的對象數(shù)組//[{//fileID:'cloud://xxx.png',//文件ID//tempFileURL:'',//臨時文件網(wǎng)絡鏈接//maxAge:120*60*1000,//有效期//}]console.log(res.fileList)},fail:console.error})云托管云托管云開發(fā)是微信云開發(fā)提供的以原生云為基礎的,免運維、高可用服務上云解決方案,無需服務器,快速部署小程序、公眾號服務端。云托管支持目前對大多數(shù)數(shù)據(jù)與框架項目,開發(fā)者可以從原有服務器平滑遷移,并且微信云托管的自動運維和擴縮容特性,無需開發(fā)者關系服務的可用性,專注于業(yè)務,極大節(jié)省人力和服務資源成本。云托管第一步:開通云托管云托管第二步:創(chuàng)建服務云托管第三步:準備代碼包以Node.JS語言為例,進行如下的步驟手動創(chuàng)建一個示例容器。#創(chuàng)建空目錄mkdirhelloworldcdhelloworld#安裝依賴npminit-ynpminstallexpress--save云托管創(chuàng)建index.js并寫入示例內(nèi)容,代碼如下:constexpress=require('express');constapp=express();app.get('/',(req,res)=>{console.log('Helloworldreceivedarequest.');res.send(JSON.stringify({headers:req.headers,openid:req.headers['x-wx-openid'],unionid:req.headers['x-wx-unioni

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論