tp6 openid获取 JWT中间件

安装tp6 和配置

1安装tp6:命令: composer create-project topthink/think tp

2 创建多应用模式安装扩展

composer require topthink/think-multi-app

3 快速生成模块应用 php think build demo
4 创建模块下的 控制器类php think make:controller index@Blog

wx login登录

1 控制器登录层

<?php
declare (strict_types = 1);

namespace app\api\controller;

use app\api\model\user as UserModel;
use app\api\server\Token as TokenServer;
use think\Request;

class Login
{
   
    public function wxLogin(Request $request){
   
        //echo 1234;die();
        //获取code码
        $code = $request->get('code'); //var_dump($code);die();
        //获取微信授权url
        $url = sprintf(config('wx.url'),config('wx.AppID'),config('wx.AppSecret'),$code);
        //获取openid
        $data = curlGet($url);

       // var_dump($data);die();
        //进行查询数据库里面是否有该用户,如果没有,则进行新增
        $user = UserModel::where('openid',$data['openid'])->find();
        //如果没有用户进行创建
        if (empty($user)){
   
            $user = UserModel::create([
                'openid'=>$data['openid']
            ]);
        }
        //生成token,保存用户登录状态
        $token = (new TokenServer())->generateToken($user->id);
        return json(['token'=>$token,'error_code'=>0,'msg'=>'登录成功']);
        //return json(['token'=>$token,'error_code'=>0,'msg'=>'登录成功','openid'=>$user['openid']]);

    }

}

在模块下的common.php 文件里配置 系统自动生成的公共文件


<?php
// 这是系统自动生成的公共文件

function curlGet($url){
   
    $headerArray =array("Content-type:application/json;","Accept:application/json");
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值