charts oauth openssl Validator vue版本 js获取月份 tomcat调优和jvm调优 oracle存储过程返回值 kubernetes安装 python教程 python开发环境 python处理json文件 java开发环境 java的string java语言基础教程 java介绍 java开发环境搭建 javastring类型 java输出数组 java中接口的定义 java循环list 网络适配器驱动 hadoop权威指南 完美手游模拟器 系统工具箱 js日期格式化 python电子书 cdr怎么画波浪线 剑灵龙骨卷轴 马颂德 失心迷宫怎么打 日文游戏乱码转换工具 ae渲染设置 方正兰亭大黑简体 sai怎么复制图层 取小数点后两位函数 cad如何旋转图形 仁王木灵全收集 360街机三国 editplus中文版
当前位置: 首页 > 学习教程  > 编程语言

PC端实现微信扫码登录流程TP5

2020/11/4 14:33:47 文章标签:

//检测微信登录public function wechatLoginCheck(){$res db(login)->where(id, 2)->find();if ($res[status] 0) {$this->error("未启用微信登录");}if ($res[appid] "") {$this->error("微信登录APPID不能为空");}if ($res[app…

//检测微信登录
  public function wechatLoginCheck()
  {
    $res = db('login')->where('id', 2)->find();
    if ($res['status'] == 0) {
      $this->error("未启用微信登录");
    }
    if ($res['appid'] == "") {
      $this->error("微信登录APPID不能为空");
    }
    if ($res['appsecret'] == "") {
      $this->error("微信登录APPSECRET不能为空");
    }
    if ($res['notify'] == "") {
      $this->error("微信登录notify不能为空");
    }
    return $res;
  }

  //微信登录第一步
  public function gowechat()
  {
    $wechat = $this->wechatLoginCheck();   
    $url = 'https://open.weixin.qq.com/connect/qrconnect?appid=' . $wechat['appid'] . '&redirect_uri=' . urlencode($wechat['notify']) . '&response_type=code&scope=snsapi_login&state=' . md5(time()) . '#wechat_redirect';
    $this->redirect($url);
  }

  //微信登录回调处理
  public function wechatLogin()
  {
    $wechat = $this->wechatLoginCheck();
    $code = input('code');
    $url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=" . $wechat['appid'] . "&secret=" . $wechat['appsecret'] . "&code=" . $code . "&grant_type=authorization_code";
    $access_token = curl_get($url);
    $access_token = json_decode($access_token, true);
    if (!$access_token || isset($access_token['errcode'])) {
      $this->error("登录失败");
    }
    $url = "https://api.weixin.qq.com/sns/userinfo?access_token=" . $access_token['access_token'] . "&openid=" . $access_token['openid'];
    $user = curl_get($url);
    $user = json_decode($user, true);
    if (!$user) {
      $this->error("获取用户信息失败");
    }
    //user 为用户信息,下面继续业务逻辑
  }

这个微信扫码登录 要申请一个开发者,然后去认证,可能需要费用。通过后添加网站应用,获取 appid 配置回调路径等信息。


本文链接: http://www.dtmao.cc/news_show_350193.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?