PluginApplication.php 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: shenyang
  5. * Date: 2018/11/27
  6. * Time: 3:23 PM
  7. */
  8. namespace app\common\services;
  9. use Illuminate\Container\Container;
  10. class PluginApplication extends Container
  11. {
  12. /**
  13. * @var Plugin
  14. */
  15. private $plugin;
  16. public function __construct(Plugin $plugin)
  17. {
  18. $this->plugin = $plugin;
  19. }
  20. public function init()
  21. {
  22. $this->register();
  23. $this->loadConfig();
  24. $this->boot();
  25. }
  26. public function register()
  27. {
  28. }
  29. public function boot()
  30. {
  31. }
  32. protected function setConfig()
  33. {
  34. }
  35. protected function setMenuConfig()
  36. {
  37. }
  38. public function getWidgetItems()
  39. {
  40. return [];
  41. }
  42. /**
  43. * 前端插件挂件配置
  44. * @return array
  45. */
  46. public function getFrontendWidgetConfig() :array
  47. {
  48. return [];
  49. }
  50. public function loadMenuConfig()
  51. {
  52. return $this->setMenuConfig();
  53. }
  54. public function getIncomePageItems()
  55. {
  56. return [];
  57. }
  58. public function getIncomeItems()
  59. {
  60. return [];
  61. }
  62. public function getTemplateItems()
  63. {
  64. return [];
  65. }
  66. public function getNoticeTemplateItems()
  67. {
  68. return [];
  69. }
  70. public function getShopConfigItems()
  71. {
  72. return [];
  73. }
  74. public function getPluginConfigItems()
  75. {
  76. return [];
  77. }
  78. protected function loadConfig()
  79. {
  80. $this->setConfig();
  81. }
  82. }