1. 程式人生 > >開發小程序(填坑之路,遇到一點就更新一點)

開發小程序(填坑之路,遇到一點就更新一點)

頁面 for page 開發工具 sign 上傳 nco lse tor

1.開發小程序發送請求時,報錯不在以下合法列表中

在開發工具詳情中設置:

技術分享圖片

請參考微信官方文檔:關於小程序網絡相關API說明

2.如果你需要權限驗證(如登錄後訪問),小程序不像瀏覽器能幫你自動攜帶cookie信息,那麽你需要自己寫在將cookie寫入請求hedear中,不然每次請求都通不過權限驗證。

 wx.request({
      url: `${API_URL}/${type}`,
      data: Object.assign({}, params),
      method: ‘POST‘,
      header: {
        ‘cookie‘: wx.getStorageSync(‘cookie‘)[0],
        
‘Content-Type‘: ‘application/json‘, ‘content-type‘: ‘application/x-www-form-urlencoded;charset=UTF-8‘ }, success: function(res){ wx.hideLoading(); if (res.header[‘Set-Cookie‘]) { //提取cookie,保存到storage中 var setCookie = res.header[‘Set-Cookie‘].replace(new
RegExp(‘Path=/‘), ‘‘).split(‘,‘) console.log(‘cookies:‘ + setCookie); }
    }
})


3.小程序下載文件保存本地,需要配置可信域名和https,並且下載的文件根本在手機獲取不到。

技術分享圖片

技術分享圖片

4.打開頁面過多導致內存占用過高。

navigateTo跳轉打開新頁面最多10層。

wx.navigateTo(OBJECT)

保留當前頁面,跳轉到應用內的某個頁面,使用wx.navigateBack可以返回到原頁面。 建議跳轉5層後使用

wx.redirectTo(OBJECT)

關閉當前頁面,跳轉到應用內的某個頁面,釋放內存。
globalJump: function (url) {
    var pageLevel = getCurrentPages().length;
    if (typeof url == ‘string‘) {
        url = url
    } else {
        url = url.currentTarget.dataset.url;
    }
    if (pageLevel < 4) {
        wx.navigateTo({
        url: url
    })
    } else {
        wx.redirectTo({
       url: url
        });
        }
    }

5. 頁面滾到底部加載數據

不要使用scrollview。使用Page中的onReachBottom

  

6. 頁面內使用setTimeIntervar跳轉後定時器不會關閉導致報錯

使用外部方法,判斷頁面是否已經跳轉

彩蛋:需要在真機上測試可以點擊預覽也可以上傳為開發版本。

技術分享圖片

技術分享圖片

開發小程序(填坑之路,遇到一點就更新一點)