本文實例講述了微信小程序常用簡易小函數。分享給大家供大家參考,具體如下:
最近一直在寫微信小程序,而且由于是第二次寫了,所以針對很多通用的情況封裝了一些函數,建議你們放在app.js中,方便全局去調用。
提示類函數
微信有一種原生的API用于顯示提示類結果的wx.showToast,而且其中的圖片是可以自定義的,所以為了保證全部一致性,而且方便調用,所以我將其全部封裝在了app.js中:
// 成功showSuccess: function (message) { wx.showToast({ title: message, duration: 2000, image: "/images/Common/Success.png", }) },// 錯誤showError: function (message) { wx.showToast({ title: message, duration: 2000, image: "/images/Common/Error.png", }) },// 警告showWarn: function (message) { wx.showToast({ title: message, duration: 2000, image: "/images/Common/Warn.png", }) }注意上面的duration參數,這個在下面的情況中是一個很重要的問題。
假設一般的操作是對一個頁面的操作完成后接著顯示處理結果,最后進行跳轉。所以這里就存在一個問題,假設使用上面的彈出框進行顯示,那么在彈出框顯示之前就會進行跳轉,這樣處理結果就顯示不全了,所以合理的做法是在彈出框結束后進行跳轉。而如果將跳轉單獨封裝在各個頁面中,那么到時候進行時間長短的處理就很麻煩了,所以我將這個函數進行了封裝:
// 第一個是路由,第二個則是判斷是否是tabbar的路由,跳這兩個路由是不一致的completeOperating:function(to,isTabbar){ var time=setTimeout(function(){ if(isTabbar===true){ wx.switchTab({ url:to }) }else{ wx.navigateTo({ url: to }) } clearTimeout(time); },2000)}還有一種情況就是我們開始將數據返回給后端,這個時候最好給用戶一個加載中的提示,而這個提示可以使用wx.showLoadding來做:
// 提示用戶數據保存中startOperating:function(info){ wx.showLoading({ title:info, mask:true }) }當后端返回結果后。則將加載框進行隱藏:
stopOperating:function(){ wx.hideLoading(); }登錄類問題
微信小程序不支持session,這個是前提,所以我們沒辦法在后端使用session來進行用戶身份的區分。我的解決思路是這樣的,在項目的入口文件app.js中的onLaunch函數中,即在用戶開啟小程序后調用wx.login()函數獲取用戶的唯一微信標志code,接著將該標志傳回后端,調用微信的統一API,獲取用戶在該微信小程序中的唯一標識,注意,即使是同一個用戶,在不同的微信小程序中標識也是不一樣的。
新聞熱點
疑難解答