PHP code example of glacier / ent-wechat
1. Go to this page and download the library: Download glacier/ent-wechat library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
glacier / ent-wechat example snippets
use glacier\EntWechat\EntUser;
$a=new EntUser();
$res=$a->listUser();
//失败打印出错误信息
if(!$res){
var_dump($a->errorMsg);
}
var_dump($res)
/**
array(16) {
[0]=>
array(6) {
["userid"]=>
string(11) "userid1"
["name"]=>
string(9) "xx"
..此处省略X字
*/
/**
* 原理:
* 员工要点击的连接URL构造,点击后会跳转到redirect_uri
* https://open.weixin.qq.com/connect/oauth2/authorize?appid=CORPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect
* 员工点击后,页面将跳转至 redirect_uri?code=CODE&state=STATE,微信加上了queryString企业可根据code参数获得员工的userid。
* 脚本根据获取code 找微信验证登录的用户信息
* https://qyapi.weixin.qq.com/cgi-bin/user/getuserinfo?access_token=ACCESS_TOKEN&code=CODE
*/
//获取code,这个是微信生成的
$code=$_GET['code'];
//如果code获取不到可能不是通过微信来的访问,做点什么。。。。
$a=new EntUser();
$res=$a->oauth($code);
//验证失败返回false,成功返回用户信息数组。
lacier\EntWechat\EntMsgHandler;
use glacier\EntWechat\MsgFormater;
//如果存在首次验证url的时候构造函数会自动解密返回echostr
$a=new EntMsgHandler();
//得到微信解密后返回数组(微信给的是xml格式已经解码)
$msg=$a->getMsgArray();
//格式化文本消息字符串,该例子是把微信post过来的数据json序列化后原样当成text输出
$msg=MsgFormater::text(json_encode($msg,JSON_UNESCAPED_UNICODE));
//$msg=MsgFormater::news($array); 返回的内容为news类型具体看注释
//将要返回的内容加密
$c=$a->responseMsg($msg);
//这里可以做一些log之流的操作
//返回内容给用户
echo $c;