icharle/wxtool 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

icharle/wxtool

Composer 安装命令:

composer require icharle/wxtool

包简介

微信小程序登录、带参小程序码生成

README 文档

README

本扩展包包含用户详细信息解密、带参数小程序码生成并保存在本地目录功能。 用户详细信息解密官方也提供多种语言版本SDK(C++、PHP、Node、Python),在本扩展包中仅仅做封装处理。 带参数小程序码生成,官方给出三种接口,在此扩展包中采用 接口B (适用于需要的码数量极多的业务场景,通过该接口生成的小程序码,永久有效,数量暂无限制)。

使用方法

运行以下命令以获取最新版本:

composer require icharle/wxtool 1.0

将服务提供者添加到配置文件中的providers数组中config/app.php,如下所示:

'providers' => [

    ...

    Icharle\Wxtool\WxtoolServiceProvider::class,
]

发布配置文件

php artisan vendor:publish --tag=wxtool

此时有一个config/wxtool.php文件。

配置AppID及AppSecret

在根目录.env文件中添加如下代码

WX_APPID = 您的小程序小程序ID
WX_SECRET = 您的小程序密钥

公开storage访问文件(可选)

若要使用 带参数小程序码生成 功能时必须执行下面命令。生成的小程序码默认保存在storage/app/public/qrcode文件夹中

php artisan storage:link

快速入门

  • 获取带参数小程序码(示例代码)

    <?php
    
      namespace App\Http\Controllers;
    
      use Icharle\Wxtool\Wxtool;
      use Illuminate\Http\Request;
    
      class TestController extends Controller
      {    
      
          /**
           * 获取带参数小程序码
           * @param $scene 场景值(最大32个可见字符,只支持数字,大小写英文以及部分特殊字符)
           * @param $pages 页面(必须是已经发布的小程序存在的页面(否则报错)
           * @return $imgpath 小程序码路径 (可以直接访问 http://xxx.com/$imgpath)
           */
          public function GetImgCode()
          {
              $a = new Wxtool();
              $imgpath = $a->GetQrcode($scene,$pages); 
          }
      }
    
  • 获取用户详细信息(示例代码)

    <?php
    
      namespace App\Http\Controllers;
    
      use Icharle\Wxtool\Wxtool;
      use Illuminate\Http\Request;
    
      class TestController extends Controller
      {    
      
          /**
           * 获取用户详细信息
           * @param Request $request
           */
          public function GetInfo(Request $request)
          {
              $a = new Wxtool();
              $code = $request->code;                                     //wx.login获取
              $encryptedData = $request->encryptedData;                   //wx.getUserInfo 获取
              $iv = $request->iv;                                         //wx.getUserInfo 获取
              $res = $a->GetSessionKey($code);                            //获取用户openid 和 session_key
              $userinfo = $a->GetUserInfo($encryptedData,$iv);            //获取用户详细信息
          }
      }
    

    解密返回结果

    {
        "openId": "OPENID",
        "nickName": "NICKNAME",
        "gender": GENDER,
        "city": "CITY",
        "province": "PROVINCE",
        "country": "COUNTRY",
        "avatarUrl": "AVATARURL",
        "unionId": "UNIONID",
        "watermark":
        {
            "appid":"APPID",
            "timestamp":TIMESTAMP
        }
    }
    

icharle/wxtool 适用场景与选型建议

icharle/wxtool 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 1.6k 次下载、GitHub Stars 达 23, 最近一次更新时间为 2018 年 06 月 27 日, 在 PHP 生态内属于活跃度较高的组件。

我们在过去多个企业项目中使用过 icharle/wxtool 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 icharle/wxtool 我们能提供哪些服务?
定制开发 / 二次开发

基于 icharle/wxtool 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 1.6k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 24
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 23
  • Watchers: 0
  • Forks: 7
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2018-06-27