判断网页是否是微信打开
function isWeiXin(){
var ua = window.navigator.userAgent.toLowerCase();
if(ua.match(/MicroMessenger/i) == 'micromessenger'){
return true;
}else{
return false;
}
}
微信授权登录后,将用户的信息通过localStorage.setItem()(使用localStorage.item = “xxx”,当使用localStorage.item获取存储的信息时,有时候获取不到,因此要使用标准的写法)保存起来后,当用户在微信的 我->通用->清除浏览器存储信息时,会将localStorage里面的信息清除掉,所以要在用户进入首页的时候进行授权,并保存信息以及进行用户信息是否存在的判断。
微信授权获得用户信息
第一步:用户同意授权,获取code,必须通过浏览器的跳转执行,不能通过服务器去请求
第二步:通过code换取网页授权access_token
这一步通常也是在服务器端做,同时要考虑access_token过期问题
https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code
第三步:拉取用户信息(需scope为 snsapi_userinfo)
这一步也是在服务器端执行。
如果在客服端去请求会显示跨域错误:
不用应用获得用户的统一标识
请注意,如果开发者有在多个公众号,或在公众号、移动应用之间统一用户帐号的需求,需要前往微信开放平台(http://open.weixin.qq.com)绑定公众号后,才可利用UnionID机制来满足上述需求。UnionID机制说明:开发者可通过OpenID来获取用户基本信息。特别需要注意的是,如果开发者拥有多个移动应用、网站应用和公众帐号,可通过获取用户基本信息中的unionid来区分用户的唯一性,因为只要是同一个微信开放平台帐号下的移动应用、网站应用和公众帐号,用户的unionid是唯一的。换句话说,同一用户,对同一个微信开放平台下的不同应用,unionid是相同的。
小程序码
通过微信小程序获得小程序码为一串二进制流,将二进制流转化为图片
$res //接口返回的二进制流
$content = base64_encode($res);
$image = 'data:images/png;base64,' . $content;
echo '<img src="'.$image.'" />';
exit;
访问获得图片后,将图片保存下来(右键,放到本地)就好了。