版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年限:跨境電子商務(wù)平臺運營合同
- 2024年項目合同管理與招投標(biāo)策略比較分析3篇
- 2024年高端餐具采購供應(yīng)合作合同版
- 2024年項目托管管理合同
- 2024年跨區(qū)域水資源調(diào)配與利用合同
- 2024玉器行業(yè)廣告代理與購銷合同范本3篇
- 政工師個人述職報告格式【三篇】
- 2024路沿石石材深加工采購合同3篇
- 2019初級會計實務(wù)-第六章:財務(wù)報表-資產(chǎn)負(fù)債表
- 顱內(nèi)動脈瘤血管內(nèi)介入治療中國專家共識-2103
- 2024年桂林中考物理試卷
- 儲能投資方案計劃書
- HG∕T 4286-2017 搪玻璃換熱管
- 二年級上冊100道口算題大全(全冊完整版18份每份100道)
- HJ212-2017污染物在線監(jiān)控(監(jiān)測)系統(tǒng)數(shù)據(jù)傳輸標(biāo)準(zhǔn)
- 電力外線施工方案
- 基于Android平臺人臉識別系統(tǒng)的設(shè)計與實現(xiàn)
- 【供應(yīng)鏈視角下的光明乳業(yè)存貨管理問題研究9700字】
- 部編版小學(xué)語文五年級上冊第四單元《古詩三首》教學(xué)教案
- DL-T5054-2016火力發(fā)電廠汽水管道設(shè)計規(guī)范
- 城市生命線安全風(fēng)險綜合監(jiān)測預(yù)警平臺解決方案
評論
0/150
提交評論