发布时间:2017年12月15日 17:28:29编辑:admin阅读(4901)评论(0)
很多微信开发初学者为什么一窍不通,只能啃文档
而有些人即使拼命啃文档也不一定能弄出效果呢,
其实微信开发很简单,只不过微信开发的门槛不简单,
微信登录还简单,但是微信支付就必须要花300大洋了。
而且你还必须是企业资质才能做微信支付开发,个人是不能做微信支付的。只能做做简单的微信授权登录,
我自己之前也打算弄个微信授权登录的,网页授权登录去申请了一个微信开放号,but,申请的时候明明勾选了个人,但是就是不知道为什么要我盖企业公章,我是个人啊大哥,不知道是账号问题还是个人微信开放号不能申请。。。咳咳,跑题了
回归正题,直接上一段代码 LoginController .php
<?php namespace Home\Controller; use Think\Controller; class LoginController extends Controller { Public function login(){ /* find_model('wx_open','id=1'); 个人封装方法, 内容 return M('wx_open')->where('id=1')->find(); 直接把微信的openID,appsecret 等参数 存在数据库,便于后台操作控制, C("WX_PAY_CONFIG"); 把openID,appsecret http_url 参数配置在config.php里 */ $wx = find_model('wx_open','id=1'); //$wx=C("WX_PAY_CONFIG"); $appid = $wx["appid"]; $secret = $wx["appsecret"]; $http_url = $wx["http_url"]; /*http%3A%2F%2F'.$http_url.'/%2Findex.php%2FHome%2FLogin%2Flogin $http_url 授权域名 Home 模块名 Login 控制器 login 接口 简单的理解就是当前接口路径地址, is_null($_GET["code"]) 判断当前路径请求有没有带code参数,没有就去请求微信,获取code并带code参数返回 */ if (is_null($_GET["code"])){ $url = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid='.$appid.'&redirect_uri=http%3A%2F%2F'.$http_url.'/%2Findex.php%2FHome%2FLogin%2Flogin&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect'; header("Location:".$url); }else{ //json_decode 返回数据转换成json //拿到code参数 $code = $_GET["code"]; $get_token_url = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid='.$appid.'&secret='.$secret.'&code='.$code.'&grant_type=authorization_code'; //get_curl($get_token_url) 获取access_token $json_obj = json_decode($this->get_curl($get_token_url),true); //根据openid和access_token查询用户信息 $access_token = $json_obj['access_token']; $openid = $json_obj['openid']; $get_user_info_url = 'https://api.weixin.qq.com/sns/userinfo?access_token='.$access_token.'&openid='.$openid.'&lang=zh_CN'; //解析json $user_obj = json_decode($this->get_curl($get_user_info_url),true); //$user_obj 到这里授权登录拿到的数据都在这里了,我这是存在cookies,哪里需要哪里获取 //你们自己也可以不存cookies,直接差数据库openID判断存不存在,没存在就添加一条数据,存在就获取id保存,登录完成 cookie("wx_user",$user_obj,9999999); } } //封装curl 请求 public function get_curl($get_url){ $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $get_url); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $output = curl_exec($ch); curl_close($ch); return $output; } }
接口就这么简简单单,直接复制就可以了,,方便你(便宜你)了。
然后就是域名的问题
这个地方配置授权域名,添加的是不带任何小尾巴的域名,且域名备案通过来了,小伙伴们明白了吗
最后一点,官方文档可能好多不懂,不懂可以看我的,或者分享给别人的,或者@我。这里添加域名授权的时候回叫你下个文件,你放到你的项目下,然后域名+文件名,能访问到就可以了,
既然网页域名授权都能添加成功了,这步肯定是已经通过来了。
最后再说一遍,开发的时候,使用的域名一定要是备案通过来得,然后项目必须放在服务器上,不是放在开发者的本地环境,必须服务器,必须服务器,必须服务器,必须备案了的,必须备案了的,必须备案了的。
好了,说完了,不懂得@我,留言我。谢谢
关键字: 微信
上一篇: 新手简单发送邮件
7529
4902
4789