上周由于國慶小長假的緣故未能及時更新文章,在此說聲抱歉,之后將繼續周更。 好久沒有寫有關微信小程序的文章了,今天繼續講講小程序的一些容易踩到的“坑”。 一、圖片上傳須使用wx.uploadFile(),而不是使用wx.request()微信小程序專門提供了一個用于上傳文件的API,那就是wx.uploadFile()。如果想要上傳圖片,同樣得用該方法,并且一般情況下都是要與wx.chooseImage()結合使用。通過wx.chooseImage()可以選擇本地圖片或者直接拍照而返回一個臨時的圖片路徑,再將這個臨時路徑傳入wx.uploadFile()中后通過第三方服務器返回線上路徑,這樣之后我們才能隨時獲取到這張圖片。 當然,有時候我們也可能在提交表單的時候需要提交圖片,這時候我們才要用到wx.request(),提交的圖片路徑就是通過wx.uploadFile()返回的線上路徑,而不是通過wx.chooseImage()返回的臨時路徑。 這兩個方法的具體用法可以直接參考開發文檔:https://mp.weixin.qq.com/debug/wxadoc/dev/api/network-file.html#wxuploadfileobject。 二、微信小程序的加載動畫家族1. 下拉刷新動畫
① onPullDownRefresh()
② enablePullDownRefresh
③ wx.startPullDownRefresh()
④ wx.stopPullDownRefresh() 2. 導航條加載動畫
① wx.showNavigationBarLoading()
② wx.hideNavigationBarLoading() 3. 提示框加載動畫
① wx.showLoading()
② wx.hideLoading() 三、page.json只能設置 app.json 中的 window 配置項的內容,并且不能寫window這個鍵這個“坑”看起來雖小,但是一旦你一不小心踩到了,很可能很難發現問題所在,因為就算你在page.json中寫法與app.json一致,也就是說把window這個鍵也寫進去了,小程序并不會報錯,只是不會出現你想要的效果。 比如,你只想在某個頁面實現下拉刷新效果,那么你在該頁面的 config 中可以這樣配置: { "navigationBarTitleText": "下拉刷新動畫", "enablePullDownRefresh": true } 但是,如果你一不小心在前面加了個"window":,那么問題就來了,頁面這時無法實現下拉刷新,然后你說我明明配置了"enablePullDownRefresh": true啊,接著就很有可能在這個小問題上糾結很久,所以需要謹記:page.json中不能寫window這個鍵。 四、微信小程序中含有Imoji圖片的用戶昵稱存儲問題如何解決?這里涉及后端數據庫的問題,有時候提交表單時需要獲取用戶昵稱并提交到數據庫,但是有些用戶昵稱中會帶有Imoji圖片,這時直接保存到數據庫可能會出現無法識別的問題,解決方法是將數據庫字段格式改成utf8mb4格式就好。 |