小程序开发中我们需要获取到后端给的cookie进行请求验证,但是微信并没有帮我们保存cookie,那么我们要维持会话需要自己来保存cookie,并且请求的时候加上cookie

1.获取cookie

在登录请求后读取 返回值的, header的cookie,并本地存储

//登录请求回来之后,读取res的header的cookie
//这里的sessionid随便写的,就是个唯一标识wx.setStorageSync("sessionid", res.header["Set-Cookie"])

2.请求带上cookie

  //创建header var header;header = { 'content-type': 'application/x-www-form-urlencoded', 'cookie':wx.getStorageSync("sessionid")//读取cookie};//进行请求,一般外层都有一个封装,然后放在公共类里边wx.request({url: realURL,method: method,header: header,//传在请求的header里data: datas,success(res) {//请求成功的处理})}

3.接下来需要将sessinid在本地管理的方法

var sessionkey;var sessiondate;//可以封装一个保存sessinid的方法,将sessionid存储在localstorage中,定为半小时之后清空此sessionid缓存。
function saveSession(sessionId) {console.log(" now save sessionid: " + sessionId)wx.setStorageSync(“sessionkey” sessionId)//保存sessionidwx.setStorageSync(“sessiondate”, Date.parse(new Date()))//保存当前时间,
}// 过期后清除session缓存
function removeLocalSession() {wx.removeStorageSync(“sessionid的key”)wx.removeStorageSync(sessiondate)console.log("remove session!")
}//检查sessionid是否过期的方法function checkSessionTimeout() {var sessionid = wx.getStorageSync(sessionkey)if (sessionid == null || sessionid == undefined || sessionid == "") {console.log("session is empty")return false}var sessionTime = wx.getStorageSync(sessiondate)var aftertimestamp = Date.parse(new Date())if (aftertimestamp - sessionTime >= SESSION_TIMEOUT) {removeLocalSession()return false      }return true}//如果sessionid过期,重新获取sessionidfunction checkSessionOk() {console.log("check session ok?...")var sessionOk = checkSessionTimeout()if (!sessionOk) {requestsessionid(function () {})}}//定义一个方法每隔一段时间检查sessionid是否过期function checkcrosstime() {setInterval(checkSessionTimeout, ----)//这个时间可以自定义。比如25 * 60 * 1000(代表25分钟)
}

可以在app.js的onload方法中运行checkcrosstime()方法

微信小程序获取cookie以及设置cookie相关推荐

  1. 微信小程序获取视口高度,设置 video 视频全屏显示

    微信小程序 获取视口高度 获取视口高度 可用于设置视频全屏显示效果 及其他效果显示 js中:(可以在onLoad中直接使用,或写入方法中) let that = this;// 获取系统信息wx.ge ...

  2. 微信小程序如何从数组里取值_微信小程序获取各种数据值跟设置数据值

    微信小程序获取各种数据值跟设置数据值. 修改设置data数组中的某个值://小程序接收后台数据若为数组时,下标最好为默认索引数组,从0开始排序 var articleId ='1'//对应数组中的索引 ...

  3. 微信小程序获取openid和session_key并且把openid存入数据库

    微信小程序开发交流qq群   581478349 微信小程序获取openid和session_key并且把openid存入数据库.已经调用openid的demo 前后端代码都有,后端php实现 在其它 ...

  4. android获取小程序音频时长,最新微信小程序获取音频时长与实时获取播放进度...

    #微信小程序获取音频时长与实时获取播放进度 在小程序官方文档中 audio 注意:1.6.0 版本开始,该组件不再维护.建议使用能力更强的 wx.createInnerAudioContext 接口 ...

  5. 微信小程序获取unionid为空

    微信小程序获取unionid为空 原因:未绑定微信开放平台 绑定步骤 原因:未绑定微信开放平台 最新在调试一个新的微信小程序,因为要对web授权登录.app授权登录.小程序授权登录:几种登录场景根据u ...

  6. 最新微信小程序获取音频时长与实时获取播放进度

    #微信小程序获取音频时长与实时获取播放进度 在小程序官方文档中 audio 注意:1.6.0 版本开始,该组件不再维护.建议使用能力更强的 wx.createInnerAudioContext 接口 ...

  7. 微信小程序获取绑定授权用户手机号getPhoneNumber-全流程及手机号带*号问题

    微信小程序获取微信绑定授权手机号getPhoneNumber全流程及出现手机号带*号问题详解 微信小程序文档中给出如下示例 获取微信用户绑定的手机号,需先调用login接口. 因为需要用户主动触发才能 ...

  8. 微信小程序获取OneNet数据显示温湿度

    微信小程序获取OneNet数据显示温湿度 一.OneNet平台 ​ 1.我这里的设备是通过MQTT协议连接到OneNet平台的 ​ 2.微信小程序获取OneNet数据需要得到产品的api-key.设备 ...

  9. 微信小程序获取当前所在城市(地区定位与切换)

    小程序地区定位与切换 添加链接描述 添加链接描述 添加链接描述 <text class="chengshi">{{citynames}}</text>< ...

  10. 微信小程序 获取 手机验证码 短信验证码 后端功能实现解析

    本文原创首发CSDN,链接 https://mp.csdn.net/console/editor/html/106041472 ,作者博客https://blog.csdn.net/qq_414641 ...

最新文章

  1. ML基石_56_TheoryOfGeneralization
  2. const、static、内部链接属性和外部链接属性整理
  3. python字典排序
  4. 谷歌甲骨文Java专利大战终审判决:安卓使用Java不构成侵权
  5. javafx显示image_JavaFX技巧20:有很多要显示的吗? 使用画布!
  6. [css] 请说说CSS3实现文本效果的属性有哪些?
  7. Google 资深软件工程师 LeetCode 刷题笔记首次公开
  8. 从源码的角度说说Activity的setContentView的原理(二)
  9. 最低通行费(信息学奥赛一本通-T1287)
  10. 华为MatePad Pro 5G平板正式发布:售价5299元起!
  11. 从HTTP响应头看苹果国内用了哪家CDN及CDN高防DDOS技术
  12. C# 计时工具 Stopwatch
  13. 从java库学设计模式_java I/O库的设计模式
  14. 【Codeforces 1051D】Bicolorings
  15. python怎么用pip安装numpy_python如何安装numpy
  16. 现代优化算法 (二): 遗传算法 及应用举例
  17. 音频数字信号详解(2017年11月18日更新)
  18. 浅谈 Spring 中的设计模式
  19. 截止失真放大电路_音频功放失真?别急!这里有常见改善方法
  20. Ftp搜索引擎开发实践

热门文章

  1. VMware16 安装CentOS8详细教程
  2. java遍历是什么意思_Java遍历集合方法分析(实现原理、算法性能、适用场合)...
  3. postman高阶脚本
  4. SqlServer 一段文本中获取11位的手机号码
  5. python flask教程百度云,Python Web框架Flask中使用百度云存储BCS实例
  6. 也谈软件版本控制的问题
  7. 讽刺c语言,鲁迅先生评价《儒林外史》“婉而多讽”,达到我国古典小说讽刺艺术的高峰。请从小贴士中选择一项,结合作品具体内,赏析《儒林外史》的讽刺艺术:...
  8. Nexuiz成为射击类游戏最受欢送游戏
  9. 用C语言编程画出图形,C语言图形编程(六) -图形程序设计实例:零件图形的绘制...
  10. SpringCloud Nacos入门教程