diff --git a/beike/Plugin/Plugin.php b/beike/Plugin/Plugin.php index 46a915ef..f66179e9 100644 --- a/beike/Plugin/Plugin.php +++ b/beike/Plugin/Plugin.php @@ -92,6 +92,11 @@ class Plugin implements Arrayable, \ArrayAccess } + public function getPath(): string + { + return $this->path; + } + public function getVersion(): string { return $this->version; diff --git a/beike/Repositories/PluginRepo.php b/beike/Repositories/PluginRepo.php index 5e999ddb..ba6acddb 100644 --- a/beike/Repositories/PluginRepo.php +++ b/beike/Repositories/PluginRepo.php @@ -13,21 +13,23 @@ namespace Beike\Repositories; use Beike\Models\Plugin; use Beike\Plugin\Manager; +use Beike\Plugin\Plugin as BPlugin; use Illuminate\Database\Eloquent\Collection; +use Illuminate\Http\File; class PluginRepo { public static $installedPlugins; - /** * 安装插件到系统: 插入数据 - * @param $plugin + * @param BPlugin $bPlugin */ - public static function installPlugin($plugin) + public static function installPlugin(BPlugin $bPlugin) { - $type = $plugin->type; - $code = $plugin->code; + self::publishStaticFiles($bPlugin); + $type = $bPlugin->type; + $code = $bPlugin->code; $plugin = Plugin::query() ->where('type', $type) ->where('code', $code) @@ -41,6 +43,21 @@ class PluginRepo } + /** + * 发布静态资源到 public + * @param BPlugin $bPlugin + */ + public static function publishStaticFiles(BPlugin $bPlugin) + { + $code = $bPlugin->code; + $path = $bPlugin->getPath(); + $staticPath = $path . DIRECTORY_SEPARATOR . 'static'; + if (is_dir($staticPath)) { + \Illuminate\Support\Facades\File::copyDirectory($staticPath, public_path($code)); + } + } + + /** * 从系统卸载插件: 删除数据 * @param $plugin diff --git a/public/bk_stripe/css/demo.css b/public/bk_stripe/css/demo.css new file mode 100644 index 00000000..146440b5 --- /dev/null +++ b/public/bk_stripe/css/demo.css @@ -0,0 +1,4 @@ +/** +这里是插件css, 请在blade里面使用以下代码引入 + + */ diff --git a/public/bk_stripe/image/pay-1.png b/public/bk_stripe/image/pay-1.png new file mode 100644 index 00000000..107298eb Binary files /dev/null and b/public/bk_stripe/image/pay-1.png differ diff --git a/public/bk_stripe/image/pay-2.png b/public/bk_stripe/image/pay-2.png new file mode 100644 index 00000000..589aaaa0 Binary files /dev/null and b/public/bk_stripe/image/pay-2.png differ diff --git a/public/bk_stripe/image/pay-3.png b/public/bk_stripe/image/pay-3.png new file mode 100644 index 00000000..90dcc041 Binary files /dev/null and b/public/bk_stripe/image/pay-3.png differ diff --git a/public/bk_stripe/image/pay-4.png b/public/bk_stripe/image/pay-4.png new file mode 100644 index 00000000..a022d687 Binary files /dev/null and b/public/bk_stripe/image/pay-4.png differ diff --git a/public/bk_stripe/image/pay-5.png b/public/bk_stripe/image/pay-5.png new file mode 100644 index 00000000..fe335544 Binary files /dev/null and b/public/bk_stripe/image/pay-5.png differ diff --git a/public/bk_stripe/js/demo.js b/public/bk_stripe/js/demo.js new file mode 100644 index 00000000..243962c3 --- /dev/null +++ b/public/bk_stripe/js/demo.js @@ -0,0 +1,4 @@ +/** + * 这里是插件js, 请在blade里面使用以下代码引入 + * + */