微信 考勤 php,微信企业号开发之微信考勤Cookies的使用_javascript技巧
在上篇文章给大家介绍了微信企业号开发之微信考勤百度地图定位,接下来通过本文学习微信企业号开发之微信考勤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的使用,更多相关内容请关注PHP中文网(www.php1.cn)!
微信 考勤 php,微信企业号开发之微信考勤Cookies的使用_javascript技巧相关推荐
- 微信小程序使用云开发实现微信支付功能 报错Error: 签名错误,史上最全解决办法,不服留言骂我
报错背景 微信小程序使用云开发实现微信支付功能,但是报错了 报错信息 报错原因 小程序想要使用微信支付,必须满足下面几个条件的 1,必须是非个人小程序(个人小程序用不了支付) 企业小程序需要认证! 2 ...
- android仿微信点击好友,安卓开发仿微信联系人列表-机器人列表视图仿微通道聊天多久最底部滑动...
楼主你好!根据你的描述,让我给你答案! :新内容加进来,列表视图重新为setSelection后,定位结束后,拉起一个页面放. . 希望你能有所帮助,如果满意,请记得采纳像下拉条为微信好友如何实现 简 ...
- 微信现金红包asp源码开发的微信一物一码红包系统,asp微信现金红包源码
最近接了一个生产万能胶的客户红包开发的要求,他想实现在他所有产品包装上贴一个小标签,上面有二维码可以扫码关注他的公众号,下面是一个刮刮银,刮开后是上串数字码,别人关注他的公众号后就可 以在公众号下面的 ...
- 微信公众平台搭建与开发揭秘//////微信公众平台应用开发实战
微信公众平台搭建与开发揭秘,完整扫描版 [香港回来了,累啊.这个是从http://www.ckook.com/处获得的电子书,自制的就不上传了,免得被人叽歪] <微信公众平台搭建与开发揭秘> ...
- 企业号开发php,微信企业号-开发笔记-1
开发微信企业号,首先需要实名认证,然后可以获得200人关注的企业号,认证以后可以获得1000人关注,企业号可以建立若干个应用,每个应用相当于一个订阅号或者服务好功能,但是没有发送消息限制,本文假设已经 ...
- 微信小店二次开发_微信小店二次开发功能套餐列表
本商品包括微信小店二次功能开发套餐. [商品介绍]以下费用均为一次性费用.永久使用. 套餐一: 800元 订单查询:用户查询自己最近30天之内的订单记录. 实时通知:用户付款成功后,实时通知用户订单详 ...
- 史上最全教程没有之一,微信小程序使用云开发解决微信支付问题,我走了几天几夜的弯路啊
我现在用云开发平台,想实现微信支付功能: 微信支付的前提 1.你的小程序开通了支付功能或者,你的小程序关联了商户号 2.你的小程序能开通支付功能,一般都是非个人类型的小程序 准备工作 1.获取小程序的 ...
- HBuilderX搭建微信小程序;HBuilderX开发uni-app微信小程序;uni-app开发微信小程序;使用uni-app搭建微信小程序;使用uni-ui模板搭建微信小程序步骤
1.选择模板 uni-ui 2.得到创建项目 3.获取APPid 在微信小程序电脑后台获取APPID 这个方法适用于自己申请的微信小程序(自己用的小程序) 打开微信小程序官网:https://mp.w ...
- 零基础微信完整版小程序开发之微信表情包小程序前端+后台源码(java)
前言: 现在小程序越来越火,由于个人兴趣爱好平时喜欢斗图,然后就有了这个小程序的开发计划,这篇文章主要介绍自己开发一款小程序经验也踩过的坑. 准备: 1,域名和服务器(域名必须要申请https)阿里云 ...
最新文章
- Linux下的Shell工作原理
- 黑马程序员:从零基础到精通的前端学习路线
- android小米计算器布局,小米这8个逆天小功能一定用起来!不会用,手机简直白买...
- css属性 background
- 基于chrome内核的.NET开发资源
- iOS - CALayer 绘图层
- 7-40 最大的数 (10 分)
- 【转】Google Maps Android API V2的使用及问题解决
- Tcl8.6原生支持oop了
- 常见web攻击方式与防御方法
- Python组合列表中多个整数得到最小整数(一个算法的巧妙实现)
- 马的走法编程java_马周游问题(Java实现)
- pytorch教程:Flatten类实现的模版
- Linux中防火墙端口查看,开启与关闭
- [代码片断]SQL中解析XML数据
- centos7.4 update git
- 第二篇、python进阶篇
- java爬虫抓取起点小说,手把手带你爬虫 | 爬取起点小说网
- python批量下载pdf
- WIN10彻底禁用UAC(用户账户控制)
热门文章
- 用python求正方形周长_用于正方形、矩形和ci的周长和面积的单独函数
- 第一章:知识图谱概述
- Linux下安装jdk
- mysql truncate 释放空间_mysql truncate table未释放表空间磁盘空间
- java完成九宫格数独_数独(简易九宫格) - 小黑202的个人空间 - OSCHINA - 中文开源技术交流社区...
- EPlan2.6版本解决卡顿未响应问题(安装防卡顿布丁)
- WRF模式可以做什么?天气预报、模拟分析观测气温、降水、风场、水汽和湿度、土地利用变化、土壤及近地层能量水分通量、土壤、水体、植被等相关气象变量
- c语言 字符指针,字符串的输出
- 大学生月老系统2.0
- mapgis10-10.26、27