最近做的一个商城项目中,要用到发货和收货人地址的功能,上面要求要用微信PC扫码授权登陆;自己试着用研究了好久写了一个,但是发现有好多兼容问题,具体实现步骤如下.微信PC扫码授权登陆 php简单示例代码
首先须要申请,必须企业,个体工商户,媒体等
申请地址 https://open.weixin.qq.com/
演示参考下这个:http://t.cn/ROuy90K
1、首先到微信开放平台申请https://open.weixin.qq.com/ 获取到appid和APPSECRET,前台显示页面如下
前台完整代码如下:
<!DOCTYPE html> <html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8"> </head> <body> <span id="login_container"></span> <script src="http://res.wx.qq.com/connect/zh_CN/htmledition/js/wxLogin.js"></script> <script> var obj = new WxLogin({ id: "login_container", appid: "wxed782be999f86e0e", scope: "snsapi_login", redirect_uri: encodeURIComponent("http://" + window.location.host + "/login.php"), state: Math.ceil(Math.random()*1000), style: "black", href: ""}); </script> </body> </html>
2、服务器端完整代码如下:
/* require_once('weixin.class.php'); $weixin = new class_weixin(); */ define('APPID', "wx19ba77624e083e08"); define('APPSECRET', "c1a56a5c4247dd44c320c9719c5ceb90"); class class_weixin { var $appid = APPID; var $appsecret = APPSECRET; //构造函数,获取Access Token public function __construct($appid = NULL, $appsecret = NULL) { if($appid && $appsecret){ $this->appid = $appid; $this->appsecret = $appsecret; } //扫码登录不需要该Access Token, 语义理解需要 //1. 本地写入 $res = file_get_contents('access_token.json'); $result = json_decode($res, true); $this->expires_time = $result["expires_time"]; $this->access_token = $result["access_token"]; if (time() > ($this->expires_time + 3600)){ $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$this->appid."&secret=".$this->appsecret; $res = $this->http_request($url); $result = json_decode($res, true); $this->access_token = $result["access_token"]; $this->expires_time = time(); file_put_contents('access_token.json', '{"access_token": "'.$this->access_token.'", "expires_time": '.$this->expires_time.'}'); } } /* * PART1 网站应用 */ /* header("Content-type: text/html; charset=utf-8"); require_once('wxopen.class.php'); $weixin = new class_weixin(); if (!isset($_GET["code"])){ $redirect_url = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; $jumpurl = $weixin->qrconnect($redirect_url, "snsapi_login", "123"); Header("Location: $jumpurl"); }else{ $oauth2_info = $weixin->oauth2_access_token($_GET["code"]); $userinfo = $weixin->oauth2_get_user_info($oauth2_info['access_token'], $oauth2_info['openid']); var_dump($userinfo); } */ //生成扫码登录的URL public function qrconnect($redirect_url, $scope, $state = NULL) { $url = "https://open.weixin.qq.com/connect/qrconnect?appid=".$this->appid."&redirect_uri=".urlencode($redirect_url)."&response_type=code&scope=".$scope."&state=".$state."#wechat_redirect"; return $url; } //生成OAuth2的Access Token public function oauth2_access_token($code) { $url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=".$this->appid."&secret=".$this->appsecret."&code=".$code."&grant_type=authorization_code"; $res = $this->http_request($url); return json_decode($res, true); } //获取用户基本信息(OAuth2 授权的 Access Token 获取 未关注用户,Access Token为临时获取) public function oauth2_get_user_info($access_token, $openid) { $url = "https://api.weixin.qq.com/sns/userinfo?access_token=".$access_token."&openid=".$openid."&lang=zh_CN"; $res = $this->http_request($url); return json_decode($res, true); }
相关推荐
PHP微信开放平台扫码登录源码PHP微信开放平台扫码登录源码PHP微信开放平台扫码登录源码PHP微信开放平台扫码登录源码
PHP原生代码实现微信扫码关注公众号并同时登录,适用于PC段进行扫描登陆。 大家可以下载使用。PHP原生代码实现微信扫码关注公众号并同时登录,适用于PC段进行扫描登陆。 大家可以下载使用。
【ASP.NET编程知识】.NET微信开发之PC 端微信扫码注册和登录功能实现.docx
PHP微信扫码登录看起来简单,但做起来有点复杂,微信接口的坑有点多,稍不注意,就费很多时间。PHP判断是否首次关注公众号,获取微信用户头像、openid和省市等信息
微信扫码登录源码资料JAVA学习原代码练习
PHP微信扫码关注公众号并授权登录源码 PHP微信扫码登录看起来简单,但做起来有点麻烦,开发起来就会浪费很多的时间。 PHP判断是否首次关注公众号,扫码关注公众号获取微信用户头像、openid和省市等信息源码。 第...
weixin_login 微信网页授权实现扫码登录
【程序老媛出品,必属精品,亲测校正,质量保证】 资源名:asp微信公众号授权登陆...源码说明: 基于asp编写的微信公众号授权登陆程序 包含完整的代码和注释 非常适合借鉴学习 适合人群:新手及有一定经验的开发人员
python flask 框架对接微信登陆网页端的功能,文件中包含代码和实现思路等。
PHP扫码关注微信公众号PHP扫码关注微信公众号PHP扫码关注微信公众号PHP扫码关注微信公众号PHP扫码关注微信公众号PHP扫码关注微信公众号PHP扫码关注微信公众号PHP扫码关注微信公众号PHP扫码关注微信公众号PHP扫码关注...
易语言 微信 扫码 登录 源码
主要介绍了Python版实现微信公众号扫码登陆,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
完整封装微信服务号扫码登陆代码,复制修改配置即可使用,带文档说明,流程介绍
易语言微信扫码登录器
PHP微信扫码关注公众号并授权登录,网站使用公众号授权登录,上传资料中已经数据库和代码全部生成,未删减
springboot实现web端微信扫码登录项目(基于微信开放平台)
PHP微信扫码关注公众号并授权登录源码 PHP微信扫码登录看起来简单,但做起来有点麻烦,开发起来就会浪费很多的时间。 PHP判断是否首次关注公众号,扫码关注公众号获取微信用户头像、openid和省市等信息源码。 第一...
扫码登录、获取扫码人的身份信息
微信授权登陆全后台实现(springboot),博客地址https://blog.csdn.net/qq_38263083/article/details/86717327
主要介绍了PHP实现的微信公众号扫码模拟登录功能,涉及php针对微信公众平台接口的调用与交互相关操作技巧,需要的朋友可以参考下,PHP代码实现微信扫码关注公众号并同时登录,少积分下载