JS方式 获取微信openid 【html5+jquery】
感谢:https://blog.csdn.net/yelin042/article/details/79707855
$(function () {var wxopenid=getcookie('wxopenid');var key=getcookie('key');if (key==''){var access_code=GetQueryString('code');if (wxopenid==""){if (access_code==null){ var fromurl=location.href;var url='https://open.weixin.qq.com/connect/oauth2/authorize?appid=填你自已的appid哟&redirect_uri='+encodeURIComponent(fromurl)+'&response_type=code&scope=snsapi_base&state=STATE%23wechat_redirect&connect_redirect=1#wechat_redirect';location.href=url;}else{ $.ajax({type:'get',url:ApiUrl+'/index.php?act=payment&op=getopenid', async:false,cache:false,data:{code:access_code},dataType:'json',success:function(result){ if (result!=null && result.hasOwnProperty('openid') && result.openid!=""){addcookie('wxopenid',result.openid,360000); getlogininfo(result.openid);} else{alert('微信身份识别失败 \n '+result);location.href=fromurl;}}}); }}else{if (key=='' && wxopenid!='')getlogininfo(wxopenid); }function getlogininfo(wxopenid){ $.ajax({type:'get',url: ApiUrl + '/index.php?act=login&op=autologininfo',data: { wxopenid:wxopenid},dataType:'json',async:false,cache:false, success: function (result) { if (result.return_code=='OK'){addcookie('key',result.memberinfo.key);addcookie('username',result.memberinfo.username);}else{alert(result.return_msg);location.href=WapSiteUrl+'/tmpl/member/login.html';}}});}}
});
函数
// 写cookie
function addcookie(name,value,expireHours){var cookieString=name+"="+escape(value)+"; path=/";//判断是否设置过期时间if(expireHours>0){var date=new Date();date.setTime(date.getTime+expireHours*3600*1000);cookieString=cookieString+"; expire="+date.toGMTString();}document.cookie=cookieString;
}// 获取cookie
function getcookie(name){var strcookie=document.cookie;var arrcookie=strcookie.split("; ");for(var i=0;i<arrcookie.length;i++){var arr=arrcookie[i].split("=");if(arr[0]==name)return decodeURIComponent(arr[1]); //增加对特殊字符的解析}return "";
}// 删除cookie
function delCookie(name){//删除cookievar exp = new Date();exp.setTime(exp.getTime() - 1);var cval=getcookie(name);if(cval!=null) document.cookie= name + "="+cval+";path=/;expires="+exp.toGMTString();
}
感谢:https://blog.csdn.net/sinat_33010325/article/details/83795026
URL参数值获取GetQueryString
function GetQueryString(name) {var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");var r = window.location.search.substr(1).match(reg);if(r != null) {return decodeURIComponent(r[2]);}return '';
}
讲解
其中"(^|&)" + name + "=([^&]*)(&|KaTeX parse error: Expected 'EOF', got '&' at position 19: …意思就是取以name开头或者以&̲开头以&或者以结尾的字符串
window.location.search.substr(1).match(reg)的意思是找出?之后匹配reg的字符串
decodeURIComponent(r[2])的意思是对所选的字符串进行解码
JS方式 获取微信openid 【html5+jquery】相关推荐
- 微信公众号开发系列-获取微信OpenID
在微信开发时候在做消息接口交互的时候需要使用带微信加密ID(OpenId),下面讲讲述2中类型方式获取微信OpenID,接收事件推送方式和网页授权获取用户基本信息方式获取. 1.通过接收被动消息方式获 ...
- 如何获取微信openId
获取微信openid openid定义 为了识别用户,每个用户针对每个公众号会产生一个安全的OpenID,如果需要在多公众号.移动应用之间做用户共通,则需前往微信开放平台,将这些公众号和应用绑定到一个 ...
- vue获取微信登陆权限_vue 授权获取微信openId操作
1.获取url中参数code: 根据code 获取openId:调用后台接口获取openId . function getUrlKey(name){//获取url 参数 return decodeUR ...
- 微信开放平台 获取微信openid和unionid
<?php //官方文档 https://developers.weixin.qq.com/doc/oplatform/Website_App/WeChat_Login/Wechat_Login ...
- uniapp云开发云函数获取微信openid
产品类型:目前只有微信小程序. 目标:授权登录,建立用户体系. 框架:uniapp+云开发+云函数. 方案一:通过官方提供的 univerify 插件 官方文档:uni一键登录 - uni-app官网 ...
- PHP获取微信openid(静默式不需要用户同意)!
业务需求 因为需要在用户没有关注公众号的情况下获取用户openid,又不需要用户关注,所以需要静默获取一下用户的openid.前提是你需要在微信内打开. 相关代码 以snsapi_base为scope ...
- 域名微信拦截html代码,多域名下获取微信openId,通过拦截器注解实现,减少代码量以及业务混淆...
一个注解,一个拦截器,还有一个中转html页(来源网上,稍微修改),原理看拦截器的类注解.package com.xxx.admin.interceptor; import com.xxx.core. ...
- 关于.NET HttpClient方式获取微信小程序码(二维码
随着微信小程序的火热应用,市面上有关小程序开发的需求也多了起来.近来分析了一项生成有关生成微信小程序码的需求--要求扫码跳转到小程序指定页面(带参数):看了下小程序官方文档,以及网上的例子,未看到多少 ...
- SpringBoot获取微信openid(java)
工具类 public class ComonUtils {public static StringBuffer appendUrl(StringInput code) {StringBuffer in ...
- 获取微信openid
其实原理上讲,可以批量获取openid后,逐条匹配详细信息,并保存到本地,然后找出你需要的用户openid信息. 然而,今天网上偶然发现神人们居然有各种招式 https://www.zhihu.com ...
最新文章
- 电子书格式怎么在线转换为PDF格式
- PHP常见的字符串方法
- java设计模式概述
- WF初学者对工作流的认识
- WmS详解(一)之token到底是什么?基于Android7.0源码
- 手机关机后,就没有定位信息了
- vs2015 html页面没有试图,vs2015 web设计视图假死,求帮助
- linux mysql 挂马_linux服务器被挂马
- Effective STL中文版 译序
- python decimal.quantize()参数rounding的各参数解释与行为
- node 压缩图片_免费的图片最佳化工具,支持JPG、PNG等格式的无损压缩
- 软件观念革命-交互设计精髓
- 打开Office时总是提示“正在配置microsoft office解决方法
- C语言面试题---数组
- 计算机技术应用基础知识,计算机三级PC技术章节习题及答案:计算机应用的基础知识...
- 三阶矩阵的lu分解详细步骤_lu分解(笔算矩阵lu分解步骤)
- OpenCV-RGB转HSV
- TimestampUtil时间处理工具类
- 图标、协同办公等新素材上线,100%实用!
- AI_Cousera笔记(吴恩达)_开篇