ThinkPHP5.1与微信公众号对接

1. 启动Apache(这里使用phpStudy2016集成环境)

对接演示1

2. 运行ngrok将本机Ip映射为公网Ip

2.1 微信公众平台交互模式

  • 这里不得不提及微信公众平台的交互模式。
    • 通常的 Web 网站的开发,用户端只需要将信息发送到开发者服务器,再由开发者服务器进行业务处理,然后返回信息给用户端即可实现通讯。
      在这里插入图片描述
    • 微信公众平台的开发,用户端需要将信息发送到微信服务器,由微信服务器转发用户端的信息到开发者服务器,再由开发者服务器进行业务处理,然后将信息返回给微信服务器,最后由微信服务器转发给用户端来实现通讯。
      在这里插入图片描述
      因此,如果想要微信服务器可以访问开发者服务器,需要将开发者服务器的IP映射为公网IP。

2.2 运行ngrok

在这里插入图片描述

在这里插入图片描述

注解:ngrok的安装与使用

3. 测试IP

在这里插入图片描述

4. 上代码

/**
 * 校验微信公众号
 * @author Why
 * @param  Request $request 请求对象
 * @return string          校验结果
 */
public function isWechat($request)
{
    //Token
    $token = '这里自定义内容';
    
    //获取签名
    $signature = $request::param('signature');

    //获取随机字符串
    $echostr   = $request::param('echostr');

    //获取时间戳
    $timestamp = $request::param('timestamp');

    //获取随机数
    $nonce     = $request::param('nonce');

    //1)将token、timestamp、nonce三个参数进行字典序排序
    $array = array($timestamp, $nonce, $this->token);
    sort($array);

    //2)将三个参数字符串拼接成一个字符串进行sha1加密
    $temp = implode($array);
    $temp = sha1($temp);

    //3)开发者获得加密后的字符串可与signature对比,标识该请求来源于微信
    if($temp === $signature)
    {
        return $echostr;
    }
}

5. 发送连接请求

在这里插入图片描述

6. 微信官方文档接入指南

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要开发ThinkPHP微信登录接口,你需要按照以下步骤进行操作: 1. 首先,你需要在微信开放平台上注册一个开发者账号,并创建一个新的应用程序。 2. 在ThinkPHP项目中,你需要安装EasyWeChat扩展包来实现微信登录接口的开发。可以使用Composer来安装,命令如下: ``` composer require overtrue/wechat ``` 3. 在ThinkPHP项目中,你需要创建一个控制器来处理微信登录请求,例如: ``` namespace app\controller; use think\Controller; use EasyWeChat\Factory; class WechatController extends Controller { public function login() { $config = [ 'app_id' => 'your-app-id', 'secret' => 'your-app-secret', 'oauth' => [ 'scopes' => ['snsapi_userinfo'], 'callback' => '/wechat/callback', ], ]; $app = Factory::officialAccount($config); $response = $app->oauth->redirect(); return $response; } public function callback() { $config = [ 'app_id' => 'your-app-id', 'secret' => 'your-app-secret', ]; $app = Factory::officialAccount($config); $user = $app->oauth->user(); // 保存用户信息到数据库等操作 return redirect('/user/profile'); } } ``` 在上面的代码中,`login()`方法用于重定向到微信授权页面,`callback()`方法用于处理授权回调并获取用户信息。 4. 在ThinkPHP项目中,你需要创建一个路由来指定微信登录请求的URL,例如: ``` Route::get('wechat/login', 'WechatController@login'); Route::get('wechat/callback', 'WechatController@callback'); ``` 5. 最后,你需要在微信开放平台上配置授权回调URL,例如: ``` http://your-domain.com/wechat/callback ``` 这样,你就可以在ThinkPHP项目中实现微信登录接口了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值