**目录 (Table of Contents)**
[TOC]
## OAuth2.0 微信端静默登录
```PHP
$wxConfigure = new WechatConfig();
$wxConfigure->setParameter("appid",YOURAPPID);
$wxConfigure->setParameter("appsecret",YOURSECRET);
$wxConfigure->setParameter("callback",CALLBACK);
// 假设您已经获取了ACCESS_TOKEN
// 如果没有获取,可以查看5.2章节 该凭证通过 WechatServerApi -> getAccessToken 获取
// 并存放在数据库中,维护token的有效期
$wxConfigure->setParameter("access_token",ACCESS_TOKEN);
$OAuthApi = new OAuthApi($wxConfigure);
// 如果首次没有拿到Code,先获取Code
// SPA应用直接在前端获取调转地址,使用location.href完成跳转
if(!isset($_GET['code']) && empty($_GET['code']))
{
// PAGE_URL 是当前处理函数的路由
$redirectUri = $OAuthApi->createOauthUrlForCode(PAGE_URL);
header("location:{$redirectUri}");
exit;
}
// 获取 openid
$openid = $OAuthApi->getOpenId($_GET['code']);
// 这里必须使用通用API凭证access_token,不能使用授权凭证access_token
$wechatUserInfo = $OAuthApi->getWechatUserInfo(ACCESS_TOKEN,$openid['openid']);
// $wechatUserInfo 就是微信服务器返回来的微信用户数据对象
// 可以通过$wechatUserInfo->toArray() 转换为数组
// 该对象是 WechatUser对象,可以参考 4.8.1 章节
// 操作本地数据库,完成登录后续工作,如存储session,未注册提示注册等
```
- 1、序言
- 1.1、更新说明
- 1.2、更新计划
- 2、开始使用 Endor
- 3、目录结构
- 4、类说明
- 4.1、WechatConfig
- 4.2、WechatValid
- 4.3、WechatCommon
- 4.4、WechatException
- 4.5、基础接口
- 4.5.1、ShortUrl
- 4.5.2、WechatServerApi
- 4.6、菜单接口
- 4.6.1、菜单类设计
- 4.6.2、Menu
- 4.6.3、ClickMenu
- 4.6.4、ViewMenu
- 4.6.5、MiniProgramMenu
- 4.6.6、MenuApi
- 4.7、消息接口
- 4.7.1、Receiver
- 4.7.2、Message
- 4.7.3、EventMessage
- 4.7.4、TextMessage
- 4.7.5、ClickEventMessage
- 4.7.6、SubscribeEventMessage
- 4.7.7、UnSubscribeEventMessage
- 4.7.8、LocationEventMessage
- 4.7.9、ImageMessage
- 4.7.10、LinkMessage
- 4.7.11、NewsMessage
- 4.7.12、NewsContext
- 4.8、OAuth2.0权限验证
- 4.8.1、WechatUser
- 4.8.2、OAuthApi
- 4.9、微信支付接口
- 4.9.1、微信支付类设计
- 4.9.2、PayApi
- 4.9.3、RequestPay
- 4.9.4、ResponsePay
- 4.9.5、UnifiedOrder
- 4.9.6、JsPay
- 4.9.7、Refund
- 4.9.8、Query
- 4.9.9、Bill
- 4.9.10、NotifyData
- 4.9.11、Notify
- 4.10、模板消息接口
- 4.10.1、TemplateContext
- 4.10.2、TemplateMessageApi
- 5、使用场景
- 5.1、微信接入服务器验证
- 5.2、获取微信API令牌(access_token)
- 5.3、获取JS API
- 5.4、OAuth2.0静默登录
- 5.5、微信菜单
- 5.6、微信消息
- 5.7、微信支付
- 5.7.1、微信公众号内JsApi支付
- 5.7.2、Native 模式二 扫码支付
- 5.8、模板消息发送