①. 参考配置截图
②. 注意匹配对应目录以及令牌
/**
* 微信开发配置控制器
* Class WeixinController
* @package M\Controller
*/
class WeixinController extends Controller
{
public function index()
{
import('Org.Wechat.Weixin');
//参数传值 token、AppID、AppSecert
$wechat = new \Weixin('zxxxi', 'wxxxxxxxxx89', 'efxxxxxxxxxxxxxxxxxxxxxxxb7');
if (!isset($_GET['echostr'])) {
//TODO 调用响应消息函数 自动回复
$wechat->responseMsg();
} else {
//实现网址接入,调用验证消息函数
$wechat->valid();
}
}
}
③. 必要文件上传
微信公众平台近期发现规定需要在相应域名的根目录下上传文件,具体可从公众号下载。
二. 请求授权登录,获取微信用户信息
①. 代码参考
下面是本人摘抄并精简的部分代码,具体的业务逻辑需要自己相应进行补充或删减
import('Org.Wechat.Weixin');
//参数传值 token、AppID、AppSecert
$wechat=new \Weixin('zxxxxi','wxxxxxxxxxxxxx9','efxxxxxxxxxxxxxxxxxxxxxxxxxxxx7');
//可理解为这是当下的链接地址
$url = "http://www.xxxxx.com".$_SERVER['REQUEST_URI'];
//TODO 判断 memcache是否有值,是否过期 (此处只是一个判断举例)
if(!S(session('XXXNAME').'_NAMEID')){
if(!$_GET['code']){
$redirect_uri = $url;
$urls=$wechat->getOauthRedirect($redirect_uri);
header("Location:".$urls);
die;
}
}
$reT=$wechat->getOauthAccessToken();
//TODO 如果获得 token值
if($reT){
$openid = $reT['openid'];
$user_info = $wechat->getOauthUserinfo($reT['access_token'],$openid);
//查询数据库是否存在
$userData = M('users')
->where("openid = '$openid'")
->Field('user_id,user_name,abnormal')
->find();
if ($userData['user_id']) {
//执行操作 或者跳转页面
header("Location:???????");
}else{
//没有帐号需要转到用户名填写页面来完成授权
$maxuid = M('users')->max('user_id');
$user['openid'] = $openid;
$user['nickname'] = $user_info['nickname'];
$user['sex'] = $user_info['sex'];
$user['reg_time'] = time();
$user['user_img'] = $user_info['headimgurl'];
//TODO 进行新用户的添加
$addTag = add('users',$user);
}
}else{
//重新跳转,或其他操作...
}
内容版权声明:除非注明,否则皆为本站原创文章。

