awang/weapp-sdk
Composer 安装命令:
composer require awang/weapp-sdk
包简介
php sdk for qcloud weapp server
README 文档
README
注意
Wafer PHP SDK 已经全面升级 2.0 以支持 Wafer2,如果您想查看 Wafer1 的 PHP SDK 文档,请点击这里。
介绍
Wafer 服务端 SDK 是腾讯云为微信小程序开发者提供的快速开发库,SDK 封装了以下功能供小程序开发者快速调用:
- 用户登录与验证
- 信道服务
- 图片上传
- 数据库
开发者只需要根据文档对 SDK 进行初始化配置,就可以获得以上能力。你还可以直接到腾讯云小程序控制台购买小程序解决方案,可以得到运行本示例所需的资源和服务,其中包括已部署好的相关程序、示例代码及自动下发的 SDK 配置文件 /etc/qcloud/sdk.config。
安装
- 方法一(推荐):使用 PHP 包依赖管理工具
composer执行以下命令安装
composer require qcloud/weapp-sdk
- 方法二: 直接下载本仓库
ZIP包解压到项目目录中
API
参见 API 文档
使用
加载 SDK
// 方法一:使用 composer 加载 require_once 'path/to/vendor/autoload.php'; // 方法二:不使用 composer 加载 require_once 'path/to/qcloud/weapp-sdk/AutoLoader.php';
初始化 SDK 配置项
use \QCloud_WeApp_SDK\Conf as Config; Config::setup(array( 'appId' => '微信小程序 AppID', 'appSecret' => '微信小程序 AppSecret', 'useQcloudLogin' => false, 'mysql' => [ 'host' => 'localhost', 'port' => 3306, 'user' => 'root', 'pass' => '', 'db' => 'cAuth', 'char' => 'utf8mb4' ], 'cos' => [ 'region' => 'cn-south', 'fileBucket' => 'test', 'uploadFolder' => '' ], 'serverHost' => '1234567.qcloud.la', 'tunnelServerUrl' => '1234567.ws.qcloud.la', 'tunnelSignatureKey' => 'abcdefghijkl', 'qcloudAppId' => '121000000', 'qcloudSecretId' => 'ABCDEFG', 'qcloudSecretKey' => 'abcdefghijkl', 'wxMessageToken' => 'abcdefghijkl', ));
具体配置项说明请查看:API 文档。
处理用户登录请求
use \QCloud_WeApp_SDK\Auth\LoginService; use \QCloud_WeApp_SDK\Constants; $result = LoginService::login(); // $result => [ // loginState: 1 // 1表示登录成功,0表示登录失败 // userinfo: [] // 用户信息 // ] if ($result['loginState'] === Constants::S_AUTH) { // 微信用户信息:`$result['userinfo']['userinfo']` } else { // 登录失败原因:`$result['error']` }
检查请求登录态
use \QCloud_WeApp_SDK\Auth\LoginService; use \QCloud_WeApp_SDK\Constants; $result = LoginService::check(); // $result => [ // loginState: 1 // 1表示登录成功,0表示登录失败 // userinfo: [] // 用户信息 // ] if ($result['loginState'] === Constants::E_AUTH) { // 登录失败原因:`$result['error']` return; } // 使用微信用户信息(`$result['userinfo']['userinfo']`)处理其它业务逻辑 // ...
使用信道服务
业务在一个路由上(如 /tunnel)提供信道服务,只需把该路由上的请求都交给 SDK 的信道服务处理即可。
use \QCloud_WeApp_SDK\Tunnel\TunnelService; use \QCloud_WeApp_SDK\Tunnel\ITunnelHandler; class TunnelHandler implements ITunnelHandler { // TODO: 传入登录的用户信息 public function __construct($userinfo) { } // TODO: 实现 onRequest 方法,处理信道连接请求 public function onRequest($tunnelId, $tunnelUrl) { } // TODO: 实现 onConnect 方法,处理信道连接事件 public function onConnect($tunnelId) { } // TODO: 实现 onMessage 方法,处理信道消息 public function onMessage($tunnelId, $type, $content) { } // TODO: 实现 onClose 方法,处理信道关闭事件 public function onClose($tunnelId) { } } $handler = new TunnelHandler(); TunnelService::handle($handler, array('checkLogin' => TRUE));
使用信道服务需要实现处理器,来获取处理信道的各种事件,具体可参考接口 ITunnelHandler 的 API 文档以及配套 Demo 中的 ChatTunnelHandler 的实现。
MySQL 操作类
SDK 在 PDO 的基础上完成了对增删改查等常用操作的封装,并默认会在初始化 SDK 的时候连接数据库,直接通过如下代码可以快速使用 MySQL 操作类:
**注意:**MySQL 操作类为静态类
use \QCloud_WeApp_SDK\Mysql\Mysql as DB; // 查询数据 $res = DB::row('cSessionInfo', ['*'], ['open_id' => '1234567890']); // 查询一条 $res = DB::select('cSessionInfo', ['*'], ['open_id' => '1234567890']); // 查询多条 // 插入数据 $res = DB::insert('cSessionInfo', ['open_id' => '1234567890']); // 更新数据 $res = DB::update('cSessionInfo', ['open_id' => '1234567890'], ['uuid' => '1']); // 删除数据 $res = DB::delete('cSessionInfo', ['open_id' => '1234567890']);
具体配置项说明请查看:API 文档。
COS 实例
SDK 导出了一个 COS V5 API 实例,可以使用以下代码获取:
use \QCloud_WeApp_SDK\Cos\CosAPI as Cos; $cosClient = Cos::getInstance(); $cosClient->upload('mybucket', 'test.txt', 'Hello World')->toArray();
更多关于 Cos::getInstance() 返回 COS 实例的 API,可以查看 COS PHP SDK V5 文档
详细示例
LICENSE
awang/weapp-sdk 适用场景与选型建议
awang/weapp-sdk 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 29 次下载、GitHub Stars 达 0, 最近一次更新时间为 2018 年 11 月 22 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「sdk」 「qcloud」 「weapp」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 awang/weapp-sdk 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 awang/weapp-sdk 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 awang/weapp-sdk 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
php sdk for qcloud weapp server
Flysystem Adapter for Tencent Qcloud COS SDK V4
The qcloud extension for the yii framework
qclouds api
library for micro app, etc wechat,weapp,spawn,alipay
Flysystem Adapter for Tencent Qcloud COS SDK V3
统计信息
- 总下载量: 29
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2018-11-22