关于微信小程序的登录,官网有一个demo大家可以去看一下https://developers.weixin.qq.com/miniprogram/dev/api/open-api/user-info/wx.getUserProfile.html
这里的话我是直接自动登录(注意:现在微信小程序已经不再使用自动授权登录,这里只是测试)
话不多说,直接上代码
这里要使用一下BaseController
<?php
declare (strict_types = 1);
namespace app\week2\controller;
use app\BaseController;
use app\test722\server\Token;
use app\week2\model\Wxuser;
use Firebase\JWT\JWT;
use think\Response;
class WxLogin extends BaseController
{
/**
* Notes:微信小程序自动登录
*/
public function index()
{
//接收code值
$params = $this->request->get();
$appId = "";
$AppSecret = "";
$url = "https://api.weixin.qq.com/sns/jscode2session?appid={$appId}&secret={$AppSecret}&js_code={$params['code']}&grant_type=authorization_code";
$res = $this->geturl($url);
//获得openid
//先查表 看有没有该id用户
$data = Wxuser::where('openid',$res['openid'])->find();
if ($data)
{
//JWT 生成Token
$token = (new Token())->generateToken($data['id']);
return Response::create(['code'=>200,'msg'=>'登录成功','token'=>$token],'json');
}else{
//添加
$res = Wxuser::create(['openid'=>$res['openid']]);
if ($res)
{