微信企业号开发之微信考勤Cookies的使用

在上篇文章给大家介绍了微信企业号开发之微信考勤百度地图定位,接下来通过本文学习微信企业号开发之微信考勤Cookies的使用,具体内容如下。

使用微信考勤,每次使用微信企业号开发:微信用户信息和web网页的session的关系这个里边的方法,调用微信的接口,有点慢,微信官方也推荐使用Cookies,但如何使用Cookies,自己却一直没有搞清楚。

原来一直以为在服务端获取客户端的数据有两个方法,一种就是查询字符串放在URL上,一种就是放在form中,post提交,自己以前也使用过但主要是在客户端使用,从来没法把Cookies中的数据直接提交到服务端,即使有也是通过把Cookies中的数据读取出来后放入form中的隐藏字段,然后post到服务端。

显然微信考勤这类其实就是一个URL,在进入URL的过程中,没有什么post数据的过程。只有进入URL之后再通过用户提交,或者ajax提交。总之似乎没法直接把Cookies中的数据直接提交给服务端。似乎陷入了僵局。于是自己再一次研究了Cookies,发现Cookies似乎是主动提交到服务端的,但和post是提交的位置不一样,当然我没有找到相关文档,是测试发现的。只要自己设定了Cookies,每次进入URL都会提交Cookies,自然就可以在服务端读取到Cookies的值了。这时才真正明白记住密码的真正实现原理。并不是把Cookies的值读出来,放入隐藏字段,然后通过ajax提交到服务端,就可以免登陆了。

可以看到Cookies的数据到了服务端,sessionID也是通过Cookies这种方式传到服务端的。

前端js读取,设置Cookies的方法:

function setCookie(name, value) {//两个参数,一个是cookie的名子,一个是值

var Days = 30; //此 cookie 将被保存 30 天

var exp = new Date(); //new Date("December 31, 9998");

exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000);

document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString();

}

function getCookie(name) {//取cookies函数

var arr = document.cookie.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)"));

if (arr != null) return unescape(arr[2]); return null;

}

CSharp服务端操作Cookies:

设置Cookies

HttpCookie cookie = new HttpCookie("UserCode", username);

cookie.Expires = DateTime.Now.AddDays(10);// (365 * 24 * 3600);

this.Response.AppendCookie(cookie);

HttpCookie cookieDeviceId = new HttpCookie("DeviceId", rt.DeviceId);

cookieDeviceId.Expires = DateTime.Now.AddDays(10);// (365 * 24 * 3600);

this.Response.AppendCookie(cookieDeviceId);

读取Cookies:

HttpCookie ttHttpCookie = this.Request.Cookies.Get("UserCode");

HttpCookie ttHttpCookieDeviceId = this.Request.Cookies.Get("DeviceId");

string code = Request.QueryString["code"];

if (ttHttpCookie == null || ttHttpCookieDeviceId == null)

{

WeiApi(code);

}

else {

string username = ttHttpCookie.Value;

string DeviceId = ttHttpCookieDeviceId.Value;

if (string.IsNullOrEmpty(username) || string.IsNullOrEmpty(DeviceId))

{

WeiApi(code);

}

else {

new AppException("读取Cookies UserCode=" + username + ",DeviceId=" + DeviceId);

initSession(username, DeviceId);

}

}

以上内容给大家介绍了微信企业号开发之微信考勤Cookies的使用,希望大家喜欢。相关阅读:

js使用循环清空某个div中的input标签值

使用Raygun对Node.js应用进行错误处理的方法

搜狗拼音输入法Win10专版被Win10屏蔽安装的解决方法

Win10系统视频和音乐播放不了怎么办 windows10系统电脑无法播放视频和音乐的解决方法

Codeigniter实现发送带附件的邮件

JSP上传图片产生 java.io.IOException: Stream closed异常解决方法

4种PHP异步执行的常用方式

微软Windows Server 2003延保:澳洲支付440万澳元/年

extJS中常用的4种Ajax异步提交方式

Win10把所有文件夹视图重置为默认设置来统一下

实例详解Nodejs 保存 payload 发送过来的文件

java,Android:在eclipse中的快捷键(经典收藏)

asp.net模板引擎Razor中cacheName的问题分析

sql表连接查询使用方法(sql多表连接查询)

微信 考勤 php,JavaScript_微信企业号开发之微信考勤Cookies的使用,在上篇文章给大家介绍了微信 - phpStudy...相关推荐

  1. php 字母数字混合排序,JavaScript_基于JS实现数字+字母+中文的混合排序方法,在上篇文章给大家介绍了JavaScr - phpStudy...

    基于JS实现数字+字母+中文的混合排序方法 在上篇文章给大家介绍了JavaScript sort数组排序方法和自我实现排序方法小结,用自己的方法实现了数字数组的排序. 当然,实际运用中,我还是会使用s ...

  2. 《微信公众平台与小程序开发——从零搭建整套系统》——第1章,第1.2节微信公众平台...

    本节书摘来自异步社区<微信公众平台与小程序开发--从零搭建整套系统>一书中的第1章,第1.2节微信公众平台,作者 张剑明,更多章节内容可以访问云栖社区"异步社区"公众号 ...

  3. 微信 考勤 php,微信企业号开发之微信考勤Cookies的使用_javascript技巧

    在上篇文章给大家介绍了微信企业号开发之微信考勤百度地图定位,接下来通过本文学习微信企业号开发之微信考勤Cookies的使用,具体内容如下. 使用微信考勤,每次使用微信企业号开发:微信用户信息和web网 ...

  4. Jeewx-Enterprise_1.1版本发布,开源微信企业号开发平台

    JEEWX企业号简介 JEEWX微信企业号开发平台是一款开源.免费.高效.敏捷的微信企业号开发平台,采用JAVA语言基于Jeecg快速开发框架实现,实现了微信企业号管理平台的基础功能,便于用户二次开发 ...

  5. 微信wifi路由器怎么连接服务器,介绍下微信WIFI路由器怎么设置的方法

    微信路由器是最近才推出的,很多朋友都不是很了解,下面就介绍下微信路由器设置方法. 1.首先,我们将电脑用网线连接至微信路由器LAN端口. 2.然后打开电脑的网络连接 3.在本地连接上右键,选择属性. ...

  6. 微信企业号开发:微信考勤

        使用微信考勤,有很多企业号应用都有,但如何实现呢?   核心有有两个,1其实就是获取用户位置,其实这个可以使用百度地图的API,当然其他的也可以,微信自己的地图实在是太差了,没有考虑.当然地理 ...

  7. 微信企业号开发:微信考勤百度地图定位,错误修正二

    在之前的博客中微信企业号开发:微信考勤百度地图定位,错误修正介绍了一种修正百度地图错误的方法,就是使用高德地图修正.但经过近一年.近两千人的使用发现,在百度地图出现定位错误时,通过HTML5获取的经纬 ...

  8. 微信企业号开发:微信考勤Cookies的使用

    使用微信考勤,每次使用微信企业号开发:微信用户信息和web网页的session的关系这个里边的方法,调用微信的接口,有点慢,微信官方也推荐使用Cookies,但如何使用Cookies,自己却一直没有搞 ...

  9. 微信企业号开发:微信考勤2如何计算距离

        通过微信企业号开发:微信考勤中的方法计算出了用户的地理位置,我们知道GPS会有一定偏差,但如何把这个偏差考虑进去呢?例如在500米的偏差内都认为是在办公室内呢? 有两种方法,一种是使用根据两点 ...

  10. 微信企业号开发:微信考勤百度地图定位

    之前在微信企业号开发:微信考勤中使用了百度地图的定位组件,但发现在部分手机上会出现定位失败的提示,于是有研究了一下百度地图.原来使用的Web组件百度不打算更新了,也是重新查了一下百度地图的其他API, ...

最新文章

  1. 如何使用matlab的siso,MIMO-SISO-MATLAB-program 和 的 仿真源代码,非常详细,可以参考学习 267万源代码下载- www.pudn.com...
  2. pandas 读取写入保存文件
  3. 张颐武:周小平的意义
  4. powerdesigner中如何在自动生成建表SQL时添加模式名schema
  5. 使用“using” 的 “Cursor”
  6. MongoDB初学者教程
  7. 不能使用for循环,传入n和m, 生成一个长度为n,每一项都是m的数组
  8. 修改placeorder html,数字分发Web服务DDWSPlaceOrder-服务手册-Partner.PDF
  9. Vertx.vertx()初始框图和模块
  10. k8s中hostname, hosts文件, DNS和代理问题, service和pod的访问问题
  11. 父子进程共享内存通信的三种方法
  12. db4o java教程_Db4o 社区版 8.1.1 发布,面向对象数据库
  13. 祝贺MindV进入香港国际软件大奖赛100强
  14. 数据结构折半查找例题_查找(习题课)
  15. EMQ优特云-贵阳娃哈哈生产基地物联网能耗监控项目回顾与展望
  16. 获取路由器内的ADSL上网账号和密码或者获取电脑内的ADSL上网账号和密码教程(by 星空武哥)
  17. 如何基于 RISC-V CPU 集成一个 RISC-V SoC 呢?(上)
  18. android obb在哪,.obb是什么文件?obb文件怎么用/放在哪里
  19. 生成对抗网络7日打卡营来了!GAN就对了!
  20. buffer busy waits

热门文章

  1. Mac 配置远程服务器 - 免密登陆
  2. Can总线基本关注事项(仲裁、电气、阻抗计算、负载率)
  3. PHP 使用用户排队机制解决网站大访问量的例子
  4. 5G究竟如何改变我们的生活?三大特性和八大应用场景
  5. 苹果app退款_苹果上最流氓的功能,终于被彻底关掉,还退款208元
  6. Method annotated with @Bean is called directly. Use dependency injection instead
  7. uva 11584 dp
  8. Steam游戏信息爬取-热销榜价格好评率折扣评论
  9. 分享:刚入行的朋友如何找到程序员工作,并成为优秀游戏程序员?
  10. 如何设置计算机桌面待办事项,怎么在Windows电脑桌面便签上显示未来要处理的待办事项?...