From d7691c39708bf824a0a69023127d20043b3608d5 Mon Sep 17 00:00:00 2001 From: pushuo <229102104@qq.com> Date: Mon, 8 Aug 2022 14:56:25 +0800 Subject: [PATCH] wip --- .../Controllers/DesignFooterController.php | 77 ++++++ beike/Admin/Repositories/PermissionRepo.php | 2 +- beike/Admin/Routes/admin.php | 2 + beike/Admin/View/Components/Sidebar.php | 3 +- plugins/Stripe/Static/image/pay-image.png | Bin 0 -> 32290 bytes .../Stripe/Views/checkout/payment.blade.php | 183 +++++++------ public/build/beike/shop/default/css/app.css | 80 ++++++ .../pages/design/builder/footer.blade.php | 258 ++++++++++++++++++ .../pages/design/module/slideshow.blade.php | 2 +- resources/beike/shop/default/css/global.scss | 14 + resources/lang/zh_cn/admin/common.php | 1 + resources/lang/zh_cn/admin/setting.php | 1 + themes/default/checkout/payment.blade.php | 45 ++- 13 files changed, 549 insertions(+), 119 deletions(-) create mode 100644 beike/Admin/Http/Controllers/DesignFooterController.php create mode 100644 plugins/Stripe/Static/image/pay-image.png create mode 100644 resources/beike/admin/views/pages/design/builder/footer.blade.php diff --git a/beike/Admin/Http/Controllers/DesignFooterController.php b/beike/Admin/Http/Controllers/DesignFooterController.php new file mode 100644 index 00000000..08c7d3c5 --- /dev/null +++ b/beike/Admin/Http/Controllers/DesignFooterController.php @@ -0,0 +1,77 @@ + LanguageRepo::all(), + 'design_settings' => system_setting('base.design_setting'), + ]; + return view('admin::pages.design.builder.footer', $data); + } + + + /** + * 预览模块显示结果 + * + * @param Request $request + * @return View + * @throws \Exception + */ + public function preview(Request $request): View + { + $module = json_decode($request->getContent(), true); + $moduleId = $module['module_id'] ?? ''; + $moduleCode = $module['code'] ?? ''; + $content = $module['content'] ?? ''; + $viewPath = "design.{$moduleCode}"; + + $viewData = [ + 'code' => $moduleCode, + 'module_id' => $moduleId, + 'view_path' => $viewPath, + 'content' => DesignService::handleModuleContent($moduleCode, $content), + 'design' => (bool)$request->get('design') + ]; + + return view($viewPath, $viewData); + } + + + /** + * 更新所有数据 + * + * @param Request $request + * @return array + * @throws \Throwable + */ + public function update(Request $request): array + { + $content = json_decode($request->getContent(), true); + $moduleData = DesignService::handleRequestModules($content); + $data = [ + 'type' => 'system', + 'space' => 'base', + 'name' => 'design_setting', + 'value' => json_encode($moduleData), + 'json' => 1 + ]; + SettingRepo::createOrUpdate($data); + return json_success("保存成功"); + } +} diff --git a/beike/Admin/Repositories/PermissionRepo.php b/beike/Admin/Repositories/PermissionRepo.php index c6743875..b3257f6f 100644 --- a/beike/Admin/Repositories/PermissionRepo.php +++ b/beike/Admin/Repositories/PermissionRepo.php @@ -145,7 +145,7 @@ class PermissionRepo */ private function getSettingPermissions(): array { - $routes = ['settings_index', 'design_index']; + $routes = ['settings_index', 'design_index', 'design_footer_index']; $items = $this->getPermissionList('setting', $routes); return hook_filter('role.setting_permissions', $items); } diff --git a/beike/Admin/Routes/admin.php b/beike/Admin/Routes/admin.php index 9afb7086..58676895 100644 --- a/beike/Admin/Routes/admin.php +++ b/beike/Admin/Routes/admin.php @@ -42,6 +42,8 @@ Route::prefix($adminName) Route::put('design/builder', [Controllers\DesignController::class, 'update'])->name('design.update'); Route::post('design/builder/preview', [Controllers\DesignController::class, 'preview'])->name('design.module.preview'); + Route::get('design_footer/builder', [Controllers\DesignFooterController::class, 'index'])->name('design_footer.index'); + Route::put('edit', [Controllers\EditController::class, 'update'])->name('edit'); Route::get('edit/locale', [Controllers\EditController::class, 'locale'])->name('edit.locale'); diff --git a/beike/Admin/View/Components/Sidebar.php b/beike/Admin/View/Components/Sidebar.php index e464d1c8..fd481836 100644 --- a/beike/Admin/View/Components/Sidebar.php +++ b/beike/Admin/View/Components/Sidebar.php @@ -175,8 +175,9 @@ class Sidebar extends Component ['route' => 'tax_rates.index', 'icon' => 'fa fa-tachometer-alt'], ['route' => 'tax_classes.index', 'icon' => 'fa fa-tachometer-alt'], ['route' => 'currencies.index', 'icon' => 'fa fa-tachometer-alt'], - ['route' => 'design.index', 'icon' => 'fa fa-tachometer-alt', 'blank' => true], ['route' => 'languages.index', 'icon' => 'fa fa-tachometer-alt'], + ['route' => 'design.index', 'icon' => 'fa fa-tachometer-alt', 'blank' => true], + ['route' => 'design_footer.index', 'icon' => 'fa fa-tachometer-alt', 'blank' => true], ]; return hook_filter('sidebar.setting_routes', $routes); } diff --git a/plugins/Stripe/Static/image/pay-image.png b/plugins/Stripe/Static/image/pay-image.png new file mode 100644 index 0000000000000000000000000000000000000000..3946bfec9cc0a93e4ee9f008bd40b30791ea0b17 GIT binary patch literal 32290 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 IEzmUNe-Px0ssI20 literal 0 HcmV?d00001 diff --git a/plugins/Stripe/Views/checkout/payment.blade.php b/plugins/Stripe/Views/checkout/payment.blade.php index 7d182698..8f7fa1f5 100644 --- a/plugins/Stripe/Views/checkout/payment.blade.php +++ b/plugins/Stripe/Views/checkout/payment.blade.php @@ -5,106 +5,109 @@ -
-
-
-
卡信息
-
-
- @for ($i = 1; $i <= 5; $i++) - - @endfor -
- - - - - -
- - - - - - - - -
-
- - - - - 記住這張卡以備將來使用 - -
-
+
+
+
+
+
卡信息
+
+
+ +
+ + + + + +
+ + + + + + + + +
+
+ + + + + 記住這張卡以備將來使用 + + + + +
+
+
diff --git a/public/build/beike/shop/default/css/app.css b/public/build/beike/shop/default/css/app.css index f4356cee..29eadb15 100644 --- a/public/build/beike/shop/default/css/app.css +++ b/public/build/beike/shop/default/css/app.css @@ -168,6 +168,86 @@ body[class^=page-account-] { min-height: 1000px; } +.h-min-100 { + min-width: 100px; +} + +.h-min-200 { + min-width: 200px; +} + +.h-min-300 { + min-width: 300px; +} + +.h-min-400 { + min-width: 400px; +} + +.h-min-500 { + min-width: 500px; +} + +.h-min-600 { + min-width: 600px; +} + +.h-min-700 { + min-width: 700px; +} + +.h-min-800 { + min-width: 800px; +} + +.h-min-900 { + min-width: 900px; +} + +.h-min-1000 { + min-width: 1000px; +} + +.w-max-100 { + max-width: 100px; +} + +.w-max-200 { + max-width: 200px; +} + +.w-max-300 { + max-width: 300px; +} + +.w-max-400 { + max-width: 400px; +} + +.w-max-500 { + max-width: 500px; +} + +.w-max-600 { + max-width: 600px; +} + +.w-max-700 { + max-width: 700px; +} + +.w-max-800 { + max-width: 800px; +} + +.w-max-900 { + max-width: 900px; +} + +.w-max-1000 { + max-width: 1000px; +} + .hp-100 { height: 100px; } diff --git a/resources/beike/admin/views/pages/design/builder/footer.blade.php b/resources/beike/admin/views/pages/design/builder/footer.blade.php new file mode 100644 index 00000000..8b264851 --- /dev/null +++ b/resources/beike/admin/views/pages/design/builder/footer.blade.php @@ -0,0 +1,258 @@ + + + + + + + + + + + 首页编辑器 + + + + + + + + + + @stack('header') + + + +
+ +
+ +
+
+ + + + + @include('admin::pages.design.builder.component.image_selector') + @include('admin::pages.design.builder.component.link_selector') + @include('admin::pages.design.builder.component.text_i18n') + + + + diff --git a/resources/beike/admin/views/pages/design/module/slideshow.blade.php b/resources/beike/admin/views/pages/design/module/slideshow.blade.php index 940c5585..d220b325 100644 --- a/resources/beike/admin/views/pages/design/module/slideshow.blade.php +++ b/resources/beike/admin/views/pages/design/module/slideshow.blade.php @@ -12,7 +12,7 @@
diff --git a/resources/beike/shop/default/css/global.scss b/resources/beike/shop/default/css/global.scss index 49a8b5f6..54088030 100644 --- a/resources/beike/shop/default/css/global.scss +++ b/resources/beike/shop/default/css/global.scss @@ -38,6 +38,20 @@ body[class^="page-account-"] { } } +// 生成 100 200 300 ... 1000 的最小宽度 +@for $i from 1 through 10 { + .h-min-#{$i}00 { + min-width: #{$i}00px; + } +} + +// 生成 100 200 300 ... 1000 的最大宽度 +@for $i from 1 through 10 { + .w-max-#{$i}00 { + max-width: #{$i}00px; + } +} + // 生成 100 200 300 ... 1000 的高度 @for $i from 1 through 10 { .hp-#{$i}00 { diff --git a/resources/lang/zh_cn/admin/common.php b/resources/lang/zh_cn/admin/common.php index 49826060..72e97704 100644 --- a/resources/lang/zh_cn/admin/common.php +++ b/resources/lang/zh_cn/admin/common.php @@ -39,6 +39,7 @@ return [ 'currencies_index' => '货币管理', 'languages_index' => '语言管理', 'design_index' => '首页装修', + 'design_footer_index' => '页尾装修', 'categories_index' => '产品分类', 'products_index' => '商品管理', 'products_trashed' => '回收站', diff --git a/resources/lang/zh_cn/admin/setting.php b/resources/lang/zh_cn/admin/setting.php index d3704d3e..0983aee0 100644 --- a/resources/lang/zh_cn/admin/setting.php +++ b/resources/lang/zh_cn/admin/setting.php @@ -12,4 +12,5 @@ return [ 'settings_index' => '系统设置', 'design_index' => '首页编辑器', + 'design_footer_index' => '页尾编辑器', ]; diff --git a/themes/default/checkout/payment.blade.php b/themes/default/checkout/payment.blade.php index fcb929f4..2a30fc1a 100644 --- a/themes/default/checkout/payment.blade.php +++ b/themes/default/checkout/payment.blade.php @@ -3,31 +3,24 @@ @section('body-class', 'page-bk-stripe') @section('content') -
-
-
@include('shared.steps', ['steps' => 4])
-
- - -
-
-
-
订单结账
- -
-
-
    -
  • 订单号@{{ source.order.number }}
  • -
  • 运费15
  • -
  • 应付总金额
  • -
-
- -
-
-
-
- - {!! $payment !!} +
+
+
@include('shared.steps', ['steps' => 4])
+ + +
+
+
订单结账
+
+
    +
  • 订单号{{ $order->number }}
  • +
  • 应付总金额{{ $order->total }}
  • +
+ + {!! $payment !!} +
+
+
+
@endsection