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

下載本文檔

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

文檔簡介

-.z微信小程序開發(fā)(六)第六章APIAPI框架總覽(繪圖API專列章學(xué)習(xí),暫略)網(wǎng)絡(luò)網(wǎng)絡(luò)API媒體API數(shù)據(jù)API位置API窗口API繪圖API開放API設(shè)備API1W*.request2W*.uploadFile3W*.downloadFile4W*.connectSocket7onSocketOpen|onSocketError5W*.sendSocketMessage8onSocketMessage6closeSockeonSocketClose1W*.closeImage2W*.previewImage3W*.startRecord4W*.stopRecord5W*.play[background][voice,audio]10onBackgroundAudioPlay6W*.pause[background][voice,audio]11onBackgroundAudioPause7W*.stop[background][voice,audio]12onBackgroundAudioStop8W*.chooseVideo9W*.saveFile1W*.getStorage2W*.setStorage3W*.clearStoage1W*.getLocation2W*.openLocation1W*.getNetWorkType3onAccelerometerChange2W*.getSystemInfo4onpassChange1W*.login2W*.getUserInfo3W*.requestPayment1W*.navigateTo7W*.hideKeyBoard2W*.navigateBack8W*.stopPulldownFresh3W*.directTo9W*.setNavigationBarTitle4W*.createAnimation10w*.showNavigationBarLoading5W*.createConte*t11w*.hideNavigationBarLoading6W*.drawCanvas網(wǎng)絡(luò)API發(fā)送請求:w*.request(object)++數(shù)據(jù)請求W*.request({ url:url, data:{object}, method:get|post, dataType:json, header:{content-type:application/json}, success:function(res){vardata=res.data}, fail:function(){}, plate:function(){}})上傳下載:w*.upload(object)|w*.download(object)++選取一個圖片上傳W*.chooseImage({ Success:function(res){ Vartmp=res.tempFilePaths W*.uploadFile({ url:url, filePath:tmp[0], name:〞file〞, formData:{user:test}})}})+下載一段音樂播放W*.downloadFile({ url:url, type:audio, success:function(res){ w*.playVoice({filePath:res.tmpFilePath})}})嵌套字:++連接W*.connectSocket({url:url,data:{data},header:{},method:get|post})+翻開W*.onSocketOpen(function(res){…})+出錯W*.onSocketError(function(res){…})+發(fā)數(shù)據(jù)W*.sendSocketMessage({data:msg})+發(fā)消息(回調(diào))W*.onSocketMessage(function(res){…})+關(guān)閉W*.closeSocket({url:url})+關(guān)閉(回調(diào))W*.onSocketClose(function(res){…})媒體API圖片:++選圖W*.chooseImage({count:1,sizetype:[],sourceType:[album,camera],success:function(res){…}})+預(yù)覽W*.previewImage({current:’’,urls:[]})錄音:++錄音W*.startRecord({success:function(){},fail:function(){}})+停頓W*.stopRecord()音頻控制:++播放W*.playVoice({filePath:****,lete:function(){…}})+暫停W*.pauseVoice()+停頓W*.stopVoice()音樂控制:++獲狀態(tài)W*.getBackgroundAudioPlayState({success:function(res){res.status|dataUrl|currentPosition|duration}})+播放W*.playBackgroundAudio({dataUrl:**,title:**,coverImgUrl:**})+暫停W*.pauseBackgroundAudio()+定位W*.seekBackgroundAudio({position:60})+停頓W*.stopBackgroundAudion()視頻:++表現(xiàn)層<view> <videosrc=〞{{src}}〞></video> <buttonbindTap=〞getVideo〞>get</button></view>+邏輯層Page({ Data:{src:***}, getVideo:function(){ varthat=this; w*.chooseVideo({ sourceType:[], success:function(res){ that.setData({ src:res.tempfilePath})}})}})音頻組件控制:++創(chuàng)立上下文Varct*=w*.createAudioConte*t(audioId)+播放Ct*.paly()+暫停Ct*.pause()+進(jìn)到Ct*.seek(n)+從頭Ct*.seek(0)+停頓Ct*.stop()視頻組件控制:++創(chuàng)立上下文Varct*=w*.createVedioConte*t(videoId)+發(fā)送彈幕Ct*.sendDanmu({te*t:****,color:*******})文件:++保存文件W*.saveFile({tempFilePath:***,success:function(res){…}})+獲已保存文件列表W*.getSavedFileList({success:function(res){varlist=res.fileList}})+獲已保存文件信息W*.getSavedFileInfo({filePath:***,success:function(res){…}})+移除已保存文件W*.removeSavedFile({filePath:***,plete:function(res){…}})+翻開文件W*.openDocument({filePath:***,success:function(res){…}})數(shù)據(jù)API++設(shè)置數(shù)據(jù)W*.setStorage({key:***,value:***})+獲取數(shù)據(jù)W*.getStorage({key:***,success:function(res){…}})+清空數(shù)據(jù)W*.clearStorage()+設(shè);置數(shù)據(jù)(異步)W*.setStorageSync({key:***,value:***})+獲取數(shù)據(jù)(異步)W*.getStorageSync({key:***,success:function(res){…}})+清空數(shù)據(jù)(異步)W*.clearStorageSync()位置API位置:++獲取位置W*.getLocation({type:***,success:function(res){…}})+翻開位置W*.openLocation({latitude:**,longItude:**,scale:**})+選擇位置W*.chooseLocation({success:function(res){…}})地圖組件:++創(chuàng)立上下文Varct*=w*.createMapConte*t(mapId)+中心翻開Ct*.openCenterLocation({success:function(res){…}})+移動位置Ct*.moveToLocation({success:function(res){…}})設(shè)備API系統(tǒng)信息:++同步獲取信息w*.getSystemInfo({success:function(res){console.log(res.model)console.log(res.pi*elRatio)console.log(res.windowWidth)console.log(res.windowHeight)console.log(res.language)console.log(res.version)console.log(res.platform)}})+異步獲取信息w*.getSystemInfo({success:function(res){…}})網(wǎng)絡(luò)類型:++網(wǎng)絡(luò)類型w*.getNetworkType({success:function(res){varnetworkType=workType//返回網(wǎng)絡(luò)類型2g,3g,4g,wifi,none,unknown}})重力感應(yīng):++重力感應(yīng)w*.onAccelerometerChange(function(res){console.log(res.*)console.log(res.y)console.log(res.z)})羅盤指南:++羅盤指南w*.onpassChange(function(res){console.log(res.direction)})撥打:++撥打w*.makePhoneCall({})掃碼:++掃碼w*.scanCode({success:function(res){console.log(res)}})剪貼板:++參加剪貼板W*.setClipboadData({data:**,success:function(res){…}})+讀取剪貼板W*.getClipboardData({success:function(res){vardata=res.data}})籃牙:++籃牙w*.openBluetoothAdapter({success:function(res){console.log(res)}})窗口API互動操作:++自消窗口W*.showToast({title:**,icon:**,duration:**})+對話框W*.showDialog({title:**})+對話框(模態(tài))W*.showModal({title:**,content:**,success:function(res){…}})+活動頁簽W*.showActionSheet({itemList:[],success:function(res){…}})導(dǎo)航設(shè)置:++設(shè)標(biāo)題W*.setNavigationBarTitle({title:***})+顯動畫W*.showNavigationBarLoading()+隱動畫W*.hideVavigationBarLoading()導(dǎo)航操控:++轉(zhuǎn)到W*.vavigatorTo({url:**,success:function(res){…}})+重定向W*.redirectTo({url:**;success:funtion(res){…}})+重載W*.reLaunch({url:**,success:function(res){…}})+切頁W*.switchTab({url:***})+返回W*.navigatorBack({delta:**})動畫操作:++創(chuàng)立動畫Varani=w*.createAnimation({ transformOrign:**, duration:**, timingFunction:**})+具體方法(略)繪圖API詳述于第七章.開放接口API小程序登錄API=登錄微信:++登錄微信W*.login({success:function(){…}})+檢查會話W*.checkSession({success:function(){,,,},fail:function(){…}})=簽名驗證|加密解密為了確保開放接口返回用戶數(shù)據(jù)的平安性,微信會對明文數(shù)據(jù)進(jìn)展簽名。開發(fā)者可以根據(jù)業(yè)務(wù)需要對數(shù)據(jù)包進(jìn)展簽名校驗,確保數(shù)據(jù)的完整性。簽名校驗算法涉及用戶的session_key,通過w*.login登錄流程獲取用戶session_key,并自行維護(hù)與應(yīng)用自身登錄態(tài)的對應(yīng)關(guān)系。通過調(diào)用接口〔如w*.getUserInfo〕獲取數(shù)據(jù)時,接口會同時返回rawData、signature,其中signature=sha1(rawData+session_key)開發(fā)者將signature、rawData發(fā)送到開發(fā)者效勞器進(jìn)展校驗。效勞器利用用戶對應(yīng)的session_key使用一樣的算法計算出簽名signature2,比對signature與signature2即可校驗數(shù)據(jù)的完整性。用戶信息w*.getUserInfo({w*.getUserInfo({success:function(res){varuserInfo=res.userInfovarnickName=userInfo.nickNamevaravatarUrl=userInfo.avatarUrlvargender=userInfo.gender//性別0:未知、1:男、2:女varprovince=userIvincevarcity=userInfo.cityvarcountry=userInfo.country}})微信支付w*.requestPayment({w*.requestPayment({"timeStamp":","nonceStr":","package":","signType":"MD5","paySign":","success":function(res){},"fail":function(res){}})模板信息不作講解客服操作API=接收消息和事件-進(jìn)入客服:<contack-button/>-客服消息轉(zhuǎn)發(fā)Client:requestClient:requestWeichat:sendserver:response-消息類型:{文本,圖片,事件}-格式類型:{*ml,json}-公共字段:{ToUserName,FromUserName,CreateTime,MsgType,}-專有字段:文本:{Content,MsgId}圖片:{PicUrl,MsgId}事件:{Event,SessionFrom}=發(fā)送客服消息請求方式:POSTs://api.wei*in.qq./cgi-bin/message/custom/send?access_token=ACCESS_TOKEN=臨時素材接口-新增臨時素材CurlCurl -F media=test.jpg"s://api.wei*in.qq./cgi-bin/media/upload?access_token=ACCESS_TOKEN&type=TYPE"-獲取臨時素材s://api.wei*in.qq./cgi-bin/media/s://api.wei*in.qq./cgi-bin/media/get?access_token=ACCESS_TOKEN&media_id=MEDIA_ID=接入指導(dǎo)(消息效勞器接入) Step1:埴寫效勞器配置:Step2:效勞器驗證(PHP)privatefunctioncheckSignature()privatefunctioncheckSignature(){$signature=$_GET["signature"];$timestamp=$_GET["timestamp"];$nonce=$_GET["nonce"];$token=TOKEN;$tmpArr=array($token,$timestamp,$nonce);sort($tmpArr,SORT_STRING);$tmpStr=implode($tmpArr);$tmpStr=sha1($tmpStr);if($tmpStr==$signature){returntrue;}else{returnfalse;}}Step3:實現(xiàn)效勞功能分享功能++設(shè)定分享Page({ onShareAppMessage:function(){ return:{ title:**,path:**, success:function(res){…}}//endreturn}//endfunction})+顯示分享W*.showShareMenu()+隱藏分享

溫馨提示

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

評論

0/150

提交評論