Selaa lähdekoodia

从测试站拉的

lizhen_gitee 1 vuosi sitten
vanhempi
commit
5ead2820ca
100 muutettua tiedostoa jossa 2071 lisäystä ja 1778 poistoa
  1. 3 0
      vendor/composer/autoload_classmap.php
  2. 1 2
      vendor/composer/autoload_files.php
  3. 5 10
      vendor/composer/autoload_psr4.php
  4. 20 48
      vendor/composer/autoload_static.php
  5. 247 364
      vendor/composer/installed.json
  6. 9 14
      vendor/endroid/qr-code/.travis.yml
  7. 91 70
      vendor/endroid/qr-code/README.md
  8. 16 15
      vendor/endroid/qr-code/composer.json
  9. 4 1
      vendor/endroid/qr-code/phpunit.xml.dist
  10. 87 64
      vendor/endroid/qr-code/src/Factory/QrCodeFactory.php
  11. 1401 220
      vendor/endroid/qr-code/src/QrCode.php
  12. 77 142
      vendor/endroid/qr-code/tests/QrCodeTest.php
  13. 2 2
      vendor/markbaker/complex/classes/src/Complex.php
  14. 3 3
      vendor/markbaker/complex/composer.json
  15. 1 1
      vendor/markbaker/matrix/classes/src/Matrix.php
  16. 1 1
      vendor/markbaker/matrix/composer.json
  17. 0 1
      vendor/markbaker/matrix/phpstan.neon
  18. 4 4
      vendor/overtrue/wechat/README.md
  19. 8 11
      vendor/overtrue/wechat/composer.json
  20. 0 3
      vendor/overtrue/wechat/src/BasicService/QrCode/Client.php
  21. 0 3
      vendor/overtrue/wechat/src/BasicService/Url/Client.php
  22. 5 8
      vendor/overtrue/wechat/src/Kernel/AccessToken.php
  23. 0 4
      vendor/overtrue/wechat/src/Kernel/BaseClient.php
  24. 0 2
      vendor/overtrue/wechat/src/Kernel/Helpers.php
  25. 23 87
      vendor/overtrue/wechat/src/Kernel/Log/LogManager.php
  26. 0 2
      vendor/overtrue/wechat/src/Kernel/Messages/Media.php
  27. 0 2
      vendor/overtrue/wechat/src/Kernel/Messages/Message.php
  28. 6 10
      vendor/overtrue/wechat/src/Kernel/ServerGuard.php
  29. 4 9
      vendor/overtrue/wechat/src/Kernel/ServiceContainer.php
  30. 2 4
      vendor/overtrue/wechat/src/Kernel/Support/File.php
  31. 0 17
      vendor/overtrue/wechat/src/Kernel/Support/Helpers.php
  32. 1 1
      vendor/overtrue/wechat/src/Kernel/Support/Str.php
  33. 0 2
      vendor/overtrue/wechat/src/Kernel/Traits/HasAttributes.php
  34. 5 1
      vendor/overtrue/wechat/src/Kernel/Traits/InteractsWithCache.php
  35. 1 3
      vendor/overtrue/wechat/src/Kernel/Traits/Observable.php
  36. 5 2
      vendor/overtrue/wechat/src/Kernel/Traits/ResponseCastable.php
  37. 8 3
      vendor/overtrue/wechat/src/MicroMerchant/Application.php
  38. 0 4
      vendor/overtrue/wechat/src/MicroMerchant/Base/Client.php
  39. 12 2
      vendor/overtrue/wechat/src/MicroMerchant/Certficates/Client.php
  40. 7 4
      vendor/overtrue/wechat/src/MicroMerchant/Kernel/BaseClient.php
  41. 0 2
      vendor/overtrue/wechat/src/MicroMerchant/Material/Client.php
  42. 0 3
      vendor/overtrue/wechat/src/MicroMerchant/MerchantConfig/Client.php
  43. 0 2
      vendor/overtrue/wechat/src/MicroMerchant/Withdraw/Client.php
  44. 1 7
      vendor/overtrue/wechat/src/MiniProgram/ActivityMessage/Client.php
  45. 0 3
      vendor/overtrue/wechat/src/MiniProgram/AppCode/Client.php
  46. 0 3
      vendor/overtrue/wechat/src/MiniProgram/Application.php
  47. 0 6
      vendor/overtrue/wechat/src/MiniProgram/Base/Client.php
  48. 0 3
      vendor/overtrue/wechat/src/MiniProgram/DataCube/Client.php
  49. 0 2
      vendor/overtrue/wechat/src/MiniProgram/Encryptor.php
  50. 0 7
      vendor/overtrue/wechat/src/MiniProgram/Express/Client.php
  51. 0 12
      vendor/overtrue/wechat/src/MiniProgram/Mall/CartClient.php
  52. 0 3
      vendor/overtrue/wechat/src/MiniProgram/Mall/MediaClient.php
  53. 0 11
      vendor/overtrue/wechat/src/MiniProgram/Mall/OrderClient.php
  54. 0 9
      vendor/overtrue/wechat/src/MiniProgram/Mall/ProductClient.php
  55. 0 11
      vendor/overtrue/wechat/src/MiniProgram/NearbyPoi/Client.php
  56. 0 2
      vendor/overtrue/wechat/src/MiniProgram/OpenData/Client.php
  57. 0 3
      vendor/overtrue/wechat/src/MiniProgram/Plugin/Client.php
  58. 0 4
      vendor/overtrue/wechat/src/MiniProgram/Plugin/DevClient.php
  59. 0 1
      vendor/overtrue/wechat/src/MiniProgram/Soter/Client.php
  60. 0 15
      vendor/overtrue/wechat/src/MiniProgram/TemplateMessage/Client.php
  61. 0 4
      vendor/overtrue/wechat/src/MiniProgram/UniformMessage/Client.php
  62. 0 5
      vendor/overtrue/wechat/src/OfficialAccount/Application.php
  63. 0 2
      vendor/overtrue/wechat/src/OfficialAccount/AutoReply/Client.php
  64. 0 38
      vendor/overtrue/wechat/src/OfficialAccount/Base/Client.php
  65. 2 8
      vendor/overtrue/wechat/src/OfficialAccount/Broadcasting/Client.php
  66. 0 3
      vendor/overtrue/wechat/src/OfficialAccount/Card/BoardingPassClient.php
  67. 0 4
      vendor/overtrue/wechat/src/OfficialAccount/Card/Card.php
  68. 0 69
      vendor/overtrue/wechat/src/OfficialAccount/Card/Client.php
  69. 0 24
      vendor/overtrue/wechat/src/OfficialAccount/Card/CodeClient.php
  70. 0 19
      vendor/overtrue/wechat/src/OfficialAccount/Card/CoinClient.php
  71. 0 9
      vendor/overtrue/wechat/src/OfficialAccount/Card/GeneralCardClient.php
  72. 1 3
      vendor/overtrue/wechat/src/OfficialAccount/Card/JssdkClient.php
  73. 0 3
      vendor/overtrue/wechat/src/OfficialAccount/Card/MeetingTicketClient.php
  74. 0 16
      vendor/overtrue/wechat/src/OfficialAccount/Card/MemberCardClient.php
  75. 0 3
      vendor/overtrue/wechat/src/OfficialAccount/Card/MovieTicketClient.php
  76. 0 16
      vendor/overtrue/wechat/src/OfficialAccount/Card/ServiceProvider.php
  77. 0 12
      vendor/overtrue/wechat/src/OfficialAccount/Card/SubMerchantClient.php
  78. 0 24
      vendor/overtrue/wechat/src/OfficialAccount/Comment/Client.php
  79. 2 29
      vendor/overtrue/wechat/src/OfficialAccount/CustomerService/Client.php
  80. 1 3
      vendor/overtrue/wechat/src/OfficialAccount/CustomerService/Messenger.php
  81. 0 2
      vendor/overtrue/wechat/src/OfficialAccount/CustomerService/SessionClient.php
  82. 0 3
      vendor/overtrue/wechat/src/OfficialAccount/DataCube/Client.php
  83. 0 31
      vendor/overtrue/wechat/src/OfficialAccount/Device/Client.php
  84. 0 5
      vendor/overtrue/wechat/src/OfficialAccount/Goods/Client.php
  85. 1 15
      vendor/overtrue/wechat/src/OfficialAccount/Material/Client.php
  86. 0 13
      vendor/overtrue/wechat/src/OfficialAccount/Menu/Client.php
  87. 0 3
      vendor/overtrue/wechat/src/OfficialAccount/Semantic/Client.php
  88. 0 8
      vendor/overtrue/wechat/src/OfficialAccount/ShakeAround/Client.php
  89. 2 17
      vendor/overtrue/wechat/src/OfficialAccount/ShakeAround/DeviceClient.php
  90. 0 21
      vendor/overtrue/wechat/src/OfficialAccount/ShakeAround/GroupClient.php
  91. 1 3
      vendor/overtrue/wechat/src/OfficialAccount/ShakeAround/MaterialClient.php
  92. 0 15
      vendor/overtrue/wechat/src/OfficialAccount/ShakeAround/PageClient.php
  93. 0 9
      vendor/overtrue/wechat/src/OfficialAccount/ShakeAround/RelationClient.php
  94. 0 12
      vendor/overtrue/wechat/src/OfficialAccount/ShakeAround/StatsClient.php
  95. 0 34
      vendor/overtrue/wechat/src/OfficialAccount/Store/Client.php
  96. 0 18
      vendor/overtrue/wechat/src/OfficialAccount/TemplateMessage/Client.php
  97. 0 7
      vendor/overtrue/wechat/src/OfficialAccount/User/TagClient.php
  98. 0 6
      vendor/overtrue/wechat/src/OfficialAccount/User/UserClient.php
  99. 1 3
      vendor/overtrue/wechat/src/OpenPlatform/Auth/VerifyTicket.php
  100. 0 4
      vendor/overtrue/wechat/src/OpenPlatform/Authorizer/Aggregate/Account/Client.php

+ 3 - 0
vendor/composer/autoload_classmap.php

@@ -13,5 +13,8 @@ return array(
     'Normalizer' => $vendorDir . '/symfony/polyfill-intl-normalizer/Resources/stubs/Normalizer.php',
     'ParseError' => $vendorDir . '/symfony/polyfill-php70/Resources/stubs/ParseError.php',
     'SessionUpdateTimestampHandlerInterface' => $vendorDir . '/symfony/polyfill-php70/Resources/stubs/SessionUpdateTimestampHandlerInterface.php',
+    'Stringable' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/Stringable.php',
     'TypeError' => $vendorDir . '/symfony/polyfill-php70/Resources/stubs/TypeError.php',
+    'UnhandledMatchError' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/UnhandledMatchError.php',
+    'ValueError' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/ValueError.php',
 );

+ 1 - 2
vendor/composer/autoload_files.php

@@ -11,12 +11,11 @@ return array(
     '023d27dca8066ef29e6739335ea73bad' => $vendorDir . '/symfony/polyfill-php70/bootstrap.php',
     '25072dd6e2470089de65ae7bf11d3109' => $vendorDir . '/symfony/polyfill-php72/bootstrap.php',
     'f598d06aa772fa33d905e87be6398fb1' => $vendorDir . '/symfony/polyfill-intl-idn/bootstrap.php',
+    'a4a119a56e50fbb293281d9a48007e0e' => $vendorDir . '/symfony/polyfill-php80/bootstrap.php',
     '7b11c4dc42b3b3023073cb14e519683c' => $vendorDir . '/ralouphie/getallheaders/src/getallheaders.php',
     'c964ee0ededf28c96ebd9db5099ef910' => $vendorDir . '/guzzlehttp/promises/src/functions_include.php',
     'a0edc8309cc5e1d60e3047b5df6b7052' => $vendorDir . '/guzzlehttp/psr7/src/functions_include.php',
     '37a3dc5111fe8f707ab4c132ef1dbc62' => $vendorDir . '/guzzlehttp/guzzle/src/functions_include.php',
-    '320cde22f66dd4f5d3fd621d3e88b98f' => $vendorDir . '/symfony/polyfill-ctype/bootstrap.php',
-    'a9ed0d27b5a698798a89181429f162c5' => $vendorDir . '/khanamiryan/qrcode-detector-decoder/lib/Common/customFunctions.php',
     'abede361264e2ae69ec1eee813a101af' => $vendorDir . '/markbaker/complex/classes/src/functions/abs.php',
     '21a5860fbef5be28db5ddfbc3cca67c4' => $vendorDir . '/markbaker/complex/classes/src/functions/acos.php',
     '1546e3f9d127f2a9bb2d1b6c31c26ef1' => $vendorDir . '/markbaker/complex/classes/src/functions/acosh.php',

+ 5 - 10
vendor/composer/autoload_psr4.php

@@ -9,28 +9,25 @@ return array(
     'think\\composer\\' => array($vendorDir . '/topthink/think-installer/src'),
     'think\\captcha\\' => array($vendorDir . '/topthink/think-captcha/src'),
     'think\\' => array($vendorDir . '/karsonzhang/fastadmin-addons/src', $baseDir . '/thinkphp/library/think'),
-    'Zxing\\' => array($vendorDir . '/khanamiryan/qrcode-detector-decoder/lib'),
+    'ZipStream\\' => array($vendorDir . '/maennchen/zipstream-php/src'),
+    'Symfony\\Polyfill\\Php80\\' => array($vendorDir . '/symfony/polyfill-php80'),
     'Symfony\\Polyfill\\Php72\\' => array($vendorDir . '/symfony/polyfill-php72'),
     'Symfony\\Polyfill\\Php70\\' => array($vendorDir . '/symfony/polyfill-php70'),
     'Symfony\\Polyfill\\Mbstring\\' => array($vendorDir . '/symfony/polyfill-mbstring'),
     'Symfony\\Polyfill\\Intl\\Normalizer\\' => array($vendorDir . '/symfony/polyfill-intl-normalizer'),
     'Symfony\\Polyfill\\Intl\\Idn\\' => array($vendorDir . '/symfony/polyfill-intl-idn'),
-    'Symfony\\Polyfill\\Ctype\\' => array($vendorDir . '/symfony/polyfill-ctype'),
     'Symfony\\Contracts\\Service\\' => array($vendorDir . '/symfony/service-contracts'),
-    'Symfony\\Contracts\\EventDispatcher\\' => array($vendorDir . '/symfony/event-dispatcher-contracts'),
     'Symfony\\Contracts\\Cache\\' => array($vendorDir . '/symfony/cache-contracts'),
     'Symfony\\Component\\VarExporter\\' => array($vendorDir . '/symfony/var-exporter'),
-    'Symfony\\Component\\PropertyAccess\\' => array($vendorDir . '/symfony/property-access'),
     'Symfony\\Component\\OptionsResolver\\' => array($vendorDir . '/symfony/options-resolver'),
     'Symfony\\Component\\Mime\\' => array($vendorDir . '/symfony/mime'),
-    'Symfony\\Component\\Inflector\\' => array($vendorDir . '/symfony/inflector'),
     'Symfony\\Component\\HttpFoundation\\' => array($vendorDir . '/symfony/http-foundation'),
-    'Symfony\\Component\\EventDispatcher\\' => array($vendorDir . '/symfony/event-dispatcher'),
     'Symfony\\Component\\Cache\\' => array($vendorDir . '/symfony/cache'),
     'Symfony\\Bridge\\PsrHttpMessage\\' => array($vendorDir . '/symfony/psr-http-message-bridge'),
     'Psr\\SimpleCache\\' => array($vendorDir . '/psr/simple-cache/src'),
     'Psr\\Log\\' => array($vendorDir . '/psr/log/Psr/Log'),
-    'Psr\\Http\\Message\\' => array($vendorDir . '/psr/http-message/src'),
+    'Psr\\Http\\Message\\' => array($vendorDir . '/psr/http-factory/src', $vendorDir . '/psr/http-message/src'),
+    'Psr\\Http\\Client\\' => array($vendorDir . '/psr/http-client/src'),
     'Psr\\Container\\' => array($vendorDir . '/psr/container/src'),
     'Psr\\Cache\\' => array($vendorDir . '/psr/cache/src'),
     'PhpOffice\\PhpSpreadsheet\\' => array($vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet'),
@@ -46,8 +43,6 @@ return array(
     'Endroid\\QrCode\\' => array($vendorDir . '/endroid/qr-code/src'),
     'EasyWeChat\\' => array($vendorDir . '/overtrue/wechat/src'),
     'EasyWeChatComposer\\' => array($vendorDir . '/easywechat-composer/easywechat-composer/src'),
-    'DASPRiD\\Enum\\' => array($vendorDir . '/dasprid/enum/src'),
-    'Cron\\' => array($vendorDir . '/dragonmantank/cron-expression/src/Cron'),
+    'Cron\\' => array($vendorDir . '/mtdowling/cron-expression/src/Cron'),
     'Complex\\' => array($vendorDir . '/markbaker/complex/classes/src'),
-    'BaconQrCode\\' => array($vendorDir . '/bacon/bacon-qr-code/src'),
 );

+ 20 - 48
vendor/composer/autoload_static.php

@@ -12,12 +12,11 @@ class ComposerStaticInitee15cbb6ed33e5b662fcb3f36298dc5c
         '023d27dca8066ef29e6739335ea73bad' => __DIR__ . '/..' . '/symfony/polyfill-php70/bootstrap.php',
         '25072dd6e2470089de65ae7bf11d3109' => __DIR__ . '/..' . '/symfony/polyfill-php72/bootstrap.php',
         'f598d06aa772fa33d905e87be6398fb1' => __DIR__ . '/..' . '/symfony/polyfill-intl-idn/bootstrap.php',
+        'a4a119a56e50fbb293281d9a48007e0e' => __DIR__ . '/..' . '/symfony/polyfill-php80/bootstrap.php',
         '7b11c4dc42b3b3023073cb14e519683c' => __DIR__ . '/..' . '/ralouphie/getallheaders/src/getallheaders.php',
         'c964ee0ededf28c96ebd9db5099ef910' => __DIR__ . '/..' . '/guzzlehttp/promises/src/functions_include.php',
         'a0edc8309cc5e1d60e3047b5df6b7052' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/functions_include.php',
         '37a3dc5111fe8f707ab4c132ef1dbc62' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/functions_include.php',
-        '320cde22f66dd4f5d3fd621d3e88b98f' => __DIR__ . '/..' . '/symfony/polyfill-ctype/bootstrap.php',
-        'a9ed0d27b5a698798a89181429f162c5' => __DIR__ . '/..' . '/khanamiryan/qrcode-detector-decoder/lib/Common/customFunctions.php',
         'abede361264e2ae69ec1eee813a101af' => __DIR__ . '/..' . '/markbaker/complex/classes/src/functions/abs.php',
         '21a5860fbef5be28db5ddfbc3cca67c4' => __DIR__ . '/..' . '/markbaker/complex/classes/src/functions/acos.php',
         '1546e3f9d127f2a9bb2d1b6c31c26ef1' => __DIR__ . '/..' . '/markbaker/complex/classes/src/functions/acosh.php',
@@ -91,26 +90,22 @@ class ComposerStaticInitee15cbb6ed33e5b662fcb3f36298dc5c
         ),
         'Z' => 
         array (
-            'Zxing\\' => 6,
+            'ZipStream\\' => 10,
         ),
         'S' => 
         array (
+            'Symfony\\Polyfill\\Php80\\' => 23,
             'Symfony\\Polyfill\\Php72\\' => 23,
             'Symfony\\Polyfill\\Php70\\' => 23,
             'Symfony\\Polyfill\\Mbstring\\' => 26,
             'Symfony\\Polyfill\\Intl\\Normalizer\\' => 33,
             'Symfony\\Polyfill\\Intl\\Idn\\' => 26,
-            'Symfony\\Polyfill\\Ctype\\' => 23,
             'Symfony\\Contracts\\Service\\' => 26,
-            'Symfony\\Contracts\\EventDispatcher\\' => 34,
             'Symfony\\Contracts\\Cache\\' => 24,
             'Symfony\\Component\\VarExporter\\' => 30,
-            'Symfony\\Component\\PropertyAccess\\' => 33,
             'Symfony\\Component\\OptionsResolver\\' => 34,
             'Symfony\\Component\\Mime\\' => 23,
-            'Symfony\\Component\\Inflector\\' => 28,
             'Symfony\\Component\\HttpFoundation\\' => 33,
-            'Symfony\\Component\\EventDispatcher\\' => 34,
             'Symfony\\Component\\Cache\\' => 24,
             'Symfony\\Bridge\\PsrHttpMessage\\' => 30,
         ),
@@ -119,6 +114,7 @@ class ComposerStaticInitee15cbb6ed33e5b662fcb3f36298dc5c
             'Psr\\SimpleCache\\' => 16,
             'Psr\\Log\\' => 8,
             'Psr\\Http\\Message\\' => 17,
+            'Psr\\Http\\Client\\' => 16,
             'Psr\\Container\\' => 14,
             'Psr\\Cache\\' => 10,
             'PhpOffice\\PhpSpreadsheet\\' => 25,
@@ -147,19 +143,11 @@ class ComposerStaticInitee15cbb6ed33e5b662fcb3f36298dc5c
             'EasyWeChat\\' => 11,
             'EasyWeChatComposer\\' => 19,
         ),
-        'D' => 
-        array (
-            'DASPRiD\\Enum\\' => 13,
-        ),
         'C' => 
         array (
             'Cron\\' => 5,
             'Complex\\' => 8,
         ),
-        'B' => 
-        array (
-            'BaconQrCode\\' => 12,
-        ),
     );
 
     public static $prefixDirsPsr4 = array (
@@ -176,9 +164,13 @@ class ComposerStaticInitee15cbb6ed33e5b662fcb3f36298dc5c
             0 => __DIR__ . '/..' . '/karsonzhang/fastadmin-addons/src',
             1 => __DIR__ . '/../..' . '/thinkphp/library/think',
         ),
-        'Zxing\\' => 
+        'ZipStream\\' => 
+        array (
+            0 => __DIR__ . '/..' . '/maennchen/zipstream-php/src',
+        ),
+        'Symfony\\Polyfill\\Php80\\' => 
         array (
-            0 => __DIR__ . '/..' . '/khanamiryan/qrcode-detector-decoder/lib',
+            0 => __DIR__ . '/..' . '/symfony/polyfill-php80',
         ),
         'Symfony\\Polyfill\\Php72\\' => 
         array (
@@ -200,18 +192,10 @@ class ComposerStaticInitee15cbb6ed33e5b662fcb3f36298dc5c
         array (
             0 => __DIR__ . '/..' . '/symfony/polyfill-intl-idn',
         ),
-        'Symfony\\Polyfill\\Ctype\\' => 
-        array (
-            0 => __DIR__ . '/..' . '/symfony/polyfill-ctype',
-        ),
         'Symfony\\Contracts\\Service\\' => 
         array (
             0 => __DIR__ . '/..' . '/symfony/service-contracts',
         ),
-        'Symfony\\Contracts\\EventDispatcher\\' => 
-        array (
-            0 => __DIR__ . '/..' . '/symfony/event-dispatcher-contracts',
-        ),
         'Symfony\\Contracts\\Cache\\' => 
         array (
             0 => __DIR__ . '/..' . '/symfony/cache-contracts',
@@ -220,10 +204,6 @@ class ComposerStaticInitee15cbb6ed33e5b662fcb3f36298dc5c
         array (
             0 => __DIR__ . '/..' . '/symfony/var-exporter',
         ),
-        'Symfony\\Component\\PropertyAccess\\' => 
-        array (
-            0 => __DIR__ . '/..' . '/symfony/property-access',
-        ),
         'Symfony\\Component\\OptionsResolver\\' => 
         array (
             0 => __DIR__ . '/..' . '/symfony/options-resolver',
@@ -232,18 +212,10 @@ class ComposerStaticInitee15cbb6ed33e5b662fcb3f36298dc5c
         array (
             0 => __DIR__ . '/..' . '/symfony/mime',
         ),
-        'Symfony\\Component\\Inflector\\' => 
-        array (
-            0 => __DIR__ . '/..' . '/symfony/inflector',
-        ),
         'Symfony\\Component\\HttpFoundation\\' => 
         array (
             0 => __DIR__ . '/..' . '/symfony/http-foundation',
         ),
-        'Symfony\\Component\\EventDispatcher\\' => 
-        array (
-            0 => __DIR__ . '/..' . '/symfony/event-dispatcher',
-        ),
         'Symfony\\Component\\Cache\\' => 
         array (
             0 => __DIR__ . '/..' . '/symfony/cache',
@@ -262,7 +234,12 @@ class ComposerStaticInitee15cbb6ed33e5b662fcb3f36298dc5c
         ),
         'Psr\\Http\\Message\\' => 
         array (
-            0 => __DIR__ . '/..' . '/psr/http-message/src',
+            0 => __DIR__ . '/..' . '/psr/http-factory/src',
+            1 => __DIR__ . '/..' . '/psr/http-message/src',
+        ),
+        'Psr\\Http\\Client\\' => 
+        array (
+            0 => __DIR__ . '/..' . '/psr/http-client/src',
         ),
         'Psr\\Container\\' => 
         array (
@@ -324,22 +301,14 @@ class ComposerStaticInitee15cbb6ed33e5b662fcb3f36298dc5c
         array (
             0 => __DIR__ . '/..' . '/easywechat-composer/easywechat-composer/src',
         ),
-        'DASPRiD\\Enum\\' => 
-        array (
-            0 => __DIR__ . '/..' . '/dasprid/enum/src',
-        ),
         'Cron\\' => 
         array (
-            0 => __DIR__ . '/..' . '/dragonmantank/cron-expression/src/Cron',
+            0 => __DIR__ . '/..' . '/mtdowling/cron-expression/src/Cron',
         ),
         'Complex\\' => 
         array (
             0 => __DIR__ . '/..' . '/markbaker/complex/classes/src',
         ),
-        'BaconQrCode\\' => 
-        array (
-            0 => __DIR__ . '/..' . '/bacon/bacon-qr-code/src',
-        ),
     );
 
     public static $prefixesPsr0 = array (
@@ -360,7 +329,10 @@ class ComposerStaticInitee15cbb6ed33e5b662fcb3f36298dc5c
         'Normalizer' => __DIR__ . '/..' . '/symfony/polyfill-intl-normalizer/Resources/stubs/Normalizer.php',
         'ParseError' => __DIR__ . '/..' . '/symfony/polyfill-php70/Resources/stubs/ParseError.php',
         'SessionUpdateTimestampHandlerInterface' => __DIR__ . '/..' . '/symfony/polyfill-php70/Resources/stubs/SessionUpdateTimestampHandlerInterface.php',
+        'Stringable' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/Stringable.php',
         'TypeError' => __DIR__ . '/..' . '/symfony/polyfill-php70/Resources/stubs/TypeError.php',
+        'UnhandledMatchError' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/UnhandledMatchError.php',
+        'ValueError' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/ValueError.php',
     );
 
     public static function getInitializer(ClassLoader $loader)

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 247 - 364
vendor/composer/installed.json


+ 9 - 14
vendor/endroid/qr-code/.travis.yml

@@ -1,26 +1,21 @@
 language: php
 
 php:
+  - 5.4
+  - 5.5
+  - 5.6
+  - 7.0
   - 7.1
-  - 7.2
-  - 7.3
+  - hhvm
 
 matrix:
   fast_finish: true
 
-env:
-  - COMPOSER_FLAGS="--prefer-lowest"
-  - COMPOSER_FLAGS=""
-
 before_install:
-  - composer self-update
-
-install:
-  - composer update --no-interaction --prefer-dist $COMPOSER_FLAGS
+  - if [[ "$TRAVIS_PHP_VERSION" != "hhvm" ]]; then phpenv config-rm xdebug.ini; fi;
+  - composer self-update && composer install --no-interaction
 
-script:
-  - vendor/bin/phpunit
+script: bin/phpunit
 
 notifications:
-  email:
-    - info@endroid.nl
+  email: info@endroid.nl

+ 91 - 70
vendor/endroid/qr-code/README.md

@@ -1,103 +1,124 @@
-# QR Code
+QR Code
+=======
 
-*By [endroid](https://endroid.nl/)*
+*By [endroid](http://endroid.nl/)*
 
-[![Latest Stable Version](http://img.shields.io/packagist/v/endroid/qr-code.svg)](https://packagist.org/packages/endroid/qr-code)
-[![Build Status](http://img.shields.io/travis/endroid/qr-code.svg)](http://travis-ci.org/endroid/qr-code)
-[![Total Downloads](http://img.shields.io/packagist/dt/endroid/qr-code.svg)](https://packagist.org/packages/endroid/qr-code)
-[![Monthly Downloads](http://img.shields.io/packagist/dm/endroid/qr-code.svg)](https://packagist.org/packages/endroid/qr-code)
-[![License](http://img.shields.io/packagist/l/endroid/qr-code.svg)](https://packagist.org/packages/endroid/qr-code)
+[![Latest Stable Version](http://img.shields.io/packagist/v/endroid/qrcode.svg)](https://packagist.org/packages/endroid/qrcode)
+[![Build Status](http://img.shields.io/travis/endroid/QrCode.svg)](http://travis-ci.org/endroid/QrCode)
+[![Total Downloads](http://img.shields.io/packagist/dt/endroid/qrcode.svg)](https://packagist.org/packages/endroid/qrcode)
+[![Monthly Downloads](http://img.shields.io/packagist/dm/endroid/qrcode.svg)](https://packagist.org/packages/endroid/qrcode)
+[![License](http://img.shields.io/packagist/l/endroid/qrcode.svg)](https://packagist.org/packages/endroid/qrcode)
 
-This library helps you generate QR codes in a jiffy. Makes use of [bacon/bacon-qr-code](https://github.com/Bacon/BaconQrCode)
-to generate the matrix and [khanamiryan/qrcode-detector-decoder](https://github.com/khanamiryan/php-qrcode-detector-decoder)
-for validating generated QR codes. Further extended with Twig extensions, generation routes, a factory and a
-Symfony bundle for easy installation and configuration.
+This library based on QRcode Perl CGI & PHP scripts by Y. Swetake helps you generate images containing a QR code.
 
 ## Installation
 
 Use [Composer](https://getcomposer.org/) to install the library.
 
 ``` bash
-$ composer require endroid/qr-code
+$ composer require endroid/qrcode
 ```
 
-## Basic usage
+## Usage
 
 ```php
 use Endroid\QrCode\QrCode;
 
-$qrCode = new QrCode('Life is too short to be generating QR codes');
-
+$qrCode = new QrCode();
+$qrCode
+    ->setText('Life is too short to be generating QR codes')
+    ->setSize(300)
+    ->setPadding(10)
+    ->setErrorCorrection('high')
+    ->setForegroundColor(['r' => 0, 'g' => 0, 'b' => 0, 'a' => 0])
+    ->setBackgroundColor(['r' => 255, 'g' => 255, 'b' => 255, 'a' => 0])
+    ->setLabel('Scan the code')
+    ->setLabelFontSize(16)
+    ->setImageType(QrCode::IMAGE_TYPE_PNG)
+;
+
+// now we can directly output the qrcode
 header('Content-Type: '.$qrCode->getContentType());
-echo $qrCode->writeString();
+$qrCode->render();
+
+// save it to a file
+$qrCode->save('qrcode.png');
+
+// or create a response object
+$response = new Response($qrCode->get(), 200, ['Content-Type' => $qrCode->getContentType()]);
 ```
 
-## Advanced usage
+![QR Code](http://endroid.nl/qrcode/Life%20is%20too%20short%20to%20be%20generating%20QR%20codes.png?label=Scan%20the%20code)
+
+## Symfony integration
+
+Register the Symfony bundle in the kernel.
 
 ```php
-use Endroid\QrCode\ErrorCorrectionLevel;
-use Endroid\QrCode\LabelAlignment;
-use Endroid\QrCode\QrCode;
-use Endroid\QrCode\Response\QrCodeResponse;
-
-// Create a basic QR code
-$qrCode = new QrCode('Life is too short to be generating QR codes');
-$qrCode->setSize(300);
-
-// Set advanced options
-$qrCode->setWriterByName('png');
-$qrCode->setMargin(10);
-$qrCode->setEncoding('UTF-8');
-$qrCode->setErrorCorrectionLevel(new ErrorCorrectionLevel(ErrorCorrectionLevel::HIGH));
-$qrCode->setForegroundColor(['r' => 0, 'g' => 0, 'b' => 0, 'a' => 0]);
-$qrCode->setBackgroundColor(['r' => 255, 'g' => 255, 'b' => 255, 'a' => 0]);
-$qrCode->setLabel('Scan the code', 16, __DIR__.'/../assets/fonts/noto_sans.otf', LabelAlignment::CENTER);
-$qrCode->setLogoPath(__DIR__.'/../assets/images/symfony.png');
-$qrCode->setLogoSize(150, 200);
-$qrCode->setRoundBlockSize(true);
-$qrCode->setValidateResult(false);
-$qrCode->setWriterOptions(['exclude_xml_declaration' => true]);
-
-// Directly output the QR code
-header('Content-Type: '.$qrCode->getContentType());
-echo $qrCode->writeString();
+// app/AppKernel.php
+
+public function registerBundles()
+{
+    $bundles = [
+        // ...
+        new Endroid\QrCode\Bundle\EndroidQrCodeBundle(),
+    ];
+}
+```
 
-// Save it to a file
-$qrCode->writeFile(__DIR__.'/qrcode.png');
+The default parameters can be overridden via the configuration.  
+Alpha channel available range is [0, 127] in foreground and background colors.
+
+```yaml
+endroid_qr_code:
+    size: 100
+    padding: 10
+    extension: gif
+    error_correction_level: high
+    foreground_color: { r: 0, g: 0, b: 0, a: 0 }
+    background_color: { r: 255, g: 255, b: 255, a: 0 }
+    label: 'My label'
+    label_font_size: 16
+```
+
+Now you can retrieve the factory as follows.
 
-// Create a response object
-$response = new QrCodeResponse($qrCode);
+```php
+$factory = $this->get('endroid.qrcode.factory');
+$factory->createQrCode();
 ```
 
-![QR Code](https://endroid.nl/qr-code/Life%20is%20too%20short%20to%20be%20generating%20QR%20codes.png)
+Add the following section to your routing to be able to handle QR code URLs.
+This step can be skipped when you only use data URIs to display your images.
+
+``` yml
+EndroidQrCodeBundle:
+    resource: "@EndroidQrCodeBundle/Controller/"
+    type:     annotation
+    prefix:   /qrcode
+```
 
-## Built-in validation reader
+After installation and configuration, QR codes can be generated by appending
+the QR code text to the url as mounted, followed by .png, .jpg or .gif.
 
-You can enable the built-in validation reader (disabled by default) by calling
-setValidateResult(true). This validation reader does not guarantee that the QR
-code will be readable by all readers but it helps you provide a minimum level
-of quality.
- 
-The readability of a QR code is primarily determined by the size, the input
-length, the error correction level and any possible logo over the image so you
-can tweak these parameters if you are looking for optimal results. You can also
-check $qrCode->getRoundBlockSize() value to see if block dimensions are rounded
-so that the image is more sharp and readable.
+## Twig extension
 
-Take note that the validator can consume quite amount of additional resources.
+The bundle also provides a Twig extension for quickly generating QR code urls.
+Optional parameters are extension, size, padding and errorCorrectionLevel. When
+a parameter is omitted, the value in the bundle configuration is used.
 
-## Symfony integration
+``` twig
+<img src="{{ qrcode_url(message) }}" />
+<img src="{{ qrcode_url(message, { extension: 'png' }) }}" />
+<img src="{{ qrcode_url(message, { size: 150 }) }}" />
+```
 
-The [endroid/qr-code-bundle](https://github.com/endroid/qr-code-bundle)
-integrates the QR code library in Symfony for an even better experience.
+You can also use the data URI helper to embed the QR code within your HTML
+instead of requiring a separate HTTP request to load your image.
 
-* Configure your defaults (like image size, default writer etc.)
-* Generate QR codes quickly from anywhere via the factory service
-* Generate QR codes directly by typing an URL like /qr-code/\<text>.png?size=300
-* Generate QR codes or URLs directly from Twig using dedicated functions
- 
-Read the [bundle documentation](https://github.com/endroid/qr-code-bundle)
-for more information.
+``` twig
+<img src="{{ qrcode_data_uri(message, { size: 200, padding: 10 }) }}" />
+```
 
 ## Versioning
 

+ 16 - 15
vendor/endroid/qr-code/composer.json

@@ -1,30 +1,28 @@
 {
-    "name": "endroid/qr-code",
+    "name": "endroid/qrcode",
     "description": "Endroid QR Code",
-    "keywords": ["endroid", "qrcode", "qr", "code", "bundle", "php"],
-    "homepage": "https://github.com/endroid/qr-code",
+    "keywords": ["endroid", "qrcode", "qr", "code", "bundle", "symfony"],
+    "homepage": "https://github.com/endroid/QrCode",
     "type": "library",
     "license": "MIT",
     "authors": [
         {
             "name": "Jeroen van den Enden",
-            "email": "info@endroid.nl"
+            "email": "info@endroid.nl",
+            "homepage": "http://endroid.nl/"
         }
     ],
     "require": {
-        "php": ">=7.1",
+        "php": ">=5.4",
         "ext-gd": "*",
-        "bacon/bacon-qr-code": "^2.0",
-        "khanamiryan/qrcode-detector-decoder": "^1.0.2",
-        "myclabs/php-enum": "^1.5",
-        "symfony/options-resolver": "^2.7|^3.0|^4.0",
-        "symfony/property-access": "^2.7|^3.0|^4.0"
+        "symfony/options-resolver": "^2.3|^3.0"
     },
     "require-dev": {
-        "phpunit/phpunit": "^5.7|^6.0"
-    },
-    "suggest": {
-        "symfony/http-foundation": "Install if you want to use QrCodeResponse"
+        "symfony/browser-kit": "^2.3|^3.0",
+        "symfony/framework-bundle": "^2.3|^3.0",
+        "symfony/http-kernel": "^2.3|^3.0",
+        "sensio/framework-extra-bundle": "^3.0",
+        "phpunit/phpunit": "^4.0|^5.0"
     },
     "autoload": {
         "psr-4": {
@@ -36,9 +34,12 @@
             "Endroid\\QrCode\\Tests\\": "tests/"
         }
     },
+    "config": {
+        "bin-dir": "bin"
+    },
     "extra": {
         "branch-alias": {
-            "dev-master": "3.x-dev"
+            "dev-master": "1.x-dev"
         }
     }
 }

+ 4 - 1
vendor/endroid/qr-code/phpunit.xml.dist

@@ -1,8 +1,11 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<phpunit bootstrap="vendor/autoload.php" colors="true">
+<phpunit bootstrap="tests/Bundle/app/bootstrap.php" colors="true">
     <testsuites>
         <testsuite>
             <directory suffix="Test.php">tests</directory>
         </testsuite>
     </testsuites>
+    <php>
+        <server name="KERNEL_DIR" value="tests/Bundle/app" />
+    </php>
 </phpunit>

+ 87 - 64
vendor/endroid/qr-code/src/Factory/QrCodeFactory.php

@@ -1,7 +1,5 @@
 <?php
 
-declare(strict_types=1);
-
 /*
  * (c) Jeroen van den Enden <info@endroid.nl>
  *
@@ -11,89 +9,114 @@ declare(strict_types=1);
 
 namespace Endroid\QrCode\Factory;
 
-use Endroid\QrCode\ErrorCorrectionLevel;
 use Endroid\QrCode\QrCode;
-use Endroid\QrCode\QrCodeInterface;
-use Endroid\QrCode\WriterRegistryInterface;
 use Symfony\Component\OptionsResolver\OptionsResolver;
-use Symfony\Component\PropertyAccess\PropertyAccess;
 
-class QrCodeFactory implements QrCodeFactoryInterface
+class QrCodeFactory
 {
-    private $writerRegistry;
-    private $optionsResolver;
-    private $defaultOptions;
-    private $definedOptions = [
-        'writer',
-        'writer_options',
-        'size',
-        'margin',
-        'foreground_color',
-        'background_color',
-        'encoding',
-        'round_block_size',
-        'error_correction_level',
-        'logo_path',
-        'logo_width',
-        'logo_height',
-        'label',
-        'label_font_size',
-        'label_font_path',
-        'label_alignment',
-        'label_margin',
-        'validate_result',
-    ];
-
-    public function __construct(array $defaultOptions = [], WriterRegistryInterface $writerRegistry = null)
+    /**
+     * @var OptionsResolver
+     */
+    protected $optionsResolver;
+
+    /**
+     * Creates a new instance.
+     *
+     * @param array $defaults
+     */
+    public function __construct(array $defaults = [])
     {
-        $this->defaultOptions = $defaultOptions;
-        $this->writerRegistry = $writerRegistry;
+        $defaults = array_merge($this->getAvailableOptions(), $defaults);
+        $this->optionsResolver = new OptionsResolver();
+        $this->optionsResolver->setDefaults($defaults);
     }
 
-    public function create(string $text = '', array $options = []): QrCodeInterface
+    /**
+     * Creates a QR code.
+     *
+     * @param array $options
+     *
+     * @return QrCode
+     */
+    public function createQrCode(array $options = [])
     {
-        $options = $this->getOptionsResolver()->resolve($options);
-        $accessor = PropertyAccess::createPropertyAccessor();
+        $options = $this->optionsResolver->resolve($options);
+
+        $qrCode = new QrCode();
+
+        if (isset($options['text']) && !is_null($options['text'])) {
+            $qrCode->setText($options['text']);
+        }
+
+        if (isset($options['size']) && !is_null($options['size'])) {
+            $qrCode->setSize($options['size']);
+        }
+
+        if (isset($options['padding']) && !is_null($options['padding'])) {
+            $qrCode->setPadding($options['padding']);
+        }
+
+        if (isset($options['extension']) && !is_null($options['extension'])) {
+            $qrCode->setExtension($options['extension']);
+        }
+
+        if (isset($options['error_correction_level']) && !is_null($options['error_correction_level'])) {
+            $qrCode->setErrorCorrection($options['error_correction_level']);
+        }
+
+        if (isset($options['foreground_color']) && !is_null($options['foreground_color'])) {
+            $qrCode->setForegroundColor($options['foreground_color']);
+        }
 
-        $qrCode = new QrCode($text);
+        if (isset($options['background_color']) && !is_null($options['background_color'])) {
+            $qrCode->setBackgroundColor($options['background_color']);
+        }
+
+        if (isset($options['label']) && !is_null($options['label'])) {
+            $qrCode->setLabel($options['label']);
+        }
 
-        if ($this->writerRegistry instanceof WriterRegistryInterface) {
-            $qrCode->setWriterRegistry($this->writerRegistry);
+        if (isset($options['label_font_size']) && !is_null($options['label_font_size'])) {
+            $qrCode->setLabelFontSize($options['label_font_size']);
         }
 
-        foreach ($this->definedOptions as $option) {
-            if (isset($options[$option])) {
-                if ('writer' === $option) {
-                    $options['writer_by_name'] = $options[$option];
-                    $option = 'writer_by_name';
-                }
-                if ('error_correction_level' === $option) {
-                    $options[$option] = new ErrorCorrectionLevel($options[$option]);
-                }
-                $accessor->setValue($qrCode, $option, $options[$option]);
-            }
+        if (isset($options['label_font_path']) && !is_null($options['label_font_path'])) {
+            $qrCode->setLabelFontPath($options['label_font_path']);
         }
 
         return $qrCode;
     }
 
-    private function getOptionsResolver(): OptionsResolver
+    /**
+     * Returns all available options.
+     *
+     * @return array
+     */
+    public function getAvailableOptions()
     {
-        if (!$this->optionsResolver instanceof OptionsResolver) {
-            $this->optionsResolver = $this->createOptionsResolver();
-        }
+        $options = [
+            'text' => null,
+            'size' => null,
+            'extension' => null,
+            'error_correction_level' => null,
+            'foreground_color' => null,
+            'background_color' => null,
+            'padding' => null,
+            'label' => null,
+            'label_font_size' => null,
+            'label_font_path' => null,
+        ];
 
-        return $this->optionsResolver;
+        return $options;
     }
 
-    private function createOptionsResolver(): OptionsResolver
+    /**
+     * Returns the current defaults.
+     *
+     * @return array
+     */
+    public function getDefaultOptions()
     {
-        $optionsResolver = new OptionsResolver();
-        $optionsResolver
-            ->setDefaults($this->defaultOptions)
-            ->setDefined($this->definedOptions)
-        ;
-
-        return $optionsResolver;
+        return $this->optionsResolver->resolve();
     }
 }

+ 1401 - 220
vendor/endroid/qr-code/src/QrCode.php

@@ -1,7 +1,5 @@
 <?php
 
-declare(strict_types=1);
-
 /*
  * (c) Jeroen van den Enden <info@endroid.nl>
  *
@@ -11,400 +9,1583 @@ declare(strict_types=1);
 
 namespace Endroid\QrCode;
 
-use BaconQrCode\Encoder\Encoder;
-use Endroid\QrCode\Exception\InvalidPathException;
-use Endroid\QrCode\Exception\UnsupportedExtensionException;
-use Endroid\QrCode\Writer\WriterInterface;
-
-class QrCode implements QrCodeInterface
+use Endroid\QrCode\Exceptions\DataDoesntExistsException;
+use Endroid\QrCode\Exceptions\FreeTypeLibraryMissingException;
+use Endroid\QrCode\Exceptions\ImageFunctionFailedException;
+use Endroid\QrCode\Exceptions\ImageTypeInvalidException;
+use Endroid\QrCode\Exceptions\VersionTooLargeException;
+use Endroid\QrCode\Exceptions\ImageSizeTooLargeException;
+use Endroid\QrCode\Exceptions\ImageFunctionUnknownException;
+use ReflectionFunction;
+
+/**
+ * Generate QR Code.
+ */
+class QrCode
 {
-    const LABEL_FONT_PATH_DEFAULT = __DIR__.'/../assets/fonts/noto_sans.otf';
+    /** @const int Error Correction Level Low (7%) */
+    const LEVEL_LOW = 1;
 
-    private $text;
+    /** @const int Error Correction Level Medium (15%) */
+    const LEVEL_MEDIUM = 0;
 
-    private $size = 300;
-    private $margin = 10;
+    /** @const int Error Correction Level Quartile (25%) */
+    const LEVEL_QUARTILE = 3;
 
-    private $foregroundColor = [
-        'r' => 0,
-        'g' => 0,
-        'b' => 0,
-        'a' => 0,
-    ];
+    /** @const int Error Correction Level High (30%) */
+    const LEVEL_HIGH = 2;
+
+    /** @const string Image type png */
+    const IMAGE_TYPE_PNG = 'png';
+
+    /** @const string Image type gif */
+    const IMAGE_TYPE_GIF = 'gif';
+
+    /** @const string Image type jpeg */
+    const IMAGE_TYPE_JPEG = 'jpeg';
+
+    /** @const string Image type wbmp */
+    const IMAGE_TYPE_WBMP = 'wbmp';
+
+    /** @const int Horizontal label alignment to the center of image */
+    const LABEL_HALIGN_CENTER = 0;
+
+    /** @const int Horizontal label alignment to the left side of image */
+    const LABEL_HALIGN_LEFT = 1;
+
+    /** @const int Horizontal label alignment to the left border of QR Code */
+    const LABEL_HALIGN_LEFT_BORDER = 2;
+
+    /** @const int Horizontal label alignment to the left side of QR Code */
+    const LABEL_HALIGN_LEFT_CODE = 3;
+
+    /** @const int Horizontal label alignment to the right side of image */
+    const LABEL_HALIGN_RIGHT = 4;
+
+    /** @const int Horizontal label alignment to the right border of QR Code */
+    const LABEL_HALIGN_RIGHT_BORDER = 5;
+
+    /** @const int Horizontal label alignment to the right side of QR Code */
+    const LABEL_HALIGN_RIGHT_CODE = 6;
+
+    /** @const int Vertical label alignment to the top */
+    const LABEL_VALIGN_TOP = 1;
+
+    /** @const int Vertical label alignment to the top and hide border */
+    const LABEL_VALIGN_TOP_NO_BORDER = 2;
+
+    /** @const int Vertical label alignment to the middle*/
+    const LABEL_VALIGN_MIDDLE = 3;
+
+    /** @const int Vertical label alignment to the bottom */
+    const LABEL_VALIGN_BOTTOM = 4;
+
+    /** @var string */
+    protected $logo = null;
+
+    protected $logo_size = 48;
+
+    /** @var string */
+    protected $text = '';
+
+    /** @var int */
+    protected $size = 0;
+
+    /** @var int */
+    protected $padding = 16;
+
+    /** @var bool */
+    protected $draw_quiet_zone = false;
+
+    /** @var bool */
+    protected $draw_border = false;
+
+    /** @var array */
+    protected $color_foreground = ['r' => 0, 'g' => 0, 'b' => 0, 'a' => 0];
+
+    /** @var array */
+    protected $color_background = ['r' => 255, 'g' => 255, 'b' => 255, 'a' => 0];
+
+    /** @var string */
+    protected $label = '';
+
+    /** @var int */
+    protected $label_font_size = 16;
+
+    /** @var string */
+    protected $label_font_path = '';
+
+    /** @var int */
+    protected $label_halign = self::LABEL_HALIGN_CENTER;
 
-    private $backgroundColor = [
-        'r' => 255,
-        'g' => 255,
-        'b' => 255,
-        'a' => 0,
+    /** @var int */
+    protected $label_valign = self::LABEL_VALIGN_MIDDLE;
+
+    /** @var resource */
+    protected $image = null;
+
+    /** @var int */
+    protected $version;
+
+    /** @var int */
+    protected $error_correction = self::LEVEL_MEDIUM;
+
+    /** @var array */
+    protected $error_corrections_available = [
+        self::LEVEL_LOW,
+        self::LEVEL_MEDIUM,
+        self::LEVEL_QUARTILE,
+        self::LEVEL_HIGH,
     ];
 
-    private $encoding = 'UTF-8';
-    private $roundBlockSize = true;
-    private $errorCorrectionLevel;
-
-    private $logoPath;
-    private $logoWidth;
-    private $logoHeight;
-
-    private $label;
-    private $labelFontSize = 16;
-    private $labelFontPath = self::LABEL_FONT_PATH_DEFAULT;
-    private $labelAlignment;
-    private $labelMargin = [
-        't' => 0,
-        'r' => 10,
-        'b' => 10,
-        'l' => 10,
+    /** @var int */
+    protected $module_size;
+
+    /** @var string */
+    protected $image_type = self::IMAGE_TYPE_PNG;
+
+    /** @var array */
+    protected $image_types_available = [
+        self::IMAGE_TYPE_GIF,
+        self::IMAGE_TYPE_PNG,
+        self::IMAGE_TYPE_JPEG,
+        self::IMAGE_TYPE_WBMP,
     ];
 
-    private $writerRegistry;
-    private $writer;
-    private $writerOptions = [];
-    private $validateResult = false;
+    /** @var string */
+    protected $image_path;
+
+    /** @var string */
+    protected $path;
+
+    /** @var int */
+    protected $structure_append_n;
 
-    public function __construct(string $text = '')
+    /** @var int */
+    protected $structure_append_m;
+
+    /** @var int */
+    protected $structure_append_parity;
+
+    /** @var string */
+    protected $structure_append_original_data;
+
+    /**
+     * Class constructor.
+     *
+     * @param string $text
+     */
+    public function __construct($text = '')
     {
-        $this->text = $text;
+        $this->setPath(__DIR__.'/../assets/data');
+        $this->setImagePath(__DIR__.'/../assets/image');
+        $this->setLabelFontPath(__DIR__.'/../assets/font/opensans.ttf');
+        $this->setText($text);
+    }
 
-        $this->errorCorrectionLevel = new ErrorCorrectionLevel(ErrorCorrectionLevel::LOW);
-        $this->labelAlignment = new LabelAlignment(LabelAlignment::CENTER);
+    /**
+     * Set structure append.
+     *
+     * @param int    $n
+     * @param int    $m
+     * @param int    $parity        Parity
+     * @param string $original_data Original data
+     *
+     * @return QrCode
+     */
+    public function setStructureAppend($n, $m, $parity, $original_data)
+    {
+        $this->structure_append_n = $n;
+        $this->structure_append_m = $m;
+        $this->structure_append_parity = $parity;
+        $this->structure_append_original_data = $original_data;
 
-        $this->createWriterRegistry();
+        return $this;
     }
 
-    public function setText(string $text): void
+    /**
+     * Set QR Code version.
+     *
+     * @param int $version QR Code version
+     *
+     * @return QrCode
+     */
+    public function setVersion($version)
     {
-        $this->text = $text;
+        if ($version <= 40 && $version >= 0) {
+            $this->version = $version;
+        }
+
+        return $this;
     }
 
-    public function getText(): string
+    /**
+     * Return QR Code version.
+     *
+     * @return int
+     */
+    public function getVersion()
     {
-        return $this->text;
+        return $this->version;
     }
 
-    public function setSize(int $size): void
+    /**
+     * Set QR Code error correction level.
+     *
+     * @param mixed $error_correction Error Correction Level
+     *
+     * @return QrCode
+     */
+    public function setErrorCorrection($error_correction)
     {
-        $this->size = $size;
+        if (!is_numeric($error_correction)) {
+            $level_constant = 'Endroid\QrCode\QrCode::LEVEL_'.strtoupper($error_correction);
+            $error_correction = constant($level_constant);
+        }
+
+        if (in_array($error_correction, $this->error_corrections_available)) {
+            $this->error_correction = $error_correction;
+        }
+
+        return $this;
     }
 
-    public function getSize(): int
+    /**
+     * Return QR Code error correction level.
+     *
+     * @return int
+     */
+    public function getErrorCorrection()
     {
-        return $this->size;
+        return $this->error_correction;
     }
 
-    public function setMargin(int $margin): void
+    /**
+     * Set QR Code module size.
+     *
+     * @param int $module_size Module size
+     *
+     * @return QrCode
+     */
+    public function setModuleSize($module_size)
     {
-        $this->margin = $margin;
+        $this->module_size = $module_size;
+
+        return $this;
     }
 
-    public function getMargin(): int
+    /**
+     * Return QR Code module size.
+     *
+     * @return int
+     */
+    public function getModuleSize()
     {
-        return $this->margin;
+        return $this->module_size;
     }
 
-    public function setForegroundColor(array $foregroundColor): void
+    /**
+     * Set image type for rendering.
+     *
+     * @param string $image_type Image type
+     *
+     * @return QrCode
+     *
+     * @throws ImageTypeInvalidException
+     */
+    public function setImageType($image_type)
     {
-        if (!isset($foregroundColor['a'])) {
-            $foregroundColor['a'] = 0;
+        if (!in_array($image_type, $this->image_types_available)) {
+            throw new ImageTypeInvalidException('QRCode: image type '.$image_type.' is invalid.');
         }
 
-        foreach ($foregroundColor as &$color) {
-            $color = intval($color);
-        }
+        $this->image_type = $image_type;
 
-        $this->foregroundColor = $foregroundColor;
+        return $this;
     }
 
-    public function getForegroundColor(): array
+    /**
+     * Return image type for rendering.
+     *
+     * @return string
+     */
+    public function getImageType()
     {
-        return $this->foregroundColor;
+        return $this->image_type;
     }
 
-    public function setBackgroundColor(array $backgroundColor): void
+    /**
+     * Set image type for rendering via extension.
+     *
+     * @param string $extension Image extension
+     *
+     * @return QrCode
+     */
+    public function setExtension($extension)
     {
-        if (!isset($backgroundColor['a'])) {
-            $backgroundColor['a'] = 0;
+        if ($extension == 'jpg') {
+            $this->setImageType('jpeg');
+        } else {
+            $this->setImageType($extension);
         }
 
-        foreach ($backgroundColor as &$color) {
-            $color = intval($color);
-        }
+        return $this;
+    }
 
-        $this->backgroundColor = $backgroundColor;
+    /**
+     * Set path to the images directory.
+     *
+     * @param string $image_path Image directory
+     *
+     * @return QrCode
+     */
+    public function setImagePath($image_path)
+    {
+        $this->image_path = $image_path;
+
+        return $this;
     }
 
-    public function getBackgroundColor(): array
+    /**
+     * Return path to the images directory.
+     *
+     * @return string
+     */
+    public function getImagePath()
     {
-        return $this->backgroundColor;
+        return $this->image_path;
     }
 
-    public function setEncoding(string $encoding): void
+    /**
+     * Set path to the data directory.
+     *
+     * @param string $path Data directory
+     *
+     * @return QrCode
+     */
+    public function setPath($path)
     {
-        $this->encoding = $encoding;
+        $this->path = $path;
+
+        return $this;
     }
 
-    public function getEncoding(): string
+    /**
+     * Return path to the data directory.
+     *
+     * @return string
+     */
+    public function getPath()
     {
-        return $this->encoding;
+        return $this->path;
     }
 
-    public function setRoundBlockSize(bool $roundBlockSize): void
+    /**
+     * Set logo in QR Code.
+     *
+     * @param string $logo Logo Path
+     *
+     * @throws Exceptions\DataDoesntExistsException
+     *
+     * @return QrCode
+     */
+    public function setLogo($logo)
     {
-        $this->roundBlockSize = $roundBlockSize;
+        if (!file_exists($logo)) {
+            throw new DataDoesntExistsException("$logo file does not exist");
+        }
+
+        $this->logo = $logo;
+
+        return $this;
     }
 
-    public function getRoundBlockSize(): bool
+    /**
+     * Set logo size in QR Code(default 48).
+     *
+     * @param int $logo_size Logo Size
+     *
+     * @return QrCode
+     */
+    public function setLogoSize($logo_size)
     {
-        return $this->roundBlockSize;
+        $this->logo_size = $logo_size;
+
+        return $this;
     }
 
-    public function setErrorCorrectionLevel(ErrorCorrectionLevel $errorCorrectionLevel): void
+    /**
+     * Set text to hide in QR Code.
+     *
+     * @param string $text Text to hide
+     *
+     * @return QrCode
+     */
+    public function setText($text)
     {
-        $this->errorCorrectionLevel = $errorCorrectionLevel;
+        $this->text = $text;
+
+        return $this;
     }
 
-    public function getErrorCorrectionLevel(): ErrorCorrectionLevel
+    /**
+     * Return text that will be hid in QR Code.
+     *
+     * @return string
+     */
+    public function getText()
     {
-        return $this->errorCorrectionLevel;
+        return $this->text;
     }
 
-    public function setLogoPath(string $logoPath): void
+    /**
+     * Set QR Code size (width).
+     *
+     * @param int $size Width of the QR Code
+     *
+     * @return QrCode
+     */
+    public function setSize($size)
     {
-        $logoPath = realpath($logoPath);
+        $this->size = $size;
 
-        if (!is_file($logoPath)) {
-            throw new InvalidPathException('Invalid logo path: '.$logoPath);
-        }
+        return $this;
+    }
 
-        $this->logoPath = $logoPath;
+    /**
+     * Return QR Code size (width).
+     *
+     * @return int
+     */
+    public function getSize()
+    {
+        return $this->size;
     }
 
-    public function getLogoPath(): ?string
+    /**
+     * Set padding around the QR Code.
+     *
+     * @param int $padding Padding around QR Code
+     *
+     * @return QrCode
+     */
+    public function setPadding($padding)
     {
-        return $this->logoPath;
+        $this->padding = $padding;
+
+        return $this;
     }
 
-    public function setLogoSize(int $logoWidth, int $logoHeight = null): void
+    /**
+     * Return padding around the QR Code.
+     *
+     * @return int
+     */
+    public function getPadding()
     {
-        $this->logoWidth = $logoWidth;
-        $this->logoHeight = $logoHeight;
+        return $this->padding;
     }
 
-    public function setLogoWidth(int $logoWidth): void
+    /**
+     * Set draw required four-module wide margin.
+     *
+     * @param bool $draw_quiet_zone State of required four-module wide margin drawing
+     *
+     * @return QrCode
+     */
+    public function setDrawQuietZone($draw_quiet_zone)
     {
-        $this->logoWidth = $logoWidth;
+        $this->draw_quiet_zone = $draw_quiet_zone;
+
+        return $this;
     }
 
-    public function getLogoWidth(): ?int
+    /**
+     * Return draw required four-module wide margin.
+     *
+     * @return bool
+     */
+    public function getDrawQuietZone()
     {
-        return $this->logoWidth;
+        return $this->draw_quiet_zone;
     }
 
-    public function setLogoHeight(int $logoHeight): void
+    /**
+     * Set draw border around QR Code.
+     *
+     * @param bool $draw_border State of border drawing
+     *
+     * @return QrCode
+     */
+    public function setDrawBorder($draw_border)
     {
-        $this->logoHeight = $logoHeight;
+        $this->draw_border = $draw_border;
+
+        return $this;
     }
 
-    public function getLogoHeight(): ?int
+    /**
+     * Return draw border around QR Code.
+     *
+     * @return bool
+     */
+    public function getDrawBorder()
     {
-        return $this->logoHeight;
+        return $this->draw_border;
     }
 
-    public function setLabel(string $label, int $labelFontSize = null, string $labelFontPath = null, string $labelAlignment = null, array $labelMargin = null): void
+    /**
+     * Set QR Code label (text).
+     *
+     * @param int|string $label Label to print under QR code
+     *
+     * @return QrCode
+     */
+    public function setLabel($label)
     {
         $this->label = $label;
 
-        if (null !== $labelFontSize) {
-            $this->setLabelFontSize($labelFontSize);
-        }
-
-        if (null !== $labelFontPath) {
-            $this->setLabelFontPath($labelFontPath);
-        }
-
-        if (null !== $labelAlignment) {
-            $this->setLabelAlignment($labelAlignment);
-        }
-
-        if (null !== $labelMargin) {
-            $this->setLabelMargin($labelMargin);
-        }
+        return $this;
     }
 
-    public function getLabel(): ?string
+    /**
+     * Return QR Code label (text).
+     *
+     * @return string
+     */
+    public function getLabel()
     {
         return $this->label;
     }
 
-    public function setLabelFontSize(int $labelFontSize): void
+    /**
+     * Set QR Code label font size.
+     *
+     * @param int $label_font_size Font size of the QR code label
+     *
+     * @return QrCode
+     */
+    public function setLabelFontSize($label_font_size)
     {
-        $this->labelFontSize = $labelFontSize;
+        $this->label_font_size = $label_font_size;
+
+        return $this;
     }
 
-    public function getLabelFontSize(): ?int
+    /**
+     * Return QR Code label font size.
+     *
+     * @return int
+     */
+    public function getLabelFontSize()
     {
-        return $this->labelFontSize;
+        return $this->label_font_size;
     }
 
-    public function setLabelFontPath(string $labelFontPath): void
+    /**
+     * Set QR Code label font path.
+     *
+     * @param int $label_font_path Path to the QR Code label's TTF font file
+     *
+     * @return QrCode
+     */
+    public function setLabelFontPath($label_font_path)
     {
-        $resolvedLabelFontPath = realpath($labelFontPath);
+        $this->label_font_path = $label_font_path;
 
-        if (!is_string($resolvedLabelFontPath) || !is_file($resolvedLabelFontPath)) {
-            throw new InvalidPathException('Invalid label font path: '.$labelFontPath);
-        }
-
-        $this->labelFontPath = $resolvedLabelFontPath;
+        return $this;
     }
 
-    public function getLabelFontPath(): ?string
+    /**
+     * Return path to the QR Code label's TTF font file.
+     *
+     * @return string
+     */
+    public function getLabelFontPath()
     {
-        return $this->labelFontPath;
+        return $this->label_font_path;
     }
 
-    public function setLabelAlignment(string $labelAlignment): void
+    /**
+     * Set label horizontal alignment.
+     *
+     * @param int $label_halign Label horizontal alignment
+     *
+     * @return QrCode
+     */
+    public function setLabelHalign($label_halign)
     {
-        $this->labelAlignment = new LabelAlignment($labelAlignment);
+        $this->label_halign = $label_halign;
+
+        return $this;
     }
 
-    public function getLabelAlignment(): ?string
+    /**
+     * Return label horizontal alignment.
+     *
+     * @return int
+     */
+    public function getLabelHalign()
     {
-        return $this->labelAlignment->getValue();
+        return $this->label_halign;
     }
 
-    public function setLabelMargin(array $labelMargin): void
+    /**
+     * Set label vertical alignment.
+     *
+     * @param int $label_valign Label vertical alignment
+     *
+     * @return QrCode
+     */
+    public function setLabelValign($label_valign)
     {
-        $this->labelMargin = array_merge($this->labelMargin, $labelMargin);
+        $this->label_valign = $label_valign;
+
+        return $this;
     }
 
-    public function getLabelMargin(): ?array
+    /**
+     * Return label vertical alignment.
+     *
+     * @return int
+     */
+    public function getLabelValign()
     {
-        return $this->labelMargin;
+        return $this->label_valign;
     }
 
-    public function setWriterRegistry(WriterRegistryInterface $writerRegistry): void
+    /**
+     * Set foreground color of the QR Code.
+     *
+     * @param array $color_foreground RGB color
+     *
+     * @return QrCode
+     */
+    public function setForegroundColor($color_foreground)
     {
-        $this->writerRegistry = $writerRegistry;
+        if (!isset($color_foreground['a'])) {
+            $color_foreground['a'] = 0;
+        }
+
+        $this->color_foreground = $color_foreground;
+
+        return $this;
     }
 
-    public function setWriter(WriterInterface $writer): void
+    /**
+     * Return foreground color of the QR Code.
+     *
+     * @return array
+     */
+    public function getForegroundColor()
     {
-        $this->writer = $writer;
+        return $this->color_foreground;
     }
 
-    public function getWriter(string $name = null): WriterInterface
+    /**
+     * Set background color of the QR Code.
+     *
+     * @param array $color_background RGB color
+     *
+     * @return QrCode
+     */
+    public function setBackgroundColor($color_background)
     {
-        if (!is_null($name)) {
-            return $this->writerRegistry->getWriter($name);
+        if (!isset($color_background['a'])) {
+            $color_background['a'] = 0;
         }
 
-        if ($this->writer instanceof WriterInterface) {
-            return $this->writer;
-        }
+        $this->color_background = $color_background;
 
-        return $this->writerRegistry->getDefaultWriter();
+        return $this;
     }
 
-    public function setWriterOptions(array $writerOptions): void
+    /**
+     * Return background color of the QR Code.
+     *
+     * @return array
+     */
+    public function getBackgroundColor()
     {
-        $this->writerOptions = $writerOptions;
+        return $this->color_background;
     }
 
-    public function getWriterOptions(): array
+    /**
+     * Return the image resource.
+     *
+     * @return resource
+     */
+    public function getImage()
     {
-        return $this->writerOptions;
-    }
+        if (empty($this->image)) {
+            $this->create();
+        }
 
-    private function createWriterRegistry()
-    {
-        $this->writerRegistry = new WriterRegistry();
-        $this->writerRegistry->loadDefaultWriters();
+        return $this->image;
     }
 
-    public function setWriterByName(string $name)
+    /**
+     * Return the data URI.
+     *
+     * @return string
+     */
+    public function getDataUri()
     {
-        $this->writer = $this->getWriter($name);
+        if (empty($this->image)) {
+            $this->create();
+        }
+
+        ob_start();
+        call_user_func('image'.$this->image_type, $this->image);
+        $contents = ob_get_clean();
+
+        return 'data:image/'.$this->image_type.';base64,'.base64_encode($contents);
     }
 
-    public function setWriterByPath(string $path): void
+    /**
+     * Render the QR Code then save it to given file name.
+     *
+     * @param string $filename File name of the QR Code
+     *
+     * @return QrCode
+     */
+    public function save($filename)
     {
-        $extension = pathinfo($path, PATHINFO_EXTENSION);
+        $this->render($filename);
 
-        $this->setWriterByExtension($extension);
+        return $this;
     }
 
-    public function setWriterByExtension(string $extension): void
+    /**
+     * Render the QR Code then save it to given file name or
+     * output it to the browser when file name omitted.
+     *
+     * @param null|string $filename File name of the QR Code
+     * @param null|string $format   Format of the file (png, jpeg, jpg, gif, wbmp)
+     *
+     * @throws ImageFunctionUnknownException
+     * @throws ImageFunctionFailedException
+     *
+     * @return QrCode
+     */
+    public function render($filename = null, $format = 'png')
     {
-        foreach ($this->writerRegistry->getWriters() as $writer) {
-            if ($writer->supportsExtension($extension)) {
-                $this->writer = $writer;
+        $this->create();
 
-                return;
-            }
+        if ($format == 'jpg') {
+            $format = 'jpeg';
         }
 
-        throw new UnsupportedExtensionException('Missing writer for extension "'.$extension.'"');
-    }
+        if (!in_array($format, $this->image_types_available)) {
+            $format = $this->image_type;
+        }
 
-    public function writeString(): string
-    {
-        return $this->getWriter()->writeString($this);
-    }
+        if (!function_exists('image'.$format)) {
+            throw new ImageFunctionUnknownException('QRCode: function image'.$format.' does not exists.');
+        }
 
-    public function writeDataUri(): string
-    {
-        return $this->getWriter()->writeDataUri($this);
-    }
+        if ($filename === null) {
+            $success = call_user_func('image'.$format, $this->image);
+        } else {
+            $success = call_user_func_array('image'.$format, [$this->image, $filename]);
+        }
 
-    public function writeFile(string $path): void
-    {
-        $this->getWriter()->writeFile($this, $path);
-    }
+        if ($success === false) {
+            throw new ImageFunctionFailedException('QRCode: function image'.$format.' failed.');
+        }
 
-    public function getContentType(): string
-    {
-        return $this->getWriter()->getContentType();
+        return $this;
     }
 
-    public function setValidateResult(bool $validateResult): void
+    /**
+     * Returns the content type corresponding to the image type.
+     *
+     * @return string
+     */
+    public function getContentType()
     {
-        $this->validateResult = $validateResult;
+        $contentType = 'image/'.$this->image_type;
+
+        return $contentType;
     }
 
-    public function getValidateResult(): bool
+    /**
+     * Create QR Code and return its content.
+     *
+     * @param string|null $format Image type (gif, png, wbmp, jpeg)
+     *
+     * @throws ImageFunctionUnknownException
+     * @throws ImageFunctionFailedException
+     *
+     * @return string
+     */
+    public function get($format = null)
     {
-        return $this->validateResult;
+        $this->create();
+
+        if ($format == 'jpg') {
+            $format = 'jpeg';
+        }
+
+        if (!in_array($format, $this->image_types_available)) {
+            $format = $this->image_type;
+        }
+
+        if (!function_exists('image'.$format)) {
+            throw new ImageFunctionUnknownException('QRCode: function image'.$format.' does not exists.');
+        }
+
+        ob_start();
+        $success = call_user_func('image'.$format, $this->image);
+
+        if ($success === false) {
+            throw new ImageFunctionFailedException('QRCode: function image'.$format.' failed.');
+        }
+
+        $content = ob_get_clean();
+
+        return $content;
     }
 
-    public function getData(): array
+    /**
+     * Create the image.
+     *
+     * @throws Exceptions\DataDoesntExistsException
+     * @throws Exceptions\VersionTooLargeException
+     * @throws Exceptions\ImageSizeTooLargeException
+     * @throws \OverflowException
+     */
+    public function create()
     {
-        $baconErrorCorrectionLevel = $this->errorCorrectionLevel->toBaconErrorCorrectionLevel();
+        $image_path = $this->image_path;
+        $path = $this->path;
 
-        $baconQrCode = Encoder::encode($this->text, $baconErrorCorrectionLevel, $this->encoding);
+        $version_ul = 40;
 
-        $matrix = $baconQrCode->getMatrix()->getArray()->toArray();
+        $qrcode_data_string = $this->text;//Previously from $_GET["d"];
 
-        foreach ($matrix as &$row) {
-            $row = $row->toArray();
+        $qrcode_error_correct = $this->error_correction;//Previously from $_GET["e"];
+        $qrcode_module_size = $this->module_size;//Previously from $_GET["s"];
+        $qrcode_version = $this->version;//Previously from $_GET["v"];
+        $qrcode_image_type = $this->image_type;//Previously from $_GET["t"];
+
+        $qrcode_structureappend_n = $this->structure_append_n;//Previously from $_GET["n"];
+        $qrcode_structureappend_m = $this->structure_append_m;//Previously from $_GET["m"];
+        $qrcode_structureappend_parity = $this->structure_append_parity;//Previously from $_GET["p"];
+        $qrcode_structureappend_originaldata = $this->structure_append_original_data;//Previously from $_GET["o"];
+
+        if ($qrcode_module_size > 0) {
+        } else {
+            if ($qrcode_image_type == 'jpeg') {
+                $qrcode_module_size = 8;
+            } else {
+                $qrcode_module_size = 4;
+            }
+        }
+        $data_length = strlen($qrcode_data_string);
+        if ($data_length <= 0) {
+            throw new DataDoesntExistsException('QRCode: data does not exist.');
+        }
+        $data_counter = 0;
+        if ($qrcode_structureappend_n > 1
+         && $qrcode_structureappend_n <= 16
+         && $qrcode_structureappend_m > 0
+         && $qrcode_structureappend_m <= 16) {
+            $data_value[0] = 3;
+            $data_bits[0] = 4;
+
+            $data_value[1] = $qrcode_structureappend_m - 1;
+            $data_bits[1] = 4;
+
+            $data_value[2] = $qrcode_structureappend_n - 1;
+            $data_bits[2] = 4;
+
+            $originaldata_length = strlen($qrcode_structureappend_originaldata);
+            if ($originaldata_length > 1) {
+                $qrcode_structureappend_parity = 0;
+                $i = 0;
+                while ($i < $originaldata_length) {
+                    $qrcode_structureappend_parity = ($qrcode_structureappend_parity ^ ord(substr($qrcode_structureappend_originaldata, $i, 1)));
+                    ++$i;
+                }
+            }
+
+            $data_value[3] = $qrcode_structureappend_parity;
+            $data_bits[3] = 8;
+
+            $data_counter = 4;
+        }
+
+        $data_bits[$data_counter] = 4;
+
+        /*  --- determine encode mode */
+
+        if (preg_match('/[^0-9]/', $qrcode_data_string) != 0) {
+            if (preg_match("/[^0-9A-Z \$\*\%\+\.\/\:\-]/", $qrcode_data_string) != 0) {
+                /*  --- 8bit byte mode */
+
+                $codeword_num_plus = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+        8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8];
+
+                $data_value[$data_counter] = 4;
+                ++$data_counter;
+                $data_value[$data_counter] = $data_length;
+                $data_bits[$data_counter] = 8;   /* #version 1-9 */
+                $codeword_num_counter_value = $data_counter;
+
+                ++$data_counter;
+                $i = 0;
+                while ($i < $data_length) {
+                    $data_value[$data_counter] = ord(substr($qrcode_data_string, $i, 1));
+                    $data_bits[$data_counter] = 8;
+                    ++$data_counter;
+                    ++$i;
+                }
+            } else {
+                /* ---- alphanumeric mode */
+
+                $codeword_num_plus = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+        4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4];
+
+                $data_value[$data_counter] = 2;
+                ++$data_counter;
+                $data_value[$data_counter] = $data_length;
+                $data_bits[$data_counter] = 9;  /* #version 1-9 */
+                $codeword_num_counter_value = $data_counter;
+
+                $alphanumeric_character_hash = ['0' => 0, '1' => 1, '2' => 2, '3' => 3, '4' => 4,
+        '5' => 5, '6' => 6, '7' => 7, '8' => 8, '9' => 9, 'A' => 10, 'B' => 11, 'C' => 12, 'D' => 13, 'E' => 14,
+        'F' => 15, 'G' => 16, 'H' => 17, 'I' => 18, 'J' => 19, 'K' => 20, 'L' => 21, 'M' => 22, 'N' => 23,
+        'O' => 24, 'P' => 25, 'Q' => 26, 'R' => 27, 'S' => 28, 'T' => 29, 'U' => 30, 'V' => 31,
+        'W' => 32, 'X' => 33, 'Y' => 34, 'Z' => 35, ' ' => 36, '$' => 37, '%' => 38, '*' => 39,
+        '+' => 40, '-' => 41, '.' => 42, '/' => 43, ':' => 44];
+
+                $i = 0;
+                ++$data_counter;
+                while ($i < $data_length) {
+                    if (($i % 2) == 0) {
+                        $data_value[$data_counter] = $alphanumeric_character_hash[substr($qrcode_data_string, $i, 1)];
+                        $data_bits[$data_counter] = 6;
+                    } else {
+                        $data_value[$data_counter] = $data_value[$data_counter] * 45 + $alphanumeric_character_hash[substr($qrcode_data_string, $i, 1)];
+                        $data_bits[$data_counter] = 11;
+                        ++$data_counter;
+                    }
+                    ++$i;
+                }
+            }
+        } else {
+            /* ---- numeric mode */
+
+            $codeword_num_plus = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+        4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4];
+
+            $data_value[$data_counter] = 1;
+            ++$data_counter;
+            $data_value[$data_counter] = $data_length;
+            $data_bits[$data_counter] = 10;   /* #version 1-9 */
+            $codeword_num_counter_value = $data_counter;
+
+            $i = 0;
+            ++$data_counter;
+            while ($i < $data_length) {
+                if (($i % 3) == 0) {
+                    $data_value[$data_counter] = substr($qrcode_data_string, $i, 1);
+                    $data_bits[$data_counter] = 4;
+                } else {
+                    $data_value[$data_counter] = $data_value[$data_counter] * 10 + substr($qrcode_data_string, $i, 1);
+                    if (($i % 3) == 1) {
+                        $data_bits[$data_counter] = 7;
+                    } else {
+                        $data_bits[$data_counter] = 10;
+                        ++$data_counter;
+                    }
+                }
+                ++$i;
+            }
+        }
+        if (array_key_exists($data_counter, $data_bits) && $data_bits[$data_counter] > 0) {
+            ++$data_counter;
+        }
+        $i = 0;
+        $total_data_bits = 0;
+        while ($i < $data_counter) {
+            $total_data_bits += $data_bits[$i];
+            ++$i;
+        }
+
+        $ecc_character_hash = [
+            'L' => '1',
+            'l' => '1',
+            'M' => '0',
+            'm' => '0',
+            'Q' => '3',
+            'q' => '3',
+            'H' => '2',
+            'h' => '2',
+        ];
+
+        if (!is_numeric($qrcode_error_correct)) {
+            $ec = @$ecc_character_hash[$qrcode_error_correct];
+        } else {
+            $ec = $qrcode_error_correct;
         }
 
-        $data = ['matrix' => $matrix];
-        $data['block_count'] = count($matrix[0]);
-        $data['block_size'] = $this->size / $data['block_count'];
-        if ($this->roundBlockSize) {
-            $data['block_size'] = intval(floor($data['block_size']));
+        if (!$ec) {
+            $ec = 0;
         }
-        $data['inner_width'] = $data['block_size'] * $data['block_count'];
-        $data['inner_height'] = $data['block_size'] * $data['block_count'];
-        $data['outer_width'] = $this->size + 2 * $this->margin;
-        $data['outer_height'] = $this->size + 2 * $this->margin;
-        $data['margin_left'] = ($data['outer_width'] - $data['inner_width']) / 2;
-        if ($this->roundBlockSize) {
-            $data['margin_left'] = intval(floor($data['margin_left']));
+
+        $max_data_bits = 0;
+
+        $max_data_bits_array = [
+            0, 128, 224, 352, 512, 688, 864, 992, 1232, 1456, 1728,
+            2032, 2320, 2672, 2920, 3320, 3624, 4056, 4504, 5016, 5352,
+            5712, 6256, 6880, 7312, 8000, 8496, 9024, 9544, 10136, 10984,
+            11640, 12328, 13048, 13800, 14496, 15312, 15936, 16816, 17728, 18672,
+
+            152, 272, 440, 640, 864, 1088, 1248, 1552, 1856, 2192,
+            2592, 2960, 3424, 3688, 4184, 4712, 5176, 5768, 6360, 6888,
+            7456, 8048, 8752, 9392, 10208, 10960, 11744, 12248, 13048, 13880,
+            14744, 15640, 16568, 17528, 18448, 19472, 20528, 21616, 22496, 23648,
+
+            72, 128, 208, 288, 368, 480, 528, 688, 800, 976,
+            1120, 1264, 1440, 1576, 1784, 2024, 2264, 2504, 2728, 3080,
+            3248, 3536, 3712, 4112, 4304, 4768, 5024, 5288, 5608, 5960,
+            6344, 6760, 7208, 7688, 7888, 8432, 8768, 9136, 9776, 10208,
+
+            104, 176, 272, 384, 496, 608, 704, 880, 1056, 1232,
+            1440, 1648, 1952, 2088, 2360, 2600, 2936, 3176, 3560, 3880,
+            4096, 4544, 4912, 5312, 5744, 6032, 6464, 6968, 7288, 7880,
+            8264, 8920, 9368, 9848, 10288, 10832, 11408, 12016, 12656, 13328
+        ];
+        if (!is_numeric($qrcode_version)) {
+            $qrcode_version = 0;
+        }
+        if (!$qrcode_version) {
+            /* #--- auto version select */
+            $i = 1 + 40 * $ec;
+            $j = $i + 39;
+            $qrcode_version = 1;
+            while ($i <= $j) {
+                if (($max_data_bits_array[$i]) >= $total_data_bits + $codeword_num_plus[$qrcode_version]) {
+                    $max_data_bits = $max_data_bits_array[$i];
+                    break;
+                }
+                ++$i;
+                ++$qrcode_version;
+            }
+        } else {
+            $max_data_bits = $max_data_bits_array[$qrcode_version + 40 * $ec];
+        }
+        if ($qrcode_version > $version_ul) {
+            throw new VersionTooLargeException('QRCode : version too large');
         }
-        $data['margin_right'] = $data['outer_width'] - $data['inner_width'] - $data['margin_left'];
 
-        return $data;
+        $total_data_bits += $codeword_num_plus[$qrcode_version];
+        $data_bits[$codeword_num_counter_value] += $codeword_num_plus[$qrcode_version];
+
+        $max_codewords_array = [0, 26, 44, 70, 100, 134, 172, 196, 242,
+        292, 346, 404, 466, 532, 581, 655, 733, 815, 901, 991, 1085, 1156,
+        1258, 1364, 1474, 1588, 1706, 1828, 1921, 2051, 2185, 2323, 2465,
+        2611, 2761, 2876, 3034, 3196, 3362, 3532, 3706];
+
+        $max_codewords = $max_codewords_array[$qrcode_version];
+        $max_modules_1side = 17 + ($qrcode_version << 2);
+
+        $matrix_remain_bit = [0, 0, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 3, 3, 3, 3,
+        4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0];
+
+        /* ---- read version ECC data file */
+
+        $byte_num = $matrix_remain_bit[$qrcode_version] + ($max_codewords << 3);
+        $filename = $path.'/qrv'.$qrcode_version.'_'.$ec.'.dat';
+        $fp1 = fopen($filename, 'rb');
+        $matx = fread($fp1, $byte_num);
+        $maty = fread($fp1, $byte_num);
+        $masks = fread($fp1, $byte_num);
+        $fi_x = fread($fp1, 15);
+        $fi_y = fread($fp1, 15);
+        $rs_ecc_codewords = ord(fread($fp1, 1));
+        $rso = fread($fp1, 128);
+        fclose($fp1);
+
+        $matrix_x_array = unpack('C*', $matx);
+        $matrix_y_array = unpack('C*', $maty);
+        $mask_array = unpack('C*', $masks);
+
+        $rs_block_order = unpack('C*', $rso);
+
+        $format_information_x2 = unpack('C*', $fi_x);
+        $format_information_y2 = unpack('C*', $fi_y);
+
+        $format_information_x1 = [0, 1, 2, 3, 4, 5, 7, 8, 8, 8, 8, 8, 8, 8, 8];
+        $format_information_y1 = [8, 8, 8, 8, 8, 8, 8, 8, 7, 5, 4, 3, 2, 1, 0];
+
+        $max_data_codewords = ($max_data_bits >> 3);
+
+        $filename = $path.'/rsc'.$rs_ecc_codewords.'.dat';
+        $fp0 = fopen($filename, 'rb');
+        $i = 0;
+        $rs_cal_table_array = [];
+        while ($i < 256) {
+            $rs_cal_table_array[$i] = fread($fp0, $rs_ecc_codewords);
+            ++$i;
+        }
+        fclose($fp0);
+
+        /*  --- set terminator */
+
+        if ($total_data_bits <= $max_data_bits - 4) {
+            $data_value[$data_counter] = 0;
+            $data_bits[$data_counter] = 4;
+        } else {
+            if ($total_data_bits < $max_data_bits) {
+                $data_value[$data_counter] = 0;
+                $data_bits[$data_counter] = $max_data_bits - $total_data_bits;
+            } else {
+                if ($total_data_bits > $max_data_bits) {
+                    throw new \OverflowException('QRCode: overflow error');
+                }
+            }
+        }
+
+        /* ----divide data by 8bit */
+
+        $i = 0;
+        $codewords_counter = 0;
+        $codewords[0] = 0;
+        $remaining_bits = 8;
+
+        while ($i <= $data_counter) {
+            $buffer = @$data_value[$i];
+            $buffer_bits = @$data_bits[$i];
+
+            $flag = 1;
+            while ($flag) {
+                if ($remaining_bits > $buffer_bits) {
+                    $codewords[$codewords_counter] = ((@$codewords[$codewords_counter] << $buffer_bits) | $buffer);
+                    $remaining_bits -= $buffer_bits;
+                    $flag = 0;
+                } else {
+                    $buffer_bits -= $remaining_bits;
+                    $codewords[$codewords_counter] = (($codewords[$codewords_counter] << $remaining_bits) | ($buffer >> $buffer_bits));
+
+                    if ($buffer_bits == 0) {
+                        $flag = 0;
+                    } else {
+                        $buffer = ($buffer & ((1 << $buffer_bits) - 1));
+                        $flag = 1;
+                    }
+
+                    ++$codewords_counter;
+                    if ($codewords_counter < $max_data_codewords - 1) {
+                        $codewords[$codewords_counter] = 0;
+                    }
+                    $remaining_bits = 8;
+                }
+            }
+            ++$i;
+        }
+        if ($remaining_bits != 8) {
+            $codewords[$codewords_counter] = $codewords[$codewords_counter] << $remaining_bits;
+        } else {
+            --$codewords_counter;
+        }
+
+        /* ----  set padding character */
+
+        if ($codewords_counter < $max_data_codewords - 1) {
+            $flag = 1;
+            while ($codewords_counter < $max_data_codewords - 1) {
+                ++$codewords_counter;
+                if ($flag == 1) {
+                    $codewords[$codewords_counter] = 236;
+                } else {
+                    $codewords[$codewords_counter] = 17;
+                }
+                $flag = $flag * (-1);
+            }
+        }
+
+        /* ---- RS-ECC prepare */
+
+        $i = 0;
+        $j = 0;
+        $rs_block_number = 0;
+        $rs_temp[0] = '';
+
+        while ($i < $max_data_codewords) {
+            $rs_temp[$rs_block_number] .= chr($codewords[$i]);
+            ++$j;
+
+            if ($j >= $rs_block_order[$rs_block_number + 1] - $rs_ecc_codewords) {
+                $j = 0;
+                ++$rs_block_number;
+                $rs_temp[$rs_block_number] = '';
+            }
+            ++$i;
+        }
+
+        /*
+        #
+        # RS-ECC main
+        #
+        */
+
+        $rs_block_number = 0;
+        $rs_block_order_num = count($rs_block_order);
+
+        while ($rs_block_number < $rs_block_order_num) {
+            $rs_codewords = $rs_block_order[$rs_block_number + 1];
+            $rs_data_codewords = $rs_codewords - $rs_ecc_codewords;
+
+            $rstemp = $rs_temp[$rs_block_number].str_repeat(chr(0), $rs_ecc_codewords);
+            $padding_data = str_repeat(chr(0), $rs_data_codewords);
+
+            $j = $rs_data_codewords;
+            while ($j > 0) {
+                $first = ord(substr($rstemp, 0, 1));
+
+                if ($first) {
+                    $left_chr = substr($rstemp, 1);
+                    $cal = $rs_cal_table_array[$first].$padding_data;
+                    $rstemp = $left_chr ^ $cal;
+                } else {
+                    $rstemp = substr($rstemp, 1);
+                }
+
+                --$j;
+            }
+
+            $codewords = array_merge($codewords, unpack('C*', $rstemp));
+
+            ++$rs_block_number;
+        }
+
+        /* ---- flash matrix */
+        $matrix_content = [];
+        $i = 0;
+        while ($i < $max_modules_1side) {
+            $j = 0;
+            while ($j < $max_modules_1side) {
+                $matrix_content[$j][$i] = 0;
+                ++$j;
+            }
+            ++$i;
+        }
+
+        /* --- attach data */
+
+        $i = 0;
+        while ($i < $max_codewords) {
+            $codeword_i = $codewords[$i];
+            $j = 8;
+            while ($j >= 1) {
+                $codeword_bits_number = ($i << 3) +  $j;
+                $matrix_content[ $matrix_x_array[$codeword_bits_number] ][ $matrix_y_array[$codeword_bits_number] ] = ((255 * ($codeword_i & 1)) ^ $mask_array[$codeword_bits_number]);
+                $codeword_i = $codeword_i >> 1;
+                --$j;
+            }
+            ++$i;
+        }
+
+        $matrix_remain = $matrix_remain_bit[$qrcode_version];
+        while ($matrix_remain) {
+            $remain_bit_temp = $matrix_remain + ($max_codewords << 3);
+            $matrix_content[ $matrix_x_array[$remain_bit_temp] ][ $matrix_y_array[$remain_bit_temp] ] = (255 ^ $mask_array[$remain_bit_temp]);
+            --$matrix_remain;
+        }
+
+        #--- mask select
+
+        $min_demerit_score = 0;
+        $hor_master = '';
+        $ver_master = '';
+        $k = 0;
+        while ($k < $max_modules_1side) {
+            $l = 0;
+            while ($l < $max_modules_1side) {
+                $hor_master = $hor_master.chr($matrix_content[$l][$k]);
+                $ver_master = $ver_master.chr($matrix_content[$k][$l]);
+                ++$l;
+            }
+            ++$k;
+        }
+        $i = 0;
+        $all_matrix = $max_modules_1side * $max_modules_1side;
+        $mask_number = 0;
+        while ($i < 8) {
+            $demerit_n1 = 0;
+            $ptn_temp = [];
+            $bit = 1 << $i;
+            $bit_r = (~$bit) & 255;
+            $bit_mask = str_repeat(chr($bit), $all_matrix);
+            $hor = $hor_master & $bit_mask;
+            $ver = $ver_master & $bit_mask;
+
+            $ver_shift1 = $ver.str_repeat(chr(170), $max_modules_1side);
+            $ver_shift2 = str_repeat(chr(170), $max_modules_1side).$ver;
+            $ver_shift1_0 = $ver.str_repeat(chr(0), $max_modules_1side);
+            $ver_shift2_0 = str_repeat(chr(0), $max_modules_1side).$ver;
+            $ver_or = chunk_split(~($ver_shift1 | $ver_shift2), $max_modules_1side, chr(170));
+            $ver_and = chunk_split(~($ver_shift1_0 & $ver_shift2_0), $max_modules_1side, chr(170));
+
+            $hor = chunk_split(~$hor, $max_modules_1side, chr(170));
+            $ver = chunk_split(~$ver, $max_modules_1side, chr(170));
+            $hor = $hor.chr(170).$ver;
+
+            $n1_search = '/'.str_repeat(chr(255), 5).'+|'.str_repeat(chr($bit_r), 5).'+/';
+            $n3_search = chr($bit_r).chr(255).chr($bit_r).chr($bit_r).chr($bit_r).chr(255).chr($bit_r);
+
+            $demerit_n3 = substr_count($hor, $n3_search) * 40;
+            $demerit_n4 = floor(abs(((100 * (substr_count($ver, chr($bit_r)) / ($byte_num))) - 50) / 5)) * 10;
+
+            $n2_search1 = '/'.chr($bit_r).chr($bit_r).'+/';
+            $n2_search2 = '/'.chr(255).chr(255).'+/';
+            $demerit_n2 = 0;
+            preg_match_all($n2_search1, $ver_and, $ptn_temp);
+            foreach ($ptn_temp[0] as $str_temp) {
+                $demerit_n2 += (strlen($str_temp) - 1);
+            }
+            $ptn_temp = [];
+            preg_match_all($n2_search2, $ver_or, $ptn_temp);
+            foreach ($ptn_temp[0] as $str_temp) {
+                $demerit_n2 += (strlen($str_temp) - 1);
+            }
+            $demerit_n2 *= 3;
+
+            $ptn_temp = [];
+
+            preg_match_all($n1_search, $hor, $ptn_temp);
+            foreach ($ptn_temp[0] as $str_temp) {
+                $demerit_n1 += (strlen($str_temp) - 2);
+            }
+
+            $demerit_score = $demerit_n1 + $demerit_n2 + $demerit_n3 + $demerit_n4;
+
+            if ($demerit_score <= $min_demerit_score || $i == 0) {
+                $mask_number = $i;
+                $min_demerit_score = $demerit_score;
+            }
+
+            ++$i;
+        }
+
+        $mask_content = 1 << $mask_number;
+
+        # --- format information
+
+        $format_information_value = (($ec << 3) | $mask_number);
+        $format_information_array = ['101010000010010', '101000100100101',
+        '101111001111100', '101101101001011', '100010111111001', '100000011001110',
+        '100111110010111', '100101010100000', '111011111000100', '111001011110011',
+        '111110110101010', '111100010011101', '110011000101111', '110001100011000',
+        '110110001000001', '110100101110110', '001011010001001', '001001110111110',
+        '001110011100111', '001100111010000', '000011101100010', '000001001010101',
+        '000110100001100', '000100000111011', '011010101011111', '011000001101000',
+        '011111100110001', '011101000000110', '010010010110100', '010000110000011',
+        '010111011011010', '010101111101101'];
+        $i = 0;
+        while ($i < 15) {
+            $content = substr($format_information_array[$format_information_value], $i, 1);
+
+            $matrix_content[$format_information_x1[$i]][$format_information_y1[$i]] = $content * 255;
+            $matrix_content[$format_information_x2[$i + 1]][$format_information_y2[$i + 1]] = $content * 255;
+            ++$i;
+        }
+
+        $mib = $max_modules_1side;
+        if ($this->draw_quiet_zone) {
+            $mib += 8;
+        }
+
+        if ($this->size == 0) {
+            $this->size = $mib * $qrcode_module_size;
+            if ($this->size > 1480) {
+                throw new ImageSizeTooLargeException('QRCode: image size too large');
+            }
+        }
+
+        $image_width = $this->size + $this->padding * 2;
+        $image_height = $this->size + $this->padding * 2;
+
+        if (!empty($this->label)) {
+            if (!function_exists('imagettfbbox')) {
+                throw new FreeTypeLibraryMissingException('QRCode: missing function "imagettfbbox". Did you install the FreeType library?');
+            }
+            $font_box = imagettfbbox($this->label_font_size, 0, $this->label_font_path, $this->label);
+            $label_width = (int) $font_box[2] - (int) $font_box[0];
+            $label_height = (int) $font_box[0] - (int) $font_box[7];
+
+            if ($this->label_valign == self::LABEL_VALIGN_MIDDLE) {
+                $image_height += $label_height + $this->padding;
+            } else {
+                $image_height += $label_height;
+            }
+        }
+
+        $output_image = imagecreate($image_width, $image_height);
+        imagecolorallocate($output_image, 255, 255, 255);
+
+        $image_path = $image_path.'/qrv'.$qrcode_version.'.png';
+
+        $base_image = imagecreatefrompng($image_path);
+        $code_size = $this->size;
+        $module_size = function ($size = 1) use ($code_size, $base_image) {
+            return round($code_size / imagesx($base_image) * $size);
+        };
+
+        $col[1] = imagecolorallocate($base_image, 0, 0, 0);
+        $col[0] = imagecolorallocate($base_image, 255, 255, 255);
+
+        $i = 4;
+        $mxe = 4 + $max_modules_1side;
+        $ii = 0;
+        while ($i < $mxe) {
+            $j = 4;
+            $jj = 0;
+            while ($j < $mxe) {
+                if ($matrix_content[$ii][$jj] & $mask_content) {
+                    imagesetpixel($base_image, $i, $j, $col[1]);
+                }
+                ++$j;
+                ++$jj;
+            }
+            ++$i;
+            ++$ii;
+        }
+
+        if ($this->draw_quiet_zone == true) {
+            imagecopyresampled($output_image, $base_image, $this->padding, $this->padding, 0, 0, $this->size, $this->size, $mib, $mib);
+        } else {
+            imagecopyresampled($output_image, $base_image, $this->padding, $this->padding, 4, 4, $this->size, $this->size, $mib, $mib);
+        }
+
+        if ($this->draw_border == true) {
+            $border_width = $this->padding;
+            $border_height = $this->size + $this->padding - 1;
+            $border_color = imagecolorallocate($output_image, 0, 0, 0);
+            imagerectangle($output_image, $border_width, $border_width, $border_height, $border_height, $border_color);
+        }
+
+        if (!empty($this->label)) {
+            // Label horizontal alignment
+            switch ($this->label_halign) {
+                case self::LABEL_HALIGN_LEFT:
+                    $font_x = 0;
+                    break;
+
+                case self::LABEL_HALIGN_LEFT_BORDER:
+                    $font_x = $this->padding;
+                    break;
+
+                case self::LABEL_HALIGN_LEFT_CODE:
+                    if ($this->draw_quiet_zone == true) {
+                        $font_x = $this->padding + $module_size(4);
+                    } else {
+                        $font_x = $this->padding;
+                    }
+                    break;
+
+                case self::LABEL_HALIGN_RIGHT:
+                    $font_x = $this->size + ($this->padding * 2) - $label_width;
+                    break;
+
+                case self::LABEL_HALIGN_RIGHT_BORDER:
+                    $font_x = $this->size + $this->padding - $label_width;
+                    break;
+
+                case self::LABEL_HALIGN_RIGHT_CODE:
+                    if ($this->draw_quiet_zone == true) {
+                        $font_x = $this->size + $this->padding - $label_width - $module_size(4);
+                    } else {
+                        $font_x = $this->size + $this->padding - $label_width;
+                    }
+                    break;
+
+                default:
+                    $font_x = floor($image_width - $label_width) / 2;
+            }
+
+            // Label vertical alignment
+            switch ($this->label_valign) {
+                case self::LABEL_VALIGN_TOP_NO_BORDER:
+                    $font_y = $image_height - $this->padding - 1;
+                    break;
+
+                case self::LABEL_VALIGN_BOTTOM:
+                    $font_y = $image_height;
+                    break;
+
+                default:
+                    $font_y = $image_height - $this->padding;
+            }
+
+            $label_bg_x1 = $font_x - $module_size(2);
+            $label_bg_y1 = $font_y - $label_height;
+            $label_bg_x2 = $font_x + $label_width + $module_size(2);
+            $label_bg_y2 = $font_y;
+
+            $color = imagecolorallocate($output_image, 0, 0, 0);
+            $label_bg_color = imagecolorallocate($output_image, 255, 255, 255);
+
+            imagefilledrectangle($output_image, $label_bg_x1, $label_bg_y1, $label_bg_x2, $label_bg_y2, $label_bg_color);
+            imagettftext($output_image, $this->label_font_size, 0, $font_x, $font_y, $color, $this->label_font_path, $this->label);
+        }
+
+        $imagecolorset_function = new ReflectionFunction('imagecolorset');
+        $allow_alpha = $imagecolorset_function->getNumberOfParameters() == 6;
+
+        if ($this->color_background != null) {
+            $index = imagecolorclosest($output_image, 255, 255, 255);
+            if ($allow_alpha) {
+                imagecolorset($output_image, $index, $this->color_background['r'], $this->color_background['g'], $this->color_background['b'], $this->color_background['a']);
+            } else {
+                imagecolorset($output_image, $index, $this->color_background['r'], $this->color_background['g'], $this->color_background['b']);
+            }
+        }
+
+        if ($this->color_foreground != null) {
+            $index = imagecolorclosest($output_image, 0, 0, 0);
+            if ($allow_alpha) {
+                imagecolorset($output_image, $index, $this->color_foreground['r'], $this->color_foreground['g'], $this->color_foreground['b'], $this->color_foreground['a']);
+            } else {
+                imagecolorset($output_image, $index, $this->color_foreground['r'], $this->color_foreground['g'], $this->color_foreground['b']);
+            }
+        }
+
+        if (!empty($this->logo)) {
+            $output_image_org = $output_image;
+            $output_image = imagecreatetruecolor($image_width, $image_height);
+            imagecopy($output_image, $output_image_org, 0, 0, 0, 0, $image_width, $image_height);
+
+            $image_info = getimagesize($this->logo);
+
+            if ($image_info !== false) {
+                $image_type = strtolower(substr(image_type_to_extension($image_info [2]), 1));
+                $logo_image = call_user_func('imagecreatefrom'.$image_type, $this->logo);
+            } else {
+                $logo_image = call_user_func('imagecreatefrom'.$this->image_type, $this->logo);
+            }
+
+            if (!$logo_image) {
+                throw new ImageFunctionFailedException('imagecreatefrom'.$this->image_type.' '.$this->logo.' failed');
+            }
+            $src_w = imagesx($logo_image);
+            $src_h = imagesy($logo_image);
+
+            $dst_x = ($image_width - $this->logo_size) / 2;
+            $dst_y = ($this->size + $this->padding * 2 - $this->logo_size) / 2;
+
+            $successful = imagecopyresampled($output_image, $logo_image, $dst_x, $dst_y, 0, 0, $this->logo_size, $this->logo_size, $src_w, $src_h);
+            if (!$successful) {
+                throw new ImageFunctionFailedException('add logo [image'.$this->format.'] failed.');
+            }
+            imagedestroy($logo_image);
+        }
+        $this->image = $output_image;
     }
 }

+ 77 - 142
vendor/endroid/qr-code/tests/QrCodeTest.php

@@ -1,7 +1,5 @@
 <?php
 
-declare(strict_types=1);
-
 /*
  * (c) Jeroen van den Enden <info@endroid.nl>
  *
@@ -9,179 +7,116 @@ declare(strict_types=1);
  * with this source code in the file LICENSE.
  */
 
-namespace Endroid\QrCode\Tests;
+namespace Endroid\Tests\QrCode;
 
-use Endroid\QrCode\Factory\QrCodeFactory;
+use Endroid\QrCode\Exceptions\ImageFunctionFailedException;
+use Endroid\QrCode\Exceptions\ImageFunctionUnknownException;
 use Endroid\QrCode\QrCode;
-use PHPUnit\Framework\TestCase;
-use Zxing\QrReader;
+use PHPUnit_Framework_TestCase;
 
-class QrCodeTest extends TestCase
+class QrCodeTest extends PHPUnit_Framework_TestCase
 {
-    public function testReadable(): void
-    {
-        $messages = [
-            'Tiny',
-            'This one has spaces',
-            'd2llMS9uU01BVmlvalM2YU9BUFBPTTdQMmJabHpqdndt',
-            'http://this.is.an/url?with=query&string=attached',
-            '11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111',
-            '{"i":"serialized.data","v":1,"t":1,"d":"4AEPc9XuIQ0OjsZoSRWp9DRWlN6UyDvuMlyOYy8XjOw="}',
-            'Spëci&al ch@ract3rs',
-            '有限公司',
-        ];
-
-        $qrCode = new QrCode();
-        $qrCode->setSize(300);
-        foreach ($messages as $message) {
-            $qrCode->setText($message);
-            $pngData = $qrCode->writeString();
-            $this->assertTrue(is_string($pngData));
-            $reader = new QrReader($pngData, QrReader::SOURCE_TYPE_BLOB);
-            $this->assertEquals($message, $reader->text());
-        }
-    }
-
-    public function testFactory(): void
-    {
-        $qrCodeFactory = new QrCodeFactory();
-        $qrCode = $qrCodeFactory->create('QR Code', [
-            'writer' => 'png',
-            'size' => 300,
-            'margin' => 10,
-        ]);
-
-        $pngData = $qrCode->writeString();
-        $this->assertTrue(is_string($pngData));
-        $reader = new QrReader($pngData, QrReader::SOURCE_TYPE_BLOB);
-        $this->assertEquals('QR Code', $reader->text());
-    }
+    /**
+     * @var QrCode
+     */
+    protected $qrCode;
 
     /**
-     * @dataProvider writerNamesProvider
+     * Tests if a valid data uri is returned.
      */
-    public function testWriteQrCodeByWriterName($writerName, $fileContent): void
+    public function testGetDataUri()
     {
-        $qrCode = new QrCode('QR Code');
-        $qrCode->setLogoPath(__DIR__.'/../assets/images/symfony.png');
-        $qrCode->setLogoWidth(100);
-
-        $qrCode->setWriterByName($writerName);
-        $data = $qrCode->writeString();
-        $this->assertTrue(is_string($data));
+        $qrCode = $this->getQrCode();
+        $dataUri = $qrCode->getDataUri();
 
-        if (null !== $fileContent) {
-            $uriData = $qrCode->writeDataUri();
-            $this->assertTrue(0 === strpos($uriData, $fileContent));
-        }
+        $this->assertTrue(is_string($dataUri));
     }
 
-    public function writerNamesProvider()
+    /**
+     * Tests if a valid image string is returned.
+     *
+     * @throws ImageFunctionFailedException
+     * @throws ImageFunctionUnknownException
+     */
+    public function testGetImageString()
     {
-        return [
-            ['binary', null],
-            ['debug', null],
-            ['eps', null],
-            ['png', 'data:image/png;base64'],
-            ['svg', 'data:image/svg+xml;base64'],
-        ];
+        $qrCode = $this->getQrCode();
+        $imageString = $qrCode->get('png');
+
+        $this->assertTrue(is_string($imageString));
     }
 
     /**
-     * @dataProvider extensionsProvider
+     * Tests if a valid image string is returned.
+     *
+     * @throws ImageFunctionFailedException
+     * @throws ImageFunctionUnknownException
      */
-    public function testWriteQrCodeByWriterExtension($extension, $fileContent): void
+    public function testGetQrCodeWithLogoString()
     {
-        $qrCode = new QrCode('QR Code');
-        $qrCode->setLogoPath(__DIR__.'/../assets/images/symfony.png');
-        $qrCode->setLogoWidth(100);
-
-        $qrCode->setWriterByExtension($extension);
-        $data = $qrCode->writeString();
-        $this->assertTrue(is_string($data));
+        $qrCode = $this->createQrCodeWithLogo();
+        $imageString = $qrCode->get('png');
 
-        if (null !== $fileContent) {
-            $uriData = $qrCode->writeDataUri();
-            $this->assertTrue(0 === strpos($uriData, $fileContent));
-        }
+        $this->assertTrue(is_string($imageString));
     }
 
-    public function extensionsProvider()
+    /**
+     * For https://github.com/endroid/QrCode/issues/49.
+     */
+    public function testRenderHttpAddress()
     {
-        return [
-            ['bin', null],
-            ['txt', null],
-            ['eps', null],
-            ['png', 'data:image/png;base64'],
-            ['svg', 'data:image/svg+xml;base64'],
-        ];
+        $qrCode = new QrCode();
+        $qrCode
+            ->setText('http://www.example.com/it/it/contact/qr/hit/id/1  ')
+            ->setExtension('png')
+            ->setSize(300)
+            ->setPadding(10)
+            ->setBackgroundColor(['r' => 255, 'g' => 255, 'b' => 255, 'a' => 0])
+            ->setForegroundColor(['r' => 0, 'g' => 0, 'b' => 0, 'a' => 0])
+            ->setErrorCorrection(QrCode::LEVEL_MEDIUM);
+
+        $qrCode->get('png');
     }
 
-    public function testSetSize(): void
+    /**
+     * Returns a QR code.
+     */
+    protected function getQrCode()
     {
-        $size = 400;
-        $margin = 10;
-
-        $qrCode = new QrCode('QR Code');
-        $qrCode->setSize($size);
-        $qrCode->setMargin($margin);
-
-        $pngData = $qrCode->writeString();
-        $image = imagecreatefromstring($pngData);
+        if (!$this->qrCode) {
+            $this->qrCode = $this->createQrCode();
+        }
 
-        $this->assertTrue(imagesx($image) === $size + 2 * $margin);
-        $this->assertTrue(imagesy($image) === $size + 2 * $margin);
+        return $this->qrCode;
     }
 
-    public function testSetLabel(): void
+    /**
+     * Creates a QR code.
+     *
+     * @return QrCode
+     */
+    protected function createQrCode()
     {
-        $qrCode = new QrCode('QR Code');
+        $qrCode = new QrCode();
+        $qrCode->setText('Life is too short to be generating QR codes');
         $qrCode->setSize(300);
-        $qrCode->setLabel('Scan the code', 15);
-
-        $pngData = $qrCode->writeString();
-        $this->assertTrue(is_string($pngData));
-        $reader = new QrReader($pngData, QrReader::SOURCE_TYPE_BLOB);
-        $this->assertEquals('QR Code', $reader->text());
-    }
 
-    public function testSetLogo(): void
-    {
-        $qrCode = new QrCode('QR Code');
-        $qrCode->setSize(500);
-        $qrCode->setLogoPath(__DIR__.'/../assets/images/symfony.png');
-        $qrCode->setLogoWidth(100);
-        $qrCode->setValidateResult(true);
-
-        $pngData = $qrCode->writeString();
-        $this->assertTrue(is_string($pngData));
+        return $qrCode;
     }
 
-    public function testWriteFile(): void
+    /**
+     * Creates a QR code with a logo.
+     *
+     * @return QrCode
+     */
+    protected function createQrCodeWithLogo()
     {
-        $filename = __DIR__.'/output/qr-code.png';
-
-        $qrCode = new QrCode('QR Code');
-        $qrCode->writeFile($filename);
-
-        $image = imagecreatefromstring(file_get_contents($filename));
-
-        $this->assertTrue(is_resource($image));
-    }
+        $qrCode = new QrCode();
+        $qrCode->setText('Life is too short to be generating QR codes')
+        ->setSize(300)
+        ->setLogo(dirname(__DIR__).'/assets/image/logo.png')
+        ->setLogoSize(60);
 
-    public function testData(): void
-    {
-        $qrCode = new QrCode('QR Code');
-
-        $data = $qrCode->getData();
-
-        $this->assertArrayHasKey('block_count', $data);
-        $this->assertArrayHasKey('block_size', $data);
-        $this->assertArrayHasKey('inner_width', $data);
-        $this->assertArrayHasKey('inner_height', $data);
-        $this->assertArrayHasKey('outer_width', $data);
-        $this->assertArrayHasKey('outer_height', $data);
-        $this->assertArrayHasKey('margin_left', $data);
-        $this->assertArrayHasKey('margin_right', $data);
+        return $qrCode;
     }
 }

+ 2 - 2
vendor/markbaker/complex/classes/src/Complex.php

@@ -376,12 +376,12 @@ class Complex
         $functionName = strtolower(str_replace('_', '', $functionName));
 
         // Test for function calls
-        if (in_array($functionName, self::$functions, true)) {
+        if (in_array($functionName, self::$functions)) {
             $functionName = "\\" . __NAMESPACE__ . "\\{$functionName}";
             return $functionName($this, ...$arguments);
         }
         // Test for operation calls
-        if (in_array($functionName, self::$operations, true)) {
+        if (in_array($functionName, self::$operations)) {
             $functionName = "\\" . __NAMESPACE__ . "\\{$functionName}";
             return $functionName($this, ...$arguments);
         }

+ 3 - 3
vendor/markbaker/complex/composer.json

@@ -12,14 +12,14 @@
         }
     ],
     "require": {
-        "php": "^5.6.0|^7.0"
+        "php": "^5.6.0|^7.0.0"
     },
     "require-dev": {
-        "phpunit/phpunit": "^4.8.35|^5.0|^6.0|^7.0",
+        "phpunit/phpunit": "^4.8.35|^5.4.0",
         "phpdocumentor/phpdocumentor":"2.*",
         "phpmd/phpmd": "2.*",
         "sebastian/phpcpd": "2.*",
-        "phploc/phploc": "^4.0|^5.0|^6.0|^7.0",
+        "phploc/phploc": "2.*",
         "squizlabs/php_codesniffer": "^3.4.0",
         "phpcompatibility/php-compatibility": "^9.0",
         "dealerdirect/phpcodesniffer-composer-installer": "^0.5.0"

+ 1 - 1
vendor/markbaker/matrix/classes/src/Matrix.php

@@ -388,7 +388,7 @@ class Matrix
     {
         $functionName = strtolower(str_replace('_', '', $functionName));
 
-        if (in_array($functionName, self::$functions, true) || in_array($functionName, self::$operations, true)) {
+        if (in_array($functionName, self::$functions) || in_array($functionName, self::$operations)) {
             $functionName = "\\" . __NAMESPACE__ . "\\{$functionName}";
             if (is_callable($functionName)) {
                 $arguments = array_values(array_merge([$this], $arguments));

+ 1 - 1
vendor/markbaker/matrix/composer.json

@@ -15,7 +15,7 @@
         "php": "^5.6.0|^7.0.0"
     },
     "require-dev": {
-        "phpunit/phpunit": "^5.7|^6.0|7.0",
+        "phpunit/phpunit": "^5.7",
         "phpmd/phpmd": "dev-master",
         "sebastian/phpcpd": "^3.0",
         "phploc/phploc": "^4",

+ 0 - 1
vendor/markbaker/matrix/phpstan.neon

@@ -2,4 +2,3 @@ parameters:
     ignoreErrors:
         - '#Property [A-Za-z\\]+::\$[A-Za-z]+ has no typehint specified#'
         - '#Method [A-Za-z\\]+::[A-Za-z]+\(\) has no return typehint specified#'
-    checkMissingIterableValueType: false

+ 4 - 4
vendor/overtrue/wechat/README.md

@@ -4,8 +4,7 @@
 
 📦 It is probably the best SDK in the world for developing Wechat App.
 
-[![Test Status](https://github.com/overtrue/wechat/workflows/Test/badge.svg)](https://github.com/overtrue/wechat/actions) 
-[![Lint Status](https://github.com/overtrue/wechat/workflows/Lint/badge.svg)](https://github.com/overtrue/wechat/actions) 
+[![Build Status](https://travis-ci.org/overtrue/wechat.svg?branch=master)](https://travis-ci.org/overtrue/wechat) 
 [![Latest Stable Version](https://poser.pugx.org/overtrue/wechat/v/stable.svg)](https://packagist.org/packages/overtrue/wechat) 
 [![Latest Unstable Version](https://poser.pugx.org/overtrue/wechat/v/unstable.svg)](https://packagist.org/packages/overtrue/wechat)
 [![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/overtrue/wechat/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/overtrue/wechat/?branch=master) 
@@ -13,10 +12,11 @@
 [![Total Downloads](https://poser.pugx.org/overtrue/wechat/downloads)](https://packagist.org/packages/overtrue/wechat) 
 [![License](https://poser.pugx.org/overtrue/wechat/license)](https://packagist.org/packages/overtrue/wechat) 
 
+[![7.0-9.9](https://raw.githubusercontent.com/ruffood/ruofan/master/img/ad0724.jpg)](http://prt.ruffood.com/jump/overtrue)
 
 ## Requirement
 
-1. PHP >= 7.1
+1. PHP >= 7.0
 2. **[Composer](https://getcomposer.org/)**
 3. openssl 拓展
 4. fileinfo 拓展(素材管理模块需要用到)
@@ -24,7 +24,7 @@
 ## Installation
 
 ```shell
-$ composer require "overtrue/wechat:^4.2" -vvv
+$ composer require "overtrue/wechat:~4.1" -vvv
 ```
 
 ## Usage

+ 8 - 11
vendor/overtrue/wechat/composer.json

@@ -15,27 +15,25 @@
         }
     ],
     "require": {
-        "php": ">=7.1",
+        "php": ">=7.0",
         "ext-fileinfo": "*",
         "ext-openssl": "*",
         "ext-simplexml": "*",
         "easywechat-composer/easywechat-composer": "^1.1",
         "guzzlehttp/guzzle": "^6.2",
-        "monolog/monolog": "^1.22 || ^2.0",
+        "monolog/monolog": "^1.22",
         "overtrue/socialite": "~2.0",
         "pimple/pimple": "^3.0",
         "psr/simple-cache": "^1.0",
         "symfony/cache": "^3.3 || ^4.3",
-        "symfony/event-dispatcher": "^4.3",
         "symfony/http-foundation": "^2.7 || ^3.0 || ^4.0",
         "symfony/psr-http-message-bridge": "^0.3 || ^1.0"
     },
     "require-dev": {
-        "friendsofphp/php-cs-fixer": "^2.15",
-        "mikey179/vfsstream": "^1.6",
-        "mockery/mockery": "^1.2.3",
-        "phpstan/phpstan": "^0.11.12",
-        "phpunit/phpunit": "^7.5"
+        "mikey179/vfsStream": "^1.6",
+        "mockery/mockery": "^1.0",
+        "overtrue/phplint": "dev-master",
+        "phpunit/phpunit": "~6.5"
     },
     "autoload": {
         "psr-4": {
@@ -52,8 +50,7 @@
         }
     },
     "scripts": {
-        "phpcs": "vendor/bin/php-cs-fixer fix",
-        "phpstan": "vendor/bin/phpstan analyse",
-        "test": "vendor/bin/phpunit"
+        "test": "vendor/bin/phpunit",
+        "phpstan": "docker run -v \"$PWD:/usr/src/app\" --rm oskarstark/phpstan-ga:latest analyse"
     }
 }

+ 0 - 3
vendor/overtrue/wechat/src/BasicService/QrCode/Client.php

@@ -98,9 +98,6 @@ class Client extends BaseClient
      * @param int    $expireSeconds
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     protected function create($actionName, $actionInfo, $temporary = true, $expireSeconds = null)
     {

+ 0 - 3
vendor/overtrue/wechat/src/BasicService/Url/Client.php

@@ -31,9 +31,6 @@ class Client extends BaseClient
      * @param string $url
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function shorten(string $url)
     {

+ 5 - 8
vendor/overtrue/wechat/src/Kernel/AccessToken.php

@@ -17,6 +17,7 @@ use EasyWeChat\Kernel\Exceptions\InvalidArgumentException;
 use EasyWeChat\Kernel\Exceptions\RuntimeException;
 use EasyWeChat\Kernel\Traits\HasHttpRequests;
 use EasyWeChat\Kernel\Traits\InteractsWithCache;
+use Pimple\Container;
 use Psr\Http\Message\RequestInterface;
 use Psr\Http\Message\ResponseInterface;
 
@@ -31,7 +32,7 @@ abstract class AccessToken implements AccessTokenInterface
     use InteractsWithCache;
 
     /**
-     * @var \EasyWeChat\Kernel\ServiceContainer
+     * @var \Pimple\Container
      */
     protected $app;
 
@@ -73,9 +74,9 @@ abstract class AccessToken implements AccessTokenInterface
     /**
      * AccessToken constructor.
      *
-     * @param \EasyWeChat\Kernel\ServiceContainer $app
+     * @param \Pimple\Container $app
      */
-    public function __construct(ServiceContainer $app)
+    public function __construct(Container $app)
     {
         $this->app = $app;
     }
@@ -119,8 +120,6 @@ abstract class AccessToken implements AccessTokenInterface
 
         $this->setToken($token[$this->tokenKey], $token['expires_in'] ?? 7200);
 
-        $this->app->events->dispatch(new Events\AccessTokenRefreshed($this));
-
         return $token;
     }
 
@@ -130,9 +129,8 @@ abstract class AccessToken implements AccessTokenInterface
      *
      * @return \EasyWeChat\Kernel\Contracts\AccessTokenInterface
      *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidArgumentException
-     * @throws \EasyWeChat\Kernel\Exceptions\RuntimeException
      * @throws \Psr\SimpleCache\InvalidArgumentException
+     * @throws \EasyWeChat\Kernel\Exceptions\RuntimeException
      */
     public function setToken(string $token, int $lifetime = 7200): AccessTokenInterface
     {
@@ -216,7 +214,6 @@ abstract class AccessToken implements AccessTokenInterface
      * @return ResponseInterface
      *
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidArgumentException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     protected function sendRequest(array $credentials): ResponseInterface
     {

+ 0 - 4
vendor/overtrue/wechat/src/Kernel/BaseClient.php

@@ -65,7 +65,6 @@ class BaseClient
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
      *
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function httpGet(string $url, array $query = [])
     {
@@ -81,7 +80,6 @@ class BaseClient
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
      *
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function httpPost(string $url, array $data = [])
     {
@@ -175,8 +173,6 @@ class BaseClient
 
         $response = $this->performRequest($url, $method, $options);
 
-        $this->app->events->dispatch(new Events\HttpResponseCreated($response));
-
         return $returnRaw ? $response : $this->castResponseToType($response, $this->app->config->get('response_type'));
     }
 

+ 0 - 2
vendor/overtrue/wechat/src/Kernel/Helpers.php

@@ -31,8 +31,6 @@ function data_get($data, $key, $default = null)
             return $data[$key] ?? $default;
         case $data instanceof \IteratorAggregate && $data->getIterator() instanceof \ArrayIterator:
             return $data->getIterator()->getArrayCopy()[$key] ?? $default;
-        case is_object($data):
-            return $data->{$key} ?? $default;
         default:
             throw new RuntimeException(sprintf('Can\'t access data with key "%s"', $key));
     }

+ 23 - 87
vendor/overtrue/wechat/src/Kernel/Log/LogManager.php

@@ -12,16 +12,13 @@
 namespace EasyWeChat\Kernel\Log;
 
 use EasyWeChat\Kernel\ServiceContainer;
-use InvalidArgumentException;
 use Monolog\Formatter\LineFormatter;
 use Monolog\Handler\ErrorLogHandler;
-use Monolog\Handler\FormattableHandlerInterface;
 use Monolog\Handler\HandlerInterface;
 use Monolog\Handler\RotatingFileHandler;
 use Monolog\Handler\SlackWebhookHandler;
 use Monolog\Handler\StreamHandler;
 use Monolog\Handler\SyslogHandler;
-use Monolog\Handler\WhatFailureGroupHandler;
 use Monolog\Logger as Monolog;
 use Psr\Log\LoggerInterface;
 
@@ -84,8 +81,6 @@ class LogManager implements LoggerInterface
      * @param string|null $channel
      *
      * @return \Psr\Log\LoggerInterface
-     *
-     * @throws \Exception
      */
     public function stack(array $channels, $channel = null)
     {
@@ -98,12 +93,10 @@ class LogManager implements LoggerInterface
      * @param string|null $channel
      *
      * @return mixed
-     *
-     * @throws \Exception
      */
     public function channel($channel = null)
     {
-        return $this->driver($channel);
+        return $this->get($channel);
     }
 
     /**
@@ -112,8 +105,6 @@ class LogManager implements LoggerInterface
      * @param string|null $driver
      *
      * @return mixed
-     *
-     * @throws \Exception
      */
     public function driver($driver = null)
     {
@@ -126,8 +117,6 @@ class LogManager implements LoggerInterface
      * @param string $name
      *
      * @return \Psr\Log\LoggerInterface
-     *
-     * @throws \Exception
      */
     protected function get($name)
     {
@@ -137,8 +126,8 @@ class LogManager implements LoggerInterface
             $logger = $this->createEmergencyLogger();
 
             $logger->emergency('Unable to create configured logger. Using emergency logger.', [
-                'exception' => $e,
-            ]);
+                    'exception' => $e,
+                ]);
 
             return $logger;
         }
@@ -151,14 +140,14 @@ class LogManager implements LoggerInterface
      *
      * @return \Psr\Log\LoggerInterface
      *
-     * @throws InvalidArgumentException
+     * @throws \InvalidArgumentException
      */
     protected function resolve($name)
     {
         $config = $this->app['config']->get(\sprintf('log.channels.%s', $name));
 
         if (is_null($config)) {
-            throw new InvalidArgumentException(\sprintf('Log [%s] is not defined.', $name));
+            throw new \InvalidArgumentException(\sprintf('Log [%s] is not defined.', $name));
         }
 
         if (isset($this->customCreators[$config['driver']])) {
@@ -171,21 +160,18 @@ class LogManager implements LoggerInterface
             return $this->{$driverMethod}($config);
         }
 
-        throw new InvalidArgumentException(\sprintf('Driver [%s] is not supported.', $config['driver']));
+        throw new \InvalidArgumentException(\sprintf('Driver [%s] is not supported.', $config['driver']));
     }
 
     /**
      * Create an emergency log handler to avoid white screens of death.
      *
      * @return \Monolog\Logger
-     *
-     * @throws \Exception
      */
     protected function createEmergencyLogger()
     {
         return new Monolog('EasyWeChat', $this->prepareHandlers([new StreamHandler(
-            \sys_get_temp_dir().'/easywechat/easywechat.log',
-            $this->level(['level' => 'debug'])
+            \sys_get_temp_dir().'/easywechat/easywechat.log', $this->level(['level' => 'debug'])
         )]));
     }
 
@@ -207,8 +193,6 @@ class LogManager implements LoggerInterface
      * @param array $config
      *
      * @return \Monolog\Logger
-     *
-     * @throws \Exception
      */
     protected function createStackDriver(array $config)
     {
@@ -218,10 +202,6 @@ class LogManager implements LoggerInterface
             $handlers = \array_merge($handlers, $this->channel($channel)->getHandlers());
         }
 
-        if ($config['ignore_exceptions'] ?? false) {
-            $handlers = [new WhatFailureGroupHandler($handlers)];
-        }
-
         return new Monolog($this->parseChannel($config), $handlers);
     }
 
@@ -231,19 +211,13 @@ class LogManager implements LoggerInterface
      * @param array $config
      *
      * @return \Psr\Log\LoggerInterface
-     *
-     * @throws \Exception
      */
     protected function createSingleDriver(array $config)
     {
         return new Monolog($this->parseChannel($config), [
-            $this->prepareHandler(new StreamHandler(
-                $config['path'],
-                $this->level($config),
-                $config['bubble'] ?? true,
-                $config['permission'] ?? null,
-                $config['locking'] ?? false
-            ), $config),
+            $this->prepareHandler(
+                new StreamHandler($config['path'], $this->level($config))
+            ),
         ]);
     }
 
@@ -258,13 +232,8 @@ class LogManager implements LoggerInterface
     {
         return new Monolog($this->parseChannel($config), [
             $this->prepareHandler(new RotatingFileHandler(
-                $config['path'],
-                $config['days'] ?? 7,
-                $this->level($config),
-                $config['bubble'] ?? true,
-                $config['permission'] ?? null,
-                $config['locking'] ?? false
-            ), $config),
+                $config['path'], $config['days'] ?? 7, $this->level($config)
+            )),
         ]);
     }
 
@@ -286,10 +255,8 @@ class LogManager implements LoggerInterface
                 $config['emoji'] ?? ':boom:',
                 $config['short'] ?? false,
                 $config['context'] ?? true,
-                $this->level($config),
-                $config['bubble'] ?? true,
-                $config['exclude_fields'] ?? []
-            ), $config),
+                $this->level($config)
+            )),
         ]);
     }
 
@@ -304,10 +271,8 @@ class LogManager implements LoggerInterface
     {
         return new Monolog($this->parseChannel($config), [
             $this->prepareHandler(new SyslogHandler(
-                'EasyWeChat',
-                $config['facility'] ?? LOG_USER,
-                $this->level($config)
-            ), $config),
+                    'EasyWeChat', $config['facility'] ?? LOG_USER, $this->level($config))
+            ),
         ]);
     }
 
@@ -321,11 +286,8 @@ class LogManager implements LoggerInterface
     protected function createErrorlogDriver(array $config)
     {
         return new Monolog($this->parseChannel($config), [
-            $this->prepareHandler(
-                new ErrorLogHandler(
-                    $config['type'] ?? ErrorLogHandler::OPERATING_SYSTEM,
-                    $this->level($config)
-                )
+            $this->prepareHandler(new ErrorLogHandler(
+                    $config['type'] ?? ErrorLogHandler::OPERATING_SYSTEM, $this->level($config))
             ),
         ]);
     }
@@ -353,15 +315,9 @@ class LogManager implements LoggerInterface
      *
      * @return \Monolog\Handler\HandlerInterface
      */
-    protected function prepareHandler(HandlerInterface $handler, array $config = [])
+    protected function prepareHandler(HandlerInterface $handler)
     {
-        if (!isset($config['formatter'])) {
-            if ($handler instanceof FormattableHandlerInterface) {
-                $handler->setFormatter($this->formatter());
-            }
-        }
-
-        return $handler;
+        return $handler->setFormatter($this->formatter());
     }
 
     /**
@@ -386,7 +342,7 @@ class LogManager implements LoggerInterface
      */
     protected function parseChannel(array $config)
     {
-        return $config['name'] ?? 'EasyWeChat';
+        return $config['name'] ?? null;
     }
 
     /**
@@ -396,7 +352,7 @@ class LogManager implements LoggerInterface
      *
      * @return int
      *
-     * @throws InvalidArgumentException
+     * @throws \InvalidArgumentException
      */
     protected function level(array $config)
     {
@@ -406,7 +362,7 @@ class LogManager implements LoggerInterface
             return $this->levels[$level];
         }
 
-        throw new InvalidArgumentException('Invalid log level.');
+        throw new \InvalidArgumentException('Invalid log level.');
     }
 
     /**
@@ -451,8 +407,6 @@ class LogManager implements LoggerInterface
      * @param array  $context
      *
      * @return mixed
-     *
-     * @throws \Exception
      */
     public function emergency($message, array $context = [])
     {
@@ -469,8 +423,6 @@ class LogManager implements LoggerInterface
      * @param array  $context
      *
      * @return mixed
-     *
-     * @throws \Exception
      */
     public function alert($message, array $context = [])
     {
@@ -486,8 +438,6 @@ class LogManager implements LoggerInterface
      * @param array  $context
      *
      * @return mixed
-     *
-     * @throws \Exception
      */
     public function critical($message, array $context = [])
     {
@@ -502,8 +452,6 @@ class LogManager implements LoggerInterface
      * @param array  $context
      *
      * @return mixed
-     *
-     * @throws \Exception
      */
     public function error($message, array $context = [])
     {
@@ -520,8 +468,6 @@ class LogManager implements LoggerInterface
      * @param array  $context
      *
      * @return mixed
-     *
-     * @throws \Exception
      */
     public function warning($message, array $context = [])
     {
@@ -535,8 +481,6 @@ class LogManager implements LoggerInterface
      * @param array  $context
      *
      * @return mixed
-     *
-     * @throws \Exception
      */
     public function notice($message, array $context = [])
     {
@@ -552,8 +496,6 @@ class LogManager implements LoggerInterface
      * @param array  $context
      *
      * @return mixed
-     *
-     * @throws \Exception
      */
     public function info($message, array $context = [])
     {
@@ -567,8 +509,6 @@ class LogManager implements LoggerInterface
      * @param array  $context
      *
      * @return mixed
-     *
-     * @throws \Exception
      */
     public function debug($message, array $context = [])
     {
@@ -583,8 +523,6 @@ class LogManager implements LoggerInterface
      * @param array  $context
      *
      * @return mixed
-     *
-     * @throws \Exception
      */
     public function log($level, $message, array $context = [])
     {
@@ -598,8 +536,6 @@ class LogManager implements LoggerInterface
      * @param array  $parameters
      *
      * @return mixed
-     *
-     * @throws \Exception
      */
     public function __call($method, $parameters)
     {

+ 0 - 2
vendor/overtrue/wechat/src/Kernel/Messages/Media.php

@@ -49,8 +49,6 @@ class Media extends Message implements MediaInterface
 
     /**
      * @return string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidArgumentException
      */
     public function getMediaId(): string
     {

+ 0 - 2
vendor/overtrue/wechat/src/Kernel/Messages/Message.php

@@ -148,8 +148,6 @@ abstract class Message implements MessageInterface
      * @param bool  $withType
      *
      * @return array
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidArgumentException
      */
     public function transformForJsonRequest(array $appends = [], $withType = true): array
     {

+ 6 - 10
vendor/overtrue/wechat/src/Kernel/ServerGuard.php

@@ -192,18 +192,14 @@ class ServerGuard
         $result = $this->handleRequest();
 
         if ($this->shouldReturnRawResponse()) {
-            $response = new Response($result['response']);
-        } else {
-            $response = new Response(
-                $this->buildResponse($result['to'], $result['from'], $result['response']),
-                200,
-                ['Content-Type' => 'application/xml']
-            );
+            return new Response($result['response']);
         }
 
-        $this->app->events->dispatch(new Events\ServerGuardResponseCreated($response));
-
-        return $response;
+        return new Response(
+            $this->buildResponse($result['to'], $result['from'], $result['response']),
+            200,
+            ['Content-Type' => 'application/xml']
+        );
     }
 
     /**

+ 4 - 9
vendor/overtrue/wechat/src/Kernel/ServiceContainer.php

@@ -12,7 +12,6 @@
 namespace EasyWeChat\Kernel;
 
 use EasyWeChat\Kernel\Providers\ConfigServiceProvider;
-use EasyWeChat\Kernel\Providers\EventDispatcherServiceProvider;
 use EasyWeChat\Kernel\Providers\ExtensionServiceProvider;
 use EasyWeChat\Kernel\Providers\HttpClientServiceProvider;
 use EasyWeChat\Kernel\Providers\LogServiceProvider;
@@ -25,11 +24,10 @@ use Pimple\Container;
  *
  * @author overtrue <i@overtrue.me>
  *
- * @property \EasyWeChat\Kernel\Config                          $config
- * @property \Symfony\Component\HttpFoundation\Request          $request
- * @property \GuzzleHttp\Client                                 $http_client
- * @property \Monolog\Logger                                    $logger
- * @property \Symfony\Component\EventDispatcher\EventDispatcher $events
+ * @property \EasyWeChat\Kernel\Config                 $config
+ * @property \Symfony\Component\HttpFoundation\Request $request
+ * @property \GuzzleHttp\Client                        $http_client
+ * @property \Monolog\Logger                           $logger
  */
 class ServiceContainer extends Container
 {
@@ -73,8 +71,6 @@ class ServiceContainer extends Container
         $this->id = $id;
 
         $this->aggregate();
-
-        $this->events->dispatch(new Events\ApplicationInitialized($this));
     }
 
     /**
@@ -114,7 +110,6 @@ class ServiceContainer extends Container
             RequestServiceProvider::class,
             HttpClientServiceProvider::class,
             ExtensionServiceProvider::class,
-            EventDispatcherServiceProvider::class,
         ], $this->providers);
     }
 

+ 2 - 4
vendor/overtrue/wechat/src/Kernel/Support/File.php

@@ -97,10 +97,8 @@ class File
      */
     public static function getStreamExt($stream)
     {
-        $ext = self::getExtBySignature($stream);
-
         try {
-            if (empty($ext) && is_readable($stream)) {
+            if (is_readable($stream)) {
                 $stream = file_get_contents($stream);
             }
         } catch (\Exception $e) {
@@ -110,7 +108,7 @@ class File
 
         $mime = strstr($fileInfo->buffer($stream), ';', true);
 
-        return isset(self::$extensionMap[$mime]) ? self::$extensionMap[$mime] : $ext;
+        return isset(self::$extensionMap[$mime]) ? self::$extensionMap[$mime] : self::getExtBySignature($stream);
     }
 
     /**

+ 0 - 17
vendor/overtrue/wechat/src/Kernel/Support/Helpers.php

@@ -36,23 +36,6 @@ function generate_sign(array $attributes, $key, $encryptMethod = 'md5')
 }
 
 /**
- * @param string $signType
- * @param string $secretKey
- *
- * @return \Closure|string
- */
-function get_encrypt_method(string $signType, string $secretKey = '')
-{
-    if ('HMAC-SHA256' === $signType) {
-        return function ($str) use ($secretKey) {
-            return hash_hmac('sha256', $str, $secretKey);
-        };
-    }
-
-    return 'md5';
-}
-
-/**
  * Get client ip.
  *
  * @return string

+ 1 - 1
vendor/overtrue/wechat/src/Kernel/Support/Str.php

@@ -62,7 +62,7 @@ class Str
      *
      * @return string
      *
-     * @throws \EasyWeChat\Kernel\Exceptions\RuntimeException
+     * @throws \RuntimeException
      */
     public static function random($length = 16)
     {

+ 0 - 2
vendor/overtrue/wechat/src/Kernel/Traits/HasAttributes.php

@@ -171,8 +171,6 @@ trait HasAttributes
      * Return all items.
      *
      * @return array
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidArgumentException
      */
     public function all()
     {

+ 5 - 1
vendor/overtrue/wechat/src/Kernel/Traits/InteractsWithCache.php

@@ -68,7 +68,11 @@ trait InteractsWithCache
     public function setCache($cache)
     {
         if (empty(\array_intersect([SimpleCacheInterface::class, CacheItemPoolInterface::class], \class_implements($cache)))) {
-            throw new InvalidArgumentException(\sprintf('The cache instance must implements %s or %s interface.', SimpleCacheInterface::class, CacheItemPoolInterface::class));
+            throw new InvalidArgumentException(
+                \sprintf('The cache instance must implements %s or %s interface.',
+                    SimpleCacheInterface::class, CacheItemPoolInterface::class
+                )
+            );
         }
 
         if ($cache instanceof CacheItemPoolInterface) {

+ 1 - 3
vendor/overtrue/wechat/src/Kernel/Traits/Observable.php

@@ -86,7 +86,6 @@ trait Observable
      * @return \EasyWeChat\Kernel\Clauses\Clause
      *
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidArgumentException
-     * @throws \ReflectionException
      */
     public function observe($condition, $handler)
     {
@@ -100,7 +99,6 @@ trait Observable
      * @return \EasyWeChat\Kernel\Clauses\Clause
      *
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidArgumentException
-     * @throws \ReflectionException
      */
     public function on($condition, $handler)
     {
@@ -230,7 +228,7 @@ trait Observable
             return $handler;
         }
 
-        if (is_string($handler) && '*' !== $handler) {
+        if (is_string($handler)) {
             if (!class_exists($handler)) {
                 throw new InvalidArgumentException(sprintf('Class "%s" not exists.', $handler));
             }

+ 5 - 2
vendor/overtrue/wechat/src/Kernel/Traits/ResponseCastable.php

@@ -49,7 +49,10 @@ trait ResponseCastable
                 return $response;
             default:
                 if (!is_subclass_of($type, Arrayable::class)) {
-                    throw new InvalidConfigException(sprintf('Config key "response_type" classname must be an instanceof %s', Arrayable::class));
+                    throw new InvalidConfigException(sprintf(
+                        'Config key "response_type" classname must be an instanceof %s',
+                        Arrayable::class
+                    ));
                 }
 
                 return new $type($response);
@@ -81,7 +84,7 @@ trait ResponseCastable
 
                 break;
             case is_scalar($response):
-                $response = new Response(200, [], (string) $response);
+                $response = new Response(200, [], $response);
 
                 break;
             default:

+ 8 - 3
vendor/overtrue/wechat/src/MicroMerchant/Application.php

@@ -144,12 +144,17 @@ class Application extends ServiceContainer
         }
 
         $sign = $data['sign'];
+        strlen($sign) > 32 && $signType = 'HMAC-SHA256';
         unset($data['sign']);
-
-        $signType = strlen($sign) > 32 ? 'HMAC-SHA256' : 'MD5';
         $secretKey = $this->getKey();
 
-        $encryptMethod = Support\get_encrypt_method($signType, $secretKey);
+        if ('HMAC-SHA256' === ($signType ?? 'MD5')) {
+            $encryptMethod = function ($str) use ($secretKey) {
+                return hash_hmac('sha256', $str, $secretKey);
+            };
+        } else {
+            $encryptMethod = 'md5';
+        }
 
         if (Support\generate_sign($data, $secretKey, $encryptMethod) === $sign) {
             return true;

+ 0 - 4
vendor/overtrue/wechat/src/MicroMerchant/Base/Client.php

@@ -31,7 +31,6 @@ class Client extends BaseClient
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidArgumentException
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
      * @throws \EasyWeChat\MicroMerchant\Kernel\Exceptions\EncryptException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function submitApplication(array $params)
     {
@@ -55,7 +54,6 @@ class Client extends BaseClient
      *
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidArgumentException
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function getStatus(string $applymentId, string $businessCode = '')
     {
@@ -88,7 +86,6 @@ class Client extends BaseClient
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidArgumentException
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
      * @throws \EasyWeChat\MicroMerchant\Kernel\Exceptions\EncryptException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function upgrade(array $params)
     {
@@ -112,7 +109,6 @@ class Client extends BaseClient
      *
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidArgumentException
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function getUpgradeStatus(string $subMchId = '')
     {

+ 12 - 2
vendor/overtrue/wechat/src/MicroMerchant/Certficates/Client.php

@@ -49,10 +49,20 @@ class Client extends BaseClient
         $response = $this->requestArray('risk/getcertficates', $params);
 
         if ('SUCCESS' !== $response['return_code']) {
-            throw new InvalidArgumentException(sprintf('Failed to get certificate. return_code_msg: "%s" .', $response['return_code'].'('.$response['return_msg'].')'));
+            throw new InvalidArgumentException(
+                sprintf(
+                    'Failed to get certificate. return_code_msg: "%s" .',
+                    $response['return_code'].'('.$response['return_msg'].')'
+                )
+            );
         }
         if ('SUCCESS' !== $response['result_code']) {
-            throw new InvalidArgumentException(sprintf('Failed to get certificate. result_err_code_des: "%s" .', $response['result_code'].'('.$response['err_code'].'['.$response['err_code_des'].'])'));
+            throw new InvalidArgumentException(
+                sprintf(
+                    'Failed to get certificate. result_err_code_des: "%s" .',
+                    $response['result_code'].'('.$response['err_code'].'['.$response['err_code_des'].'])'
+                )
+            );
         }
         $certificates = \GuzzleHttp\json_decode($response['certificates'], true)['data'][0];
         $ciphertext = $this->decrypt($certificates['encrypt_certificate']);

+ 7 - 4
vendor/overtrue/wechat/src/MicroMerchant/Kernel/BaseClient.php

@@ -66,7 +66,6 @@ class BaseClient extends PaymentBaseClient
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidArgumentException
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
      * @throws \EasyWeChat\MicroMerchant\Kernel\Exceptions\InvalidSignException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function httpUpload(string $url, array $files = [], array $form = [], array $query = [], $returnResponse = false)
     {
@@ -130,7 +129,6 @@ class BaseClient extends PaymentBaseClient
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidArgumentException
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
      * @throws \EasyWeChat\MicroMerchant\Kernel\Exceptions\InvalidSignException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     protected function request(string $endpoint, array $params = [], $method = 'post', array $options = [], $returnResponse = false)
     {
@@ -248,8 +246,13 @@ class BaseClient extends PaymentBaseClient
         $params = array_filter($params);
 
         $key = $this->app->getKey();
-
-        $encryptMethod = Support\get_encrypt_method(Support\Arr::get($params, 'sign_type', 'MD5'), $key);
+        if ('HMAC-SHA256' === ($params['sign_type'] ?? 'MD5')) {
+            $encryptMethod = function ($str) use ($key) {
+                return hash_hmac('sha256', $str, $key);
+            };
+        } else {
+            $encryptMethod = 'md5';
+        }
 
         return Support\generate_sign($params, $key, $encryptMethod);
     }

+ 0 - 2
vendor/overtrue/wechat/src/MicroMerchant/Material/Client.php

@@ -31,7 +31,6 @@ class Client extends BaseClient
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidArgumentException
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
      * @throws \EasyWeChat\MicroMerchant\Kernel\Exceptions\EncryptException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function setSettlementCard(array $params)
     {
@@ -56,7 +55,6 @@ class Client extends BaseClient
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidArgumentException
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
      * @throws \EasyWeChat\MicroMerchant\Kernel\Exceptions\EncryptException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function updateContact(array $params)
     {

+ 0 - 3
vendor/overtrue/wechat/src/MicroMerchant/MerchantConfig/Client.php

@@ -33,7 +33,6 @@ class Client extends BaseClient
      *
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidArgumentException
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function setFollowConfig(string $subAppId, string $subscribeAppId, string $receiptAppId = '', string $subMchId = '')
     {
@@ -105,7 +104,6 @@ class Client extends BaseClient
      *
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidArgumentException
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     private function addConfig(array $params)
     {
@@ -122,7 +120,6 @@ class Client extends BaseClient
      *
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidArgumentException
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function getConfig(string $subMchId = '', string $appId = '')
     {

+ 0 - 2
vendor/overtrue/wechat/src/MicroMerchant/Withdraw/Client.php

@@ -31,7 +31,6 @@ class Client extends BaseClient
      *
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidArgumentException
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function queryWithdrawalStatus($date, $subMchId = '')
     {
@@ -53,7 +52,6 @@ class Client extends BaseClient
      *
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidArgumentException
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function requestWithdraw($date, $subMchId = '')
     {

+ 1 - 7
vendor/overtrue/wechat/src/MiniProgram/ActivityMessage/Client.php

@@ -18,8 +18,6 @@ class Client extends BaseClient
 {
     /**
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
      */
     public function createActivityId()
     {
@@ -33,9 +31,7 @@ class Client extends BaseClient
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
      *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidArgumentException
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
+     * @throws InvalidArgumentException
      */
     public function updateMessage(string $activityId, int $state = 0, array $params = [])
     {
@@ -58,8 +54,6 @@ class Client extends BaseClient
      * @param array $params
      *
      * @return array
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidArgumentException
      */
     protected function formatParameters(array $params)
     {

+ 0 - 3
vendor/overtrue/wechat/src/MiniProgram/AppCode/Client.php

@@ -75,9 +75,6 @@ class Client extends BaseClient
      * @param array  $params
      *
      * @return array|\EasyWeChat\Kernel\Support\Collection|object|\Psr\Http\Message\ResponseInterface|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     protected function getStream(string $endpoint, array $params)
     {

+ 0 - 3
vendor/overtrue/wechat/src/MiniProgram/Application.php

@@ -38,7 +38,6 @@ use EasyWeChat\Kernel\ServiceContainer;
  * @property \EasyWeChat\BasicService\Media\Client              $media
  * @property \EasyWeChat\BasicService\ContentSecurity\Client    $content_security
  * @property \EasyWeChat\MiniProgram\Mall\ForwardsMall          $mall
- * @property \EasyWeChat\MiniProgram\SubscribeMessage\Client    $subscribe_message
  */
 class Application extends ServiceContainer
 {
@@ -61,8 +60,6 @@ class Application extends ServiceContainer
         NearbyPoi\ServiceProvider::class,
         OCR\ServiceProvider::class,
         Soter\ServiceProvider::class,
-        Mall\ServiceProvider::class,
-        SubscribeMessage\ServiceProvider::class,
         // Base services
         BasicService\Media\ServiceProvider::class,
         BasicService\ContentSecurity\ServiceProvider::class,

+ 0 - 6
vendor/overtrue/wechat/src/MiniProgram/Base/Client.php

@@ -23,13 +23,7 @@ class Client extends BaseClient
     /**
      * Get paid unionid.
      *
-     * @param string $openid
-     * @param array  $options
-     *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function getPaidUnionid($openid, $options = [])
     {

+ 0 - 3
vendor/overtrue/wechat/src/MiniProgram/DataCube/Client.php

@@ -158,9 +158,6 @@ class Client extends BaseClient
      * @param string $to
      *
      * @return array|\EasyWeChat\Kernel\Support\Collection|object|\Psr\Http\Message\ResponseInterface|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     protected function query(string $api, string $from, string $to)
     {

+ 0 - 2
vendor/overtrue/wechat/src/MiniProgram/Encryptor.php

@@ -30,8 +30,6 @@ class Encryptor extends BaseEncryptor
      * @param string $encrypted
      *
      * @return array
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\DecryptException
      */
     public function decryptData(string $sessionKey, string $iv, string $encrypted): array
     {

+ 0 - 7
vendor/overtrue/wechat/src/MiniProgram/Express/Client.php

@@ -36,7 +36,6 @@ class Client extends BaseClient
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
      *
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function createWaybill(array $params = [])
     {
@@ -49,7 +48,6 @@ class Client extends BaseClient
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
      *
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function deleteWaybill(array $params = [])
     {
@@ -62,7 +60,6 @@ class Client extends BaseClient
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
      *
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function getWaybill(array $params = [])
     {
@@ -75,7 +72,6 @@ class Client extends BaseClient
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
      *
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function getWaybillTrack(array $params = [])
     {
@@ -89,7 +85,6 @@ class Client extends BaseClient
      * @return array|\EasyWeChat\Kernel\Support\Collection|object|\Psr\Http\Message\ResponseInterface|string
      *
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function getBalance(string $deliveryId, string $bizId)
     {
@@ -105,7 +100,6 @@ class Client extends BaseClient
      * @return array|\EasyWeChat\Kernel\Support\Collection|object|\Psr\Http\Message\ResponseInterface|string
      *
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function bindPrinter(string $openid)
     {
@@ -121,7 +115,6 @@ class Client extends BaseClient
      * @return array|\EasyWeChat\Kernel\Support\Collection|object|\Psr\Http\Message\ResponseInterface|string
      *
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function unbindPrinter(string $openid)
     {

+ 0 - 12
vendor/overtrue/wechat/src/MiniProgram/Mall/CartClient.php

@@ -27,9 +27,6 @@ class CartClient extends BaseClient
      * @param bool  $isTest
      *
      * @return mixed
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function add($params, $isTest = false)
     {
@@ -42,9 +39,6 @@ class CartClient extends BaseClient
      * @param array $params
      *
      * @return mixed
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function query($params)
     {
@@ -57,9 +51,6 @@ class CartClient extends BaseClient
      * @param array $params
      *
      * @return mixed
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function queryByPage($params)
     {
@@ -73,9 +64,6 @@ class CartClient extends BaseClient
      * @param array  $products
      *
      * @return mixed
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function delete($openid, array $products = [])
     {

+ 0 - 3
vendor/overtrue/wechat/src/MiniProgram/Mall/MediaClient.php

@@ -26,9 +26,6 @@ class MediaClient extends BaseClient
      * @param array $params
      *
      * @return mixed
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function import($params)
     {

+ 0 - 11
vendor/overtrue/wechat/src/MiniProgram/Mall/OrderClient.php

@@ -25,11 +25,6 @@ class OrderClient extends BaseClient
      *
      * @param array $params
      * @param bool  $isHistory
-     *
-     * @return array|\EasyWeChat\Kernel\Support\Collection|object|\Psr\Http\Message\ResponseInterface|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function add($params, $isHistory = false)
     {
@@ -43,9 +38,6 @@ class OrderClient extends BaseClient
      * @param bool  $isHistory
      *
      * @return mixed
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function update($params, $isHistory = false)
     {
@@ -59,9 +51,6 @@ class OrderClient extends BaseClient
      * @param string $orderId
      *
      * @return mixed
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function delete($openid, $orderId)
     {

+ 0 - 9
vendor/overtrue/wechat/src/MiniProgram/Mall/ProductClient.php

@@ -27,9 +27,6 @@ class ProductClient extends BaseClient
      * @param bool  $isTest
      *
      * @return mixed
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function import($params, $isTest = false)
     {
@@ -42,9 +39,6 @@ class ProductClient extends BaseClient
      * @param array $params
      *
      * @return mixed
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function query($params)
     {
@@ -57,9 +51,6 @@ class ProductClient extends BaseClient
      * @param bool $value
      *
      * @return mixed
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function setSearchable($value)
     {

+ 0 - 11
vendor/overtrue/wechat/src/MiniProgram/NearbyPoi/Client.php

@@ -29,7 +29,6 @@ class Client extends BaseClient
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
      *
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function add(array $params)
     {
@@ -50,7 +49,6 @@ class Client extends BaseClient
      * @return array|\EasyWeChat\Kernel\Support\Collection|object|\Psr\Http\Message\ResponseInterface|string
      *
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function update(string $poiId, array $params)
     {
@@ -68,9 +66,6 @@ class Client extends BaseClient
      * @param string $poiId
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function delete(string $poiId)
     {
@@ -86,8 +81,6 @@ class Client extends BaseClient
      * @param int $pageRows
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
      */
     public function list(int $page, int $pageRows)
     {
@@ -104,10 +97,6 @@ class Client extends BaseClient
      * @param int    $status
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidArgumentException
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function setVisibility(string $poiId, int $status)
     {

+ 0 - 2
vendor/overtrue/wechat/src/MiniProgram/OpenData/Client.php

@@ -35,7 +35,6 @@ class Client extends BaseClient
      * @return array|\EasyWeChat\Kernel\Support\Collection|object|\Psr\Http\Message\ResponseInterface|string
      *
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function removeUserStorage(string $openid, string $sessionKey, array $key)
     {
@@ -59,7 +58,6 @@ class Client extends BaseClient
      * @return array|\EasyWeChat\Kernel\Support\Collection|object|\Psr\Http\Message\ResponseInterface|string
      *
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function setUserStorage(string $openid, string $sessionKey, array $kvList)
     {

+ 0 - 3
vendor/overtrue/wechat/src/MiniProgram/Plugin/Client.php

@@ -26,7 +26,6 @@ class Client extends BaseClient
      * @return array|\EasyWeChat\Kernel\Support\Collection|object|\Psr\Http\Message\ResponseInterface|string
      *
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function apply($appId)
     {
@@ -40,7 +39,6 @@ class Client extends BaseClient
      * @return array|\EasyWeChat\Kernel\Support\Collection|object|\Psr\Http\Message\ResponseInterface|string
      *
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function list()
     {
@@ -55,7 +53,6 @@ class Client extends BaseClient
      * @return array|\EasyWeChat\Kernel\Support\Collection|object|\Psr\Http\Message\ResponseInterface|string
      *
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function unbind($appId)
     {

+ 0 - 4
vendor/overtrue/wechat/src/MiniProgram/Plugin/DevClient.php

@@ -29,7 +29,6 @@ class DevClient extends BaseClient
      * @return array|\EasyWeChat\Kernel\Support\Collection|object|\Psr\Http\Message\ResponseInterface|string
      *
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function getUsers(int $page = 1, int $size = 10)
     {
@@ -48,7 +47,6 @@ class DevClient extends BaseClient
      * @return array|\EasyWeChat\Kernel\Support\Collection|object|\Psr\Http\Message\ResponseInterface|string
      *
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function agree(string $appId)
     {
@@ -66,7 +64,6 @@ class DevClient extends BaseClient
      * @return array|\EasyWeChat\Kernel\Support\Collection|object|\Psr\Http\Message\ResponseInterface|string
      *
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function refuse(string $reason)
     {
@@ -82,7 +79,6 @@ class DevClient extends BaseClient
      * @return array|\EasyWeChat\Kernel\Support\Collection|object|\Psr\Http\Message\ResponseInterface|string
      *
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function delete()
     {

+ 0 - 1
vendor/overtrue/wechat/src/MiniProgram/Soter/Client.php

@@ -28,7 +28,6 @@ class Client extends BaseClient
      * @return array|\EasyWeChat\Kernel\Support\Collection|object|\Psr\Http\Message\ResponseInterface|string
      *
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function verifySignature(string $openid, string $json, string $signature)
     {

+ 0 - 15
vendor/overtrue/wechat/src/MiniProgram/TemplateMessage/Client.php

@@ -44,9 +44,6 @@ class Client extends BaseClient
      * @param int $count
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function list(int $offset, int $count)
     {
@@ -57,9 +54,6 @@ class Client extends BaseClient
      * @param string $id
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function get(string $id)
     {
@@ -71,9 +65,6 @@ class Client extends BaseClient
      * @param array  $keyword
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function add(string $id, array $keyword)
     {
@@ -87,9 +78,6 @@ class Client extends BaseClient
      * @param string $templateId
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function delete(string $templateId)
     {
@@ -103,9 +91,6 @@ class Client extends BaseClient
      * @param int $count
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function getTemplates(int $offset, int $count)
     {

+ 0 - 4
vendor/overtrue/wechat/src/MiniProgram/UniformMessage/Client.php

@@ -90,8 +90,6 @@ class Client extends BaseClient
      * @param array $data
      *
      * @return array
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidArgumentException
      */
     protected function formatWeappMessage(array $data = [])
     {
@@ -106,8 +104,6 @@ class Client extends BaseClient
      * @param array $data
      *
      * @return array
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidArgumentException
      */
     protected function formatMpMessage(array $data = [])
     {

+ 0 - 5
vendor/overtrue/wechat/src/OfficialAccount/Application.php

@@ -46,10 +46,6 @@ use EasyWeChat\Kernel\ServiceContainer;
  * @property \EasyWeChat\OfficialAccount\OCR\Client                    $ocr
  * @property \EasyWeChat\OfficialAccount\Goods\Client                  $goods
  * @property \Overtrue\Socialite\Providers\WeChatProvider              $oauth
- * @property \EasyWeChat\OfficialAccount\WiFi\Client                   $wifi
- * @property \EasyWeChat\OfficialAccount\WiFi\CardClient               $wifi_card
- * @property \EasyWeChat\OfficialAccount\WiFi\DeviceClient             $wifi_device
- * @property \EasyWeChat\OfficialAccount\WiFi\ShopClient               $wifi_shop
  */
 class Application extends ServiceContainer
 {
@@ -78,7 +74,6 @@ class Application extends ServiceContainer
         Base\ServiceProvider::class,
         OCR\ServiceProvider::class,
         Goods\ServiceProvider::class,
-        WiFi\ServiceProvider::class,
         // Base services
         BasicService\QrCode\ServiceProvider::class,
         BasicService\Media\ServiceProvider::class,

+ 0 - 2
vendor/overtrue/wechat/src/OfficialAccount/AutoReply/Client.php

@@ -24,8 +24,6 @@ class Client extends BaseClient
      * Get current auto reply settings.
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
      */
     public function current()
     {

+ 0 - 38
vendor/overtrue/wechat/src/OfficialAccount/Base/Client.php

@@ -12,7 +12,6 @@
 namespace EasyWeChat\OfficialAccount\Base;
 
 use EasyWeChat\Kernel\BaseClient;
-use EasyWeChat\Kernel\Exceptions\InvalidArgumentException;
 
 /**
  * Class Client.
@@ -25,9 +24,6 @@ class Client extends BaseClient
      * Clear quota.
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function clearQuota()
     {
@@ -42,43 +38,9 @@ class Client extends BaseClient
      * Get wechat callback ip.
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
      */
     public function getValidIps()
     {
         return $this->httpGet('cgi-bin/getcallbackip');
     }
-
-    /**
-     * Check the callback address network.
-     *
-     * @param string $action
-     * @param string $operator
-     *
-     * @return array|\EasyWeChat\Kernel\Support\Collection|object|\Psr\Http\Message\ResponseInterface|string
-     *
-     * @throws InvalidArgumentException
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
-     */
-    public function checkCallbackUrl(string $action = 'all', string $operator = 'DEFAULT')
-    {
-        if (!in_array($action, ['dns', 'ping', 'all'], true)) {
-            throw new InvalidArgumentException('The action must be dns, ping, all.');
-        }
-
-        $operator = strtoupper($operator);
-
-        if (!in_array($operator, ['CHINANET', 'UNICOM', 'CAP', 'DEFAULT'], true)) {
-            throw new InvalidArgumentException('The operator must be CHINANET, UNICOM, CAP, DEFAULT.');
-        }
-
-        $params = [
-            'action' => $action,
-            'check_operator' => $operator,
-        ];
-
-        return $this->httpPostJson('cgi-bin/callback/check', $params);
-    }
 }

+ 2 - 8
vendor/overtrue/wechat/src/OfficialAccount/Broadcasting/Client.php

@@ -44,9 +44,8 @@ class Client extends BaseClient
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
      *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
      * @throws \EasyWeChat\Kernel\Exceptions\RuntimeException
-     * @throws \GuzzleHttp\Exception\GuzzleException
+     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
      */
     public function send(array $message)
     {
@@ -67,7 +66,6 @@ class Client extends BaseClient
      * @return array|\EasyWeChat\Kernel\Support\Collection|object|\Psr\Http\Message\ResponseInterface|string
      *
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function preview(array $message)
     {
@@ -78,18 +76,15 @@ class Client extends BaseClient
      * Delete a broadcast.
      *
      * @param string $msgId
-     * @param int    $index
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
      *
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
-    public function delete(string $msgId, int $index = 0)
+    public function delete(string $msgId)
     {
         $options = [
             'msg_id' => $msgId,
-            'article_idx' => $index,
         ];
 
         return $this->httpPostJson('cgi-bin/message/mass/delete', $options);
@@ -103,7 +98,6 @@ class Client extends BaseClient
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
      *
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function status(string $msgId)
     {

+ 0 - 3
vendor/overtrue/wechat/src/OfficialAccount/Card/BoardingPassClient.php

@@ -22,9 +22,6 @@ class BoardingPassClient extends Client
      * @param array $params
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function checkin(array $params)
     {

+ 0 - 4
vendor/overtrue/wechat/src/OfficialAccount/Card/Card.php

@@ -27,10 +27,6 @@ use EasyWeChat\Kernel\Exceptions\InvalidArgumentException;
  * @property \EasyWeChat\OfficialAccount\Card\SubMerchantClient   $sub_merchant
  * @property \EasyWeChat\OfficialAccount\Card\BoardingPassClient  $boarding_pass
  * @property \EasyWeChat\OfficialAccount\Card\JssdkClient         $jssdk
- * @property \EasyWeChat\OfficialAccount\Card\GiftCardClient      $gift_card
- * @property \EasyWeChat\OfficialAccount\Card\GiftCardOrderClient $gift_card_order
- * @property \EasyWeChat\OfficialAccount\Card\GiftCardPageClient  $gift_card_page
- * @property \EasyWeChat\OfficialAccount\Card\InvoiceClient       $invoice
  */
 class Card extends Client
 {

+ 0 - 69
vendor/overtrue/wechat/src/OfficialAccount/Card/Client.php

@@ -46,8 +46,6 @@ class Client extends BaseClient
      * 获取卡券颜色.
      *
      * @return mixed
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
      */
     public function colors()
     {
@@ -58,8 +56,6 @@ class Client extends BaseClient
      * 卡券开放类目查询接口.
      *
      * @return mixed
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
      */
     public function categories()
     {
@@ -73,9 +69,6 @@ class Client extends BaseClient
      * @param array  $attributes
      *
      * @return mixed
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function create($cardType = 'member_card', array $attributes)
     {
@@ -95,9 +88,6 @@ class Client extends BaseClient
      * @param string $cardId
      *
      * @return mixed
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function get($cardId)
     {
@@ -116,9 +106,6 @@ class Client extends BaseClient
      * @param string $statusList
      *
      * @return mixed
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function list($offset = 0, $count = 10, $statusList = 'CARD_STATUS_VERIFY_OK')
     {
@@ -139,9 +126,6 @@ class Client extends BaseClient
      * @param array  $attributes
      *
      * @return mixed
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function update($cardId, $type, array $attributes = [])
     {
@@ -158,9 +142,6 @@ class Client extends BaseClient
      * @param string $cardId
      *
      * @return mixed
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function delete($cardId)
     {
@@ -177,9 +158,6 @@ class Client extends BaseClient
      * @param array $cards
      *
      * @return mixed
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function createQrCode(array $cards)
     {
@@ -192,9 +170,6 @@ class Client extends BaseClient
      * @param string $ticket
      *
      * @return array
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function getQrCode($ticket)
     {
@@ -237,9 +212,6 @@ class Client extends BaseClient
      * @param array  $cardList
      *
      * @return mixed
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function createLandingPage($banner, $pageTitle, $canShare, $scene, $cardList)
     {
@@ -260,9 +232,6 @@ class Client extends BaseClient
      * @param string $cardId
      *
      * @return mixed
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function getHtml($cardId)
     {
@@ -279,9 +248,6 @@ class Client extends BaseClient
      * @param array $openids
      *
      * @return mixed
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function setTestWhitelist($openids)
     {
@@ -298,9 +264,6 @@ class Client extends BaseClient
      * @param array $usernames
      *
      * @return mixed
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function setTestWhitelistByName(array $usernames)
     {
@@ -318,9 +281,6 @@ class Client extends BaseClient
      * @param string $cardId
      *
      * @return mixed
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function getUserCards($openid, $cardId = '')
     {
@@ -340,9 +300,6 @@ class Client extends BaseClient
      * @param bool   $isOpen
      *
      * @return mixed
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function setPayCell($cardId, $isOpen = true)
     {
@@ -355,29 +312,6 @@ class Client extends BaseClient
     }
 
     /**
-     * 设置自助核销接口
-     * 设置买单的 card_id 必须已经配置了门店,否则会报错.
-     *
-     * @param string $cardId
-     * @param bool   $isOpen
-     * @param bool   $verifyCod
-     * @param bool   $remarkAmount
-     *
-     * @return mixed
-     */
-    public function setPayConsumeCell($cardId, $isOpen = true, $verifyCod = false, $remarkAmount = false)
-    {
-        $params = [
-            'card_id' => $cardId,
-            'is_open' => $isOpen,
-            'need_verify_cod' => $verifyCod,
-            'need_remark_amount' => $remarkAmount,
-        ];
-
-        return $this->httpPostJson('card/selfconsumecell/set', $params);
-    }
-
-    /**
      * 增加库存.
      *
      * @param string $cardId
@@ -411,9 +345,6 @@ class Client extends BaseClient
      * @param string $action
      *
      * @return mixed
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     protected function updateStock($cardId, $amount, $action = 'increase')
     {

+ 0 - 24
vendor/overtrue/wechat/src/OfficialAccount/Card/CodeClient.php

@@ -27,9 +27,6 @@ class CodeClient extends BaseClient
      * @param array  $codes
      *
      * @return mixed
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function deposit(string $cardId, array $codes)
     {
@@ -47,9 +44,6 @@ class CodeClient extends BaseClient
      * @param string $cardId
      *
      * @return mixed
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function getDepositedCount(string $cardId)
     {
@@ -67,9 +61,6 @@ class CodeClient extends BaseClient
      * @param array  $codes
      *
      * @return mixed
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function check(string $cardId, array $codes)
     {
@@ -89,9 +80,6 @@ class CodeClient extends BaseClient
      * @param bool   $checkConsume
      *
      * @return mixed
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function get(string $code, string $cardId = '', bool $checkConsume = true)
     {
@@ -112,9 +100,6 @@ class CodeClient extends BaseClient
      * @param string $cardId
      *
      * @return mixed
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function update(string $code, string $newCode, string $cardId = '')
     {
@@ -134,9 +119,6 @@ class CodeClient extends BaseClient
      * @param string $cardId
      *
      * @return mixed
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function disable(string $code, string $cardId = '')
     {
@@ -155,9 +137,6 @@ class CodeClient extends BaseClient
      * @param string|null $cardId
      *
      * @return mixed
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function consume(string $code, string $cardId = null)
     {
@@ -178,9 +157,6 @@ class CodeClient extends BaseClient
      * @param string $encryptedCode
      *
      * @return mixed
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function decrypt(string $encryptedCode)
     {

+ 0 - 19
vendor/overtrue/wechat/src/OfficialAccount/Card/CoinClient.php

@@ -22,8 +22,6 @@ class CoinClient extends BaseClient
 {
     /**
      * @return array|\EasyWeChat\Kernel\Support\Collection|object|\Psr\Http\Message\ResponseInterface|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
      */
     public function activate()
     {
@@ -35,9 +33,6 @@ class CoinClient extends BaseClient
      * @param int    $quantity
      *
      * @return array|\EasyWeChat\Kernel\Support\Collection|object|\Psr\Http\Message\ResponseInterface|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function getPrice(string $cardId, int $quantity)
     {
@@ -49,8 +44,6 @@ class CoinClient extends BaseClient
 
     /**
      * @return array|\EasyWeChat\Kernel\Support\Collection|object|\Psr\Http\Message\ResponseInterface|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
      */
     public function summary()
     {
@@ -61,9 +54,6 @@ class CoinClient extends BaseClient
      * @param int $count
      *
      * @return array|\EasyWeChat\Kernel\Support\Collection|object|\Psr\Http\Message\ResponseInterface|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function recharge(int $count)
     {
@@ -76,9 +66,6 @@ class CoinClient extends BaseClient
      * @param string $orderId
      *
      * @return array|\EasyWeChat\Kernel\Support\Collection|object|\Psr\Http\Message\ResponseInterface|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function order(string $orderId)
     {
@@ -89,9 +76,6 @@ class CoinClient extends BaseClient
      * @param array $filters
      *
      * @return array|\EasyWeChat\Kernel\Support\Collection|object|\Psr\Http\Message\ResponseInterface|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function orders(array $filters)
     {
@@ -104,9 +88,6 @@ class CoinClient extends BaseClient
      * @param int    $quantity
      *
      * @return array|\EasyWeChat\Kernel\Support\Collection|object|\Psr\Http\Message\ResponseInterface|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function confirm(string $cardId, string $orderId, int $quantity)
     {

+ 0 - 9
vendor/overtrue/wechat/src/OfficialAccount/Card/GeneralCardClient.php

@@ -24,9 +24,6 @@ class GeneralCardClient extends Client
      * @param array $info
      *
      * @return mixed
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function activate(array $info = [])
     {
@@ -40,9 +37,6 @@ class GeneralCardClient extends Client
      * @param string $code
      *
      * @return mixed
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function deactivate(string $cardId, string $code)
     {
@@ -60,9 +54,6 @@ class GeneralCardClient extends Client
      * @param array $params
      *
      * @return mixed
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function updateUser(array $params = [])
     {

+ 1 - 3
vendor/overtrue/wechat/src/OfficialAccount/Card/JssdkClient.php

@@ -28,10 +28,9 @@ class JssdkClient extends Jssdk
      *
      * @return array
      *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidArgumentException
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \EasyWeChat\Kernel\Exceptions\RuntimeException
      * @throws \Psr\SimpleCache\InvalidArgumentException
+     * @throws \EasyWeChat\Kernel\Exceptions\RuntimeException
      */
     public function getTicket(bool $refresh = false, string $type = 'wx_card'): array
     {
@@ -61,7 +60,6 @@ class JssdkClient extends Jssdk
      * @return array
      *
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \EasyWeChat\Kernel\Exceptions\RuntimeException
      * @throws \Psr\SimpleCache\InvalidArgumentException
      */
     public function attachExtension($cardId, array $extension = [])

+ 0 - 3
vendor/overtrue/wechat/src/OfficialAccount/Card/MeetingTicketClient.php

@@ -22,9 +22,6 @@ class MeetingTicketClient extends Client
      * @param array $params
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function updateUser(array $params)
     {

+ 0 - 16
vendor/overtrue/wechat/src/OfficialAccount/Card/MemberCardClient.php

@@ -24,9 +24,6 @@ class MemberCardClient extends Client
      * @param array $info
      *
      * @return mixed
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function activate(array $info = [])
     {
@@ -40,9 +37,6 @@ class MemberCardClient extends Client
      * @param array  $settings
      *
      * @return mixed
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function setActivationForm(string $cardId, array $settings)
     {
@@ -58,9 +52,6 @@ class MemberCardClient extends Client
      * @param string $code
      *
      * @return mixed
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function getUser(string $cardId, string $code)
     {
@@ -78,9 +69,6 @@ class MemberCardClient extends Client
      * @param array $params
      *
      * @return mixed
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function updateUser(array $params = [])
     {
@@ -93,9 +81,6 @@ class MemberCardClient extends Client
      * @param string $activateTicket
      *
      * @return mixed
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function getActivationForm($activateTicket)
     {
@@ -114,7 +99,6 @@ class MemberCardClient extends Client
      * @return string 开卡组件链接
      *
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function getActivateUrl(array $params = [])
     {

+ 0 - 3
vendor/overtrue/wechat/src/OfficialAccount/Card/MovieTicketClient.php

@@ -22,9 +22,6 @@ class MovieTicketClient extends Client
      * @param array $params
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function updateUser(array $params)
     {

+ 0 - 16
vendor/overtrue/wechat/src/OfficialAccount/Card/ServiceProvider.php

@@ -69,21 +69,5 @@ class ServiceProvider implements ServiceProviderInterface
         $app['card.jssdk'] = function ($app) {
             return new JssdkClient($app);
         };
-
-        $app['card.gift_card'] = function ($app) {
-            return new GiftCardClient($app);
-        };
-
-        $app['card.gift_card_order'] = function ($app) {
-            return new GiftCardOrderClient($app);
-        };
-
-        $app['card.gift_card_page'] = function ($app) {
-            return new GiftCardPageClient($app);
-        };
-
-        $app['card.invoice'] = function ($app) {
-            return new InvoiceClient($app);
-        };
     }
 }

+ 0 - 12
vendor/overtrue/wechat/src/OfficialAccount/Card/SubMerchantClient.php

@@ -27,9 +27,6 @@ class SubMerchantClient extends BaseClient
      * @param array $info
      *
      * @return mixed
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function create(array $info = [])
     {
@@ -57,9 +54,6 @@ class SubMerchantClient extends BaseClient
      * @param array $info
      *
      * @return mixed
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function update(int $merchantId, array $info = [])
     {
@@ -87,9 +81,6 @@ class SubMerchantClient extends BaseClient
      * @param int $merchantId
      *
      * @return mixed
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function get(int $merchantId)
     {
@@ -104,9 +95,6 @@ class SubMerchantClient extends BaseClient
      * @param string $status
      *
      * @return mixed
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function list(int $beginId = 0, int $limit = 50, string $status = 'CHECKING')
     {

+ 0 - 24
vendor/overtrue/wechat/src/OfficialAccount/Comment/Client.php

@@ -27,9 +27,6 @@ class Client extends BaseClient
      * @param int|null $index
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function open(string $msgId, int $index = null)
     {
@@ -48,9 +45,6 @@ class Client extends BaseClient
      * @param int|null $index
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function close(string $msgId, int $index = null)
     {
@@ -72,9 +66,6 @@ class Client extends BaseClient
      * @param int    $type
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function list(string $msgId, int $index, int $begin, int $count, int $type = 0)
     {
@@ -97,9 +88,6 @@ class Client extends BaseClient
      * @param int    $commentId
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function markElect(string $msgId, int $index, int $commentId)
     {
@@ -120,9 +108,6 @@ class Client extends BaseClient
      * @param int    $commentId
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function unmarkElect(string $msgId, int $index, int $commentId)
     {
@@ -143,9 +128,6 @@ class Client extends BaseClient
      * @param int    $commentId
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function delete(string $msgId, int $index, int $commentId)
     {
@@ -167,9 +149,6 @@ class Client extends BaseClient
      * @param string $content
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function reply(string $msgId, int $index, int $commentId, string $content)
     {
@@ -191,9 +170,6 @@ class Client extends BaseClient
      * @param int    $commentId
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function deleteReply(string $msgId, int $index, int $commentId)
     {

+ 2 - 29
vendor/overtrue/wechat/src/OfficialAccount/CustomerService/Client.php

@@ -24,8 +24,6 @@ class Client extends BaseClient
      * List all staffs.
      *
      * @return mixed
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
      */
     public function list()
     {
@@ -36,8 +34,6 @@ class Client extends BaseClient
      * List all online staffs.
      *
      * @return mixed
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
      */
     public function online()
     {
@@ -51,9 +47,6 @@ class Client extends BaseClient
      * @param string $nickname
      *
      * @return mixed
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function create(string $account, string $nickname)
     {
@@ -72,9 +65,6 @@ class Client extends BaseClient
      * @param string $nickname
      *
      * @return mixed
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function update(string $account, string $nickname)
     {
@@ -92,9 +82,6 @@ class Client extends BaseClient
      * @param string $account
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function delete(string $account)
     {
@@ -108,9 +95,6 @@ class Client extends BaseClient
      * @param string $wechatId
      *
      * @return mixed
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function invite(string $account, string $wechatId)
     {
@@ -129,9 +113,6 @@ class Client extends BaseClient
      * @param string $path
      *
      * @return mixed
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function setAvatar(string $account, string $path)
     {
@@ -144,6 +125,8 @@ class Client extends BaseClient
      * @param \EasyWeChat\Kernel\Messages\Message|string $message
      *
      * @return \EasyWeChat\OfficialAccount\CustomerService\Messenger
+     *
+     * @throws \EasyWeChat\Kernel\Exceptions\InvalidArgumentException
      */
     public function message($message)
     {
@@ -160,7 +143,6 @@ class Client extends BaseClient
      * @return mixed
      *
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function send(array $message)
     {
@@ -173,9 +155,6 @@ class Client extends BaseClient
      * @param string $openid
      *
      * @return mixed
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function showTypingStatusToUser(string $openid)
     {
@@ -191,9 +170,6 @@ class Client extends BaseClient
      * @param string $openid
      *
      * @return mixed
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function hideTypingStatusToUser(string $openid)
     {
@@ -212,9 +188,6 @@ class Client extends BaseClient
      * @param int $number
      *
      * @return mixed
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function messages($startTime, $endTime, int $msgId = 1, int $number = 10000)
     {

+ 1 - 3
vendor/overtrue/wechat/src/OfficialAccount/CustomerService/Messenger.php

@@ -122,9 +122,7 @@ class Messenger
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
      *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidArgumentException
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \EasyWeChat\Kernel\Exceptions\RuntimeException
+     * @throws RuntimeException
      */
     public function send()
     {

+ 0 - 2
vendor/overtrue/wechat/src/OfficialAccount/CustomerService/SessionClient.php

@@ -55,7 +55,6 @@ class SessionClient extends BaseClient
      * @return mixed
      *
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function create(string $account, string $openid)
     {
@@ -76,7 +75,6 @@ class SessionClient extends BaseClient
      * @return mixed
      *
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function close(string $account, string $openid)
     {

+ 0 - 3
vendor/overtrue/wechat/src/OfficialAccount/DataCube/Client.php

@@ -324,9 +324,6 @@ class Client extends BaseClient
      * @param array  $ext
      *
      * @return mixed
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     protected function query(string $api, string $from, string $to, array $ext = [])
     {

+ 0 - 31
vendor/overtrue/wechat/src/OfficialAccount/Device/Client.php

@@ -28,9 +28,6 @@ class Client extends BaseClient
      * @param string $content
      *
      * @return array|\EasyWeChat\Kernel\Support\Collection|object|\Psr\Http\Message\ResponseInterface|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function message(string $deviceId, string $openid, string $content)
     {
@@ -50,9 +47,6 @@ class Client extends BaseClient
      * @param array $deviceIds
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function qrCode(array $deviceIds)
     {
@@ -70,9 +64,6 @@ class Client extends BaseClient
      * @param int    $opType
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function authorize(array $devices, string $productId, int $opType = 0)
     {
@@ -92,8 +83,6 @@ class Client extends BaseClient
      * @param string $productId
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
      */
     public function createId(string $productId)
     {
@@ -110,9 +99,6 @@ class Client extends BaseClient
      * @param string $ticket
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function bind(string $openid, string $deviceId, string $ticket)
     {
@@ -131,9 +117,6 @@ class Client extends BaseClient
      * @param string $ticket
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function unbind(string $openid, string $deviceId, string $ticket)
     {
@@ -151,9 +134,6 @@ class Client extends BaseClient
      * @param string $deviceId
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function forceBind(string $openid, string $deviceId)
     {
@@ -170,9 +150,6 @@ class Client extends BaseClient
      * @param string $deviceId
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function forceUnbind(string $openid, string $deviceId)
     {
@@ -188,8 +165,6 @@ class Client extends BaseClient
      * @param string $deviceId
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
      */
     public function status(string $deviceId)
     {
@@ -204,8 +179,6 @@ class Client extends BaseClient
      * @param string $ticket
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
      */
     public function verify(string $ticket)
     {
@@ -220,8 +193,6 @@ class Client extends BaseClient
      * @param string $deviceId
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
      */
     public function openid(string $deviceId)
     {
@@ -237,8 +208,6 @@ class Client extends BaseClient
      * @param string $openid
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
      */
     public function listByOpenid(string $openid)
     {

+ 0 - 5
vendor/overtrue/wechat/src/OfficialAccount/Goods/Client.php

@@ -28,7 +28,6 @@ class Client extends BaseClient
      * @return array|\EasyWeChat\Kernel\Support\Collection|object|\Psr\Http\Message\ResponseInterface|string
      *
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function add(array $data)
     {
@@ -45,7 +44,6 @@ class Client extends BaseClient
      * @return array|\EasyWeChat\Kernel\Support\Collection|object|\Psr\Http\Message\ResponseInterface|string
      *
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function update(array $data)
     {
@@ -62,7 +60,6 @@ class Client extends BaseClient
      * @return array|\EasyWeChat\Kernel\Support\Collection|object|\Psr\Http\Message\ResponseInterface|string
      *
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function status(string $ticket)
     {
@@ -79,7 +76,6 @@ class Client extends BaseClient
      * @return array|\EasyWeChat\Kernel\Support\Collection|object|\Psr\Http\Message\ResponseInterface|string
      *
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function get(string $pid)
     {
@@ -100,7 +96,6 @@ class Client extends BaseClient
      * @return array|\EasyWeChat\Kernel\Support\Collection|object|\Psr\Http\Message\ResponseInterface|string
      *
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function list(string $context = '', int $page = 1, int $size = 10)
     {

+ 1 - 15
vendor/overtrue/wechat/src/OfficialAccount/Material/Client.php

@@ -38,8 +38,6 @@ class Client extends BaseClient
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
      *
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidArgumentException
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function uploadImage(string $path)
     {
@@ -54,8 +52,6 @@ class Client extends BaseClient
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
      *
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidArgumentException
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function uploadVoice(string $path)
     {
@@ -70,8 +66,6 @@ class Client extends BaseClient
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
      *
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidArgumentException
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function uploadThumb(string $path)
     {
@@ -88,8 +82,6 @@ class Client extends BaseClient
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
      *
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidArgumentException
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function uploadVideo(string $path, string $title, string $description)
     {
@@ -112,7 +104,6 @@ class Client extends BaseClient
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
      *
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function uploadArticle($articles)
     {
@@ -141,7 +132,6 @@ class Client extends BaseClient
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
      *
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function updateArticle(string $mediaId, $article, int $index = 0)
     {
@@ -181,7 +171,6 @@ class Client extends BaseClient
      * @return mixed
      *
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function get(string $mediaId)
     {
@@ -202,7 +191,6 @@ class Client extends BaseClient
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
      *
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function delete(string $mediaId)
     {
@@ -233,7 +221,6 @@ class Client extends BaseClient
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
      *
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function list(string $type, int $offset = 0, int $count = 20)
     {
@@ -267,9 +254,8 @@ class Client extends BaseClient
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
      *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidArgumentException
+     * @throws InvalidArgumentException
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function upload(string $type, string $path, array $form = [])
     {

+ 0 - 13
vendor/overtrue/wechat/src/OfficialAccount/Menu/Client.php

@@ -24,8 +24,6 @@ class Client extends BaseClient
      * Get all menus.
      *
      * @return mixed
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
      */
     public function list()
     {
@@ -36,8 +34,6 @@ class Client extends BaseClient
      * Get current menus.
      *
      * @return mixed
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
      */
     public function current()
     {
@@ -51,9 +47,6 @@ class Client extends BaseClient
      * @param array $matchRule
      *
      * @return mixed
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function create(array $buttons, array $matchRule = [])
     {
@@ -73,9 +66,6 @@ class Client extends BaseClient
      * @param int $menuId
      *
      * @return mixed
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function delete(int $menuId = null)
     {
@@ -92,9 +82,6 @@ class Client extends BaseClient
      * @param string $userId
      *
      * @return mixed
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function match(string $userId)
     {

+ 0 - 3
vendor/overtrue/wechat/src/OfficialAccount/Semantic/Client.php

@@ -28,9 +28,6 @@ class Client extends BaseClient
      * @param array  $optional
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function query(string $keyword, string $categories, array $optional = [])
     {

+ 0 - 8
vendor/overtrue/wechat/src/OfficialAccount/ShakeAround/Client.php

@@ -24,9 +24,6 @@ class Client extends BaseClient
      * @param array $data
      *
      * @return array|\EasyWeChat\Kernel\Support\Collection|object|\Psr\Http\Message\ResponseInterface|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function register($data)
     {
@@ -37,8 +34,6 @@ class Client extends BaseClient
      * Get audit status.
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
      */
     public function status()
     {
@@ -52,9 +47,6 @@ class Client extends BaseClient
      * @param bool   $needPoi
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function user(string $ticket, bool $needPoi = false)
     {

+ 2 - 17
vendor/overtrue/wechat/src/OfficialAccount/ShakeAround/DeviceClient.php

@@ -12,6 +12,7 @@
 namespace EasyWeChat\OfficialAccount\ShakeAround;
 
 use EasyWeChat\Kernel\BaseClient;
+use EasyWeChat\Kernel\Exceptions\InvalidArgumentException;
 
 /**
  * Class DeviceClient.
@@ -24,9 +25,6 @@ class DeviceClient extends BaseClient
      * @param array $data
      *
      * @return array|\EasyWeChat\Kernel\Support\Collection|object|\Psr\Http\Message\ResponseInterface|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function apply(array $data)
     {
@@ -39,9 +37,6 @@ class DeviceClient extends BaseClient
      * @param int $applyId
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function status(int $applyId)
     {
@@ -59,9 +54,6 @@ class DeviceClient extends BaseClient
      * @param string $comment
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function update(array $deviceIdentifier, string $comment)
     {
@@ -81,8 +73,7 @@ class DeviceClient extends BaseClient
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
      *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
+     * @throws InvalidArgumentException
      */
     public function bindPoi(array $deviceIdentifier, int $poiId)
     {
@@ -100,9 +91,6 @@ class DeviceClient extends BaseClient
      * @param string $appId
      *
      * @return array|\EasyWeChat\Kernel\Support\Collection|object|\Psr\Http\Message\ResponseInterface|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function bindThirdPoi(array $deviceIdentifier, int $poiId, string $appId)
     {
@@ -179,9 +167,6 @@ class DeviceClient extends BaseClient
      * @param array $params
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function search(array $params)
     {

+ 0 - 21
vendor/overtrue/wechat/src/OfficialAccount/ShakeAround/GroupClient.php

@@ -26,9 +26,6 @@ class GroupClient extends BaseClient
      * @param string $name
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function create(string $name)
     {
@@ -46,9 +43,6 @@ class GroupClient extends BaseClient
      * @param string $name
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function update(int $groupId, string $name)
     {
@@ -66,9 +60,6 @@ class GroupClient extends BaseClient
      * @param int $groupId
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function delete(int $groupId)
     {
@@ -86,9 +77,6 @@ class GroupClient extends BaseClient
      * @param int $count
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function list(int $begin, int $count)
     {
@@ -108,9 +96,6 @@ class GroupClient extends BaseClient
      * @param int $count
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function get(int $groupId, int $begin, int $count)
     {
@@ -130,9 +115,6 @@ class GroupClient extends BaseClient
      * @param array $deviceIdentifiers
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function addDevices(int $groupId, array $deviceIdentifiers)
     {
@@ -151,9 +133,6 @@ class GroupClient extends BaseClient
      * @param array $deviceIdentifiers
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function removeDevices(int $groupId, array $deviceIdentifiers)
     {

+ 1 - 3
vendor/overtrue/wechat/src/OfficialAccount/ShakeAround/MaterialClient.php

@@ -29,9 +29,7 @@ class MaterialClient extends BaseClient
      *
      * @return string
      *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidArgumentException
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
+     * @throws InvalidArgumentException
      */
     public function uploadImage(string $path, string $type = 'icon')
     {

+ 0 - 15
vendor/overtrue/wechat/src/OfficialAccount/ShakeAround/PageClient.php

@@ -24,9 +24,6 @@ class PageClient extends BaseClient
      * @param array $data
      *
      * @return array|\EasyWeChat\Kernel\Support\Collection|object|\Psr\Http\Message\ResponseInterface|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function create(array $data)
     {
@@ -38,9 +35,6 @@ class PageClient extends BaseClient
      * @param array $data
      *
      * @return array|\EasyWeChat\Kernel\Support\Collection|object|\Psr\Http\Message\ResponseInterface|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function update(int $pageId, array $data)
     {
@@ -53,9 +47,6 @@ class PageClient extends BaseClient
      * @param array $pageIds
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function listByIds(array $pageIds)
     {
@@ -74,9 +65,6 @@ class PageClient extends BaseClient
      * @param int $count
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function list(int $begin, int $count)
     {
@@ -95,9 +83,6 @@ class PageClient extends BaseClient
      * @param int $pageId
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function delete(int $pageId)
     {

+ 0 - 9
vendor/overtrue/wechat/src/OfficialAccount/ShakeAround/RelationClient.php

@@ -27,9 +27,6 @@ class RelationClient extends BaseClient
      * @param array $pageIds
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function bindPages(array $deviceIdentifier, array $pageIds)
     {
@@ -47,9 +44,6 @@ class RelationClient extends BaseClient
      * @param array $deviceIdentifier
      *
      * @return array|\EasyWeChat\Kernel\Support\Collection
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function listByDeviceId(array $deviceIdentifier)
     {
@@ -69,9 +63,6 @@ class RelationClient extends BaseClient
      * @param int $count
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function listByPageId(int $pageId, int $begin, int $count)
     {

+ 0 - 12
vendor/overtrue/wechat/src/OfficialAccount/ShakeAround/StatsClient.php

@@ -28,9 +28,6 @@ class StatsClient extends BaseClient
      * @param int   $endTime          (Unix timestamp)
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function deviceSummary(array $deviceIdentifier, int $beginTime, int $endTime)
     {
@@ -50,9 +47,6 @@ class StatsClient extends BaseClient
      * @param int $pageIndex
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function devicesSummary(int $timestamp, int $pageIndex)
     {
@@ -72,9 +66,6 @@ class StatsClient extends BaseClient
      * @param int $endTime   (Unix timestamp)
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function pageSummary(int $pageId, int $beginTime, int $endTime)
     {
@@ -94,9 +85,6 @@ class StatsClient extends BaseClient
      * @param int $pageIndex
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function pagesSummary(int $timestamp, int $pageIndex)
     {

+ 0 - 34
vendor/overtrue/wechat/src/OfficialAccount/Store/Client.php

@@ -24,8 +24,6 @@ class Client extends BaseClient
      * Get WXA supported categories.
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
      */
     public function categories()
     {
@@ -36,8 +34,6 @@ class Client extends BaseClient
      * Get district from tencent map .
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
      */
     public function districts()
     {
@@ -51,9 +47,6 @@ class Client extends BaseClient
      * @param string $keyword
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function searchFromMap(int $districtId, string $keyword)
     {
@@ -69,9 +62,6 @@ class Client extends BaseClient
      * Get store check status.
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function getStatus()
     {
@@ -84,9 +74,6 @@ class Client extends BaseClient
      * @param array $baseInfo
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function createMerchant(array $baseInfo)
     {
@@ -99,9 +86,6 @@ class Client extends BaseClient
      * @param array $params
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function updateMerchant(array $params)
     {
@@ -114,9 +98,6 @@ class Client extends BaseClient
      * @param array $baseInfo
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function createFromMap(array $baseInfo)
     {
@@ -129,9 +110,6 @@ class Client extends BaseClient
      * @param array $baseInfo
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function create(array $baseInfo)
     {
@@ -145,9 +123,6 @@ class Client extends BaseClient
      * @param array $baseInfo
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function update(int $poiId, array $baseInfo)
     {
@@ -162,9 +137,6 @@ class Client extends BaseClient
      * @param int $poiId
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function get(int $poiId)
     {
@@ -178,9 +150,6 @@ class Client extends BaseClient
      * @param int $limit
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function list(int $offset = 0, int $limit = 10)
     {
@@ -198,9 +167,6 @@ class Client extends BaseClient
      * @param int $poiId
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function delete(int $poiId)
     {

+ 0 - 18
vendor/overtrue/wechat/src/OfficialAccount/TemplateMessage/Client.php

@@ -51,9 +51,6 @@ class Client extends BaseClient
      * @param int $industryTwo
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function setIndustry($industryOne, $industryTwo)
     {
@@ -69,9 +66,6 @@ class Client extends BaseClient
      * Get industry.
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function getIndustry()
     {
@@ -84,9 +78,6 @@ class Client extends BaseClient
      * @param string $shortId
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function addTemplate($shortId)
     {
@@ -99,9 +90,6 @@ class Client extends BaseClient
      * Get private templates.
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function getPrivateTemplates()
     {
@@ -114,9 +102,6 @@ class Client extends BaseClient
      * @param string $templateId
      *
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
-     *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function deletePrivateTemplate($templateId)
     {
@@ -134,7 +119,6 @@ class Client extends BaseClient
      *
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidArgumentException
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function send(array $data = [])
     {
@@ -153,8 +137,6 @@ class Client extends BaseClient
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
      *
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidArgumentException
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function sendSubscription(array $data = [])
     {

+ 0 - 7
vendor/overtrue/wechat/src/OfficialAccount/User/TagClient.php

@@ -28,7 +28,6 @@ class TagClient extends BaseClient
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
      *
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function create(string $name)
     {
@@ -60,7 +59,6 @@ class TagClient extends BaseClient
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
      *
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function update(int $tagId, string $name)
     {
@@ -82,7 +80,6 @@ class TagClient extends BaseClient
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
      *
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function delete(int $tagId)
     {
@@ -101,7 +98,6 @@ class TagClient extends BaseClient
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
      *
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function userTags(string $openid)
     {
@@ -119,7 +115,6 @@ class TagClient extends BaseClient
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
      *
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function usersOfTag(int $tagId, string $nextOpenId = '')
     {
@@ -140,7 +135,6 @@ class TagClient extends BaseClient
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
      *
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function tagUsers(array $openids, int $tagId)
     {
@@ -161,7 +155,6 @@ class TagClient extends BaseClient
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
      *
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function untagUsers(array $openids, int $tagId)
     {

+ 0 - 6
vendor/overtrue/wechat/src/OfficialAccount/User/UserClient.php

@@ -49,7 +49,6 @@ class UserClient extends BaseClient
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
      *
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function select(array $openids, string $lang = 'zh_CN')
     {
@@ -88,7 +87,6 @@ class UserClient extends BaseClient
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
      *
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function remark(string $openid, string $remark)
     {
@@ -108,7 +106,6 @@ class UserClient extends BaseClient
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
      *
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function blacklist(string $beginOpenid = null)
     {
@@ -125,7 +122,6 @@ class UserClient extends BaseClient
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
      *
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function block($openidList)
     {
@@ -142,7 +138,6 @@ class UserClient extends BaseClient
      * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
      *
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function unblock($openidList)
     {
@@ -158,7 +153,6 @@ class UserClient extends BaseClient
      * @return array|\EasyWeChat\Kernel\Support\Collection|object|\Psr\Http\Message\ResponseInterface|string
      *
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function changeOpenid(string $oldAppId, array $openidList)
     {

+ 1 - 3
vendor/overtrue/wechat/src/OpenPlatform/Auth/VerifyTicket.php

@@ -46,9 +46,8 @@ class VerifyTicket
      *
      * @return $this
      *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidArgumentException
-     * @throws \EasyWeChat\Kernel\Exceptions\RuntimeException
      * @throws \Psr\SimpleCache\InvalidArgumentException
+     * @throws \EasyWeChat\Kernel\Exceptions\RuntimeException
      */
     public function setTicket(string $ticket)
     {
@@ -66,7 +65,6 @@ class VerifyTicket
      *
      * @return string
      *
-     * @throws \EasyWeChat\Kernel\Exceptions\InvalidArgumentException
      * @throws \EasyWeChat\Kernel\Exceptions\RuntimeException
      * @throws \Psr\SimpleCache\InvalidArgumentException
      */

+ 0 - 4
vendor/overtrue/wechat/src/OpenPlatform/Authorizer/Aggregate/Account/Client.php

@@ -26,7 +26,6 @@ class Client extends BaseClient
      * @return mixed
      *
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function create()
     {
@@ -45,7 +44,6 @@ class Client extends BaseClient
      * @return mixed
      *
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function bindTo(string $openAppId)
     {
@@ -65,7 +63,6 @@ class Client extends BaseClient
      * @return mixed
      *
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function unbindFrom(string $openAppId)
     {
@@ -83,7 +80,6 @@ class Client extends BaseClient
      * @return mixed
      *
      * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
-     * @throws \GuzzleHttp\Exception\GuzzleException
      */
     public function getBinding()
     {

Kaikkia tiedostoja ei voida näyttää, sillä liian monta tiedostoa muuttui tässä diffissä