2017 © Pedro Peláez
 

library weixin

PHP library for interacting with weixin api.

image

yoozi/weixin

PHP library for interacting with weixin api.

  • Thursday, December 17, 2015
  • by yangg
  • Repository
  • 14 Watchers
  • 5 Stars
  • 88 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 7 Forks
  • 0 Open issues
  • 3 Versions
  • 0 % Grown

The README.md

Weixin [WIP]

This library is deprecated and not maintained, use overtrue/wechat instead.

This library is part of Project Golem, see yoozi/golem for more info., (*1)

Weixin is a Laravel package for interacting with 微信公众平台., (*2)

Content

Install

You can install this library via Composer:, (*3)

$ composer require yoozi/weixin --save

Or declare in the composer.json:, (*4)

{
  "require": {
    "yoozi/weixin": "dev-master"
  }
}

and install it:, (*5)

$ composer install

Setup

Config

Before using this package, you have to publish the configuration file via:, (*6)

$ php artisan config:publish yoozi/weixin

And it will create a configuration file in your-project/app/config/packages/yoozi/weixin/., (*7)

You should setup your weixin account information in weixin.php:, (*8)

name description
token server side token (required)
app_id your weixin account app id (required)
app_secret your weixin account app secret key (required)
end_point weixin server event receive endpoint (required)

Service & Facades

To enable this package, you should add this following lines to config/app.php:, (*9)


return array( 'providers' => array( // Illumniate stuffs... 'Illuminate\Translation\TranslationServiceProvider', 'Illuminate\Validation\ValidationServiceProvider', 'Illuminate\View\ViewServiceProvider', 'Illuminate\Workbench\WorkbenchServiceProvider', // Add weixin provider here: 'Yoozi\Weixin\WeixinServiceProvider', ), 'aliases' => array( 'Request' => 'Illuminate\Support\Facades\Request', // Be sure change the Response facade to weixin's: 'Response' => 'Yoozi\Weixin\Facades\Response', 'Route' => 'Illuminate\Support\Facades\Route', // Illuminate stuffs... 'URL' => 'Illuminate\Support\Facades\URL', 'Validator' => 'Illuminate\Support\Facades\Validator', 'View' => 'Illuminate\Support\Facades\View', // Add weixin facades here: 'WeixinInput' => 'Yoozi\Weixin\Facades\WeixinInput', 'WeixinRouter' => 'Yoozi\Weixin\Facades\WeixinRouter', 'WeixinMessage' => 'Yoozi\Weixin\Facades\WeixinMessage', 'OAuthClient' => 'Yoozi\Weixin\Facades\OAuthClient', 'WeixinClient' => 'Yoozi\Weixin\Facades\WeixinClient', ), );

Usage

Weixin will provide you:, (*10)

  • a router for binding server event callback,
  • a weixin client for interacting with api.weixin.qq.com,
  • a OAuth client for performing OAuth login.

Bind Events

In routes.php:, (*11)

// Bind a text event.
WeixinRouter::bind('text', 'MyWeixinEventHandler@text');

// Bind a music event.
WeixinRouter::bind('music', 'MyWeixinEventHandler@music');

// Bind a subscribe event.
WeixinRouter::bindEvent('subscribe', 'MyWeixinEventHandler@subscribe');
// This is equivalent to:
WeixinRouter::bind('event:subscribe', 'MyWeixinEventHandler@subscribe');

// Bind a click event.
WeixinRouter::bindClick('a_key', 'MyWeixinEventHandler@clickAKey');
// This is equivalent to:
WeixinRouter::bindEvent('click:a_key', 'MyWeixinEventHandler@subscribe');
// And:
WeixinRouter::bind('event:click:a_key', 'MyWeixinEventHandler@subscribe');

// Bind a view event.
WeixinRouter::bindView('http://google.com', 'MyWeixinEventHandler@visitGoogle');

// Bind a default event.
WeixinRouter::bindDefault('MyWeixinEventHandler@defaultEvent');

In MyWeixinEventHandler.php:, (*12)

class MyWeixinEventHandler
{
    public function text()
    {
        $sender = WeixinInput::get('tousername');
        $receiver = WeixinInput::get('fromusername');

        $messge = WeixinMessage::text($receiver, $sender, 'Hello, world!');

        return Response::xml($message);
    }

    // Handle other events...
}

Weixin Client

Weixin client can be used to:, (*13)

Example:, (*14)

// Notes:
//  You should store this access token in the cache or somewhere else
//  for reuse later.
$accessToken = WeixinClient::getAccessToken();
$openId = 'an_user_openid';

var_dump(WeixinClient::getUserInfo($openId, $accessToken));

OAuth Client

Weixin OAtuth client provides you:, (*15)

  • generate authorize url with callback
  • retrieve access token with OAuth code
  • retrieve user's basic profile with access token

Example:, (*16)

// Redirect user to $authorizeUrl and receive the OAuth code ($code)
$authorizeUrl = OAuthClient::getAccessUrl($codeReceiveUrl);

// Get access token from code
$accessTokenAndOpenId = OAuthClient::getAccessToken($code);
$accessToken = $accessTokenAndOpenId['access_token'];
$openId = $accessTokenAndOpenId['openid'];

// Get user profile
var_dump(OAuthClient::getUserInfo($openId, $accessToken));

The Versions

17/12 2015

dev-master

9999999-dev

PHP library for interacting with weixin api.

  Sources   Download

MIT

The Requires

 

by Avatar hbc

17/12 2015

1.0.1

1.0.1.0

PHP library for interacting with weixin api.

  Sources   Download

MIT

The Requires

 

by Avatar hbc

24/08 2014

1.0.0

1.0.0.0

PHP library for interacting with weixin api.

  Sources   Download

MIT

The Requires

 

by Avatar hbc