微信小程序開發(fā),請求服務(wù)器API的方法使用的是微信官方提供的wx.request()方法。在開發(fā)中發(fā)現(xiàn),每一個請求都會生成一個獨立的PHPSESSID,如下圖示:
搜索后得知,這是由于wx.request()造成的。如果直接使用瀏覽器請求并不會出現(xiàn)這種情況。
解決方式如下:
通過登錄接口獲取到用戶的session_key 和 open_id,設(shè)置session信息如下:
$3rd_session = md5(session_key . $open_id) $_SESSION[$3rd_session ] = session_key . '|' . $open_id;
服務(wù)器生成此用戶的session_id,接口返回 3rd_session 和 session_id。
在其他接口請求中,在header中設(shè)置cookie的值:session_id:
header = header || { 'content-type': 'application/x-www-form-urlencoded;', 'Cookie': 'PHPSESSID=session_id值' }
并在接口中帶上參數(shù)session=3rd_session,此時服務(wù)端獲取到的就是同一個session_id,根據(jù)3rd_session從$_SESSION得到用戶的openid
工作日 8:30-12:00 14:30-18:00
周六及部分節(jié)假日提供值班服務(wù)