| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131 |
- <?php
- /*
- * This file is part of the overtrue/wechat.
- *
- * (c) overtrue <i@overtrue.me>
- *
- * This source file is subject to the MIT license that is bundled
- * with this source code in the file LICENSE.
- */
- /**
- * QRCode.php.
- *
- * Part of Overtrue\WeChat.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- *
- * @author mingyoung <mingyoungcheung@gmail.com>
- * @copyright 2016
- *
- * @see https://github.com/overtrue
- * @see http://overtrue.me
- */
- namespace EasyWeChat\MiniProgram\QRCode;
- use EasyWeChat\MiniProgram\Core\AbstractMiniProgram;
- class QRCode extends AbstractMiniProgram
- {
- const API_GET_WXACODE = 'https://api.weixin.qq.com/wxa/getwxacode';
- const API_GET_WXACODE_UNLIMIT = 'https://api.weixin.qq.com/wxa/getwxacodeunlimit';
- const API_CREATE_QRCODE = 'https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode';
- /**
- * Get WXACode.
- *
- * @param string $path
- * @param int $width
- * @param bool $autoColor
- * @param array $lineColor
- *
- * @return \Psr\Http\Message\StreamInterface
- */
- public function getAppCode($path, $width = 430, $autoColor = false, $lineColor = ['r' => 0, 'g' => 0, 'b' => 0])
- {
- $params = [
- 'path' => $path,
- 'width' => $width,
- 'auto_color' => $autoColor,
- 'line_color' => $lineColor,
- ];
- return $this->getStream(self::API_GET_WXACODE, $params);
- }
- /**
- * Get WXACode unlimit.
- *
- * @param string $scene
- * @param int $width
- * @param bool $autoColor
- * @param array $lineColor
- *
- * @return \Psr\Http\Message\StreamInterface
- */
- public function getAppCodeUnlimit($scene, $width = 430, $autoColor = false, $lineColor = ['r' => 0, 'g' => 0, 'b' => 0])
- {
- $params = [
- 'scene' => $scene,
- 'width' => $width,
- 'auto_color' => $autoColor,
- 'line_color' => $lineColor,
- ];
- return $this->getStream(self::API_GET_WXACODE_UNLIMIT, $params);
- }
- /**
- * Get app code unlimit.
- *
- * @param string $scene
- * @param string $page
- * @param int $width
- * @param bool $autoColor
- * @param array $lineColor
- *
- * @return \Psr\Http\Message\StreamInterface
- */
- public function appCodeUnlimit($scene, $page = null, $width = null, $autoColor = null, $lineColor = null)
- {
- $params = [
- 'scene' => $scene,
- 'page' => $page,
- 'width' => $width,
- 'auto_color' => $autoColor,
- 'line_color' => $lineColor,
- ];
- return $this->getStream(self::API_GET_WXACODE_UNLIMIT, $params);
- }
- /**
- * Create QRCode.
- *
- * @param string $path
- * @param int $width
- *
- * @return \Psr\Http\Message\StreamInterface
- */
- public function createQRCode($path, $width = 430)
- {
- return $this->getStream(self::API_CREATE_QRCODE, compact('path', 'width'));
- }
- /**
- * Get stream.
- *
- * @param string $endpoint
- * @param array $params
- *
- * @return \Psr\Http\Message\StreamInterface
- */
- protected function getStream($endpoint, $params)
- {
- return $this->getHttp()->json($endpoint, $params)->getBody();
- }
- }
|