微信 考勤 php,JavaScript_微信企业号开发之微信考勤Cookies的使用,在上篇文章给大家介绍了微信 - phpStudy...
微信企业号开发之微信考勤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...相关推荐
- php 字母数字混合排序,JavaScript_基于JS实现数字+字母+中文的混合排序方法,在上篇文章给大家介绍了JavaScr - phpStudy...
基于JS实现数字+字母+中文的混合排序方法 在上篇文章给大家介绍了JavaScript sort数组排序方法和自我实现排序方法小结,用自己的方法实现了数字数组的排序. 当然,实际运用中,我还是会使用s ...
- 《微信公众平台与小程序开发——从零搭建整套系统》——第1章,第1.2节微信公众平台...
本节书摘来自异步社区<微信公众平台与小程序开发--从零搭建整套系统>一书中的第1章,第1.2节微信公众平台,作者 张剑明,更多章节内容可以访问云栖社区"异步社区"公众号 ...
- 微信 考勤 php,微信企业号开发之微信考勤Cookies的使用_javascript技巧
在上篇文章给大家介绍了微信企业号开发之微信考勤百度地图定位,接下来通过本文学习微信企业号开发之微信考勤Cookies的使用,具体内容如下. 使用微信考勤,每次使用微信企业号开发:微信用户信息和web网 ...
- Jeewx-Enterprise_1.1版本发布,开源微信企业号开发平台
JEEWX企业号简介 JEEWX微信企业号开发平台是一款开源.免费.高效.敏捷的微信企业号开发平台,采用JAVA语言基于Jeecg快速开发框架实现,实现了微信企业号管理平台的基础功能,便于用户二次开发 ...
- 微信wifi路由器怎么连接服务器,介绍下微信WIFI路由器怎么设置的方法
微信路由器是最近才推出的,很多朋友都不是很了解,下面就介绍下微信路由器设置方法. 1.首先,我们将电脑用网线连接至微信路由器LAN端口. 2.然后打开电脑的网络连接 3.在本地连接上右键,选择属性. ...
- 微信企业号开发:微信考勤
使用微信考勤,有很多企业号应用都有,但如何实现呢? 核心有有两个,1其实就是获取用户位置,其实这个可以使用百度地图的API,当然其他的也可以,微信自己的地图实在是太差了,没有考虑.当然地理 ...
- 微信企业号开发:微信考勤百度地图定位,错误修正二
在之前的博客中微信企业号开发:微信考勤百度地图定位,错误修正介绍了一种修正百度地图错误的方法,就是使用高德地图修正.但经过近一年.近两千人的使用发现,在百度地图出现定位错误时,通过HTML5获取的经纬 ...
- 微信企业号开发:微信考勤Cookies的使用
使用微信考勤,每次使用微信企业号开发:微信用户信息和web网页的session的关系这个里边的方法,调用微信的接口,有点慢,微信官方也推荐使用Cookies,但如何使用Cookies,自己却一直没有搞 ...
- 微信企业号开发:微信考勤2如何计算距离
通过微信企业号开发:微信考勤中的方法计算出了用户的地理位置,我们知道GPS会有一定偏差,但如何把这个偏差考虑进去呢?例如在500米的偏差内都认为是在办公室内呢? 有两种方法,一种是使用根据两点 ...
- 微信企业号开发:微信考勤百度地图定位
之前在微信企业号开发:微信考勤中使用了百度地图的定位组件,但发现在部分手机上会出现定位失败的提示,于是有研究了一下百度地图.原来使用的Web组件百度不打算更新了,也是重新查了一下百度地图的其他API, ...
最新文章
- 如何使用matlab的siso,MIMO-SISO-MATLAB-program 和 的 仿真源代码,非常详细,可以参考学习 267万源代码下载- www.pudn.com...
- pandas 读取写入保存文件
- 张颐武:周小平的意义
- powerdesigner中如何在自动生成建表SQL时添加模式名schema
- 使用“using” 的 “Cursor”
- MongoDB初学者教程
- 不能使用for循环,传入n和m, 生成一个长度为n,每一项都是m的数组
- 修改placeorder html,数字分发Web服务DDWSPlaceOrder-服务手册-Partner.PDF
- Vertx.vertx()初始框图和模块
- k8s中hostname, hosts文件, DNS和代理问题, service和pod的访问问题
- 父子进程共享内存通信的三种方法
- db4o java教程_Db4o 社区版 8.1.1 发布,面向对象数据库
- 祝贺MindV进入香港国际软件大奖赛100强
- 数据结构折半查找例题_查找(习题课)
- EMQ优特云-贵阳娃哈哈生产基地物联网能耗监控项目回顾与展望
- 获取路由器内的ADSL上网账号和密码或者获取电脑内的ADSL上网账号和密码教程(by 星空武哥)
- 如何基于 RISC-V CPU 集成一个 RISC-V SoC 呢?(上)
- android obb在哪,.obb是什么文件?obb文件怎么用/放在哪里
- 生成对抗网络7日打卡营来了!GAN就对了!
- buffer busy waits
热门文章
- Mac 配置远程服务器 - 免密登陆
- Can总线基本关注事项(仲裁、电气、阻抗计算、负载率)
- PHP 使用用户排队机制解决网站大访问量的例子
- 5G究竟如何改变我们的生活?三大特性和八大应用场景
- 苹果app退款_苹果上最流氓的功能,终于被彻底关掉,还退款208元
- Method annotated with @Bean is called directly. Use dependency injection instead
- uva 11584 dp
- Steam游戏信息爬取-热销榜价格好评率折扣评论
- 分享:刚入行的朋友如何找到程序员工作,并成为优秀游戏程序员?
- 如何设置计算机桌面待办事项,怎么在Windows电脑桌面便签上显示未来要处理的待办事项?...