web版微信不是用用户名密码而是用扫描二维码登录, 如何实现的呢 这个一般呢, 是在电脑上操作的, 你直接在电脑上面登陆微信, 会出现要你扫码登录的时候 。
微信登录扫码怎么弄
- jsp+spring+struts2+mybatis:
- 模仿微信pc网页版扫码登录
- 使用js代码生成qrcode二维码减轻服务器压力
- js循环请求服务端,判断是否qrcode被扫
- 二维码超时失效功能
- 二维码被扫成功登录,服务端产生sessionId,传到页面使用js保存cookie
- 多线程
- ### 生成qrcode相关js jquery.qrcode.js - ### 代码 “ 请使用手机扫码
- function keepPool(){
- var uuid = $("#uuid").val();
- $.get(ctx+"/web/login/pool.do",{uuid:uuid,},function(msg){//如果放入一个不存在的网址怎么办?
- //console.log(msg);
- if(msg.successFlag == '1'){
- $("#result").html("扫码成功");
- setCookie(msg.data.cname, msg.data.cvalue, 3*60*60*1000);
- //alert("将跳转...");
- window.location.href = http://www.ncwxdh.com/p/ctx +"/webstage/login/success.do";
- }else if(msg.successFlag == '0'){
- $("#result").html("该二维码已经失效,请重新获取");
- }else{
- keepPool();
- }
- });
- }
- //设置cookie
- function setCookie(cname, cvalue, expireTime) {
- var d = new Date();
- d.setTime(d.getTime() + expireTime);//设置过期时间
- var expires = "expires="+d.toUTCString();
- var path = "path=/"
- document.cookie = cname + "=" + cvalue + "; " + expires + "; " + path;
- }
- //二维码首页public String index() { try {
- uuid = UUID.randomUUID().toString(); super.getRequest().setAttribute("uuid", uuid);
- ScanPool pool = new ScanPool();
- pool.setCreateTime(System.currentTimeMillis());
- Map<String, ScanPool> map = new HashMap<String, ScanPool>(1);
- map.put(uuid, pool);
- PoolCache.cacheMap.put(uuid, pool);
- pool = null;
- } catch (Exception e) {
推荐阅读
- APP知识|如何巧妙跟老板说辞职,微信提离职领导不理睬
- APP知识|如何知道微信是什么时候注册的,微信什么时候诞生
- 手机知识|我的世界矿车怎么用,命令方块召唤别墅指令手机版
- 手机知识|怎么改图片上的文字,手机无痕修改图片文字
- 手机知识|华为手环怎么连接手机,华为band怎么连接手机
- 手机知识|苹果手机怎么没有声音了,iphone手机突然没有声音了
- 手机知识|手机截屏怎么设置,手机截屏大小怎么设置
- 手机知识|手机钢化膜怎么取下来,曲面屏手机有必要贴膜吗
- 手机知识|删的照片怎么找回来,怎样找回坏手机的照片
- 手机知识|微博登不了怎么办,手机微博登不上去怎么回事
//生成二维码
!function(){
var uuid = (“#uuid”).val();
var content;
content = “……….do?uuid=”+uuid;
//console.dir(content);(‘.pc_qr_code’).qrcode({
render:”canvas”,
width:200,
height:200,
correctLevel:0,
text:content,
background:”#ffffff”,
foreground:”black”,
src:”/logo.jpg”
});
setCookie(“sid”, 123, -1*60*60*1000);
keepPool();//自动循环调用
}();
java代码