4-微信小程序API

1、網絡:html

一、網絡相關API說明 【1】服務器域名配置 《1》簡介 每一個微信小程序須要事先設置一個通信域名,小程序能夠跟指定的域名與進行網絡通訊。包括普通 HTTPS 請求(request)、上傳文件(uploadFile)、下載文件(downloadFile) 和 WebSocket 通訊(connectSocket)node

《2》配置流程 小程序後臺 —> 開發設置 —> 服務器域名 配置注意事項: • 域名只支持 https (request、uploadFile、downloadFile) 和 wss (connectSocket) 協議; • 域名不能使用 IP 地址或 localhost; • 域名必須通過 ICP 備案; · 出於安全考慮,api.weixin.qq.com 不能被配置爲服務器域名,相關API也不能在小程序內調用。**開發者應將 appsecret 保存到後臺服務器中,經過服務器使用 appsecret 獲取 accesstoken,並調用相關 API; • 對於每一個接口,分別能夠配置最多 20 個域名 • 《3》HTTPS 證書 小程序必須使用 HTTPS 請求。小程序內會對服務器域名使用的 HTTPS 證書進行校驗,若是校驗失敗,則請求不能成功發起。因爲系統限制,不一樣平臺對於證書要求的嚴格程度不一樣。爲了保證小程序的兼容性,建議開發者按照最高標準進行證書配置,並使用相關工具檢查現有證書是否符合要求。 證書配置要求: • HTTPS 證書必須有效。證書必須被系統信任,部署SSL證書的網站域名必須與證書頒發的域名一致,證書必須在有效期內; • iOS 不支持自簽名證書; • iOS 下證書必須知足蘋果 App Transport Security (ATS) 的要求; • TLS 必須支持 1.2 及以上版本。部分舊 Android 機型還未支持 TLS 1.2,請確保 HTTPS 服務器的 TLS 版本支持1.2及如下版本; • 部分 CA 可能不被操做系統信任,請開發者在選擇證書時注意小程序和各系統的相關通告。 • 《4》跳過域名校驗 在微信開發者工具中,能夠臨時開啓 開發環境不校驗請求域名、TLS版本及HTTPS證書 選項,跳過服務器域名的校驗。此時,在微信開發者工具中及手機開啓調試模式時,不會進行服務器域名的校驗。在服務器域名配置成功後,建議開發者關閉此選項進行開發,並在各平臺下進行測試,以確認服務器域名配置正確。算法

【2】關於請求 • 默認超時時間和最大超時時間都是 60s • request、uploadFile、downloadFile 的最大併發限制是 10 個 • 網絡請求的 referer header 不可設置。其格式固定爲 servicewechat.com/{appid}/{ve… {appid} 爲小程序的 appid,{version} 爲小程序的版本號,版本號爲 0 表示爲開發版、體驗版以及審覈版本,版本號爲 devtools 表示爲開發者工具,其他爲正式版本。 • 小程序進入後臺運行後(非置頂聊天),若是 5s 內網絡請求沒有結束,會回調錯誤信息 fail interrupted;在回到前臺以前,網絡請求接口調用都會沒法調用。json

【3】關於服務器返回 《1》返回值鍵值編碼 建議服務器返回值使用 UTF-8 編碼。對於非 UTF-8 編碼,小程序會嘗試進行轉換,可是會有轉換失敗的可能 小程序會自動對BOM頭進行過濾 《2》回調 只要成功接收到服務器返回,不管statusCode是多少,都會進入success回調。請開發者根據業務邏輯對返回值進行判斷canvas

二、發起請求 wx.request(OBJECT):發起網絡請求小程序

三、上傳,下載 wx.uploadFile(OBJECT):將本地資源上傳到開發者服務器 wx.downloadFile(OBJECT):下載文件資源到本地微信小程序

四、WebSocket wx.connectSocket(OBJECT):WebSocket 鏈接 wx.onSocketOpen(CALLBACK):監聽WebSocket鏈接打開事件 wx.onSocketError(CALLBACK):監聽WebSocket錯誤 wx.sendSocketMessage(OBJECT):經過 WebSocket 鏈接發送數據 wx.onSocketMessage(CALLBACK):監聽WebSocket接受到服務器的消息事件 wx.closeSocket(OBJECT):關閉 WebSocket 鏈接 wx.onSocketClose(CALLBACK):監聽WebSocket關閉 SocketTask:WebSocket 任務,可經過 wx.connectSocket() 接口建立返回api

2、媒體:數組

一、圖片 wx.chooseImage(OBJECT):從本地相冊選擇圖片或使用相機拍照 wx.previewImage(OBJECT):預覽圖片 wx.getImageInfo(OBJECT):獲取圖片信息,假若爲網絡圖片,需先配置download域名才能生效 wx.saveImageToPhotosAlbum(OBJECT):保存圖片到系統相冊緩存

二、錄音 wx.startRecord(OBJECT):開始錄音 wx.stopRecord():主動調用中止錄音 注意:括號爲空表示沒有參數

三、錄音管理 wx.getRecorderManager():獲取全局惟一的錄音管理器 recorderManager

四、音頻播放控制 wx.playVoice(OBJECT):開始播放語音 wx.pauseVoice():暫停正在播放的語音 wx.stopVoice():結束播放語音

五、音樂播放控制 wx.getBackgroundAudioPlayerState(OBJECT):獲取後臺音樂播放狀態。 wx.playBackgroundAudio(OBJECT):使用後臺播放器播放音樂 wx.pauseBackgroundAudio():暫停播放音樂 wx.seekBackgroundAudio(OBJECT):控制音樂播放進度 wx.stopBackgroundAudio():中止播放音樂 wx.onBackgroundAudioPlay(CALLBACK):監聽音樂播放 wx.onBackgroundAudioPause(CALLBACK):監聽音樂暫停 wx.onBackgroundAudioStop(CALLBACK):監聽音樂中止

六、背景音頻播放管理 wx.getBackgroundAudioManager():獲取全局惟一的背景音頻管理器 backgroundAudioManager

七、音頻組件控制 wx.createAudioContext(audioId, this):建立並返回 audio 上下文 audioContext 對象。在自定義組件下,第二個參數傳入組件實例this,以操做組件內 

八、視頻 wx.chooseVideo(OBJECT):拍攝視頻或從手機相冊中選視頻,返回視頻的臨時文件路徑。 wx.saveVideoToPhotosAlbum(OBJECT):保存視頻到系統相冊

九、視頻組件控制 wx.createVideoContext(videoId, this):建立並返回 video 上下文 videoContext 對象。在自定義組件下,第二個參數傳入組件實例this,以操做組件內<video/組件。

十、相機組件控制 wx.createCameraContext(this):建並返回 camera 上下文 cameraContext 對象,cameraContext 與頁面的 camera 組件綁定,一個頁面只能有一個camera,經過它能夠操做對應的  組件。 在自定義組件下,第一個參數傳入組件實例this,以操做組件內  組件

十一、實時音視頻 wx.createLivePlayerContext(domId, this):操做對應的  組件。 建立並返回 live-player 上下文 LivePlayerContext 對象。在自定義組件下,第二個參數傳入組件實例this,以操做組件內  組件 wx.createLivePusherContext():建立並返回 live-pusher 上下文 LivePusherContext 對象,LivePusherContext 與頁面的  組件綁定,一個頁面只能有一個 live-pusher,經過它能夠操做對應的  組件。 在自定義組件下,第一個參數傳入組件實例this,以操做組件內  組件

十二、動態加載字體 wx.loadFontFace(OBJECT):動態加載網絡字體,文件地址需爲下載類型。IOS下僅支持https格式文件地址。

3、文件:

一、普通操做 wx.saveFile(OBJECT):保存文件到本地 wx.getFileInfo(OBJECT):獲取文件信息 wx.getSavedFileList(OBJECT):獲取本地已保存的文件列表 wx.getSavedFileInfo(OBJECT):獲取本地文件的文件信息 wx.removeSavedFile(OBJECT):刪除本地存儲的文件 wx.openDocument(OBJECT):新開頁面打開文檔,支持格式:doc, xls, ppt, pdf, docx, xlsx, pptx

二、文件管理器 FileSystemManager:文件管理器 FileSystemManager wx.getFileSystemManager():獲取全局惟一的文件管理器 FileSystemManager.appendFile(Object object):在文件結尾追加內容 FileSystemManager.access(Object object):判斷文件/目錄是否存在 FileSystemManager.accessSync(string path):FileSystemManager.access 的同步版本 FileSystemManager.appendFileSync(string filePath, string|ArrayBuffer data, string encoding):FileSystemManager.appendFile 的同步版本 FileSystemManager.copyFile(Object object):複製文件 FileSystemManager.copyFileSync(string srcPath, string destPath):FileSystemManager.copyFile的同步版本 FileSystemManager.getSavedFileList(Object object):獲取該小程序下已保存的本地緩存文件列表 FileSystemManager.getFileInfo(Object object):獲取該小程序下的本地臨時文件或本地緩存文件信息 FFileSystemManager.mkdir(Object object):建立目錄 FileSystemManager.mkdirSync(string dirPath):FileSystemManager.mkdir 的同步版本 FileSystemManager.removeSavedFile(Object object):刪除該小程序下已保存的本地緩存文件 FileSystemManager.readFileSync(string filePath, string encoding):FileSystemManager.readFile的同步版本 FileSystemManager.renameSync(string oldPath, string newPath):FileSystemManager.rename 的同步版本 FileSystemManager.rmdirSync(string dirPath):FileSystemManager.rmdir 的同步版本 FileSystemManager.readdir(Object object):讀取目錄內文件列表 FileSystemManager.rename(Object object):重命名文件,能夠把文件從 oldPath 移動到 newPath FileSystemManager.readFile(Object object):讀取本地文件內容 FileSystemManager.rmdir(Object object):刪除目錄 FileSystemManager.readdirSync(string dirPath):FileSystemManager.readdir 的同步版本 FileSystemManager.saveFile(Object object):保存臨時文件到本地。此接口會移動臨時文件,所以調用成功後,tempFilePath 將不可用。 FileSystemManager.saveFileSync(string tempFilePath, string filePath):FileSystemManager.saveFile 的同步版本 FileSystemManager.stat(Object object):獲取文件 Stats 對象 FileSystemManager.statSync(string path):FileSystemManager.stat 的同步版本 Stats:描述文件狀態的對象 Stats.isDirectory():判斷當前文件是否一個目錄 Stats.isFile():判斷當前文件是否一個普通文件 FileSystemManager.unlink(Object object):刪除文件 FileSystemManager.unzip(Object object):解壓文件 FileSystemManager.unlinkSync(string filePath):FileSystemManager.unlink 的同步版本 FileSystemManager.writeFile(Object object):寫文件 FileSystemManager.writeFileSync(string filePath, string|ArrayBuffer data, string encoding):FileSystemManager.writeFile 的同步版本

4、數據緩存:

一、簡介 每一個微信小程序均可以有本身的本地緩存,能夠經過 wx.setStorage(wx.setStorageSync)、wx.getStorage(wx.getStorageSync)、wx.clearStorage(wx.clearStorageSync)能夠對本地緩存進行設置、獲取和清理。同一個微信用戶,同一個小程序 storage 上限爲 10MB。localStorage 以用戶維度隔離,同一臺設備上,A 用戶沒法讀取到 B 用戶的數據。 注意事項: 若是用戶儲存空間不足,咱們會清空最近最久未使用的小程序的本地緩存。咱們不建議將關鍵信息所有存在 localStorage,以防儲存空間不足或用戶換設備的狀況。

二、本地緩存 wx.setStorage(OBJECT):將數據存儲在本地緩存中指定的 key 中,會覆蓋掉原來該 key 對應的內容,這是一個異步接口。 wx.setStorageSync(KEY,DATA):將 data 存儲在本地緩存中指定的 key 中,會覆蓋掉原來該 key 對應的內容,這是一個同步接口。 wx.getStorage(OBJECT):從本地緩存中異步獲取指定 key 對應的內容 wx.getStorageSync(KEY):從本地緩存中同步獲取指定 key 對應的內容 wx.getStorageInfo(OBJECT):異步獲取當前storage的相關信息 wx.getStorageInfoSync:同步獲取當前storage的相關信息 wx.removeStorage(OBJECT):從本地緩存中異步移除指定 key wx.removeStorageSync(KEY):從本地緩存中同步移除指定 key wx.clearStorage():清理本地數據緩存 wx.clearStorageSync():同步清理本地數據緩存 注意:本地數據存儲的大小限制爲 10MB

5、位置:

一、獲取位置 wx.getLocation(OBJECT):獲取當前的地理位置、速度。當用戶離開小程序後,此接口沒法調用,須要用戶受權 scope.userLocation wx.chooseLocation(OBJECT):打開地圖選擇位置,須要用戶受權 scope.userLocation。

二、查看位置 wx.openLocation(OBJECT):使用微信內置地圖查看位置,須要用戶受權 scope.userLocation

三、地圖組件控制 wx.createMapContext(mapId, this):建立並返回 map 上下文 mapContext 對象。在自定義組件下,第二個參數傳入組件實例this,以操做組件內  組件

6、設備:

一、系統信息 wx.getSystemInfo(OBJECT):獲取系統信息 wx.getSystemInfoSync():獲取系統信息同步接口 wx.canIUse(String):判斷小程序的API,回調,參數,組件等是否在當前版本可用。

二、內存 wx.onMemoryWarning(callback):監聽內存不足的告警事件,Android下有告警等級劃分,只有LOW和CRITICAL會回調開發者;iOS無等級劃分。

三、網絡狀態 wx.getNetworkType(OBJECT):獲取網絡類型 wx.onNetworkStatusChange(CALLBACK):監聽網絡狀態變化

四、加速度計 wx.onAccelerometerChange(CALLBACK):監聽加速度數據,頻率:5次/秒,接口調用後會自動開始監聽,可以使用 wx.stopAccelerometer 中止監聽。 wx.startAccelerometer(OBJECT):開始監聽加速度數據 wx.stopAccelerometer(OBJECT):中止監聽加速度數據

五、羅盤 wx.onCompassChange(CALLBACK):監聽羅盤數據,頻率:5次/秒,接口調用後會自動開始監聽,可以使用wx.stopCompass中止監聽 wx.startCompass(OBJECT):開始監聽羅盤數據 wx.stopCompass(OBJECT):中止監聽羅盤數據

六、撥打電話 wx.makePhoneCall(OBJECT):撥打電話

七、掃碼 wx.scanCode(OBJECT):調起客戶端掃碼界面,掃碼成功後返回對應的結果

八、剪貼板 wx.setClipboardData(OBJECT):設置系統剪貼板的內容 wx.getClipboardData(OBJECT):獲取系統剪貼板內容

九、藍牙 wx.openBluetoothAdapter(OBJECT):初始化小程序藍牙模塊,生效週期爲調用wx.openBluetoothAdapter至調用wx.closeBluetoothAdapter或小程序被銷燬爲止。 wx.closeBluetoothAdapter(OBJECT):關閉藍牙模塊,使其進入未初始化狀態。 wx.getBluetoothAdapterState(OBJECT):獲取本機藍牙適配器狀態 wx.onBluetoothAdapterStateChange(CALLBACK):監聽藍牙適配器狀態變化事件 wx.startBluetoothDevicesDiscovery(OBJECT):開始搜尋附近的藍牙外圍設備 wx.stopBluetoothDevicesDiscovery(OBJECT):中止搜尋附近的藍牙外圍設備 wx.getBluetoothDevices(OBJECT):獲取在小程序藍牙模塊生效期間全部已發現的藍牙設備,包括已經和本機處於鏈接狀態的設備 wx.onBluetoothDeviceFound(CALLBACK):監聽尋找到新設備的事件 wx.getConnectedBluetoothDevices(OBJECT):根據 uuid 獲取處於已鏈接狀態的設備 wx.createBLEConnection(OBJECT):鏈接低功耗藍牙設備 wx.closeBLEConnection(OBJECT):斷開與低功耗藍牙設備的鏈接 wx.getBLEDeviceServices(OBJECT):獲取藍牙設備全部 service(服務) wx.getBLEDeviceCharacteristics(OBJECT):獲取藍牙設備某個服務中的全部 characteristic(特徵值) wx.readBLECharacteristicValue(OBJECT):讀取低功耗藍牙設備的特徵值的二進制數據值 wx.writeBLECharacteristicValue(OBJECT):向低功耗藍牙設備特徵值中寫入二進制數據 wx.notifyBLECharacteristicValueChange(OBJECT):啓用低功耗藍牙設備特徵值變化時的 notify 功能,訂閱特徵值 wx.onBLECharacteristicValueChange(CALLBACK):監聽低功耗藍牙設備的特徵值變化 藍牙錯誤碼列表: 10000:未初始化藍牙適配器 10001:當前藍牙適配器不可用 10002:沒有找到指定設備 10003:鏈接失敗 10004:沒有找到指定服務 10005:沒有找到指定特徵值 10006:當前鏈接已斷開 10007:當前特徵值不支持此操做 10008:其他全部系統上報的異常 10009:Android 系統特有,系統版本低於 4.3 不支持BLE

十、iBeacon wx.startBeaconDiscovery(OBJECT):開始搜索附近的iBeacon設備 wx.stopBeaconDiscovery(OBJECT):中止搜索附近的iBeacon設備 wx.getBeacons(OBJECT):獲取全部已搜索到的iBeacon設備 wx.onBeaconUpdate(CALLBACK):監聽 iBeacon 設備的更新事件 wx.onBeaconServiceChange(CALLBACK):監聽 iBeacon 服務的狀態變化

十一、屏幕亮度 wx.setScreenBrightness(OBJECT):設置屏幕亮度 wx.getScreenBrightness(OBJECT):獲取屏幕亮度 wx.setKeepScreenOn(OBJECT):設置是否保持常亮狀態

十二、用戶截屏事件 wx.onUserCaptureScreen(CALLBACK):監聽用戶主動截屏事件,用戶使用系統截屏按鍵截屏時觸發此事件

1三、振動 wx.vibrateLong(OBJECT):使手機發生較長時間的振動(400ms) wx.vibrateShort(OBJECT):使手機發生較短期的振動(15ms)

1四、手機聯繫人 wx.addPhoneContact(OBJECT):調用後,用戶能夠選擇將該表單以「新增聯繫人」或「添加到已有聯繫人」的方式,寫入手機系統通信錄,完成手機通信錄聯繫人和聯繫方式的增長

1五、NFC wx.getHCEState(OBJECT):判斷當前設備是否支持 HCE 能力 wx.startHCE(OBJECT):初始化 NFC 模塊 wx.stopHCE(OBJECT):關閉 NFC 模塊,僅在安卓系統下有效。 wx.onHCEMessage(CALLBACK):監聽 NFC 設備的消息回調,並在回調中處理。 wx.sendHCEMessage(OBJECT):發送 NFC 消息,僅在安卓系統下有效。

1六、WiFi wx.startWifi(OBJECT):初始化 Wi-Fi 模塊 wx.stopWifi(OBJECT):關閉 Wi-Fi 模塊 wx.connectWifi(OBJECT):鏈接 Wi-Fi wx.getWifiList(OBJECT):請求獲取 Wi-Fi 列表,在 onGetWifiList 註冊的回調中返回 wifiList 數據 wx.onGetWifiList(CALLBACK):監聽在獲取到 Wi-Fi 列表數據時的事件,在回調中將返回 wifiList wx.setWifiList(OBJECT):iOS特有接口 在 onGetWifiList 回調後,利用接口設置 wifiList 中 AP 的相關信息 wx.onWifiConnected(CALLBACK):監聽鏈接上 Wi-Fi 的事件 wx.getConnectedWifi(OBJECT):獲取已鏈接中的 Wi-Fi 信息

7、界面:

一、交互反饋 wx.showToast(OBJECT):顯示消息提示框 wx.showLoading(OBJECT):顯示 loading 提示框, 需主動調用 wx.hideLoading 才能關閉提示框 wx.hideToast():隱藏消息提示框 wx.hideLoading():隱藏 loading 提示框 wx.showModal(OBJECT):顯示模態彈窗 wx.showActionSheet(OBJECT):顯示操做菜單

二、設置導航欄 wx.setNavigationBarTitle(OBJECT):動態設置當前頁面的標題 wx.showNavigationBarLoading():在當前頁面顯示導航條加載動畫 wx.hideNavigationBarLoading():隱藏導航條加載動畫 wx.setNavigationBarColor(OBJECT):設置導航欄背景顏色

三、設置tabbar wx.setTabBarBadge(OBJECT):爲 tabBar 某一項的右上角添加文本 wx.removeTabBarBadge(OBJECT):移除 tabBar 某一項右上角的文本 wx.showTabBarRedDot(OBJECT):顯示 tabBar 某一項的右上角的紅點 wx.hideTabBarRedDot(OBJECT):隱藏 tabBar 某一項的右上角的紅點 wx.setTabBarStyle(OBJECT):動態設置 tabBar 的總體樣式 wx.setTabBarItem(OBJECT):動態設置 tabBar 某一項的內容 wx.showTabBar(OBJECT):顯示 tabBar wx.showTabBar(OBJECT):隱藏 tabBar

四、設置窗口背景 backgroundColor:動態設置窗口的背景色 wx.setBackgroundTextStyle(OBJECT):動態設置下拉背景字體、loading 圖的樣式

五、設置置頂信息 wx.setTopBarText(OBJECT):動態設置置頂欄文字內容,只有當前小程序被置頂時能生效,若是當前小程序沒有被置頂,也能調用成功,可是不會當即生效,只有在用戶將這個小程序置頂後才換上設置的文字內容

六、導航 wx.navigateTo(OBJECT):保留當前頁面,跳轉到應用內的某個頁面,使用wx.navigateBack能夠返回到原頁面 wx.redirectTo(OBJECT):關閉當前頁面,跳轉到應用內的某個頁面 wx.switchTab(OBJECT):跳轉到 tabBar 頁面,並關閉其餘全部非 tabBar 頁面 wx.navigateBack(OBJECT):關閉當前頁面,返回上一頁面或多級頁面 wx.reLaunch(OBJECT):關閉全部頁面,打開到應用內的某個頁面

七、動畫 wx.createAnimation(OBJECT):建立一個動畫實例animation

八、位置 wx.pageScrollTo(OBJECT):將頁面滾動到目標位置

九、繪圖 【1】API接口 createCanvasContext:建立 canvas 繪圖上下文(指定 canvasId) createContext(不推薦使用):建立 canvas 繪圖上下文 drawCanvas(不推薦使用):進行繪圖 canvasToTempFilePath:導出圖片

【2】context 對象的方法列表 《1》顏色,樣式,陰影 《2》漸變 《3》線條樣式 《4》矩形 《5》路徑 《6》變形 《7》文字 《8》圖片 《9》混合 《10》其餘

【4】使用步驟 第一步:建立一個 Canvas 繪圖上下文 第二步:使用 Canvas 繪圖上下文進行繪圖描述 第三步:畫圖 wx.createCanvasContext(canvasId, this):建立 canvas 繪圖上下文(指定 canvasId) wx.createContext :建立並返回繪圖上下文(不推薦使用) drawCanvas:用所提供的 actions 在所給的 canvas-id 對應的 canvas 上進行繪圖(不推薦使用) wx.canvasToTempFilePath(OBJECT, this):把當前畫布指定區域的內容導出生成指定大小的圖片,並返回文件路徑。 wx.canvasGetImageData(OBJECT, this):返回一個數組,用來描述 canvas 區域隱含的像素數據 wx.canvasPutImageData(OBJECT, this):將像素數據繪製到畫布的方法 canvasContext.setFillStyle:設置填充色 canvasContext.setStrokeStyle:設置邊框顏色 canvasContext.setShadow:設置陰影樣式 canvasContext.createLinearGradient:建立一個線性的漸變顏色 canvasContext.createCircularGradient:建立一個圓形的漸變顏色 canvasContext.addColorStop:建立一個顏色的漸變點 canvasContext.setLineWidth:設置線條的寬度 canvasContext.setLineCap:設置線條的端點樣式 canvasContext.setLineJoin:設置線條的交點樣式 canvasContext.setLineDash:設置虛線樣式的方法 canvasContext.setMiterLimit:設置最大斜接長度,斜接長度指的是在兩條線交匯處內角和外角之間的距離, 當 setLineJoin() 爲 miter 時纔有效。超過最大傾斜長度的,鏈接處將以 lineJoin 爲 bevel 來顯示 canvasContext.rect:建立一個矩形 canvasContext.fillRect:填充一個矩形 canvasContext.strokeRect:畫一個矩形(非填充) canvasContext.clearRect:清除畫布上在該矩形區域內的內容 canvasContext.fill:對當前路徑中的內容進行填充。默認的填充色爲黑色 canvasContext.stroke:畫出當前路徑的邊框。默認顏色爲黑色 canvasContext.beginPath:開始建立一個路徑,須要調用fill或者stroke纔會使用路徑進行填充或描邊 canvasContext.closePath:關閉一個路徑 canvasContext.moveTo:把路徑移動到畫布中的指定點,不建立線條 canvasContext.lineTo:lineTo 方法增長一個新點,而後建立一條從上次指定點到目標點的線 canvasContext.arc:畫一條弧線 canvasContext.bezierCurveTo:建立三次方貝塞爾曲線路徑 canvasContext.quadraticCurveTo:建立二次貝塞爾曲線路徑 canvasContext.scale:在調用scale方法後,以後建立的路徑其橫縱座標會被縮放。屢次調用scale,倍數會相乘。 canvasContext.rotate:以原點爲中心,原點能夠用 translate方法修改。順時針旋轉當前座標軸。屢次調用rotate,旋轉的角度會疊加。 canvasContext.translate:對當前座標系的原點(0, 0)進行變換,默認的座標系原點爲頁面左上角 canvasContext.clip:clip() 方法從原始畫布中剪切任意形狀和尺寸 canvasContext.setFontSize:設置字體的字號 canvasContext.fillText:在畫布上繪製被填充的文本 canvasContext.setTextAlign:用於設置文字的對齊 canvasContext.setTextBaseline:用於設置文字的水平對齊 canvasContext.drawImage:繪製圖像到畫布 canvasContext.setGlobalAlpha:設置全局畫筆透明度 canvasContext.save:保存當前的繪圖上下文 canvasContext.restore:恢復以前保存的繪圖上下文 canvasContext.draw:將以前在繪圖上下文中的描述(路徑、變形、樣式)畫到 canvas 中 canvasContext.getActions:返回繪圖上下文的繪圖動做 (不推薦使用) canvasContext.clearActions:清空繪圖上下文的繪圖動做 (不推薦使用) canvasContext.measureText:測量文本尺寸信息,目前僅返回文本寬度 canvasContext.globalCompositeOperation:該屬性是設置要在繪製新形狀時應用的合成操做的類型。 canvasContext.arcTo:根據控制點和半徑繪製圓弧路徑 canvasContext.strokeText:給定的 (x, y) 位置繪製文本描邊的方法 canvasContext.lineDashOffset:設置虛線偏移量的屬性 canvasContext.createPattern:對指定的圖像建立模式的方法,可在指定的方向上重複元圖像 canvasContext.shadowBlur:設置陰影的模糊級別 canvasContext.shadowColor:設置陰影的顏色 canvasContext.shadowOffsetX:設置陰影相對於形狀在水平方向的偏移 canvasContext.shadowOffsetY:設置陰影相對於形狀在豎直方向的偏移 canvasContext.font:設置當前字體樣式的屬性 canvasContext.transform:使用矩陣屢次疊加當前變換的方法 canvasContext.transform:使用矩陣屢次疊加當前變換的方法 canvasContext.setTransform:使用矩陣從新設置(覆蓋)當前變換的方法

十、下拉刷新 Page.onPullDownRefresh():在 Page 中定義 onPullDownRefresh 處理函數,監聽該頁面用戶下拉刷新事件 wx.startPullDownRefresh(OBJECT):開始下拉刷新,調用後觸發下拉刷新動畫,效果與用戶手動下拉刷新一致 wx.stopPullDownRefresh():中止當前頁面下拉刷新

十一、WXML節點信息 wx.createSelectorQuery():返回一個SelectorQuery對象實例 selectorQuery.in(component):將選擇器的選取範圍更改成自定義組件component內 selectorQuery.select(selector):在當前頁面下選擇第一個匹配選擇器selector的節點,返回一個NodesRef對象實例,能夠用於獲取節點信息 selectorQuery.selectAll(selector):在當前頁面下選擇匹配選擇器selector的節點,返回一個NodesRef對象實例。 與selectorQuery.select(selector)不一樣的是,它選擇全部匹配選擇器的節點。 selectorQuery.selectViewport():選擇顯示區域,可用於獲取顯示區域的尺寸、滾動位置等信息,返回一個NodesRef對象實例。 nodesRef.boundingClientRect([callback]):添加節點的佈局位置的查詢請求,相對於顯示區域,以像素爲單位。其功能相似於DOM的getBoundingClientRect。返回值是nodesRef對應的selectorQuery。 nodesRef.scrollOffset([callback]):添加節點的滾動位置查詢請求,以像素爲單位。節點必須是scroll-view或者viewport。返回值是nodesRef對應的selectorQuery。 nodesRef.fields(fields, [callback]):獲取節點的相關信息,須要獲取的字段在fields中指定。返回值是nodesRef對應的selectorQuery。 selectorQuery.exec([callback]):執行全部的請求,請求結果按請求次序構成數組,在callback的第一個參數中返回。

十二、WXML節點佈局相交狀態 (節點佈局交叉狀態API可用於監聽兩個或多個組件節點在佈局位置上的相交狀態。這一組API經常能夠用於推斷某些節點是否能夠被用戶看見、有多大比例能夠被用戶看見)

wx.createIntersectionObserver([this], [options]):建立並返回一個 IntersectionObserver 對象實例 intersectionObserver.relativeTo(selector, [margins]):使用選擇器指定一個節點,做爲參照區域之一。 margins 能夠用來擴展(或收縮)參照節點佈局區域的邊界,可包含 left 、 right 、 top 、 bottom 四項。 intersectionObserver.relativeToViewport([margins]):指定頁面顯示區域做爲參照區域之一。 margins 能夠用來擴展(或收縮)參照節點佈局區域的邊界,可包含 left 、 right 、 top 、 bottom 四項。 intersectionObserver.observe(targetSelector, callback):指定目標節點並開始監聽相交狀態變化狀況。回調函數 callback 包含一個參數 result。 intersectionObserver.disconnect():中止監聽。回調函數將再也不觸發。

8、第三方平臺:

wx.getExtConfig(OBJECT):獲取第三方平臺自定義的數據字段。 wx.getExtConfigSync():獲取第三方平臺自定義的數據字段的同步接口。

9、開放接口:

一、登陸 wx.login(OBJECT):調用接口wx.login() 獲取臨時登陸憑證(code) 用戶數據的簽名驗證和加解密 《1》數據簽名校驗 《2》加密數據解密算法 《3》會話密鑰session_key有效性 wx.checkSession(OBJECT):校驗用戶當前session_key是否有效

二、受權 《1》獲取受權信息 《2》打開設置界面 《3》提早發起受權請求 wx.authorize(OBJECT):提早向用戶發起受權請求

三、用戶信息 【1】接口 wx.getUserInfo(OBJECT):一、當用戶未受權過,調用該接口將直接報錯,二、當用戶受權過,可使用該接口獲取用戶信息 getPhoneNumber(OBJECT):獲取微信用戶綁定的手機號,需先調用login接口 【2】UnionID機制說明 《1》簡介 若是開發者擁有多個移動應用、網站應用、和公衆賬號(包括小程序),可經過unionid來區分用戶的惟一性,由於只要是同一個微信開放平臺賬號下的移動應用、網站應用和公衆賬號(包括小程序),用戶的unionid是惟一的。換句話說,同一用戶,對同一個微信開放平臺下的不一樣應用,unionid是相同的。 《2》UnionID獲取途徑 1.調用接口wx.getUserInfo,從解密數據中獲取UnionID。注意本接口須要用戶受權,請開發者妥善處理用戶拒絕受權後的狀況。 2.若是開發者賬號下存在同主體的公衆號,而且該用戶已經關注了該公衆號。開發者能夠直接經過wx.login獲取到該用戶UnionID,無須用戶再次受權。 3.若是開發者賬號下存在同主體的公衆號或移動應用,而且該用戶已經受權登陸過該公衆號或移動應用。開發者也能夠直接經過wx.login獲取到該用戶UnionID,無須用戶再次受權。 《3》微信開放平臺綁定小程序流程 登陸微信開放平臺 —》 賬號中心 —》 開發者資質認證 《4》綁定流程 登陸微信開放平臺 —》 管理中心 —》 公衆賬號 —》綁定公衆賬號

四、微信支付 wx.requestPayment(OBJECT):發起微信支付

五、接口調用憑證 【1】簡介 access_token 是全局惟一接口調用憑據,開發者調用各接口時都需使用 access_token,請妥善保存。access_token 的存儲至少要保留512個字符空間。access_token 的有效期目前爲2個小時,需定時刷新,重複獲取將致使上次獲取的 access_token 失效。

【2】access_token 的使用及生成方式說明: 《1》爲了保密 appsecrect,第三方須要一個 access_token 獲取和刷新的中控服務器。而其餘業務邏輯服務器所使用的 access_token 均來自於該中控服務器,不該該各自去刷新,不然會形成 access_token 覆蓋而影響業務; 《2》目前 access_token 的有效期經過返回的 expires_in 來傳達,目前是7200秒以內的值。中控服務器須要根據這個有效時間提早去刷新新 access_token。在刷新過程當中,中控服務器對外輸出的依然是老 access_token,此時公衆平臺後臺會保證在刷新短期內,新老 access_token 均可用,這保證了第三方業務的平滑過渡; 《3》access_token 的有效時間可能會在將來有調整,因此中控服務器不只須要內部定時主動刷新,還須要提供被動刷新 access_token 的接口,這樣便於業務服務器在 API 調用獲知 access_token 已超時的狀況下,能夠觸發 access_token 的刷新流程。

六、模板消息 【1】使用說明 步驟一:獲取模板ID(1.經過模版消息管理接口獲取模版ID,2.在微信公衆平臺手動配置獲取模版ID) 步驟二:頁面的 

 組件,屬性report-submit爲true時,能夠聲明爲需發模板消息,此時點擊按鈕提交表單能夠獲取formId,用於發送模板消息。或者當用戶完成支付行爲,能夠獲取prepay_id用於發送模板消息。 步驟三:調用接口下發模板消息

【2】模板消息管理 《1》獲取小程序模板庫標題列表 《2》獲取模板庫某個模板標題下關鍵詞庫 《3》組合模板並添加至賬號下的我的模板庫 《4》獲取賬號下已存在的模板列表 《5》刪除賬號下的某個模板

【3】發送模板消息 《1》下發條件說明(1.支付,2.提交表單) 《2》審覈說明(1.標題,2.關鍵詞,3.違規說明,4.處罰說明)

七、客服消息 【1】接收消息和事件 《1》文本消息 《2》圖片消息 《3》小程序卡片消息 《4》進入會話事件 【2】發送客服消息 【3】轉發消息

【4】臨時素材接口 《1》獲取臨時素材 《2》新增臨時素材 【5】客服輸入狀態 【6】接入指引 《1》填寫服務器配置 《2》驗證消息的確來自微信服務器 《3》依據接口文檔實現業務邏輯

八、轉發 Page.onShareAppMessage(Object):自定義該頁面的轉發內容 wx.showShareMenu(OBJECT):顯示當前頁面的轉發按鈕 wx.hideShareMenu(OBJECT):隱藏轉發按鈕 wx.updateShareMenu(OBJECT):更新轉發屬性 wx.getShareInfo(OBJECT):獲取轉發詳細信息 獲取更多轉發信息、頁面內發起轉發、使用指引

九、獲取二維碼 【1】獲取小程序碼 咱們推薦生成並使用小程序碼,它具備更好的辨識度。目前有兩個接口能夠生成小程序碼,開發者能夠根據本身的須要選擇合適的接口。  A接口,生成小程序碼,可接受path參數較長,生成個數受限。適用於須要的碼數量較少的業務場景  B接口,生成小程序碼,可接受頁面參數較短,生成個數不受限。適用於須要的碼數量極多的業務場景

【2】獲取小程序二維碼 C接口,生成小程序二維碼,可接受path參數較長,生成個數受限。適用於須要的碼數量較少的業務場景

【3】注意 《1》經過該接口,僅能生成已發佈的小程序的二維碼。 《2》能夠在開發者工具預覽時生成開發版的帶參二維碼。 《3》接口A加上接口C,總共生成的碼數量限制爲100,000,請謹慎調用。 《4》POST 參數須要轉成 json 字符串,不支持 form 表單提交。 《5》auto_color line_color 參數僅對小程序碼生效。

十、收貨地址 wx.chooseAddress(OBJECT):調起用戶編輯收貨地址原生界面,並在編輯完成後返回用戶選擇的地址。

十一、卡券 wx.addCard(OBJECT):批量添加卡券 wx.openCard(OBJECT):查看微信卡包中的卡券 使用會員卡組件,開發者直接調用步驟以下: 1.建立一張微信會員卡並設置爲一鍵激活模式; 2.設置開卡字段; 3.獲取開卡組件參數;

十二、設置 wx.openSetting(OBJECT):調起客戶端小程序設置界面,返回用戶設置的操做結果。(此接口即將廢棄) wx.getSetting(OBJECT):獲取用戶的當前設置

1三、微信運動 wx.getWeRunData(OBJECT):獲取用戶過去三十天微信運動步數,須要先調用 wx.login 接口。

1四、當前帳號信息 wx.getAccountInfoSync():訪問當前小程序或插件賬號信息

1五、打開小程序 wx.navigateToMiniProgram(OBJECT):打開同一公衆號下關聯的另外一個小程序 wx.navigateBackMiniProgram(OBJECT):返回到上一個小程序,只有在當前小程序是被其餘小程序打開時能夠調用成功

1六、打開App 在一個小程序的生命週期內,只有在特定條件下,才具備打開 APP 的能力。 打開 APP 的能力 能夠理解爲由小程序框架在內部管理的一個狀態,爲 true 則能夠打開 APP,爲 false 則不能夠打開 APP。

1七、獲取發票擡頭 wx.chooseInvoiceTitle(OBJECT):選擇用戶的發票擡頭

1八、生物認證 wx.checkIsSupportSoterAuthentication(OBJECT):獲取本機支持的 SOTER 生物認證方式 wx.startSoterAuthentication(OBJECT):開始 SOTER 生物認證 wx.checkIsSoterEnrolledInDevice(OBJECT):獲取設備內是否錄入如指紋等生物信息的接口

1九、附近 《1》添加地點 《2》查看地點列表 《3》刪除地點 《4》展現/取消展現附近小程序

20、插件管理 小程序開發者可經過如下接口管理插件,包括:添加、刪除、查詢已添加的插件。插件開發者也可調用接口管理插件使用申請。 《1》申請使用插件 《2》查詢已添加的插件 《3》刪除已添加的插件 《4》獲取當前全部插件使用方(供插件開發者調用) 《5》修改插件使用申請的狀態(供插件開發者調用)

2一、內容安全 wx.imgSecCheck:校驗一張圖片是否含有違法違規內容 wx.msgSecCheck:檢查一段文本是否含有違法違規內容

10、數據:

一、常規分析 【1】簡介 用戶訪問小程序的詳細數據可從訪問分析中獲取,概況中提供累計用戶數等部分指標數據

【2】訪問分析 《1》訪問趨勢 《2》訪問分佈 《3》訪問留存 《4》訪問頁面

【3】用戶畫像 獲取小程序新增或活躍用戶的畫像分佈數據。時間範圍支持昨天、最近7天、最近30天。其中,新增用戶數爲時間範圍內首次訪問小程序的去重用戶數,活躍用戶數爲時間範圍內訪問太小程序的去重用戶數。畫像屬性包括用戶年齡、性別、省份、城市、終端類型、機型。

二、自定義分析 wx.reportAnalytics(eventName, data):自定義分析數據上報接口

11、更新:

wx.getUpdateManager():獲取全局惟一的版本更新管理器,用於管理小程序更新。關於小程序的更新機制,能夠查看 運行機制 文檔。

12、多線程:

wx.createWorker(scriptPath):在使用 createWorker 前,請查閱 多線程 文檔瞭解基礎知識和配置方法。建立一個 Worker 線程,並返回 Worker 實例,目前限制最多隻能建立一個 Worker,建立下一個 Worker 前請調用 Worker.terminate。scriptPath 爲 worker 的入口文件路徑,需填寫絕對路徑。

十3、監控:

wx.reportMonitor(name, value):自定義業務數據監控上報接口 小程序管理後臺 —》 運維中心 —》 性能監控 —》 業務數據監控中 —》新建監控事件

十4、調試接口:

wx.setEnableDebug(OBJECT):設置是否打開調試開關,此開關對正式版也能生效。

十5、日誌:

wx.getLogManager():獲取日誌管理器 logManager 對象 《1》logManager提供log、info、warn、debug四個方法寫日誌到文件,這四個方法接受任意個類型爲Object/Array/Number/String的參數,每次調用的參數的總大小不超過100Kb。最多保存5M的日誌內容,超過5M後,舊的日誌內容會被刪除。 《2》過設置Button組件 的open-type爲feedback來上傳打印的日誌。用戶上傳的日誌能夠經過登陸小程序管理後臺後進入左側菜單「客服反饋」頁面獲取到。 基礎庫默認會把App、Page的生命週期函數和wx命名空間下的函數調用寫入日誌。

相關文章
相關標籤/搜索