您现在的位置是:网站首页>软件开发>开发终端>thinkphpthinkphp

微信返回的错误码和错误信息字段是errcode和errmsg,不要和tp5搞混了。

风口下的猪2019-08-29thinkphp

简介

 错题症状


当code码正确并且有效时,却进入了判断错误抛出异常的情况


 错题分析

查看源代码进行分析

if(empty($wxResult)){
throw new Exception('获取session_key及openId异常,微信内部错误');
}else{
$loginFail=array_key_exists('errorCode',$wxResult);
if(!$loginFail){
$this->processLoginError($wxResult);
}else{
return $this->grantToken($wxResult);
}
}


不难发现$loginFail=array_key_exists('errorCode',$wxResult);这一行,即是依据$wxResult结果中有没有'errorCode'数组索引来判断其是否是正确返回。


这里注意$wxResult,是通过code码、小程序AppID、AppSecret、微信loginUrl 等信息,利用php内部http请求获取回来的openid及session_key。

如果$wxResult正确返回,数组应该是['openid'=>'.....','session_key'=>'......'];

如果$wxResult获取失败,数组应该是['errcode'=>'...','errmsg'=>'......']


 错题解决方案

将$loginFail=array_key_exists('errorCode',$wxResult);中的errorCode改为errcode即可

很赞哦! (0)

  • 软件开发
  • 素质要求
  • 计算机基础
  • 架构
  • 安全
  • 性能
  • 运维
  • 尾页
  • 数据库
  • 开发终端
  • 语言基础
  • 项目管理
  • 产品设计
  • 系统
  • 工作规范
  • 计算机网络
  • 前端技术栈
  • 数据结构
  • 计算机组成原理
  • 后端技术栈
  • 性能优化
  • 安全设计
  • 常见模块
  • 计算机操作系统
  • 服务器
  • python
  • MySQL
  • thinkphp
  • PHP
  • Java
  • JavaScript
  • Windows
  • Linux
  • 特效
  • indexedDB
  • vue
  • 淘宝联盟
  • Ionic
  • Angular
  • 微信小程序
  • 支付宝小程序
  • uni-app
  • css/sass/less
  • 支付
  • socket
  • 爬虫
  • web性能优化
  • 消息推送
  • CVM
  • sqlite
  • Redis
  • 前端基础
  • 基础
  • element
  • Nginx
  • yii2
  • /ponder/index.php/index/catelist/catelist/cateid/10.html

    相关阅读 (同一栏目)

    << /

    标签云

    站点信息

    • 文章统计:528篇
    • 移动端访问:扫码进入SQ3R