Epay.php 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. <?php
  2. namespace addons\epay;
  3. use addons\epay\library\Service;
  4. use think\Addons;
  5. use think\Config;
  6. use think\Loader;
  7. /**
  8. * 微信支付宝整合插件
  9. */
  10. class Epay extends Addons
  11. {
  12. /**
  13. * 插件安装方法
  14. * @return bool
  15. */
  16. public function install()
  17. {
  18. return true;
  19. }
  20. /**
  21. * 插件卸载方法
  22. * @return bool
  23. */
  24. public function uninstall()
  25. {
  26. return true;
  27. }
  28. /**
  29. * 插件启用方法
  30. * @return bool
  31. */
  32. public function enable()
  33. {
  34. return true;
  35. }
  36. /**
  37. * 插件禁用方法
  38. * @return bool
  39. */
  40. public function disable()
  41. {
  42. return true;
  43. }
  44. // 支持自定义加载
  45. public function epayConfigInit()
  46. {
  47. $this->actionBegin();
  48. }
  49. // 插件方法加载开始
  50. public function addonActionBegin()
  51. {
  52. $this->actionBegin();
  53. }
  54. // 模块控制器方法加载开始
  55. public function actionBegin()
  56. {
  57. //添加命名空间
  58. if (!class_exists('\Yansongda\Pay\Pay')) {
  59. //SDK版本
  60. $version = Service::getSdkVersion();
  61. $libraryDir = ADDON_PATH . 'epay' . DS . 'library' . DS;
  62. Loader::addNamespace('Yansongda\Pay', $libraryDir . $version . DS . 'Yansongda' . DS . 'Pay' . DS);
  63. $checkArr = [
  64. '\Hyperf\Context\Context' => 'context',
  65. '\Hyperf\Contract\Castable' => 'contract',
  66. '\Hyperf\Engine\Constant' => 'engine',
  67. '\Hyperf\Macroable\Macroable' => 'macroable',
  68. '\Hyperf\Pimple\Container' => 'pimple',
  69. '\Hyperf\Utils\Arr' => 'utils',
  70. ];
  71. foreach ($checkArr as $index => $item) {
  72. if (!class_exists($index)) {
  73. Loader::addNamespace(substr($index, 1, strrpos($index, '\\') - 1), $libraryDir . 'hyperf' . DS . $item . DS . 'src' . DS);
  74. }
  75. }
  76. if (!class_exists('\Yansongda\Supports\Logger')) {
  77. Loader::addNamespace('Yansongda\Supports', $libraryDir . $version . DS . 'Yansongda' . DS . 'Supports' . DS);
  78. }
  79. // V3需载入辅助函数
  80. if ($version == Service::SDK_VERSION_V3) {
  81. require_once $libraryDir . $version . DS . 'Yansongda' . DS . 'Pay' . DS . 'Functions.php';
  82. }
  83. }
  84. }
  85. }