微信小程序使用Cookie
微信小程序不支持Cookie,因此,需要借助小程序的數據緩存來實現Cookie.
環境: mpvue + fly.js
登錄成功后,在處理登錄驗證的method里,加入以下內容保存Cookie:
wx.setStorageSync("sessionid",response.headers["set-cookie"][0])
我對fly.js的配置和攔截器單獨設置,放在src/utils/fly.js里,內容如下:
/**
* Created by kevin on 2019-10-11.
* http配置
*/
import store from '@/store/index'
import * as types from '@/store/mutation-types'
var Fly=require("flyio/dist/npm/wx")
var fly=new Fly
// fly配置
fly.config.timeout=5000
// 這個url一定要找到nginx的相應location ^~ 部分
fly.config.baseURL = 'https://i.foo.cn/api/v2/'
// http request 攔截器
fly.interceptors.request.use(
(request) => {
if (store.state.user) {
request.headers.Authorization = `isLogin`
request.headers.Cookie = wx.getStorageSync("sessionid")
}
return request
},
err => {
return Promise.reject(err)
},
)
// http response 攔截器
fly.interceptors.response.use(
(response) => {
//只將請求結果的data字段返回
return response.data
},
(err) => {
//發生網絡錯誤后會走到這里
//return Promise.resolve("ssss")
}
)
export default fly
然后在全局的main.js里,加入以下內容:
import fly from '@/utils/fly'
Vue.prototype.$http=fly
現在可以用this.$http.get(or post等)發起請求了.
萬事大吉,enjoy it!