php qcloud sdk weapp_qcloud/
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
使用
加载 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
php qcloud sdk weapp_qcloud/相关推荐
- php qcloud sdk weapp_微信小程序腾讯云php后台解决方案
微信小程序腾讯云php后台解决方案 微信小程序前段需要添加必要的文件以配合后端 (1)wafer2-client-sdk sdk提供了几种接口包括登陆,获取用户openid,图片上传等 (2)conf ...
- php qcloud sdk weapp_微信小程序源码+PHP后台
[实例简介] 开源,可部署使用,学习好资料.包含微信小程序客户端还有后台PHP源码. [实例截图] [核心代码] 微信小程序源码PHP后台 └── 微信小程序源码+PHP后台 ├── __MACOSX ...
- 【中级】【后台】 微信小程序 - 腾讯云 - wafer2 - PHP - DEMO - 003 - 源码分析 - 03 - 腾讯后台初始化 和 CodeIgniter
本文原创,欢迎转载,但是,务必保持原文并且给出原文链接. 前言: 本节对Wafer 服务端 SDK 是腾讯云为微信小程序开发者提供的快速开发库,SDK 封装了以下功能供小程序开发者快速调用的源码的初始 ...
- 【中级】 微信小程序 - 腾讯云 - wafer2 - PHP - DEMO - 003 - 源码分析 - 01 - 文件组成详细分析
1 前言: 本文原创,欢迎转载,但是,务必保持原文并且给出原文链接. 微信小程序 - 腾讯云 - PHP - DEMO 是微信提供的一个微信小程序和腾讯云小程序云服务wafer 进行接口的例子. 本仓 ...
- 【基础问题】微信小程序 - 腾讯云 - 一站式方案 - PHP - wafer 和 wafer2的区别和wafer2的实践
前言: 项目目前选择了腾讯小程序一站式部署,反而有点懵了,服务器怎么配置呢?好像接口没有,查询后,发现有的Demo有服务器配置有的没有,折腾观察了一会,原来有两个版本wafer.我把关键的地方高亮了, ...
- 养车记账本小程序开发教程
前言 自微信6.5.3版本开始,小程序正式跟大家见面了.最近利用业余时间做了个小程序,命名"养车记账本".作为IT狗,经历了从注册开发者资质开始到正式上线的全过程,微信小程序官方 ...
- 养车记账本小程序开发实例
前言 自微信6.5.3版本开始,小程序正式跟大家见面了.最近利用业余时间做了个小程序,命名"养车记账本".作为IT狗,经历了从注册开发者资质开始到正式上线的全过程,微信小程序官方 ...
- 硬盘累计通电时间存储在_在灾难期间保持通电
硬盘累计通电时间存储在 Let's talk about power. No, not whether you can lift me over your head with one arm- ele ...
- 微信小程序 腾讯云 mysql 初始_微信小程序初始化怎么处理?小程序服务器域名配置...
小程序初始化配置指引 假如您已成功创建了小程序资源,需要对现有的资源进行一些简单配置后,才能让小程序跑起来 未创建过资源的用户可以先在小程序控制台进行创建 1.配置微信小程序通信域名 首先我们在小程序 ...
- wafer php demo,GitHub - forging2012/wafer-php-server-demo: Wafer - 企业级微信小程序全栈方案...
Wafer 服务端 Demo - PHP 本仓库是 Wafer 组成部分,提供 PHP 版本业务服务器示例.示例需要和微信小程序客户端示例配合一起使用. 运行示例 选择合适的方式部署 Wafer,并按 ...
最新文章
- vscode打造golang开发环境以及golang的debug单元测试
- (转)FFMPEG解码H264拼帧简解
- CVPR 2021 | 澳洲国立大学提出基于模型的图像风格迁移
- web desktop在线演示
- node 后台文章编辑器_我如何使用Node从报纸网站上刮掉7000篇文章
- vue-cli禁用eslint的方式
- 为什么感觉赚100万很难?
- 免费好用的十二个SCADA组态软件
- 两台电脑的文件共享方式
- [渝粤教育] 中国地质大学 大学语文 复习题
- AM系列备自投保护装置在广州中山大学附属 第一(南沙)医院配电工程中的应用
- C# 打印调试信息到DebugView
- Eclipse中文语言包安装和设置中文
- 梅森数 (10 分)
- '/',‘\\’与‘\’的区别
- maven-compiler-plugin如何快速打胖包和瘦包
- ①、HTML 简介实践学习
- Robo3T中批量操作数据
- 基于深度学习的文本摘要自动生成(自然语言处理)-本科毕业设计(附完整代码及数据集)
- Java微服务框架之Undertow
热门文章
- 分组交换(Packet Switching)和线路交换(Circuit Switching)
- java端口扫描器 demo_java端口扫描器
- Oracle触发器,删除一条数据的同时删除另一张表的关联数据
- 数据库课程设计矿大_中国矿业大学选课系统
- IDEA中maven仓库依赖报错:Cannot resolve com.example:product-server:0.0.1-SNAPSHOT
- Win10关闭安全中心的病毒和威胁实时保护
- Kotlin协成的简单理解
- python如何进行md5解密_python写一个md5解密器
- 解决学术打不开的方法
- 北漂小斌和你分享宋代建筑模数斗拱材分制的学习方法以及CAD案例图纸