CommonWeixin.php 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: songyongming
  5. * Date: 15/1/20
  6. * Time: 22:32
  7. */
  8. class CommonWeixin
  9. {
  10. public static function get_sign($url = ''){
  11. $path = Yii::getPathOfAlias('application');
  12. require_once($path."/vendors/weixin/WeiXinSdk.php");
  13. $wxConfig = Yii::app()->params['wxConfig'];
  14. $jssdk = new WeiXinSdk($wxConfig['appId'], $wxConfig['appSecret']);
  15. $signPackage = $jssdk->GetSignPackage($url);
  16. return $signPackage;
  17. }
  18. public static function getAccessInfo($code,$appId =null,$secret = null) {
  19. $wxConfig = Yii::app()->params['wxConfig'];
  20. $accessTokenURI = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid=' . ($appId?$appId:$wxConfig['appId']) . '&secret=' . ($secret?$secret:$wxConfig['appSecret']) . '&code=' . $code . '&grant_type=authorization_code';
  21. $res = json_decode(self::httpGet($accessTokenURI), true);
  22. return $res;
  23. }
  24. public static function getFollowList() {
  25. $wxConfig = Yii::app()->params['wxConfig'];
  26. $accessTokenURI = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid='.$wxConfig['appId'].'&secret='.$wxConfig['appSecret'];
  27. $res = json_decode(self::httpGet($accessTokenURI), true);
  28. $token = $res['access_token'];
  29. $follow_list = 'https://api.weixin.qq.com/cgi-bin/user/get?access_token='.$token;
  30. $res = json_decode(self::httpGet($follow_list), true);
  31. return $res['data']['openid'];
  32. }
  33. public static function get_sign1($url = ''){
  34. $path = Yii::getPathOfAlias('application');
  35. require_once($path."/vendors/weixin/WeiXinSdk.php");
  36. $wxConfig = Yii::app()->params['xyhWxConfig'];
  37. $jssdk = new WeiXinSdk($wxConfig['appId'], $wxConfig['appSecret']);
  38. $signPackage = $jssdk->GetSignPackage($url);
  39. return $signPackage;
  40. }
  41. public static function getAccessInfo1($code) {
  42. $wxConfig = Yii::app()->params['xyhWxConfig'];
  43. $accessTokenURI = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid=' . $wxConfig['appId'] . '&secret=' . $wxConfig['appSecret'] . '&code=' . $code . '&grant_type=authorization_code';
  44. $res = json_decode(self::httpGet($accessTokenURI), true);
  45. return $res;
  46. }
  47. public static function getFollowList1() {
  48. $wxConfig = Yii::app()->params['xyhWxConfig'];
  49. $accessTokenURI = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid='.$wxConfig['appId'].'&secret='.$wxConfig['appSecret'];
  50. $res = json_decode(self::httpGet($accessTokenURI), true);
  51. $token = $res['access_token'];
  52. $follow_list = 'https://api.weixin.qq.com/cgi-bin/user/get?access_token='.$token;
  53. $res = json_decode(self::httpGet($follow_list), true);
  54. return $res['data']['openid'];
  55. }
  56. public static function getUserInfo($accessToken, $openId) {
  57. $userInfoURI = 'https://api.weixin.qq.com/sns/userinfo?access_token=' . $accessToken . '&openid=' . $openId;
  58. $res = json_decode(self::httpGet($userInfoURI), true);
  59. return $res;
  60. }
  61. private static function httpGet($url) {
  62. $curl = curl_init();
  63. curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
  64. curl_setopt($curl, CURLOPT_TIMEOUT, 500);
  65. curl_setopt($curl, CURLOPT_URL, $url);
  66. $res = curl_exec($curl);
  67. curl_close($curl);
  68. return $res;
  69. }
  70. }