微信小程序 SDK
用于 PHP 方便调用微信小程序的 服务端接口
接入要求
"php": ">=5.4"
接入方式
1、composer 安装
composer require luckyhjh/wechat-mini-program
2、新建文件
新建类继承 WechatMiniProgram,并实现相关接口,token 可保存在 redis 或 mysql 等。
例如 Laravel/Lumen,可新建文件 app/Libs/WechatMiniProgram.php:
namespace AppLibs; use IlluminateSupportFacadesCache; use WechatMiniProgramApiAccessToken; use WechatMiniProgramApiException; class WechatMiniProgram extends WechatMiniProgramWechatMiniProgram { public function __construct($appid = '', $secret = '') { empty($appid) and $appid = env('WX_APPID'); empty($secret) and $secret = env('WX_SECRET'); parent::__construct($appid, $secret); } /** * 读取token * @return string */ public function getApiToken() { $cache_name = 'wx_token_' . $this->getAppid(); $access_token = Cache::get($cache_name); if ($access_token) { return $access_token; } $AccessToken = new AccessToken($this); try { $Token = $AccessToken->getAccessToken(); $access_token = $Token->access_token; $this->setApiToken($access_token, $Token->expires_in); return $access_token; } catch (ApiException $apiException) { return ''; } } /** * 保存token * @param string $access_token * @param int $expire * @return bool */ public function setApiToken($access_token, $expire = 7200) { $cache_name = 'wx_token_' . $this->getAppid(); return Cache::set($cache_name, $access_token, $expire); } }
例如 ThinkPHP,可新建文件 extend/WechatMiniProgram.php:
use WechatMiniProgramApiAccessToken; use WechatMiniProgramApiException; class WechatMiniProgram extends WechatMiniProgramWechatMiniProgram { public function __construct($appid = '', $secret = '') { empty($appid) and $appid = env('WX_APPID'); empty($secret) and $secret = env('WX_SECRET'); parent::__construct($appid, $secret); } /** * 读取token * @return string */ public function getApiToken() { $cache_name = 'wx_token_' . $this->getAppid(); $access_token = cache($cache_name); if ($access_token) { return $access_token; } $AccessToken = new AccessToken($this); try { $Token = $AccessToken->getAccessToken(); $access_token = $Token->access_token; $this->setApiToken($access_token, $Token->expires_in); return $access_token; } catch (ApiException $apiException) { return ''; } } /** * 保存token * @param string $access_token * @param int $expire * @return bool */ public function setApiToken($access_token, $expire = 7200) { $cache_name = 'wx_token_' . $this->getAppid(); return cache($cache_name, $access_token, $expire); } }
3、业务调用
业务里根据需要调用
$mp = new WechatMiniProgram(); $Auth = new Auth($mp); $User = new WechatMiniProgramApiUser($mp);//如果要调用其它接口,可复用$mp try { $session = $Auth->code2session($code); $openid = $session->openid; } catch (ApiException $apiException) { }
支持接口
AccessToken->getAccessToken():获取小程序全局唯一后台接口调用凭据 Auth->code2session():用 code 获取 openid User->getPhoneNumber():获取手机号 SubscribeMessage->send():发送订阅消息 WxaCode->getUnlimited():生成小程序码,可接受页面参数较短,生成个数不受限 WxaCode->get():生成小程序码,可接受 path 参数较长,生成个数受限 SecCheck->messageIsRisky():文本是否为风险内容 SecCheck->imageIsRisky():文本是否为风险内容License
MIT
版权声明:
1、该文章(资料)来源于互联网公开信息,我方只是对该内容做点评,所分享的下载地址为原作者公开地址。2、网站不提供资料下载,如需下载请到原作者页面进行下载。
3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考学习用!
4、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。