如何讓微信小程式支援Cookie
微信原生的 wx.request 網路請求介面並不支援傳統的 Cookie,但有時候我們現有的後端介面確於依賴 Cookie(比如伺服器使用者登入態),[weapp-cookie]這個庫可用一行程式碼為你的小程式實現 Cookie 機制,以保證基於 cookie 的服務會話不會失效,與 web 端共用會話機制。
安裝
npm install weapp-cookie --save
# 將 npm 包複製到 vendor 資料夾,避免小程式可能不能找到檔案(tips:使用 wepy/mpvue 等框架無需此步)
cp -rf ./node_modules/ ./vendor/
用法
在小程式根目錄的 app.js 一行程式碼引入即可
// app.js
import './vendor/weapp-cookie/index'
// tips: 使用 wepy/mpvue 可以直接在入口 js 引入 weapp-cookie 模組
// import 'weapp-cookie'
App({
onLaunch: function () { }
// ...
})
原來的 wx.request 呼叫方式保持不變,引入後 weapp-cookie 會在底層自動代理 wx.request 的介面訪問,以支援 cookie 儲存和傳送
// pages/home/index.js
Page({
onLoad: function () {
wx.request({
url: 'https://example.com/login',
data: {
username: 'admin',
password: '123456'
},
success: function (res) {
/*
* 介面呼叫成功後 weapp-cookie 會自動儲存後端傳送的所有Cookie(比如:SessionID)
* 並在後續的所有請求中帶上,以保證基於 cookie 的伺服器會話機制不會失效,
* 實現與 web 端共用會話機制(無需再手動維護 3rd_session_key)
*/
}
})
}
})
來自:米筷網路