wechat

所属分类:特征抽取
开发工具:PHP
文件大小:45KB
下载次数:2
上传日期:2020-09-05 16:04:38
上 传 者sh-1993
说明:  wechat PHP 微信 微信授权 微信用户信息 微信token 微信模板 微信自定义菜单生产 微信JDK 微信关键字回复 微信模板消息发送
(Wechat PHP WeChat WeChat authorized WeChat user information WeChat token WeChat template WeChat customized menu production WeChat JDK WeChat keyword reply WeChat template message sending)

文件列表:
composer.json (647, 2020-09-06)
src (0, 2020-09-06)
src\WeChat (0, 2020-09-06)
src\WeChat\Core (0, 2020-09-06)
src\WeChat\Core\Authorize.php (10637, 2020-09-06)
src\WeChat\Core\Base.php (215, 2020-09-06)
src\WeChat\Core\Menu.php (4736, 2020-09-06)
src\WeChat\Core\QrCode.php (3444, 2020-09-06)
src\WeChat\Core\Send.php (8582, 2020-09-06)
src\WeChat\Core\Template.php (1844, 2020-09-06)
src\WeChat\Core\Ticket.php (2278, 2020-09-06)
src\WeChat\Core\Token.php (1773, 2020-09-06)
src\WeChat\Core\User.php (4200, 2020-09-06)
src\WeChat\Extend (0, 2020-09-06)
src\WeChat\Extend\Authorize.php (1244, 2020-09-06)
src\WeChat\Extend\File.php (2349, 2020-09-06)
src\WeChat\Extend\Json.php (1469, 2020-09-06)
src\WeChat\Extend\Request.php (4213, 2020-09-06)
src\WeChat\Extend\Tool.php (5138, 2020-09-06)
src\WeChat\Lib (0, 2020-09-06)
src\WeChat\Lib\phpqrcode.php (118527, 2020-09-06)

# WeChat - 微信基础授权 - 微信用户信息 - 微信token - 微信模板 - 微信自定义菜单生产 - 微信JDK - 微信关键字回复 - 微信模板消息发送 - 基础功能 > 本扩展功能的运行环境要求`PHP5.6`以上。 > 本扩展 `1.0.5` 及以上版本,运行环境要求`PHP7.2`以上。 >### 使用 `composer` 安装 #### 由于众所周知的原因,国外的网站连接速度很慢。因此安装的时间可能会比较长,我们建议通过下面的方式使用国内镜像。打开命令行窗口(windows用户)或控制台(Linux、Mac 用户)并执行如下命令: ~~~ composer config repo.packagist composer https://mirrors.aliyun.com/composer/ ~~~ #### 使用: 在composer.json添加 "require": { "teg1c/wechat": "^1.0.0" }, #### 然后(命令行): composer update -vvv ## 接口使用说明 ### 接口目录 ~~~ WeChat 模块目录 ├─ Core 核心目录 ├─Base.php 抽象基类,主要用户放置一些公用的方法体 ├─User.php 获取微信授权、用户openid、用户信息 ├─Token.php 获取微信access_token (考虑token时限,已用 $_SESSION['access_token'] 储存) ├─Ticket.php 获取微信jsapi_ticket、获取微信JDK签名 (考虑微信jsapi_ticket时限、已用 $_SESSION['jsapi_ticket'] 储存) ├─Template.php 获取微信所有消息模板、格式化微信消息模板 (考虑微信消息模板变量问题、及消息发送,以将需要参数存放在$变量名['param']) ├─Send.php 微信模板消息发送、微信关键字回复、微信自定义菜单生成 ├─QrCode.php 微信生成二维码 ├─Menu.php 微信菜单 ├─Material.php 微信素材 ├─Authorize.php 微信授权认证类 ├─ Extend 依赖目录 ├─File.php 文件存储类。 ├─Json.php Json返回类。 ├─Request.php curl请求封装类。 ├─Tool.php 工具类。 ├─ Lib 第三方目录 ├─phpqrcode.php PHP生成二维码类。 ~~~ ## 微信用户 `User` ### 微信授权、获取 `code` ~~~ * [code 重载http,获取微信授权] * @param string $appid [微信公众号APPID] \WeChat\Core\User::code('微信appid'); # 重载微信授权 ~~~ ### 微信用户 `openid` ~~~ * [openid 获取用户 OPENID] * @param string $code [微信授权CODE] * @param string $appid [微信appid] * @param string $appSecret [微信appSecret] * @param boolen $type [true:获取用户信息 false:用户openid] * @return [array] [用户信息 用户openid] \WeChat\Core\User::openid(input('get.code'), '微信appid', '微信appSecret'); ~~~ ### 微信用户信息 `userinfo` (1种: 没有获取`openid`时) ~~~ * [openid 获取用户 OPENID] * @param string $code [微信授权CODE] * @param string $appid [微信appid] * @param string $appSecret [微信appSecret] * @param boolen $type [true:获取用户信息 false:用户openid] * @return [array] [用户信息 用户openid] \WeChat\Core\User::openid('获取GET方式的参数code', '微信appid', '微信appSecret', true); ~~~ ### 微信用户信息 `userinfo` (2种: 获取`openid`时) ~~~ * [userInfo 获取用户信息] * @param [type] $access_token [授权获取用户关键参数:access_token] * @param [type] $openid [用户openid] \WeChat\Core\User::userInfo($access_token, $openid); ~~~ ### 微信用户信息 `newuserinfo` (3种: 获取`access_token`时) ~~~ * [userInfo 获取用户信息] * @param [type] $access_token [普通access_token] * @param [type] $openid [用户openid] \WeChat\Core\User::newUserinfo($access_token, $openid); ~~~ ## 微信 `Token` ### 获取 `access_token` ~~~ * [gain 获取微信access_token] * @param string $appid [微信AppID] * @param string $appSecret [微信AppSecret] * @return [string] [微信access_token] \WeChat\Core\Token::gain('微信appid', '微信appSecret'); # 获取微信access_token 成功: array{ 'access_token'=>'**************************************', 'expires_in'=> ****, } 失败: array{ 'errormsg'=>'*************', 'errorcode'=> ***, } ~~~ ## 微信 `Ticket` ### 微信 `jsapi_ticket` ~~~ * [gain 微信jsapi_ticket] * @param string $access_token [微信token] * @return [string] [微信jsapi_ticket] \WeChat\Core\Ticket::gain('微信普通token'); ~~~ ### 微信 `JDK` 签名 ~~~ * [sign 获取微信JSDK] * @param [string] $ticket [获取微信JSDK签名] * @return [array] [微信JSDK] \WeChat\Core\Ticket::sign('微信jsapi_ticket'); 成功: array{ "errcode"=>0, "errmsg"=>"ok", "ticket"=>"kgt8ON7yVITDhtdwci0qeQM5xOrtZmRriogQ-yl-zBNBoXs56JmAWkbJVY68uajNBIIR4xa5t_dx9W0X6a-tnQ", "expires_in"=>7200, "time"=>15438323*** } 失败: array{ 'errormsg'=>'*************', 'errorcode'=> ***, } ~~~ ## 微信模板消息 `Template` ### 获取所有模板 `gain` ~~~ * [gain 获取所有消息模板内容] * @param string $accessToken [微信token] * @return [type] [description] \WeChat\Core\Template::gain('微信token'); ~~~ ## 微信推送 `Send` ### 关键字推送 `keyWord` ~~~ * 被动回复消息 * @param array $triggerConfig 微信消息对象 * @param array $triggerData 用户数据 \WeChat\Core\Send::trigger($triggerConfig, $triggerData); 例如: 使用说明见Authorize类使用方法 ~~~ ### 模板消息推送 `msg` ~~~ * [msg 发送模板消息] * @param string $accessToken [微信token] * @param string $templateid [模板ID] * @param string $openid [用户openid] * @param array $data [模板参数] * @param string $url [模板消息链接] * @param string $topcolor [微信top颜色] * @return [ajax] [boolen] \WeChat\Core\Send::msg($accessToken, $templateid, $openid, $data = [], $url = '', $topcolor = '#FF0000'); ~~~ ## 微信菜单 `Menu` ### 获取菜单 `gain` ~~~ * [gain 获取菜单] * @param string $accessToken [微信token] * @return [array] [微信返回值:状态值数组] \WeChat\Core\Menu::gain($accessToken); ~~~ ### 设置菜单 `set` ~~~ * [set 生成菜单] * @param string $accessToken [微信token] * 例如:$menu =[ [ 'type'=> 'click', // 'name'=> '这是第一级button', 'list' => [ [ 'type'=> 'view', 'name'=> '百度', 'url' => 'http://www.baidu.com', ] ], ], [ 'type'=> 'miniprogram', 'name'=> 'xx小程序', 'url' => 'http://www.baidu.com', 'appid' => '******as', 小程序APPID 'pagepath' => '/page/index/index', // 小程序页面链接 ] ]; * @param array $menu [菜单内容 ] * @return [array] [微信返回值:状态值数组] \WeChat\Core\Menu::set($accessToken, $menu); ~~~ ## 二维码 `Qrcode` ### 微信带参二维码 `wechat` ~~~ * 创建微信带参二维码生成 * @inheritdoc 详细文档:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1443433542 * @param string $accessToken 授权TOKEN * @param string $scene_str 字符串 * @param string $scene_str_prefix 字符串前缀 * @param int $type 二维码类型:(小于等于1) = 有效时长30天 (大于等于2) = 永久 * @return array|bool|mixed \WeChat\Core\QrCode::wechat(string $accessToken,string $scene_str, string $scene_str_prefix = 'wene_', int $type = 1) 成功: array(4) { ["ticket"] => string(96) "ticket字符串" ["expire_seconds"] => int('时长') ["url"] => string(45) "二维码内容" ["showUrl"] => string(147) "在线地址" } 失败: array{ 'errormsg'=>'*************', 'errorcode'=> ***, } ~~~ ### 创建二维码 `create` ~~~ * 生成二维码 * @inheritdoc 文档说明:http://phpqrcode.sourceforge.net/ * @param string $text 二维码内容 * @param bool $filePath 二维码储存路径 * @param string $level 二维码容错机制 * @param int $size 点大小 * @param int $margin 点间距 * @param bool $saveandprint 保存或打印 * @return string|void public static function create(string $text = '', bool $filePath = false, string $level = QR_ECLEVEL_L, int $size = 6, int $margin = 2, bool $saveandprint=false) 使用方式: 1. 生成二维码,但不生成二维码文件 $qrocde = \WeChat\Core\QrCode::create('二维码内容'); 2. 生成二维码文件 $qrocde = \WeChat\Core\QrCode::create('二维码内容','文件存放路径'); ~~~ ## 文件参数储存 `File` ~~~ * 文件参数储存,可扩展 * @param string $var key * @param array $val value // 存值 \WeChat\Extend\File::param('key','value'); // 取值 \WeChat\Extend\File::param('key'); ~~~ ## 微信素材类 `Material` ### 获取素材总数 `getMaterialCount` ~~~ * 获取素材总数 * @param string $access_token 普通授权token * @return array \WeChat\Core\Material::getMaterialCount($access_token); ~~~ ### 获取素材列表 `getMaterialCount` ~~~ * 获取素材列表 * @param string $access_token 普通授权token * @return array \WeChat\Core\Material::getMaterialList($access_token); ~~~ ## 微信授权认证 `抽象` 类 `Authorize` ### 对接微信开发者模式 > 使用方式 - 第一步:创建自己的微信开发者对接类继承 微信授权认证 `抽象` 类 `Authorize` ~~~ text($sendMsg); } /** * 扫码关注事件 * @return mixed|void */ public function scanFollow() { // TODO: Implement scanFollow() method. $this->text('扫码关注'); } /** * 点击事件 * @return mixed|void */ public function click() { // TODO: Implement click() method. $this->text('这个是用户点击事件~'); } /** * 扫码商品事件 * @return mixed|void */ public function scanProduct() { // TODO: Implement scanProduct() method. $this->text('用户商品扫码'); } /** * 扫码事件 * @return mixed|void */ public function scan() { // TODO: Implement scan() method. $this->text('扫码进入'); } /** * 用户输入 * @return mixed|void */ public function input() { // TODO: Implement input() method. $this->text('用户输入' ); } ~~~ ### 可返回消息的模板和方法简介 > 只在继承微信开发者模式对接类`Authorize`里面使用 ~~~ $this->userInfo; // 微信用户信息。 ~~~ ### 可返回消息的模板和方法简介 > 只在继承微信开发者模式对接类`Authorize`里面使用 - 推送文本消息 `text` ~~~ * 发送文本消息 * @param string $content 回复的文本内容 $this->text($content); ~~~ - 推送图片消息 `image` ~~~ * 发送图片消息 * @param string $mediaId 素材ID $this->image($mediaId) ~~~ - 推送音频消息 `voice` ~~~ * 发送语音消息 * @param string $mediaId 素材ID $this->voice($mediaId) ~~~ - 推送视频消息 `video` ~~~ * 发送视频消息 * @param string $mediaId 素材ID * @param string $title 视频标题 * @param string $description 视频消息的描述 $this->video($mediaId, $title, $description) ~~~ - 推送音乐消息 `music` ~~~ * 发送音乐消息 * @param string $title 消息标题 * @param string $description 描述 * @param string $musicURL 音乐链接 * @param string $HQMusicUrl 高清音乐URL * @param string $ThumbMediaId 缩略图的媒体id,通过素材管理中的接口上传多媒体文件,得到的id $this->music( $title, $description, $musicURL, $HQMusicUrl, $ThumbMediaId ) ~~~ - 推送图文消息 `news` ~~~ /** * 发送图文消息 * @param array $Articles 图文数组 * @format 格式 $Articles = array( array( 'Title'=>'标题', 'Description'=>'注释', 'PicUrl'=>'图片地主(含域名的全路径:图片链接,支持JPG、PNG格式,较好的效果为大图360*200,小图200*200)', 'Url'=>'点击图文消息跳转链接' ), ); */ $this->news($Articles) ~~~

近期下载者

相关文件


收藏者