优化词条、前台 ui、修复后台详情页商品ID显示错误等

This commit is contained in:
pushuo 2023-01-10 19:38:07 +08:00
parent b177e7d7fd
commit af58eb52f1
50 changed files with 124 additions and 12128 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -12,7 +12,7 @@
<title>{{ __('admin/builder.footer_edit') }}</title> <title>{{ __('admin/builder.footer_edit') }}</title>
<script src="{{ asset('vendor/jquery/jquery-3.6.0.min.js') }}"></script> <script src="{{ asset('vendor/jquery/jquery-3.6.0.min.js') }}"></script>
<script src="{{ asset('vendor/layer/3.5.1/layer.js') }}"></script> <script src="{{ asset('vendor/layer/3.5.1/layer.js') }}"></script>
<script src="{{ asset('vendor/vue/2.6.14/vue.js') }}"></script> <script src="{{ asset('vendor/vue/2.7/vue' . (!config('app.debug') ? '.min' : '') . '.js') }}"></script>
<script src="{{ mix('build/beike/admin/js/app.js') }}"></script> <script src="{{ mix('build/beike/admin/js/app.js') }}"></script>
<script src="{{ asset('vendor/vue/Sortable.min.js') }}"></script> <script src="{{ asset('vendor/vue/Sortable.min.js') }}"></script>
<script src="{{ asset('vendor/vue/vuedraggable.js') }}"></script> <script src="{{ asset('vendor/vue/vuedraggable.js') }}"></script>

View File

@ -12,7 +12,7 @@
<title>{{ __('admin/builder.text_edit_home') }}</title> <title>{{ __('admin/builder.text_edit_home') }}</title>
<script src="{{ asset('vendor/jquery/jquery-3.6.0.min.js') }}"></script> <script src="{{ asset('vendor/jquery/jquery-3.6.0.min.js') }}"></script>
<script src="{{ asset('vendor/layer/3.5.1/layer.js') }}"></script> <script src="{{ asset('vendor/layer/3.5.1/layer.js') }}"></script>
<script src="{{ asset('vendor/vue/2.6.14/vue.js') }}"></script> <script src="{{ asset('vendor/vue/2.7/vue' . (!config('app.debug') ? '.min' : '') . '.js') }}"></script>
<script src="{{ mix('build/beike/admin/js/app.js') }}"></script> <script src="{{ mix('build/beike/admin/js/app.js') }}"></script>
<script src="{{ asset('vendor/vue/Sortable.min.js') }}"></script> <script src="{{ asset('vendor/vue/Sortable.min.js') }}"></script>
<script src="{{ asset('vendor/vue/vuedraggable.js') }}"></script> <script src="{{ asset('vendor/vue/vuedraggable.js') }}"></script>
@ -103,6 +103,7 @@
const editingModuleIndex = app.form.modules.findIndex(e => e.module_id == module_id); const editingModuleIndex = app.form.modules.findIndex(e => e.module_id == module_id);
app.design.editType = 'add'; app.design.editType = 'add';
app.design.editingModuleIndex = 0; app.design.editingModuleIndex = 0;
$(previewWindow.document).find('.tooltip').remove();
$(this).parents('.module-item').remove(); $(this).parents('.module-item').remove();
app.form.modules.splice(editingModuleIndex, 1); app.form.modules.splice(editingModuleIndex, 1);
}); });
@ -146,9 +147,7 @@
el: '#app', el: '#app',
data: { data: {
form: { form: {
modules: [ modules: []
// {"content":{"style":{"background_color":""},"full":true,"floor":{"2":"","3":""},"images":[{"image":{"2":"catalog/demo/slideshow/2.jpg","3":"catalog/demo/slideshow/2.jpg"},"show":true,"link":{"type":"product","value":"","link":""}},{"image":{"2":"catalog/demo/slideshow/1.jpg","3":"catalog/demo/slideshow/1.jpg"},"show":false,"link":{"type":"product","value":"","link":""}}]},"code":"slideshow","name":"幻灯片","module_id":"b0448efb0989"}
]
}, },
design: { design: {
@ -176,10 +175,6 @@
editingModuleCode() { editingModuleCode() {
return this.form.modules[this.design.editingModuleIndex].code; return this.form.modules[this.design.editingModuleIndex].code;
}, },
// editingConfigCodeFormat() {
// return 'config-' + this.config.editingConfigCode;
// },
}, },
// 侦听器 // 侦听器
watch: {}, watch: {},
@ -190,6 +185,8 @@
$http.post('design/builder/preview?design=1', data, {hload: true}).then((res) => { $http.post('design/builder/preview?design=1', data, {hload: true}).then((res) => {
$(previewWindow.document).find('#module-' + data.module_id).replaceWith(res); $(previewWindow.document).find('#module-' + data.module_id).replaceWith(res);
const tooltipTriggerList = previewWindow.document.querySelectorAll('[data-bs-toggle="tooltip"]')
const tooltipList = [...tooltipTriggerList].map(tooltipTriggerEl => new previewWindow.bootstrap.Tooltip(tooltipTriggerEl))
}) })
}, 300), }, 300),
@ -209,7 +206,6 @@
this.design.editingModuleIndex = this.form.modules.length - 1; this.design.editingModuleIndex = this.form.modules.length - 1;
this.design.editType = 'module'; this.design.editType = 'module';
setTimeout(() => { setTimeout(() => {
$(previewWindow.document).find("html, body").animate({ $(previewWindow.document).find("html, body").animate({
scrollTop: $(previewWindow.document).find('#module-' + module_id).offset().top - 30 scrollTop: $(previewWindow.document).find('#module-' + module_id).offset().top - 30
@ -250,13 +246,6 @@
mounted () { mounted () {
}, },
}) })
// window.addEventListener('message', (event) => {
// event.stopPropagation()
// if (typeof(event.data.index) !== 'undefined') {
// app.editModuleButtonClicked(event.data.index)
// }
// }, false)
</script> </script>
</body> </body>
</html> </html>

View File

@ -169,7 +169,7 @@
<tbody> <tbody>
@foreach ($order->orderProducts as $product) @foreach ($order->orderProducts as $product)
<tr> <tr>
<td>{{ $product->id }}</td> <td>{{ $product->product_id }}</td>
<td> <td>
<div class="d-flex align-items-center"> <div class="d-flex align-items-center">
<div class="wh-60 me-2"><img src="{{ $product->image }}" class="img-fluid"></div>{{ $product->name }} <div class="wh-60 me-2"><img src="{{ $product->image }}" class="img-fluid"></div>{{ $product->name }}

View File

@ -113,8 +113,12 @@
<div class="tab-pane fade" id="tab-express-company"> <div class="tab-pane fade" id="tab-express-company">
<x-admin::form.row title="{{ __('order.express_company') }}"> <x-admin::form.row title="{{ __('order.express_company') }}">
<table class="table table-bordered w-max-500"> <table class="table table-bordered w-max-600">
<thead><th>{{ __('order.express_company') }}</th><th>Code</th><th></th></thead> <thead>
<th>{{ __('order.express_company') }}</th>
<th>Code</th>
<th></th>
</thead>
<tbody> <tbody>
<tr v-for="item, index in express_company" :key="index"> <tr v-for="item, index in express_company" :key="index">
<td> <td>
@ -122,7 +126,7 @@
<div class="invalid-feedback">{{ __('common.error_required', ['name' => __('order.express_company')]) }}</div> <div class="invalid-feedback">{{ __('common.error_required', ['name' => __('order.express_company')]) }}</div>
</td> </td>
<td> <td>
<input required placeholder="Code" type="text" :name="'express_company['+ index +'][code]'" v-model="item.code" class="form-control"> <input required placeholder="{{ __('admin/setting.express_code_help') }}" type="text" :name="'express_company['+ index +'][code]'" v-model="item.code" class="form-control">
<div class="invalid-feedback">{{ __('common.error_required', ['name' => 'Code']) }}</div> <div class="invalid-feedback">{{ __('common.error_required', ['name' => 'Code']) }}</div>
</td> </td>
<td><i @click="express_company.splice(index, 1)" class="bi bi-x-circle fs-4 text-danger cursor-pointer"></i></td> <td><i @click="express_company.splice(index, 1)" class="bi bi-x-circle fs-4 text-danger cursor-pointer"></i></td>

View File

@ -9,7 +9,7 @@
<link href="{{ mix('/build/beike/admin/css/bootstrap.css') }}" rel="stylesheet"> <link href="{{ mix('/build/beike/admin/css/bootstrap.css') }}" rel="stylesheet">
<script src="{{ asset('vendor/jquery/jquery-3.6.0.min.js') }}"></script> <script src="{{ asset('vendor/jquery/jquery-3.6.0.min.js') }}"></script>
<script src="{{ asset('vendor/layer/3.5.1/layer.js') }}"></script> <script src="{{ asset('vendor/layer/3.5.1/layer.js') }}"></script>
<script src="{{ asset('vendor/vue/2.6.14/vue.js') }}"></script> <script src="{{ asset('vendor/vue/2.7/vue' . (!config('app.debug') ? '.min' : '') . '.js') }}"></script>
<script src="{{ asset('vendor/element-ui/2.15.6/js.js') }}"></script> <script src="{{ asset('vendor/element-ui/2.15.6/js.js') }}"></script>
<link rel="stylesheet" href="{{ asset('vendor/element-ui/2.15.6/css.css') }}"> <link rel="stylesheet" href="{{ asset('vendor/element-ui/2.15.6/css.css') }}">
{{-- <link href="{{ mix('build/css/admin/login.css') }}" rel="stylesheet"> --}} {{-- <link href="{{ mix('build/css/admin/login.css') }}" rel="stylesheet"> --}}

View File

@ -133,8 +133,16 @@ $form-feedback-icon-valid-color: inherit;
} }
.breadcrumb { .breadcrumb {
.breadcrumb-item {
&:last-of-type {
a {
color: #666;
font-weight: 600;
}
}
}
a { a {
color: #212529; color: #888;
} }
} }

View File

@ -24,12 +24,12 @@ body[class^="page-account-"] {
font-display: swap; font-display: swap;
} }
// @font-face {font-family: 'Poppins'; @font-face {font-family: 'Poppins';
// src: url('/fonts/poppins/Poppins-Medium.ttf') format("truetype"); src: url('/fonts/poppins/Poppins-Medium.ttf') format("truetype");
// font-style: normal; font-style: normal;
// font-display: swap; font-display: swap;
// font-weight: 700; font-weight: 600;
// } }
@font-face {font-family: 'Poppins'; @font-face {font-family: 'Poppins';
src: url('/fonts/poppins/Poppins-SemiBold.ttf') format("truetype"); src: url('/fonts/poppins/Poppins-SemiBold.ttf') format("truetype");

View File

@ -38,7 +38,7 @@
.module-edit { .module-edit {
// position: relative; // position: relative;
position: absolute; position: absolute;
top: -22px; top: -28px;
left: 0; left: 0;
width: 100%; width: 100%;
z-index: 9; z-index: 9;
@ -54,9 +54,10 @@
align-items: center; align-items: center;
> div { > div {
height: 24px; height: 28px;
line-height: 24px; line-height: 30px;
padding: 0 10px; padding: 0 10px;
font-size: 16px;
cursor: pointer; cursor: pointer;
position: relative; position: relative;
@ -67,7 +68,7 @@
top: 0; top: 0;
border: solid #0000; border: solid #0000;
border-right: solid $primary; border-right: solid $primary;
border-width: 24px 10px 0 0; border-width: 28px 10px 0 0;
right: 100%; right: 100%;
} }
&:hover { &:hover {
@ -84,7 +85,7 @@
top: 0; top: 0;
border: solid #0000; border: solid #0000;
border-left: solid $primary; border-left: solid $primary;
border-width: 24px 0 0 10px; border-width: 28px 0 0 10px;
left: 100%; left: 100%;
} }
&:hover { &:hover {

View File

@ -14,6 +14,21 @@
padding-left: 0; padding-left: 0;
} }
a {
overflow: hidden;
display: block;
img {
transition: .3s ease-in-out;
}
&:hover {
img {
transform: rotate(6deg) scale(1.3);
}
}
}
.module-image-plus-top { .module-image-plus-top {
display: flex; display: flex;
@ -26,3 +41,10 @@
margin-top: 20px; margin-top: 20px;
} }
} }
.module-image-banner {
.container-fluid {
padding-right: 0;
padding-left: 0;
}
}

View File

@ -104,10 +104,6 @@ body.page-account-order-info {
margin-bottom: .4rem; margin-bottom: .4rem;
color: #1a1a1a; color: #1a1a1a;
} }
.price {
font-weight: bold;
}
} }
} }

View File

@ -169,6 +169,7 @@ body.page-product {
.product-name { .product-name {
font-size: 1.7rem; font-size: 1.7rem;
line-height: 1.3; line-height: 1.3;
font-weight: 600;
@media (max-width: 768px) { @media (max-width: 768px) {
font-size: 1.2rem; font-size: 1.2rem;

View File

@ -24,7 +24,6 @@ $(document).ready(function ($) {
$http.delete(`carts/${id}`).then((res) => { $http.delete(`carts/${id}`).then((res) => {
$(this).parents('.product-list').remove(); $(this).parents('.product-list').remove();
console.log(res.data.quantity);
if (!res.data.quantity) { if (!res.data.quantity) {
$('.cart-badge-quantity').hide(); $('.cart-badge-quantity').hide();
} else { } else {
@ -35,6 +34,9 @@ $(document).ready(function ($) {
$('.offcanvas-right-cart-amount').text(res.data.amount_format); $('.offcanvas-right-cart-amount').text(res.data.amount_format);
}) })
}) })
const tooltipTriggerList = document.querySelectorAll('[data-bs-toggle="tooltip"]')
const tooltipList = [...tooltipTriggerList].map(tooltipTriggerEl => new bootstrap.Tooltip(tooltipTriggerEl))
}); });
bk.getCarts(); // 页面初始加载购物车数据 bk.getCarts(); // 页面初始加载购物车数据

View File

@ -78,6 +78,8 @@ return [
'text_edit_page_name' => 'Seitenname ändern', 'text_edit_page_name' => 'Seitenname ändern',
'text_page_name_no' => 'Der Name darf nicht leer sein', 'text_page_name_no' => 'Der Name darf nicht leer sein',
'custom_name' => 'benutzerdefinierter Name', 'custom_name' => 'benutzerdefinierter Name',
'move_down' => 'nach unten bewegen',
'move_up' => 'nach oben verschieben',
// Feste Verbindung // Feste Verbindung
'text_static_product_latest' => 'Neuestes Produkt', 'text_static_product_latest' => 'Neuestes Produkt',

View File

@ -37,6 +37,7 @@ return [
'mailgun_secret' => 'Schlüssel', 'mailgun_secret' => 'Schlüssel',
'mailgun_endpoint' => 'port', 'mailgun_endpoint' => 'port',
'mail_log' => 'Beschreibung: Die Log-Engine wird generell zu Testzwecken verwendet! Die E-Mail wird nicht tatsächlich an die Empfängeradresse gesendet, und der E-Mail-Inhalt wird in „/storage/logs/laravel.log“ in Form eines Protokolls gespeichert.', 'mail_log' => 'Beschreibung: Die Log-Engine wird generell zu Testzwecken verwendet! Die E-Mail wird nicht tatsächlich an die Empfängeradresse gesendet, und der E-Mail-Inhalt wird in „/storage/logs/laravel.log“ in Form eines Protokolls gespeichert.',
'express_code_help' => 'Zahlen, Buchstaben, Unterstrich',
'guest_checkout' => 'Besucherkasse', 'guest_checkout' => 'Besucherkasse',
'theme_default' => 'Standardthema', 'theme_default' => 'Standardthema',

View File

@ -78,6 +78,8 @@ return [
'text_edit_page_name' => 'Edit page name', 'text_edit_page_name' => 'Edit page name',
'text_page_name_no' => 'Name cannot be empty', 'text_page_name_no' => 'Name cannot be empty',
'custom_name' => 'Custom Name', 'custom_name' => 'Custom Name',
'move_down' => 'Move down',
'move_up' => 'Move up',
// 固定连接 // 固定连接
'text_static_product_latest' => 'Latest products', 'text_static_product_latest' => 'Latest products',

View File

@ -37,6 +37,7 @@ return [
'mailgun_secret' => 'Key', 'mailgun_secret' => 'Key',
'mailgun_endpoint' => 'port', 'mailgun_endpoint' => 'port',
'mail_log' => 'Description: The log engine is generally used for testing purposes! The email will not be actually sent to the recipient address, and the email content will be saved in `/storage/logs/laravel.log` in the form of a log', 'mail_log' => 'Description: The log engine is generally used for testing purposes! The email will not be actually sent to the recipient address, and the email content will be saved in `/storage/logs/laravel.log` in the form of a log',
'express_code_help' => 'numbers, letters, underscore',
'guest_checkout' => 'visitor checkout', 'guest_checkout' => 'visitor checkout',
'theme_default' => 'Default Theme', 'theme_default' => 'Default Theme',

View File

@ -78,6 +78,8 @@ return [
'text_edit_page_name' => 'modificar nombre de página', 'text_edit_page_name' => 'modificar nombre de página',
'text_page_name_no' => 'El nombre no puede estar vacío', 'text_page_name_no' => 'El nombre no puede estar vacío',
'custom_name' => 'nombre personalizado', 'custom_name' => 'nombre personalizado',
'move_down' => 'mover hacia abajo',
'move_up' => 'subir',
// Conexión fija // Conexión fija
'text_static_product_latest' => 'Último producto', 'text_static_product_latest' => 'Último producto',

View File

@ -37,6 +37,7 @@ return [
'mailgun_secret' => 'Clave', 'mailgun_secret' => 'Clave',
'mailgun_endpoint' => 'puerto', 'mailgun_endpoint' => 'puerto',
'mail_log' => 'Descripción: ¡El motor de registro generalmente se usa con fines de prueba! El correo electrónico no se enviará realmente a la dirección del destinatario, y el contenido del correo electrónico se guardará en `/storage/logs/laravel.log`\' en forma de registro', 'mail_log' => 'Descripción: ¡El motor de registro generalmente se usa con fines de prueba! El correo electrónico no se enviará realmente a la dirección del destinatario, y el contenido del correo electrónico se guardará en `/storage/logs/laravel.log`\' en forma de registro',
'express_code_help' => 'números, letras, guión bajo',
'guest_checkout' => 'pago de visitante', 'guest_checkout' => 'pago de visitante',

View File

@ -78,6 +78,8 @@ return [
'text_edit_page_name' => 'modifier le nom de la page', 'text_edit_page_name' => 'modifier le nom de la page',
'text_page_name_no' => 'Le nom ne peut pas être vide', 'text_page_name_no' => 'Le nom ne peut pas être vide',
'custom_name' => 'nom personnalisé', 'custom_name' => 'nom personnalisé',
'move_down' => 'descendre',
'move_up' => 'monter',
// Connexion fixe // Connexion fixe
'text_static_product_latest' => 'Dernier produit', 'text_static_product_latest' => 'Dernier produit',

View File

@ -37,6 +37,7 @@ return [
'mailgun_secret' => 'Clé', 'mailgun_secret' => 'Clé',
'mailgun_endpoint' => 'port', 'mailgun_endpoint' => 'port',
'mail_log' => 'Description: Le moteur de journalisation est généralement utilisé à des fins de test! L\'e-mail ne sera pas réellement envoyé à l\'adresse du destinataire, et le contenu de l\'e-mail sera enregistré dans `/storage/logs/laravel.log`\' sous la forme d\'un journal', 'mail_log' => 'Description: Le moteur de journalisation est généralement utilisé à des fins de test! L\'e-mail ne sera pas réellement envoyé à l\'adresse du destinataire, et le contenu de l\'e-mail sera enregistré dans `/storage/logs/laravel.log`\' sous la forme d\'un journal',
'express_code_help' => 'chiffres, lettres, trait de soulignement',
'guest_checkout' => 'paiement des visiteurs', 'guest_checkout' => 'paiement des visiteurs',
'theme_default' => 'thème par défaut', 'theme_default' => 'thème par défaut',

View File

@ -78,6 +78,8 @@ return [
'text_edit_page_name' => 'Modifica il nome della pagina', 'text_edit_page_name' => 'Modifica il nome della pagina',
'text_page_name_no' => 'Il nome è obbligatorio', 'text_page_name_no' => 'Il nome è obbligatorio',
'custom_name' => 'nome personalizzato', 'custom_name' => 'nome personalizzato',
'move_down' => 'sposta giù',
'move_up' => 'sposta su',
// 固定连接 // 固定连接
'text_static_product_latest' => 'Nuovi Prodotti', 'text_static_product_latest' => 'Nuovi Prodotti',

View File

@ -37,6 +37,7 @@ return [
'mailgun_secret' => 'Chiave', 'mailgun_secret' => 'Chiave',
'mailgun_endpoint' => 'porta', 'mailgun_endpoint' => 'porta',
'mail_log' => 'Descrizione: Il motore di log è generalmente utilizzato a scopo di test! L\'e-mail non verrà effettivamente inviata all\'indirizzo del destinatario e il contenuto dell\'e-mail verrà salvato in `/storage/logs/laravel.log`\' sotto forma di registro', 'mail_log' => 'Descrizione: Il motore di log è generalmente utilizzato a scopo di test! L\'e-mail non verrà effettivamente inviata all\'indirizzo del destinatario e il contenuto dell\'e-mail verrà salvato in `/storage/logs/laravel.log`\' sotto forma di registro',
'express_code_help' => 'numeri, lettere, underscore',
'guest_checkout' => 'checkout visitatore', 'guest_checkout' => 'checkout visitatore',
'theme_default' => 'tema predefinito', 'theme_default' => 'tema predefinito',

View File

@ -78,6 +78,8 @@ return [
'text_edit_page_name' => 'ページ名を変更', 'text_edit_page_name' => 'ページ名を変更',
'text_page_name_no' => '名前を空にすることはできません', 'text_page_name_no' => '名前を空にすることはできません',
'custom_name' => 'カスタム名', 'custom_name' => 'カスタム名',
'move_down' => '下に移動',
'move_up' => '上に移動',
// 固定连接 // 固定连接
'text_static_product_latest' => '最新の製品', 'text_static_product_latest' => '最新の製品',

View File

@ -37,6 +37,7 @@ return [
'mailgun_secret' => '鍵', 'mailgun_secret' => '鍵',
'mailgun_endpoint' => 'ポート', 'mailgun_endpoint' => 'ポート',
'mail_log' => '説明: ログ エンジンは通常、テスト目的で使用されます! メールは実際に受信者アドレスに送信されるわけではなく、メールの内容は「/storage/logs/laravel.log」にログとして保存されますが、', 'mail_log' => '説明: ログ エンジンは通常、テスト目的で使用されます! メールは実際に受信者アドレスに送信されるわけではなく、メールの内容は「/storage/logs/laravel.log」にログとして保存されますが、',
'express_code_help' => '数字、文字、アンダースコア',
'guest_checkout' => '訪問者チェックアウト', 'guest_checkout' => '訪問者チェックアウト',
'theme_default' => 'デフォルトのテーマ', 'theme_default' => 'デフォルトのテーマ',

View File

@ -15,8 +15,8 @@ return [
'order_success_info' => 'ご注文は正常に送信されました。以下が注文の詳細です', 'order_success_info' => 'ご注文は正常に送信されました。以下が注文の詳細です',
'not_oneself' => '非個人的な操作は無視できます。 ', 'not_oneself' => '非個人的な操作は無視できます。 ',
'customer_name' => '親愛なる :name ユーザー様、こんにちは! ', 'customer_name' => '親愛なる :name ユーザー様、こんにちは! ',
'心から' => '心から', 'sincerely' => '心から',
'チーム' => 'チーム', 'team' => 'チーム',
'order_update_status' => '注文 :number のステータスが更新されました', 'order_update_status' => '注文 :number のステータスが更新されました',
'welcome_register' => '登録へようこそ', 'welcome_register' => '登録へようこそ',
'register_end' => '登録が完了しました。モールに戻るには、下のボタンをクリックしてください。 ', 'register_end' => '登録が完了しました。モールに戻るには、下のボタンをクリックしてください。 ',

View File

@ -78,6 +78,8 @@ return [
'text_edit_page_name' => 'Изменить название страницы', 'text_edit_page_name' => 'Изменить название страницы',
'text_page_name_no' => 'Укажите имя', 'text_page_name_no' => 'Укажите имя',
'custom_name' => 'пользовательское имя', 'custom_name' => 'пользовательское имя',
'move_down' => 'переместиться вниз',
'move_up' => 'движение вверх',
// 固定连接 // 固定连接
'text_static_product_latest' => 'Последний продукт', 'text_static_product_latest' => 'Последний продукт',

View File

@ -37,6 +37,7 @@ return [
'mailgun_secret' => 'Ключ', 'mailgun_secret' => 'Ключ',
'mailgun_endpoint' => 'порт', 'mailgun_endpoint' => 'порт',
'mail_log' => 'Описание: Механизм ведения журнала обычно используется в целях тестирования! На самом деле электронное письмо не будет отправлено на адрес получателя, а содержимое электронного письма будет сохранено в `/storage/logs/laravel.log` в виде журнала', 'mail_log' => 'Описание: Механизм ведения журнала обычно используется в целях тестирования! На самом деле электронное письмо не будет отправлено на адрес получателя, а содержимое электронного письма будет сохранено в `/storage/logs/laravel.log` в виде журнала',
'express_code_help' => 'цифры, буквы, подчеркивание',
'guest_checkout' => 'оформить заказ посетителя', 'guest_checkout' => 'оформить заказ посетителя',
'theme_default' => 'Тема по умолчанию', 'theme_default' => 'Тема по умолчанию',

View File

@ -78,6 +78,8 @@ return [
'text_edit_page_name' => '修改页面名称', 'text_edit_page_name' => '修改页面名称',
'text_page_name_no' => '名称不能为空', 'text_page_name_no' => '名称不能为空',
'custom_name' => '自定义名称', 'custom_name' => '自定义名称',
'move_down' => '下移',
'move_up' => '上移',
// 固定连接 // 固定连接
'text_static_product_latest' => '最新商品', 'text_static_product_latest' => '最新商品',

View File

@ -37,6 +37,7 @@ return [
'mailgun_secret' => '密钥', 'mailgun_secret' => '密钥',
'mailgun_endpoint' => '端口', 'mailgun_endpoint' => '端口',
'mail_log' => '说明:日志引擎一般用于测试目的!邮件将不会被真实发送至收件地址,邮件内容会以日志形式保存在 `/storage/logs/laravel.log`', 'mail_log' => '说明:日志引擎一般用于测试目的!邮件将不会被真实发送至收件地址,邮件内容会以日志形式保存在 `/storage/logs/laravel.log`',
'express_code_help' => '数字、字母、下划线',
'guest_checkout' => '游客结账', 'guest_checkout' => '游客结账',
'theme_default' => '默认主题', 'theme_default' => '默认主题',

View File

@ -79,6 +79,8 @@ return [
'text_edit_page_name' => '修改頁面名稱', 'text_edit_page_name' => '修改頁面名稱',
'text_page_name_no' => '名稱不能為空', 'text_page_name_no' => '名稱不能為空',
'custom_name' => '自定義名稱', 'custom_name' => '自定義名稱',
'move_down' => '下移',
'move_up' => '上移',
// 固定连接 // 固定连接
'text_static_product_latest' => '最新商品', 'text_static_product_latest' => '最新商品',

View File

@ -37,6 +37,7 @@ return [
'mailgun_secret' => '密鑰', 'mailgun_secret' => '密鑰',
'mailgun_endpoint' => '端口', 'mailgun_endpoint' => '端口',
'mail_log' => '說明:日誌引擎一般用於測試目的!郵件將不會被真實發送至收件地址,郵件內容會以日誌形式保存在 `/storage/logs/laravel.log`', 'mail_log' => '說明:日誌引擎一般用於測試目的!郵件將不會被真實發送至收件地址,郵件內容會以日誌形式保存在 `/storage/logs/laravel.log`',
'express_code_help' => '數字、字母、下劃線',
'guest_checkout' => '遊客結賬', 'guest_checkout' => '遊客結賬',
'theme_default' => '默認主題', 'theme_default' => '默認主題',

View File

@ -3,7 +3,7 @@
@section('body-class', 'page-account-address') @section('body-class', 'page-account-address')
@push('header') @push('header')
<script src="{{ asset('vendor/vue/2.6.14/vue' . (!config('app.debug') ? '.min' : '') . '.js') }}"></script> <script src="{{ asset('vendor/vue/2.7/vue' . (!config('app.debug') ? '.min' : '') . '.js') }}"></script>
<script src="{{ asset('vendor/element-ui/2.15.6/js.js') }}"></script> <script src="{{ asset('vendor/element-ui/2.15.6/js.js') }}"></script>
<link rel="stylesheet" href="{{ asset('vendor/element-ui/2.15.6/css.css') }}"> <link rel="stylesheet" href="{{ asset('vendor/element-ui/2.15.6/css.css') }}">
@endpush @endpush

View File

@ -3,7 +3,7 @@
@section('body-class', 'page-forgotten') @section('body-class', 'page-forgotten')
@push('header') @push('header')
<script src="{{ asset('vendor/vue/2.6.14/vue' . (!config('app.debug') ? '.min' : '') . '.js') }}"></script> <script src="{{ asset('vendor/vue/2.7/vue' . (!config('app.debug') ? '.min' : '') . '.js') }}"></script>
<script src="{{ asset('vendor/element-ui/2.15.6/js.js') }}"></script> <script src="{{ asset('vendor/element-ui/2.15.6/js.js') }}"></script>
<link rel="stylesheet" href="{{ asset('vendor/element-ui/2.15.6/css.css') }}"> <link rel="stylesheet" href="{{ asset('vendor/element-ui/2.15.6/css.css') }}">
@endpush @endpush

View File

@ -3,7 +3,7 @@
@section('body-class', 'page-login') @section('body-class', 'page-login')
@push('header') @push('header')
<script src="{{ asset('vendor/vue/2.6.14/vue' . (!config('app.debug') ? '.min' : '') . '.js') }}"></script> <script src="{{ asset('vendor/vue/2.7/vue' . (!config('app.debug') ? '.min' : '') . '.js') }}"></script>
<script src="{{ asset('vendor/element-ui/2.15.6/js.js') }}"></script> <script src="{{ asset('vendor/element-ui/2.15.6/js.js') }}"></script>
<link rel="stylesheet" href="{{ asset('vendor/element-ui/2.15.6/css.css') }}"> <link rel="stylesheet" href="{{ asset('vendor/element-ui/2.15.6/css.css') }}">
@endpush @endpush

View File

@ -33,7 +33,7 @@
@endif @endif
</tr> </tr>
<tr> <tr>
<td><a href="{{ shop_route('orders.pay', [$order['number']]) }}" class="btn btn-primary btn-sm">{{ __('shop/account.order.order_success.pay_now') }}</a></td> <td><a href="{{ shop_route('orders.pay', [$order['number']]) }}" class="btn btn-primary">{{ __('shop/account.order.order_success.pay_now') }}</a></td>
</tr> </tr>
</tbody> </tbody>
</table> </table>

View File

@ -3,7 +3,7 @@
@section('body-class', 'page-account-rmas') @section('body-class', 'page-account-rmas')
@push('header') @push('header')
{{-- <script src="{{ asset('vendor/vue/2.6.14/vue' . (!config('app.debug') ? '.min' : '') . '.js') }}"></script> --}} {{-- <script src="{{ asset('vendor/vue/2.7/vue' . (!config('app.debug') ? '.min' : '') . '.js') }}"></script> --}}
@endpush @endpush
@section('content') @section('content')

View File

@ -3,7 +3,7 @@
@section('body-class', 'page-account-rmas') @section('body-class', 'page-account-rmas')
@push('header') @push('header')
{{-- <script src="{{ asset('vendor/vue/2.6.14/vue' . (!config('app.debug') ? '.min' : '') . '.js') }}"></script> --}} {{-- <script src="{{ asset('vendor/vue/2.7/vue' . (!config('app.debug') ? '.min' : '') . '.js') }}"></script> --}}
@endpush @endpush
@section('content') @section('content')

View File

@ -3,7 +3,7 @@
@section('body-class', 'page-cart') @section('body-class', 'page-cart')
@push('header') @push('header')
<script src="{{ asset('vendor/vue/2.6.14/vue' . (!config('app.debug') ? '.min' : '') . '.js') }}"></script> <script src="{{ asset('vendor/vue/2.7/vue' . (!config('app.debug') ? '.min' : '') . '.js') }}"></script>
<script src="{{ asset('vendor/element-ui/2.15.6/js.js') }}"></script> <script src="{{ asset('vendor/element-ui/2.15.6/js.js') }}"></script>
<link rel="stylesheet" href="{{ asset('vendor/element-ui/2.15.6/css.css') }}"> <link rel="stylesheet" href="{{ asset('vendor/element-ui/2.15.6/css.css') }}">
@endpush @endpush

View File

@ -63,8 +63,8 @@
</div> </div>
</div> </div>
<div class="p-4"> <div class="p-4">
<a href="{{ shop_route('checkout.index') }}" class="btn w-100 btn-dark to-checkout {{ !$check ? 'disabled' : '' }}">{{ __('shop/carts.to_checkout') }}</a> <a href="{{ shop_route('checkout.index') }}" class="btn w-100 fw-bold btn-dark to-checkout {{ !$check ? 'disabled' : '' }}">{{ __('shop/carts.to_checkout') }}</a>
<a href="{{ shop_route('carts.index') }}" class="btn w-100 btn-outline-dark mt-2">{{ __('shop/carts.check_cart') }}</a> <a href="{{ shop_route('carts.index') }}" class="btn w-100 fw-bold btn-outline-dark mt-2">{{ __('shop/carts.check_cart') }}</a>
</div> </div>
</div> </div>
@endif @endif

View File

@ -3,7 +3,7 @@
@section('body-class', 'page-checkout') @section('body-class', 'page-checkout')
@push('header') @push('header')
<script src="{{ asset('vendor/vue/2.6.14/vue' . (!config('app.debug') ? '.min' : '') . '.js') }}"></script> <script src="{{ asset('vendor/vue/2.7/vue' . (!config('app.debug') ? '.min' : '') . '.js') }}"></script>
<script src="{{ asset('vendor/element-ui/2.15.6/js.js') }}"></script> <script src="{{ asset('vendor/element-ui/2.15.6/js.js') }}"></script>
<link rel="stylesheet" href="{{ asset('vendor/element-ui/2.15.6/css.css') }}"> <link rel="stylesheet" href="{{ asset('vendor/element-ui/2.15.6/css.css') }}">
@endpush @endpush

View File

@ -0,0 +1,10 @@
@if ($design)
<div class="module-edit">
<div class="edit-wrap">
<div class="down" data-bs-toggle="tooltip" data-bs-placement="top" data-bs-title="{{ __('admin/builder.move_down') }}"><i class="bi bi-chevron-down"></i></div>
<div class="up" data-bs-toggle="tooltip" data-bs-placement="top" data-bs-title="{{ __('admin/builder.move_up') }}"><i class="bi bi-chevron-up"></i></div>
<div class="delete" data-bs-toggle="tooltip" data-bs-placement="top" data-bs-title="{{ __('common.delete') }}"><i class="bi bi-x-lg"></i></div>
<div class="edit" data-bs-toggle="tooltip" data-bs-placement="top" data-bs-title="{{ __('common.edit') }}"><i class="bi bi-pencil-square"></i></div>
</div>
</div>
@endif

View File

@ -1,17 +1,7 @@
<section class="module-item {{ $design ? 'module-item-design' : ''}}" id="module-{{ $module_id }}"> <section class="module-item {{ $design ? 'module-item-design' : ''}}" id="module-{{ $module_id }}">
@if ($design) @include('design._partial._module_tool')
<div class="module-edit">
<div class="edit-wrap">
<div class="down"><i class="bi bi-chevron-down"></i></div>
<div class="up"><i class="bi bi-chevron-up"></i></div>
<div class="delete"><i class="bi bi-x-lg"></i></div>
<div class="edit"><i class="bi bi-pencil-square"></i></div>
</div>
</div>
@endif
<div class="module-info module-brand mb-3 mb-md-5"> <div class="module-info module-brand mb-3 mb-md-5">
{{-- {{ dd($content) }} --}}
<div class="module-title">{{ $content['title'] }}</div> <div class="module-title">{{ $content['title'] }}</div>
<div class="container"> <div class="container">
<div class="row"> <div class="row">

View File

@ -1,16 +1,7 @@
<section class="module-item {{ $design ? 'module-item-design' : ''}}" id="module-{{ $module_id }}"> <section class="module-item {{ $design ? 'module-item-design' : ''}}" id="module-{{ $module_id }}">
@if ($design) @include('design._partial._module_tool')
<div class="module-edit">
<div class="edit-wrap">
<div class="down"><i class="bi bi-chevron-down"></i></div>
<div class="up"><i class="bi bi-chevron-up"></i></div>
<div class="delete"><i class="bi bi-x-lg"></i></div>
<div class="edit"><i class="bi bi-pencil-square"></i></div>
</div>
</div>
@endif
<div class="module-image-plus module-info {{ !$content['full'] ? 'container' : '' }} mb-3 mb-md-5 d-flex justify-content-center"> <div class="module-image-banner module-info {{ !$content['full'] ? 'container' : '' }} mb-3 mb-md-5 d-flex justify-content-center">
<div class="container{{ $content['full'] ? '-fluid' : '' }} d-flex justify-content-center"> <div class="container{{ $content['full'] ? '-fluid' : '' }} d-flex justify-content-center">
<a href="{{ $content['images'][0]['link']['link'] ?: 'javascript:void(0)' }}"><img src="{{ $content['images'][0]['image'] }}" class="img-fluid"></a> <a href="{{ $content['images'][0]['link']['link'] ?: 'javascript:void(0)' }}"><img src="{{ $content['images'][0]['image'] }}" class="img-fluid"></a>
</div> </div>

View File

@ -1,14 +1,5 @@
<section class="module-item {{ $design ? 'module-item-design' : ''}}" id="module-{{ $module_id }}"> <section class="module-item {{ $design ? 'module-item-design' : ''}}" id="module-{{ $module_id }}">
@if ($design) @include('design._partial._module_tool')
<div class="module-edit">
<div class="edit-wrap">
<div class="down"><i class="bi bi-chevron-down"></i></div>
<div class="up"><i class="bi bi-chevron-up"></i></div>
<div class="delete"><i class="bi bi-x-lg"></i></div>
<div class="edit"><i class="bi bi-pencil-square"></i></div>
</div>
</div>
@endif
<div class="module-image-plus module-info mb-3 mb-md-5"> <div class="module-image-plus module-info mb-3 mb-md-5">
<div class="container"> <div class="container">

View File

@ -4,16 +4,8 @@
@endpush @endpush
<section class="module-item {{ $design ? 'module-item-design' : ''}}" id="module-{{ $module_id }}"> <section class="module-item {{ $design ? 'module-item-design' : ''}}" id="module-{{ $module_id }}">
@if ($design) @include('design._partial._module_tool')
<div class="module-edit">
<div class="edit-wrap">
<div class="down"><i class="bi bi-chevron-down"></i></div>
<div class="up"><i class="bi bi-chevron-up"></i></div>
<div class="delete"><i class="bi bi-x-lg"></i></div>
<div class="edit"><i class="bi bi-pencil-square"></i></div>
</div>
</div>
@endif
<div class="module-info mb-3 mb-md-5 {{ !$content['full'] ? 'container' : '' }}"> <div class="module-info mb-3 mb-md-5 {{ !$content['full'] ? 'container' : '' }}">
<div class="swiper module-swiper-{{ $module_id }} module-slideshow"> <div class="swiper module-swiper-{{ $module_id }} module-slideshow">
<div class="swiper-wrapper"> <div class="swiper-wrapper">

View File

@ -1,14 +1,6 @@
<section class="module-item {{ $design ? 'module-item-design' : ''}}" id="module-{{ $module_id }}"> <section class="module-item {{ $design ? 'module-item-design' : ''}}" id="module-{{ $module_id }}">
@if ($design) @include('design._partial._module_tool')
<div class="module-edit">
<div class="edit-wrap">
<div class="down"><i class="bi bi-chevron-down"></i></div>
<div class="up"><i class="bi bi-chevron-up"></i></div>
<div class="delete"><i class="bi bi-x-lg"></i></div>
<div class="edit"><i class="bi bi-pencil-square"></i></div>
</div>
</div>
@endif
<div class="module-info module-tab-product"> <div class="module-info module-tab-product">
<div class="module-title">{{ $content['title'] }}</div> <div class="module-title">{{ $content['title'] }}</div>
<div class="container"> <div class="container">

View File

@ -13,7 +13,7 @@
<script src="{{ asset('vendor/jquery/jquery-3.6.0.min.js') }}"></script> <script src="{{ asset('vendor/jquery/jquery-3.6.0.min.js') }}"></script>
<script src="{{ asset('vendor/layer/3.5.1/layer.js') }}"></script> <script src="{{ asset('vendor/layer/3.5.1/layer.js') }}"></script>
<link rel="shortcut icon" href="{{ image_origin(system_setting('base.favicon')) }}"> <link rel="shortcut icon" href="{{ image_origin(system_setting('base.favicon')) }}">
<script src="{{ asset('vendor/bootstrap/5.1.3/js/bootstrap.min.js') }}"></script> <script src="{{ asset('vendor/bootstrap/5.1.3/js/bootstrap.bundle.min.js') }}"></script>
<script src="{{ mix('/build/beike/shop/default/js/app.js') }}"></script> <script src="{{ mix('/build/beike/shop/default/js/app.js') }}"></script>
<link rel="stylesheet" type="text/css" href="{{ mix('/build/beike/shop/default/css/app.css') }}"> <link rel="stylesheet" type="text/css" href="{{ mix('/build/beike/shop/default/css/app.css') }}">
@if (system_setting('base.head_code')) @if (system_setting('base.head_code'))

View File

@ -5,7 +5,7 @@
@section('description', $product['meta_description'] ?: system_setting('base.meta_description')) @section('description', $product['meta_description'] ?: system_setting('base.meta_description'))
@push('header') @push('header')
<script src="{{ asset('vendor/vue/2.6.14/vue' . (!config('app.debug') ? '.min' : '') . '.js') }}"></script> <script src="{{ asset('vendor/vue/2.7/vue' . (!config('app.debug') ? '.min' : '') . '.js') }}"></script>
<script src="{{ asset('vendor/swiper/swiper-bundle.min.js') }}"></script> <script src="{{ asset('vendor/swiper/swiper-bundle.min.js') }}"></script>
<script src="{{ asset('vendor/zoom/jquery.zoom.min.js') }}"></script> <script src="{{ asset('vendor/zoom/jquery.zoom.min.js') }}"></script>
<link rel="stylesheet" href="{{ asset('vendor/swiper/swiper-bundle.min.css') }}"> <link rel="stylesheet" href="{{ asset('vendor/swiper/swiper-bundle.min.css') }}">
@ -112,20 +112,20 @@
</div> </div>
</div> </div>
<button <button
class="btn btn-outline-dark ms-md-3 add-cart" class="btn btn-outline-dark ms-md-3 add-cart fw-bold"
:disabled="!product.quantity" :disabled="!product.quantity"
@click="addCart(false, this)" @click="addCart(false, this)"
><i class="bi bi-cart-fill me-1"></i>{{ __('shop/products.add_to_cart') }} ><i class="bi bi-cart-fill me-1"></i>{{ __('shop/products.add_to_cart') }}
</button> </button>
<button <button
class="btn btn-dark ms-3" class="btn btn-dark ms-3 fw-bold"
:disabled="!product.quantity" :disabled="!product.quantity"
@click="addCart(true, this)" @click="addCart(true, this)"
><i class="bi bi-bag-fill me-1"></i>{{ __('shop/products.buy_now') }} ><i class="bi bi-bag-fill me-1"></i>{{ __('shop/products.buy_now') }}
</button> </button>
</div> </div>
<div class="add-wishlist"> <div class="add-wishlist">
<button class="btn btn-link ps-0 text-dark" data-in-wishlist="{{ $product['in_wishlist'] }}" onclick="bk.addWishlist('{{ $product['id'] }}', this)"> <button class="btn btn-link ps-0 text-secondary" data-in-wishlist="{{ $product['in_wishlist'] }}" onclick="bk.addWishlist('{{ $product['id'] }}', this)">
<i class="bi bi-heart{{ $product['in_wishlist'] ? '-fill' : '' }} me-1"></i> {{ __('shop/products.add_to_favorites') }} <i class="bi bi-heart{{ $product['in_wishlist'] ? '-fill' : '' }} me-1"></i> {{ __('shop/products.add_to_favorites') }}
</button> </button>
</div> </div>