前言2016年9月21日晚間,微信公眾平臺開始陸續對外發送小程序內測邀請。此時,便對微信小程序有了關注,打算學習、并開發一款小程序。期間因為有其他項目開發的原因,稍有中斷 ...
》》》前言
2016年9月21日晚間,微信公眾平臺開始陸續對外發送小程序內測邀請。此時,便對微信小程序有了關注,打算學習、并開發一款小程序。期間因為有其他項目開發的原因,稍有中斷,然在前些天,終于將小程序的初版發布,并審核通過,下面文章中會把我在開發這個圖片類小程序(不含上傳圖片功能)中遇到的一些坑與大家講解,并附上解決途徑。
》》》遇到的坑
(1)獲取城市地理位置及具體位置
需求:根據微信小程序自帶的wx.getLocation(OBJECT),獲取用戶所在具體位置及城市信息。
解決思路:推薦使用百度地圖的api來獲取地理位置信息。
具體流程可參考微信小程序的百度地圖獲取地理位置 —— 微信小程序教程系列(15)
上面例子已測試成功。
開發的大牛還是很多的,我在此基礎上再補充幾點:
①調用此處的api,只需要有百度賬號即可,在配額不夠的情況下,可申請認證,具體可查看《認證開發者權益》;
②在調用wx.getLocation(OBJECT)時,會彈出“是否獲取地理位置”,要考慮用戶在不允許獲取地理位置的時候,設置一個默認經緯度;
③附上一個官方的js下載地址:點擊這里
(2)下拉及刷新的實現
需求:根據接口獲取第一頁數據,下拉后重新獲取第一頁數據,上拉后可以獲取第二頁,第N頁數據。
解決思路:現有兩種方法:
方法一:利用page的”onPullDownRefresh”和”onReachBottom”,
方法二在scroll-view里設定bindscrolltoupper和bindscrolltolower,大家可以根據自己的實際開發情況選用,講解一下區別:
①方法一和方法二是沖突的,130400版本更新導致下拉刷新和scroll-view不能同時使用,只能選擇一個;
②在現在的版本中,方法一的onPullDownRefresh會自帶下拉刷新動作,方法二沒有;
③方法二的scroll-view可以自帶參數傳遞到js中,方法一如果下拉要帶參數需要data中設值,下面的代碼會有體現。
代碼實現:
// 下拉重新加載照片信息
onPullDownRefresh: function () {
this.setData({
items: [],
personalCurPage: 1
});
var that = this;
common.showTip("刷新中...", "loading", 800);
var userId = wx.getStorageSync('userId');
// 如果用戶已登錄
if (userId != null && userId > 0) {
api.getShooterNewestPics(that, userId, 1);
}
},
// 上拉加載下一頁
onReachBottom: function (event) {
var that = this;
var curPage = that.data.personalCurPage;
curPage++;
this.setData({
hidden: false,
personalCurPage: curPage
});
var userId = wx.getStorageSync('userId');
common.showTip("加載中...", "loading", 500);
api.getShooterNewestPics(that, userId, curPage);
},
今天暫時講這兩點,下次繼續。 有興趣可以查看查看線上例子: