在上篇文章给大家介绍了微信企业号开发之微信考勤百度地图定位,接下来通过本文学习微信企业号开发之微信考勤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技巧相关推荐

  1. 微信小程序使用云开发实现微信支付功能 报错Error: 签名错误,史上最全解决办法,不服留言骂我

    报错背景 微信小程序使用云开发实现微信支付功能,但是报错了 报错信息 报错原因 小程序想要使用微信支付,必须满足下面几个条件的 1,必须是非个人小程序(个人小程序用不了支付) 企业小程序需要认证! 2 ...

  2. android仿微信点击好友,安卓开发仿微信联系人列表-机器人列表视图仿微通道聊天多久最底部滑动...

    楼主你好!根据你的描述,让我给你答案! :新内容加进来,列表视图重新为setSelection后,定位结束后,拉起一个页面放. . 希望你能有所帮助,如果满意,请记得采纳像下拉条为微信好友如何实现 简 ...

  3. 微信现金红包asp源码开发的微信一物一码红包系统,asp微信现金红包源码

    最近接了一个生产万能胶的客户红包开发的要求,他想实现在他所有产品包装上贴一个小标签,上面有二维码可以扫码关注他的公众号,下面是一个刮刮银,刮开后是上串数字码,别人关注他的公众号后就可 以在公众号下面的 ...

  4. 微信公众平台搭建与开发揭秘//////微信公众平台应用开发实战

    微信公众平台搭建与开发揭秘,完整扫描版 [香港回来了,累啊.这个是从http://www.ckook.com/处获得的电子书,自制的就不上传了,免得被人叽歪] <微信公众平台搭建与开发揭秘> ...

  5. 企业号开发php,微信企业号-开发笔记-1

    开发微信企业号,首先需要实名认证,然后可以获得200人关注的企业号,认证以后可以获得1000人关注,企业号可以建立若干个应用,每个应用相当于一个订阅号或者服务好功能,但是没有发送消息限制,本文假设已经 ...

  6. 微信小店二次开发_微信小店二次开发功能套餐列表

    本商品包括微信小店二次功能开发套餐. [商品介绍]以下费用均为一次性费用.永久使用. 套餐一: 800元 订单查询:用户查询自己最近30天之内的订单记录. 实时通知:用户付款成功后,实时通知用户订单详 ...

  7. 史上最全教程没有之一,微信小程序使用云开发解决微信支付问题,我走了几天几夜的弯路啊

    我现在用云开发平台,想实现微信支付功能: 微信支付的前提 1.你的小程序开通了支付功能或者,你的小程序关联了商户号 2.你的小程序能开通支付功能,一般都是非个人类型的小程序 准备工作 1.获取小程序的 ...

  8. HBuilderX搭建微信小程序;HBuilderX开发uni-app微信小程序;uni-app开发微信小程序;使用uni-app搭建微信小程序;使用uni-ui模板搭建微信小程序步骤

    1.选择模板 uni-ui 2.得到创建项目 3.获取APPid 在微信小程序电脑后台获取APPID 这个方法适用于自己申请的微信小程序(自己用的小程序) 打开微信小程序官网:https://mp.w ...

  9. 零基础微信完整版小程序开发之微信表情包小程序前端+后台源码(java)

    前言: 现在小程序越来越火,由于个人兴趣爱好平时喜欢斗图,然后就有了这个小程序的开发计划,这篇文章主要介绍自己开发一款小程序经验也踩过的坑. 准备: 1,域名和服务器(域名必须要申请https)阿里云 ...

最新文章

  1. Linux下的Shell工作原理
  2. 黑马程序员:从零基础到精通的前端学习路线
  3. android小米计算器布局,小米这8个逆天小功能一定用起来!不会用,手机简直白买...
  4. css属性 background
  5. 基于chrome内核的.NET开发资源
  6. iOS - CALayer 绘图层
  7. 7-40 最大的数 (10 分)
  8. 【转】Google Maps Android API V2的使用及问题解决
  9. Tcl8.6原生支持oop了
  10. 常见web攻击方式与防御方法
  11. Python组合列表中多个整数得到最小整数(一个算法的巧妙实现)
  12. 马的走法编程java_马周游问题(Java实现)
  13. pytorch教程:Flatten类实现的模版
  14. Linux中防火墙端口查看,开启与关闭
  15. [代码片断]SQL中解析XML数据
  16. centos7.4 update git
  17. 第二篇、python进阶篇
  18. java爬虫抓取起点小说,手把手带你爬虫 | 爬取起点小说网
  19. python批量下载pdf
  20. WIN10彻底禁用UAC(用户账户控制)

热门文章

  1. 用python求正方形周长_用于正方形、矩形和ci的周长和面积的单独函数
  2. 第一章:知识图谱概述
  3. Linux下安装jdk
  4. mysql truncate 释放空间_mysql truncate table未释放表空间磁盘空间
  5. java完成九宫格数独_数独(简易九宫格) - 小黑202的个人空间 - OSCHINA - 中文开源技术交流社区...
  6. EPlan2.6版本解决卡顿未响应问题(安装防卡顿布丁)
  7. WRF模式可以做什么?天气预报、模拟分析观测气温、降水、风场、水汽和湿度、土地利用变化、土壤及近地层能量水分通量、土壤、水体、植被等相关气象变量
  8. c语言 字符指针,字符串的输出
  9. 大学生月老系统2.0
  10. mapgis10-10.26、27