导航菜单配置等有害

This commit is contained in:
pushuo 2022-08-15 10:15:49 +08:00
parent d269352143
commit 0a22238629
49 changed files with 29091 additions and 12516 deletions

View File

@ -22,6 +22,7 @@ namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
use Beike\Repositories\FooterRepo;
use Beike\Repositories\MenuRepo;
use Illuminate\Support\Facades\View;
use Beike\Repositories\CategoryRepo;
use Beike\Repositories\LanguageRepo;
@ -50,6 +51,7 @@ class ShareViewData
View::share('shop_base_url', shop_route('home.index'));
View::share('categories', hook_filter('header.categories', CategoryRepo::getTwoLevelCategories()));
View::share('footer_content', hook_filter('footer.content', FooterRepo::handleFooterData()));
View::share('menu_content', hook_filter('menu.content', MenuRepo::handleMenuData()));
}
}

View File

@ -0,0 +1,47 @@
<?php
namespace Beike\Admin\Http\Controllers;
use Illuminate\View\View;
use Illuminate\Http\Request;
use Beike\Repositories\FooterRepo;
use Beike\Repositories\SettingRepo;
class DesignMenuController extends Controller
{
/**
* 展示所有模块编辑器
*
* @param Request $request
* @return View
*/
public function index(Request $request): View
{
$data = [
'design_settings' => system_setting('base.menu_setting', []),
];
return view('admin::pages.design.builder.menu', $data);
}
/**
* 更新所有数据
*
* @param Request $request
* @return array
* @throws \Throwable
*/
public function update(Request $request): array
{
$content = json_decode($request->getContent(), true);
$data = [
'type' => 'system',
'space' => 'base',
'name' => 'menu_setting',
'value' => json_encode($content),
'json' => 1
];
SettingRepo::createOrUpdate($data);
return json_success("保存成功");
}
}

View File

@ -146,7 +146,7 @@ class PermissionRepo
*/
private function getSettingPermissions(): array
{
$routes = ['settings_index', 'design_index', 'design_footer_index'];
$routes = ['settings_index', 'design_index', 'design_footer_index', 'design_menu_index'];
$items = $this->getPermissionList('setting', $routes);
return hook_filter('role.setting_permissions', $items);
}

View File

@ -44,6 +44,9 @@ Route::prefix($adminName)
Route::put('design_footer/builder', [Controllers\DesignFooterController::class, 'update'])->name('design_footer.update');
Route::post('design_footer/builder/preview', [Controllers\DesignFooterController::class, 'preview'])->name('design_footer.module.preview');
Route::get('design_menu/builder', [Controllers\DesignMenuController::class, 'index'])->name('design_menu.index');
Route::put('design_menu/builder', [Controllers\DesignMenuController::class, 'update'])->name('design_menu.update');
Route::put('edit', [Controllers\EditController::class, 'update'])->name('edit');
Route::get('edit/locale', [Controllers\EditController::class, 'locale'])->name('edit.locale');

View File

@ -61,7 +61,7 @@ class Sidebar extends Component
foreach ($routes as $route) {
$this->addLink($route['route'], $route['icon'] ?? '', $this->equalRoute($route['route']), (bool)($route['blank'] ?? false));
}
} elseif (Str::startsWith($routeName, ['settings.', 'admin_users.', 'admin_roles.', 'plugins.', 'tax_classes', 'tax_rates', 'regions', 'currencies', 'languages'])) {
} elseif (Str::startsWith($routeName, ['settings.', 'admin_users.', 'admin_roles.', 'plugins.', 'tax_classes', 'tax_rates', 'regions', 'currencies', 'languages', 'design_menu'])) {
$routes = $this->getSettingSubRoutes();
foreach ($routes as $route) {
$this->addLink($route['route'], $route['icon'] ?? '', $this->equalRoute($route['route']), (bool)($route['blank'] ?? false));
@ -185,6 +185,7 @@ class Sidebar extends Component
['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],
['route' => 'design_menu.index', 'icon' => 'fa fa-tachometer-alt'],
];
return hook_filter('sidebar.setting_routes', $routes);
}

View File

@ -125,7 +125,7 @@ function type_route($type, $value): string
} elseif ($type == 'category') {
return shop_route('categories.show', ['category' => $value]);
} elseif ($type == 'brand') {
return shop_route('brands.show', ['brand' => $value]);
return shop_route('brands.show', [$value]);
} elseif ($type == 'page') {
return shop_route('pages.show', ['page' => $value]);
}

View File

@ -0,0 +1,113 @@
<?php
/**
* FooterRepo.php
*
* @copyright 2022 opencart.cn - All Rights Reserved
* @link http://www.guangdawangluo.com
* @author Edward Yang <yangjin@opencart.cn>
* @created 2022-08-11 18:16:06
* @modified 2022-08-11 18:16:06
*/
namespace Beike\Repositories;
use Beike\Models\Page;
use Beike\Models\Category;
use Beike\Repositories\CategoryRepo;
use Beike\Repositories\ProductRepo;
use Beike\Repositories\BrandRepo;
class MenuRepo
{
/**
* 处理页尾编辑器数据
*
* @return array|mixed
*/
public static function handleMenuData($MenuSetting = [])
{
if (empty($MenuSetting)) {
$MenuSetting = system_setting('base.menu_setting');
}
$locale = locale();
$menus = $MenuSetting['menus'];
foreach ($menus as $index => $menu) {
$menus[$index]['link'] = self::handleLink($menu['link']);
$menus[$index]['name'] = $menu['name'][$locale] ?? '';
$menus[$index]['badge']['name'] = $menu['badge']['name'][$locale] ?? '';
if ($menu['childrenGroup']) {
foreach ($menu['childrenGroup'] as $group_index => $childrenGroup) {
if ($childrenGroup['type'] == 'image') {
$menus[$index]['childrenGroup'][$group_index]['image']['image'] = image_origin($childrenGroup['image']['image'][$locale]);
$menus[$index]['childrenGroup'][$group_index]['image']['link'] = type_route($childrenGroup['image']['link']['type'], $childrenGroup['image']['link']['value']);
continue;
}
// 判断 $childrenGroup['children'] 是否为空,如果为空,则删除该分组
if (empty($childrenGroup['children'])) {
unset($menus[$index]['childrenGroup'][$group_index]);
} else {
$menus[$index]['childrenGroup'][$group_index]['name'] = $childrenGroup['name'][$locale];
if ($childrenGroup['children']) {
foreach ($childrenGroup['children'] as $children_index => $children) {
$menus[$index]['childrenGroup'][$group_index]['children'][$children_index]['link'] = self::handleLink($children['link']);
}
}
}
}
}
}
return $menus;
}
/**
* 处理链接
*
* @param $type
* @param $value
* @return string
*/
private static function handleLink($link): array
{
$locale = locale();
if ($link['type'] == 'custom') {
$link['link'] = $link['value'];
$link['text'] = $link['text'][$locale];
} elseif ($link['type'] == 'static') {
$link['link'] = shop_route($link['value']);
$link['text'] = $link['text'][$locale] ?: trans('shop/' . $link['value']);
} elseif ($link['type'] == 'page') {
$pageId = $link['value'];
$page = Page::query()->find($pageId);
if ($page) {
$link['link'] = type_route('page', $link['value']);
$link['text'] = $link['text'][$locale] ?: $page->description->title;
}
} elseif ($link['type'] == 'category') {
$category = Category::query()->find($link['value']);
if ($category) {
$link['link'] = type_route('category', $link['value']);
$link['text'] = $link['text'][$locale] ?: CategoryRepo::getName($link['value']);
}
} elseif ($link['type'] == 'product') {
$link['link'] = type_route('product', $link['value']);
$link['text'] = $link['text'][$locale] ?: ProductRepo::getName($link['value']);
} elseif ($link['type'] == 'brand') {
$link['link'] = type_route('brand', $link['value']);
$link['text'] = $link['text'][$locale] ?: BrandRepo::getName($link['value']);
} else {
$link['link'] = '';
$link['text'] = $link['text'][$locale];
}
return $link;
}
}

View File

@ -325,6 +325,18 @@
margin-right: 5px;
}
.cursor-pointer {
cursor: pointer;
}
.cursor-scroll {
cursor: all-scroll;
}
.flex-1 {
flex: 1;
}
.help-text {
color: #B2B2B2;
margin-top: 4px;
@ -537,13 +549,6 @@ body.page-seller-product .share-link-pop .share-links-code img {
background: #fff;
border-right: 1px solid #f1f1f1;
}
@media screen and (max-width: 991px) {
.sidebar {
position: fixed;
top: 0;
bottom: 0;
}
}
.sidebar .navbar-nav > li.nav-item {
position: relative;
}
@ -595,6 +600,11 @@ body.page-seller-product .share-link-pop .share-links-code img {
.header-wrap .header-right > .navbar > li {
padding: 0 1rem;
}
@media screen and (max-width: 991px) {
.header-wrap .header-right > .navbar > li {
padding: 0 0.3rem;
}
}
.header-wrap .header-right > .navbar > li .dropdown:hover .nav-link {
background-color: #eee;
}
@ -1063,3 +1073,34 @@ body.page-categories .el-tree-node__content {
height: 42px;
border-bottom: 1px solid #f5f5f5;
}
.design-wrap {
flex-wrap: wrap;
}
.design-wrap .menus-wrap > div {
cursor: pointer;
}
.design-wrap .menus-wrap > div:not(.list-group-item-primary):hover {
background-color: #f5f5f5;
}
.design-wrap .left .menus-wrap .link-selector-wrap {
width: calc(100% - 20px);
}
.design-wrap .left .menus-wrap .link-selector-wrap .selector-type .title {
border: none;
padding: 8px 16px 8px 6px;
background-color: transparent;
}
.design-wrap .right {
width: calc(100% - 220px);
}
.design-wrap .right .menu-children-group .group-children .children-item {
background-color: #f5f5f5;
}
.design-wrap .right .menu-children-group .group-children .children-item .link-selector-wrap {
width: calc(100% - 34px);
}
.design-wrap .right .menu-children-group .group-children .children-item .link-selector-wrap .selector-type .title {
border: none;
background-color: transparent;
}

View File

@ -8739,7 +8739,7 @@ progress {
background-color: #f9fbfd;
border-color: #feab87;
outline: 0;
box-shadow: 0 0 0 0.25rem rgba(253, 86, 15, 0.25);
box-shadow: 0 0 11px 0 rgba(253, 86, 15, 0.1);
}
.form-control::-webkit-date-and-time-value {
height: 1.5em;
@ -9019,7 +9019,7 @@ textarea.form-control-lg {
.form-check-input:focus {
border-color: #feab87;
outline: 0;
box-shadow: 0 0 0 0.25rem rgba(253, 86, 15, 0.25);
box-shadow: 0 0 11px 0 rgba(253, 86, 15, 0.1);
}
.form-check-input:checked {
background-color: #fd560f;
@ -9098,10 +9098,10 @@ textarea.form-control-lg {
outline: 0;
}
.form-range:focus::-webkit-slider-thumb {
box-shadow: 0 0 0 1px #f9fbfd, 0 0 0 0.25rem rgba(253, 86, 15, 0.25);
box-shadow: 0 0 0 1px #f9fbfd, 0 0 11px 0 rgba(253, 86, 15, 0.1);
}
.form-range:focus::-moz-range-thumb {
box-shadow: 0 0 0 1px #f9fbfd, 0 0 0 0.25rem rgba(253, 86, 15, 0.25);
box-shadow: 0 0 0 1px #f9fbfd, 0 0 11px 0 rgba(253, 86, 15, 0.1);
}
.form-range::-moz-focus-outer {
border: 0;
@ -9525,7 +9525,7 @@ textarea.form-control-lg {
}
.btn-check:focus + .btn, .btn:focus {
outline: 0;
box-shadow: 0 0 0 0.25rem rgba(253, 86, 15, 0.25);
box-shadow: 0 0 11px 0 rgba(253, 86, 15, 0.1);
}
.btn:disabled, .btn.disabled, fieldset:disabled .btn {
pointer-events: none;
@ -11216,7 +11216,7 @@ textarea.form-control-lg {
z-index: 3;
border-color: #feab87;
outline: 0;
box-shadow: 0 0 0 0.25rem rgba(253, 86, 15, 0.25);
box-shadow: 0 0 11px 0 rgba(253, 86, 15, 0.1);
}
.accordion-header {
@ -11324,7 +11324,7 @@ textarea.form-control-lg {
color: #1373cc;
background-color: #e9ecef;
outline: 0;
box-shadow: 0 0 0 0.25rem rgba(253, 86, 15, 0.25);
box-shadow: 0 0 11px 0 rgba(253, 86, 15, 0.1);
}
.page-item:not(:first-child) .page-link {
@ -11906,7 +11906,7 @@ textarea.form-control-lg {
}
.btn-close:focus {
outline: 0;
box-shadow: 0 0 0 0.25rem rgba(253, 86, 15, 0.25);
box-shadow: 0 0 11px 0 rgba(253, 86, 15, 0.1);
opacity: 1;
}
.btn-close:disabled, .btn-close.disabled {
@ -12058,7 +12058,7 @@ textarea.form-control-lg {
align-items: center;
justify-content: space-between;
padding: 1rem 1rem;
border-bottom: 1px solid #f1f1f1;
border-bottom: 1px solid #e8e8e8;
border-top-left-radius: calc(0.3rem - 1px);
border-top-right-radius: calc(0.3rem - 1px);
}
@ -12085,7 +12085,7 @@ textarea.form-control-lg {
align-items: center;
justify-content: flex-end;
padding: 0.75rem;
border-top: 1px solid #f1f1f1;
border-top: 1px solid #e8e8e8;
border-bottom-right-radius: calc(0.3rem - 1px);
border-bottom-left-radius: calc(0.3rem - 1px);
}
@ -13340,7 +13340,7 @@ textarea.form-control-lg {
}
.border {
border: 1px solid #f1f1f1 !important;
border: 1px solid #e8e8e8 !important;
}
.border-0 {
@ -13348,7 +13348,7 @@ textarea.form-control-lg {
}
.border-top {
border-top: 1px solid #f1f1f1 !important;
border-top: 1px solid #e8e8e8 !important;
}
.border-top-0 {
@ -13356,7 +13356,7 @@ textarea.form-control-lg {
}
.border-end {
border-right: 1px solid #f1f1f1 !important;
border-right: 1px solid #e8e8e8 !important;
}
.border-end-0 {
@ -13364,7 +13364,7 @@ textarea.form-control-lg {
}
.border-bottom {
border-bottom: 1px solid #f1f1f1 !important;
border-bottom: 1px solid #e8e8e8 !important;
}
.border-bottom-0 {
@ -13372,7 +13372,7 @@ textarea.form-control-lg {
}
.border-start {
border-left: 1px solid #f1f1f1 !important;
border-left: 1px solid #e8e8e8 !important;
}
.border-start-0 {
@ -17008,3 +17008,7 @@ textarea.form-control-lg {
color: #00d97e;
background-color: #ccf7e5;
}
.btn-link:focus {
box-shadow: none;
}

View File

@ -1,33 +1,33 @@
/******/ (() => { // webpackBootstrap
/******/ var __webpack_modules__ = ({
/***/ "./node_modules/axios/index.js":
/*!*************************************!*\
!*** ./node_modules/axios/index.js ***!
\*************************************/
/***/ "./node_modules/_axios@0.21.4@axios/index.js":
/*!***************************************************!*\
!*** ./node_modules/_axios@0.21.4@axios/index.js ***!
\***************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
module.exports = __webpack_require__(/*! ./lib/axios */ "./node_modules/axios/lib/axios.js");
module.exports = __webpack_require__(/*! ./lib/axios */ "./node_modules/_axios@0.21.4@axios/lib/axios.js");
/***/ }),
/***/ "./node_modules/axios/lib/adapters/xhr.js":
/*!************************************************!*\
!*** ./node_modules/axios/lib/adapters/xhr.js ***!
\************************************************/
/***/ "./node_modules/_axios@0.21.4@axios/lib/adapters/xhr.js":
/*!**************************************************************!*\
!*** ./node_modules/_axios@0.21.4@axios/lib/adapters/xhr.js ***!
\**************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js");
var settle = __webpack_require__(/*! ./../core/settle */ "./node_modules/axios/lib/core/settle.js");
var cookies = __webpack_require__(/*! ./../helpers/cookies */ "./node_modules/axios/lib/helpers/cookies.js");
var buildURL = __webpack_require__(/*! ./../helpers/buildURL */ "./node_modules/axios/lib/helpers/buildURL.js");
var buildFullPath = __webpack_require__(/*! ../core/buildFullPath */ "./node_modules/axios/lib/core/buildFullPath.js");
var parseHeaders = __webpack_require__(/*! ./../helpers/parseHeaders */ "./node_modules/axios/lib/helpers/parseHeaders.js");
var isURLSameOrigin = __webpack_require__(/*! ./../helpers/isURLSameOrigin */ "./node_modules/axios/lib/helpers/isURLSameOrigin.js");
var createError = __webpack_require__(/*! ../core/createError */ "./node_modules/axios/lib/core/createError.js");
var utils = __webpack_require__(/*! ./../utils */ "./node_modules/_axios@0.21.4@axios/lib/utils.js");
var settle = __webpack_require__(/*! ./../core/settle */ "./node_modules/_axios@0.21.4@axios/lib/core/settle.js");
var cookies = __webpack_require__(/*! ./../helpers/cookies */ "./node_modules/_axios@0.21.4@axios/lib/helpers/cookies.js");
var buildURL = __webpack_require__(/*! ./../helpers/buildURL */ "./node_modules/_axios@0.21.4@axios/lib/helpers/buildURL.js");
var buildFullPath = __webpack_require__(/*! ../core/buildFullPath */ "./node_modules/_axios@0.21.4@axios/lib/core/buildFullPath.js");
var parseHeaders = __webpack_require__(/*! ./../helpers/parseHeaders */ "./node_modules/_axios@0.21.4@axios/lib/helpers/parseHeaders.js");
var isURLSameOrigin = __webpack_require__(/*! ./../helpers/isURLSameOrigin */ "./node_modules/_axios@0.21.4@axios/lib/helpers/isURLSameOrigin.js");
var createError = __webpack_require__(/*! ../core/createError */ "./node_modules/_axios@0.21.4@axios/lib/core/createError.js");
module.exports = function xhrAdapter(config) {
return new Promise(function dispatchXhrRequest(resolve, reject) {
@ -211,20 +211,20 @@ module.exports = function xhrAdapter(config) {
/***/ }),
/***/ "./node_modules/axios/lib/axios.js":
/*!*****************************************!*\
!*** ./node_modules/axios/lib/axios.js ***!
\*****************************************/
/***/ "./node_modules/_axios@0.21.4@axios/lib/axios.js":
/*!*******************************************************!*\
!*** ./node_modules/_axios@0.21.4@axios/lib/axios.js ***!
\*******************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var utils = __webpack_require__(/*! ./utils */ "./node_modules/axios/lib/utils.js");
var bind = __webpack_require__(/*! ./helpers/bind */ "./node_modules/axios/lib/helpers/bind.js");
var Axios = __webpack_require__(/*! ./core/Axios */ "./node_modules/axios/lib/core/Axios.js");
var mergeConfig = __webpack_require__(/*! ./core/mergeConfig */ "./node_modules/axios/lib/core/mergeConfig.js");
var defaults = __webpack_require__(/*! ./defaults */ "./node_modules/axios/lib/defaults.js");
var utils = __webpack_require__(/*! ./utils */ "./node_modules/_axios@0.21.4@axios/lib/utils.js");
var bind = __webpack_require__(/*! ./helpers/bind */ "./node_modules/_axios@0.21.4@axios/lib/helpers/bind.js");
var Axios = __webpack_require__(/*! ./core/Axios */ "./node_modules/_axios@0.21.4@axios/lib/core/Axios.js");
var mergeConfig = __webpack_require__(/*! ./core/mergeConfig */ "./node_modules/_axios@0.21.4@axios/lib/core/mergeConfig.js");
var defaults = __webpack_require__(/*! ./defaults */ "./node_modules/_axios@0.21.4@axios/lib/defaults.js");
/**
* Create an instance of Axios
@ -257,18 +257,18 @@ axios.create = function create(instanceConfig) {
};
// Expose Cancel & CancelToken
axios.Cancel = __webpack_require__(/*! ./cancel/Cancel */ "./node_modules/axios/lib/cancel/Cancel.js");
axios.CancelToken = __webpack_require__(/*! ./cancel/CancelToken */ "./node_modules/axios/lib/cancel/CancelToken.js");
axios.isCancel = __webpack_require__(/*! ./cancel/isCancel */ "./node_modules/axios/lib/cancel/isCancel.js");
axios.Cancel = __webpack_require__(/*! ./cancel/Cancel */ "./node_modules/_axios@0.21.4@axios/lib/cancel/Cancel.js");
axios.CancelToken = __webpack_require__(/*! ./cancel/CancelToken */ "./node_modules/_axios@0.21.4@axios/lib/cancel/CancelToken.js");
axios.isCancel = __webpack_require__(/*! ./cancel/isCancel */ "./node_modules/_axios@0.21.4@axios/lib/cancel/isCancel.js");
// Expose all/spread
axios.all = function all(promises) {
return Promise.all(promises);
};
axios.spread = __webpack_require__(/*! ./helpers/spread */ "./node_modules/axios/lib/helpers/spread.js");
axios.spread = __webpack_require__(/*! ./helpers/spread */ "./node_modules/_axios@0.21.4@axios/lib/helpers/spread.js");
// Expose isAxiosError
axios.isAxiosError = __webpack_require__(/*! ./helpers/isAxiosError */ "./node_modules/axios/lib/helpers/isAxiosError.js");
axios.isAxiosError = __webpack_require__(/*! ./helpers/isAxiosError */ "./node_modules/_axios@0.21.4@axios/lib/helpers/isAxiosError.js");
module.exports = axios;
@ -278,10 +278,10 @@ module.exports["default"] = axios;
/***/ }),
/***/ "./node_modules/axios/lib/cancel/Cancel.js":
/*!*************************************************!*\
!*** ./node_modules/axios/lib/cancel/Cancel.js ***!
\*************************************************/
/***/ "./node_modules/_axios@0.21.4@axios/lib/cancel/Cancel.js":
/*!***************************************************************!*\
!*** ./node_modules/_axios@0.21.4@axios/lib/cancel/Cancel.js ***!
\***************************************************************/
/***/ ((module) => {
"use strict";
@ -308,16 +308,16 @@ module.exports = Cancel;
/***/ }),
/***/ "./node_modules/axios/lib/cancel/CancelToken.js":
/*!******************************************************!*\
!*** ./node_modules/axios/lib/cancel/CancelToken.js ***!
\******************************************************/
/***/ "./node_modules/_axios@0.21.4@axios/lib/cancel/CancelToken.js":
/*!********************************************************************!*\
!*** ./node_modules/_axios@0.21.4@axios/lib/cancel/CancelToken.js ***!
\********************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var Cancel = __webpack_require__(/*! ./Cancel */ "./node_modules/axios/lib/cancel/Cancel.js");
var Cancel = __webpack_require__(/*! ./Cancel */ "./node_modules/_axios@0.21.4@axios/lib/cancel/Cancel.js");
/**
* A `CancelToken` is an object that can be used to request cancellation of an operation.
@ -376,10 +376,10 @@ module.exports = CancelToken;
/***/ }),
/***/ "./node_modules/axios/lib/cancel/isCancel.js":
/*!***************************************************!*\
!*** ./node_modules/axios/lib/cancel/isCancel.js ***!
\***************************************************/
/***/ "./node_modules/_axios@0.21.4@axios/lib/cancel/isCancel.js":
/*!*****************************************************************!*\
!*** ./node_modules/_axios@0.21.4@axios/lib/cancel/isCancel.js ***!
\*****************************************************************/
/***/ ((module) => {
"use strict";
@ -392,21 +392,21 @@ module.exports = function isCancel(value) {
/***/ }),
/***/ "./node_modules/axios/lib/core/Axios.js":
/*!**********************************************!*\
!*** ./node_modules/axios/lib/core/Axios.js ***!
\**********************************************/
/***/ "./node_modules/_axios@0.21.4@axios/lib/core/Axios.js":
/*!************************************************************!*\
!*** ./node_modules/_axios@0.21.4@axios/lib/core/Axios.js ***!
\************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js");
var buildURL = __webpack_require__(/*! ../helpers/buildURL */ "./node_modules/axios/lib/helpers/buildURL.js");
var InterceptorManager = __webpack_require__(/*! ./InterceptorManager */ "./node_modules/axios/lib/core/InterceptorManager.js");
var dispatchRequest = __webpack_require__(/*! ./dispatchRequest */ "./node_modules/axios/lib/core/dispatchRequest.js");
var mergeConfig = __webpack_require__(/*! ./mergeConfig */ "./node_modules/axios/lib/core/mergeConfig.js");
var validator = __webpack_require__(/*! ../helpers/validator */ "./node_modules/axios/lib/helpers/validator.js");
var utils = __webpack_require__(/*! ./../utils */ "./node_modules/_axios@0.21.4@axios/lib/utils.js");
var buildURL = __webpack_require__(/*! ../helpers/buildURL */ "./node_modules/_axios@0.21.4@axios/lib/helpers/buildURL.js");
var InterceptorManager = __webpack_require__(/*! ./InterceptorManager */ "./node_modules/_axios@0.21.4@axios/lib/core/InterceptorManager.js");
var dispatchRequest = __webpack_require__(/*! ./dispatchRequest */ "./node_modules/_axios@0.21.4@axios/lib/core/dispatchRequest.js");
var mergeConfig = __webpack_require__(/*! ./mergeConfig */ "./node_modules/_axios@0.21.4@axios/lib/core/mergeConfig.js");
var validator = __webpack_require__(/*! ../helpers/validator */ "./node_modules/_axios@0.21.4@axios/lib/helpers/validator.js");
var validators = validator.validators;
/**
@ -551,16 +551,16 @@ module.exports = Axios;
/***/ }),
/***/ "./node_modules/axios/lib/core/InterceptorManager.js":
/*!***********************************************************!*\
!*** ./node_modules/axios/lib/core/InterceptorManager.js ***!
\***********************************************************/
/***/ "./node_modules/_axios@0.21.4@axios/lib/core/InterceptorManager.js":
/*!*************************************************************************!*\
!*** ./node_modules/_axios@0.21.4@axios/lib/core/InterceptorManager.js ***!
\*************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js");
var utils = __webpack_require__(/*! ./../utils */ "./node_modules/_axios@0.21.4@axios/lib/utils.js");
function InterceptorManager() {
this.handlers = [];
@ -616,17 +616,17 @@ module.exports = InterceptorManager;
/***/ }),
/***/ "./node_modules/axios/lib/core/buildFullPath.js":
/*!******************************************************!*\
!*** ./node_modules/axios/lib/core/buildFullPath.js ***!
\******************************************************/
/***/ "./node_modules/_axios@0.21.4@axios/lib/core/buildFullPath.js":
/*!********************************************************************!*\
!*** ./node_modules/_axios@0.21.4@axios/lib/core/buildFullPath.js ***!
\********************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var isAbsoluteURL = __webpack_require__(/*! ../helpers/isAbsoluteURL */ "./node_modules/axios/lib/helpers/isAbsoluteURL.js");
var combineURLs = __webpack_require__(/*! ../helpers/combineURLs */ "./node_modules/axios/lib/helpers/combineURLs.js");
var isAbsoluteURL = __webpack_require__(/*! ../helpers/isAbsoluteURL */ "./node_modules/_axios@0.21.4@axios/lib/helpers/isAbsoluteURL.js");
var combineURLs = __webpack_require__(/*! ../helpers/combineURLs */ "./node_modules/_axios@0.21.4@axios/lib/helpers/combineURLs.js");
/**
* Creates a new URL by combining the baseURL with the requestedURL,
@ -647,16 +647,16 @@ module.exports = function buildFullPath(baseURL, requestedURL) {
/***/ }),
/***/ "./node_modules/axios/lib/core/createError.js":
/*!****************************************************!*\
!*** ./node_modules/axios/lib/core/createError.js ***!
\****************************************************/
/***/ "./node_modules/_axios@0.21.4@axios/lib/core/createError.js":
/*!******************************************************************!*\
!*** ./node_modules/_axios@0.21.4@axios/lib/core/createError.js ***!
\******************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var enhanceError = __webpack_require__(/*! ./enhanceError */ "./node_modules/axios/lib/core/enhanceError.js");
var enhanceError = __webpack_require__(/*! ./enhanceError */ "./node_modules/_axios@0.21.4@axios/lib/core/enhanceError.js");
/**
* Create an Error with the specified message, config, error code, request and response.
@ -676,19 +676,19 @@ module.exports = function createError(message, config, code, request, response)
/***/ }),
/***/ "./node_modules/axios/lib/core/dispatchRequest.js":
/*!********************************************************!*\
!*** ./node_modules/axios/lib/core/dispatchRequest.js ***!
\********************************************************/
/***/ "./node_modules/_axios@0.21.4@axios/lib/core/dispatchRequest.js":
/*!**********************************************************************!*\
!*** ./node_modules/_axios@0.21.4@axios/lib/core/dispatchRequest.js ***!
\**********************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js");
var transformData = __webpack_require__(/*! ./transformData */ "./node_modules/axios/lib/core/transformData.js");
var isCancel = __webpack_require__(/*! ../cancel/isCancel */ "./node_modules/axios/lib/cancel/isCancel.js");
var defaults = __webpack_require__(/*! ../defaults */ "./node_modules/axios/lib/defaults.js");
var utils = __webpack_require__(/*! ./../utils */ "./node_modules/_axios@0.21.4@axios/lib/utils.js");
var transformData = __webpack_require__(/*! ./transformData */ "./node_modules/_axios@0.21.4@axios/lib/core/transformData.js");
var isCancel = __webpack_require__(/*! ../cancel/isCancel */ "./node_modules/_axios@0.21.4@axios/lib/cancel/isCancel.js");
var defaults = __webpack_require__(/*! ../defaults */ "./node_modules/_axios@0.21.4@axios/lib/defaults.js");
/**
* Throws a `Cancel` if cancellation has been requested.
@ -769,10 +769,10 @@ module.exports = function dispatchRequest(config) {
/***/ }),
/***/ "./node_modules/axios/lib/core/enhanceError.js":
/*!*****************************************************!*\
!*** ./node_modules/axios/lib/core/enhanceError.js ***!
\*****************************************************/
/***/ "./node_modules/_axios@0.21.4@axios/lib/core/enhanceError.js":
/*!*******************************************************************!*\
!*** ./node_modules/_axios@0.21.4@axios/lib/core/enhanceError.js ***!
\*******************************************************************/
/***/ ((module) => {
"use strict";
@ -822,16 +822,16 @@ module.exports = function enhanceError(error, config, code, request, response) {
/***/ }),
/***/ "./node_modules/axios/lib/core/mergeConfig.js":
/*!****************************************************!*\
!*** ./node_modules/axios/lib/core/mergeConfig.js ***!
\****************************************************/
/***/ "./node_modules/_axios@0.21.4@axios/lib/core/mergeConfig.js":
/*!******************************************************************!*\
!*** ./node_modules/_axios@0.21.4@axios/lib/core/mergeConfig.js ***!
\******************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var utils = __webpack_require__(/*! ../utils */ "./node_modules/axios/lib/utils.js");
var utils = __webpack_require__(/*! ../utils */ "./node_modules/_axios@0.21.4@axios/lib/utils.js");
/**
* Config-specific merge-function which creates a new config-object
@ -920,16 +920,16 @@ module.exports = function mergeConfig(config1, config2) {
/***/ }),
/***/ "./node_modules/axios/lib/core/settle.js":
/*!***********************************************!*\
!*** ./node_modules/axios/lib/core/settle.js ***!
\***********************************************/
/***/ "./node_modules/_axios@0.21.4@axios/lib/core/settle.js":
/*!*************************************************************!*\
!*** ./node_modules/_axios@0.21.4@axios/lib/core/settle.js ***!
\*************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var createError = __webpack_require__(/*! ./createError */ "./node_modules/axios/lib/core/createError.js");
var createError = __webpack_require__(/*! ./createError */ "./node_modules/_axios@0.21.4@axios/lib/core/createError.js");
/**
* Resolve or reject a Promise based on response status.
@ -956,17 +956,17 @@ module.exports = function settle(resolve, reject, response) {
/***/ }),
/***/ "./node_modules/axios/lib/core/transformData.js":
/*!******************************************************!*\
!*** ./node_modules/axios/lib/core/transformData.js ***!
\******************************************************/
/***/ "./node_modules/_axios@0.21.4@axios/lib/core/transformData.js":
/*!********************************************************************!*\
!*** ./node_modules/_axios@0.21.4@axios/lib/core/transformData.js ***!
\********************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js");
var defaults = __webpack_require__(/*! ./../defaults */ "./node_modules/axios/lib/defaults.js");
var utils = __webpack_require__(/*! ./../utils */ "./node_modules/_axios@0.21.4@axios/lib/utils.js");
var defaults = __webpack_require__(/*! ./../defaults */ "./node_modules/_axios@0.21.4@axios/lib/defaults.js");
/**
* Transform the data for a request or a response
@ -989,19 +989,19 @@ module.exports = function transformData(data, headers, fns) {
/***/ }),
/***/ "./node_modules/axios/lib/defaults.js":
/*!********************************************!*\
!*** ./node_modules/axios/lib/defaults.js ***!
\********************************************/
/***/ "./node_modules/_axios@0.21.4@axios/lib/defaults.js":
/*!**********************************************************!*\
!*** ./node_modules/_axios@0.21.4@axios/lib/defaults.js ***!
\**********************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
/* provided dependency */ var process = __webpack_require__(/*! process/browser.js */ "./node_modules/process/browser.js");
/* provided dependency */ var process = __webpack_require__(/*! process/browser.js */ "./node_modules/_process@0.11.10@process/browser.js");
var utils = __webpack_require__(/*! ./utils */ "./node_modules/axios/lib/utils.js");
var normalizeHeaderName = __webpack_require__(/*! ./helpers/normalizeHeaderName */ "./node_modules/axios/lib/helpers/normalizeHeaderName.js");
var enhanceError = __webpack_require__(/*! ./core/enhanceError */ "./node_modules/axios/lib/core/enhanceError.js");
var utils = __webpack_require__(/*! ./utils */ "./node_modules/_axios@0.21.4@axios/lib/utils.js");
var normalizeHeaderName = __webpack_require__(/*! ./helpers/normalizeHeaderName */ "./node_modules/_axios@0.21.4@axios/lib/helpers/normalizeHeaderName.js");
var enhanceError = __webpack_require__(/*! ./core/enhanceError */ "./node_modules/_axios@0.21.4@axios/lib/core/enhanceError.js");
var DEFAULT_CONTENT_TYPE = {
'Content-Type': 'application/x-www-form-urlencoded'
@ -1017,10 +1017,10 @@ function getDefaultAdapter() {
var adapter;
if (typeof XMLHttpRequest !== 'undefined') {
// For browsers use XHR adapter
adapter = __webpack_require__(/*! ./adapters/xhr */ "./node_modules/axios/lib/adapters/xhr.js");
adapter = __webpack_require__(/*! ./adapters/xhr */ "./node_modules/_axios@0.21.4@axios/lib/adapters/xhr.js");
} else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {
// For node use HTTP adapter
adapter = __webpack_require__(/*! ./adapters/http */ "./node_modules/axios/lib/adapters/xhr.js");
adapter = __webpack_require__(/*! ./adapters/http */ "./node_modules/_axios@0.21.4@axios/lib/adapters/xhr.js");
}
return adapter;
}
@ -1135,10 +1135,10 @@ module.exports = defaults;
/***/ }),
/***/ "./node_modules/axios/lib/helpers/bind.js":
/*!************************************************!*\
!*** ./node_modules/axios/lib/helpers/bind.js ***!
\************************************************/
/***/ "./node_modules/_axios@0.21.4@axios/lib/helpers/bind.js":
/*!**************************************************************!*\
!*** ./node_modules/_axios@0.21.4@axios/lib/helpers/bind.js ***!
\**************************************************************/
/***/ ((module) => {
"use strict";
@ -1157,16 +1157,16 @@ module.exports = function bind(fn, thisArg) {
/***/ }),
/***/ "./node_modules/axios/lib/helpers/buildURL.js":
/*!****************************************************!*\
!*** ./node_modules/axios/lib/helpers/buildURL.js ***!
\****************************************************/
/***/ "./node_modules/_axios@0.21.4@axios/lib/helpers/buildURL.js":
/*!******************************************************************!*\
!*** ./node_modules/_axios@0.21.4@axios/lib/helpers/buildURL.js ***!
\******************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js");
var utils = __webpack_require__(/*! ./../utils */ "./node_modules/_axios@0.21.4@axios/lib/utils.js");
function encode(val) {
return encodeURIComponent(val).
@ -1238,10 +1238,10 @@ module.exports = function buildURL(url, params, paramsSerializer) {
/***/ }),
/***/ "./node_modules/axios/lib/helpers/combineURLs.js":
/*!*******************************************************!*\
!*** ./node_modules/axios/lib/helpers/combineURLs.js ***!
\*******************************************************/
/***/ "./node_modules/_axios@0.21.4@axios/lib/helpers/combineURLs.js":
/*!*********************************************************************!*\
!*** ./node_modules/_axios@0.21.4@axios/lib/helpers/combineURLs.js ***!
\*********************************************************************/
/***/ ((module) => {
"use strict";
@ -1263,16 +1263,16 @@ module.exports = function combineURLs(baseURL, relativeURL) {
/***/ }),
/***/ "./node_modules/axios/lib/helpers/cookies.js":
/*!***************************************************!*\
!*** ./node_modules/axios/lib/helpers/cookies.js ***!
\***************************************************/
/***/ "./node_modules/_axios@0.21.4@axios/lib/helpers/cookies.js":
/*!*****************************************************************!*\
!*** ./node_modules/_axios@0.21.4@axios/lib/helpers/cookies.js ***!
\*****************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js");
var utils = __webpack_require__(/*! ./../utils */ "./node_modules/_axios@0.21.4@axios/lib/utils.js");
module.exports = (
utils.isStandardBrowserEnv() ?
@ -1327,10 +1327,10 @@ module.exports = (
/***/ }),
/***/ "./node_modules/axios/lib/helpers/isAbsoluteURL.js":
/*!*********************************************************!*\
!*** ./node_modules/axios/lib/helpers/isAbsoluteURL.js ***!
\*********************************************************/
/***/ "./node_modules/_axios@0.21.4@axios/lib/helpers/isAbsoluteURL.js":
/*!***********************************************************************!*\
!*** ./node_modules/_axios@0.21.4@axios/lib/helpers/isAbsoluteURL.js ***!
\***********************************************************************/
/***/ ((module) => {
"use strict";
@ -1352,10 +1352,10 @@ module.exports = function isAbsoluteURL(url) {
/***/ }),
/***/ "./node_modules/axios/lib/helpers/isAxiosError.js":
/*!********************************************************!*\
!*** ./node_modules/axios/lib/helpers/isAxiosError.js ***!
\********************************************************/
/***/ "./node_modules/_axios@0.21.4@axios/lib/helpers/isAxiosError.js":
/*!**********************************************************************!*\
!*** ./node_modules/_axios@0.21.4@axios/lib/helpers/isAxiosError.js ***!
\**********************************************************************/
/***/ ((module) => {
"use strict";
@ -1374,16 +1374,16 @@ module.exports = function isAxiosError(payload) {
/***/ }),
/***/ "./node_modules/axios/lib/helpers/isURLSameOrigin.js":
/*!***********************************************************!*\
!*** ./node_modules/axios/lib/helpers/isURLSameOrigin.js ***!
\***********************************************************/
/***/ "./node_modules/_axios@0.21.4@axios/lib/helpers/isURLSameOrigin.js":
/*!*************************************************************************!*\
!*** ./node_modules/_axios@0.21.4@axios/lib/helpers/isURLSameOrigin.js ***!
\*************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js");
var utils = __webpack_require__(/*! ./../utils */ "./node_modules/_axios@0.21.4@axios/lib/utils.js");
module.exports = (
utils.isStandardBrowserEnv() ?
@ -1453,16 +1453,16 @@ module.exports = (
/***/ }),
/***/ "./node_modules/axios/lib/helpers/normalizeHeaderName.js":
/*!***************************************************************!*\
!*** ./node_modules/axios/lib/helpers/normalizeHeaderName.js ***!
\***************************************************************/
/***/ "./node_modules/_axios@0.21.4@axios/lib/helpers/normalizeHeaderName.js":
/*!*****************************************************************************!*\
!*** ./node_modules/_axios@0.21.4@axios/lib/helpers/normalizeHeaderName.js ***!
\*****************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var utils = __webpack_require__(/*! ../utils */ "./node_modules/axios/lib/utils.js");
var utils = __webpack_require__(/*! ../utils */ "./node_modules/_axios@0.21.4@axios/lib/utils.js");
module.exports = function normalizeHeaderName(headers, normalizedName) {
utils.forEach(headers, function processHeader(value, name) {
@ -1476,16 +1476,16 @@ module.exports = function normalizeHeaderName(headers, normalizedName) {
/***/ }),
/***/ "./node_modules/axios/lib/helpers/parseHeaders.js":
/*!********************************************************!*\
!*** ./node_modules/axios/lib/helpers/parseHeaders.js ***!
\********************************************************/
/***/ "./node_modules/_axios@0.21.4@axios/lib/helpers/parseHeaders.js":
/*!**********************************************************************!*\
!*** ./node_modules/_axios@0.21.4@axios/lib/helpers/parseHeaders.js ***!
\**********************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js");
var utils = __webpack_require__(/*! ./../utils */ "./node_modules/_axios@0.21.4@axios/lib/utils.js");
// Headers whose duplicates are ignored by node
// c.f. https://nodejs.org/api/http.html#http_message_headers
@ -1540,10 +1540,10 @@ module.exports = function parseHeaders(headers) {
/***/ }),
/***/ "./node_modules/axios/lib/helpers/spread.js":
/*!**************************************************!*\
!*** ./node_modules/axios/lib/helpers/spread.js ***!
\**************************************************/
/***/ "./node_modules/_axios@0.21.4@axios/lib/helpers/spread.js":
/*!****************************************************************!*\
!*** ./node_modules/_axios@0.21.4@axios/lib/helpers/spread.js ***!
\****************************************************************/
/***/ ((module) => {
"use strict";
@ -1578,16 +1578,16 @@ module.exports = function spread(callback) {
/***/ }),
/***/ "./node_modules/axios/lib/helpers/validator.js":
/*!*****************************************************!*\
!*** ./node_modules/axios/lib/helpers/validator.js ***!
\*****************************************************/
/***/ "./node_modules/_axios@0.21.4@axios/lib/helpers/validator.js":
/*!*******************************************************************!*\
!*** ./node_modules/_axios@0.21.4@axios/lib/helpers/validator.js ***!
\*******************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var pkg = __webpack_require__(/*! ./../../package.json */ "./node_modules/axios/package.json");
var pkg = __webpack_require__(/*! ./../../package.json */ "./node_modules/_axios@0.21.4@axios/package.json");
var validators = {};
@ -1694,16 +1694,16 @@ module.exports = {
/***/ }),
/***/ "./node_modules/axios/lib/utils.js":
/*!*****************************************!*\
!*** ./node_modules/axios/lib/utils.js ***!
\*****************************************/
/***/ "./node_modules/_axios@0.21.4@axios/lib/utils.js":
/*!*******************************************************!*\
!*** ./node_modules/_axios@0.21.4@axios/lib/utils.js ***!
\*******************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var bind = __webpack_require__(/*! ./helpers/bind */ "./node_modules/axios/lib/helpers/bind.js");
var bind = __webpack_require__(/*! ./helpers/bind */ "./node_modules/_axios@0.21.4@axios/lib/helpers/bind.js");
// utils is a library of generic helper functions non-specific to axios
@ -2093,8 +2093,12 @@ $(document).on('click', '.open-file-manager', function (event) {
});
if (typeof Vue != 'undefined') {
Vue.prototype.thumbnail = function thumbnail(image, width, height) {
// 判断 image 是否以 http 开头
Vue.prototype.thumbnail = function thumbnail(image) {
if (!image) {
return 'image/placeholder.png';
} // 判断 image 是否以 http 开头
if (image.indexOf('http') === 0) {
return image;
}
@ -2340,7 +2344,15 @@ __webpack_require__.r(__webpack_exports__);
}, delay);
};
},
listDelete: function listDelete() {}
randomString: function randomString(length) {
var str = '';
for (; str.length < length; str += Math.random().toString(36).substr(2)) {
;
}
return str.substr(0, length);
}
});
/***/ }),
@ -2358,7 +2370,7 @@ __webpack_require__.r(__webpack_exports__);
/* harmony export */ });
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
window.axios = __webpack_require__(/*! axios */ "./node_modules/axios/index.js");
window.axios = __webpack_require__(/*! axios */ "./node_modules/_axios@0.21.4@axios/index.js");
var token = document.querySelector('meta[name="csrf-token"]').content;
var base = document.querySelector('base').href;
var instance = axios.create({
@ -2567,10 +2579,10 @@ __webpack_require__.r(__webpack_exports__);
/***/ }),
/***/ "./node_modules/process/browser.js":
/*!*****************************************!*\
!*** ./node_modules/process/browser.js ***!
\*****************************************/
/***/ "./node_modules/_process@0.11.10@process/browser.js":
/*!**********************************************************!*\
!*** ./node_modules/_process@0.11.10@process/browser.js ***!
\**********************************************************/
/***/ ((module) => {
// shim for using process in browser
@ -2761,14 +2773,14 @@ process.umask = function() { return 0; };
/***/ }),
/***/ "./node_modules/axios/package.json":
/*!*****************************************!*\
!*** ./node_modules/axios/package.json ***!
\*****************************************/
/***/ "./node_modules/_axios@0.21.4@axios/package.json":
/*!*******************************************************!*\
!*** ./node_modules/_axios@0.21.4@axios/package.json ***!
\*******************************************************/
/***/ ((module) => {
"use strict";
module.exports = JSON.parse('{"name":"axios","version":"0.21.4","description":"Promise based HTTP client for the browser and node.js","main":"index.js","scripts":{"test":"grunt test","start":"node ./sandbox/server.js","build":"NODE_ENV=production grunt build","preversion":"npm test","version":"npm run build && grunt version && git add -A dist && git add CHANGELOG.md bower.json package.json","postversion":"git push && git push --tags","examples":"node ./examples/server.js","coveralls":"cat coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js","fix":"eslint --fix lib/**/*.js"},"repository":{"type":"git","url":"https://github.com/axios/axios.git"},"keywords":["xhr","http","ajax","promise","node"],"author":"Matt Zabriskie","license":"MIT","bugs":{"url":"https://github.com/axios/axios/issues"},"homepage":"https://axios-http.com","devDependencies":{"coveralls":"^3.0.0","es6-promise":"^4.2.4","grunt":"^1.3.0","grunt-banner":"^0.6.0","grunt-cli":"^1.2.0","grunt-contrib-clean":"^1.1.0","grunt-contrib-watch":"^1.0.0","grunt-eslint":"^23.0.0","grunt-karma":"^4.0.0","grunt-mocha-test":"^0.13.3","grunt-ts":"^6.0.0-beta.19","grunt-webpack":"^4.0.2","istanbul-instrumenter-loader":"^1.0.0","jasmine-core":"^2.4.1","karma":"^6.3.2","karma-chrome-launcher":"^3.1.0","karma-firefox-launcher":"^2.1.0","karma-jasmine":"^1.1.1","karma-jasmine-ajax":"^0.1.13","karma-safari-launcher":"^1.0.0","karma-sauce-launcher":"^4.3.6","karma-sinon":"^1.0.5","karma-sourcemap-loader":"^0.3.8","karma-webpack":"^4.0.2","load-grunt-tasks":"^3.5.2","minimist":"^1.2.0","mocha":"^8.2.1","sinon":"^4.5.0","terser-webpack-plugin":"^4.2.3","typescript":"^4.0.5","url-search-params":"^0.10.0","webpack":"^4.44.2","webpack-dev-server":"^3.11.0"},"browser":{"./lib/adapters/http.js":"./lib/adapters/xhr.js"},"jsdelivr":"dist/axios.min.js","unpkg":"dist/axios.min.js","typings":"./index.d.ts","dependencies":{"follow-redirects":"^1.14.0"},"bundlesize":[{"path":"./dist/axios.min.js","threshold":"5kB"}]}');
module.exports = JSON.parse('{"name":"axios","version":"0.21.4","description":"Promise based HTTP client for the browser and node.js","main":"index.js","scripts":{"test":"grunt test","start":"node ./sandbox/server.js","build":"NODE_ENV=production grunt build","preversion":"npm test","version":"npm run build && grunt version && git add -A dist && git add CHANGELOG.md bower.json package.json","postversion":"git push && git push --tags","examples":"node ./examples/server.js","coveralls":"cat coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js","fix":"eslint --fix lib/**/*.js"},"repository":{"type":"git","url":"https://github.com/axios/axios.git"},"keywords":["xhr","http","ajax","promise","node"],"author":"Matt Zabriskie","license":"MIT","bugs":{"url":"https://github.com/axios/axios/issues"},"homepage":"https://axios-http.com","devDependencies":{"coveralls":"^3.0.0","es6-promise":"^4.2.4","grunt":"^1.3.0","grunt-banner":"^0.6.0","grunt-cli":"^1.2.0","grunt-contrib-clean":"^1.1.0","grunt-contrib-watch":"^1.0.0","grunt-eslint":"^23.0.0","grunt-karma":"^4.0.0","grunt-mocha-test":"^0.13.3","grunt-ts":"^6.0.0-beta.19","grunt-webpack":"^4.0.2","istanbul-instrumenter-loader":"^1.0.0","jasmine-core":"^2.4.1","karma":"^6.3.2","karma-chrome-launcher":"^3.1.0","karma-firefox-launcher":"^2.1.0","karma-jasmine":"^1.1.1","karma-jasmine-ajax":"^0.1.13","karma-safari-launcher":"^1.0.0","karma-sauce-launcher":"^4.3.6","karma-sinon":"^1.0.5","karma-sourcemap-loader":"^0.3.8","karma-webpack":"^4.0.2","load-grunt-tasks":"^3.5.2","minimist":"^1.2.0","mocha":"^8.2.1","sinon":"^4.5.0","terser-webpack-plugin":"^4.2.3","typescript":"^4.0.5","url-search-params":"^0.10.0","webpack":"^4.44.2","webpack-dev-server":"^3.11.0"},"browser":{"./lib/adapters/http.js":"./lib/adapters/xhr.js"},"jsdelivr":"dist/axios.min.js","unpkg":"dist/axios.min.js","typings":"./index.d.ts","dependencies":{"follow-redirects":"^1.14.0"},"bundlesize":[{"path":"./dist/axios.min.js","threshold":"5kB"}],"__npminstall_done":true,"_from":"axios@0.21.4","_resolved":"https://registry.npmmirror.com/axios/-/axios-0.21.4.tgz"}');
/***/ })

View File

@ -500,33 +500,84 @@ header {
body:not(.page-home) header {
box-shadow: 0 6px 12px 0 rgba(0, 0, 0, 0.04);
}
header .dropdown:hover {
background-color: #fff;
}
header .dropdown:hover .dropdown-menu {
margin: 0;
display: block;
box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
border: none;
}
header .dropdown:hover .dropdown-menu.dropdown-menu-end {
right: 0;
}
header .top-wrap {
height: 40px;
background: #F7F8FA;
display: flex;
}
header .header-content .container {
header .top-wrap .dropdown:hover {
background-color: #fff;
}
header .top-wrap .dropdown:hover .dropdown-menu {
margin: 0;
display: block;
box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
border: none;
}
header .top-wrap .dropdown:hover .dropdown-menu.dropdown-menu-end {
right: 0;
}
header .header-content {
position: relative;
}
header .header-content > .container {
display: flex;
align-items: center;
justify-content: space-between;
}
header .header-content .menu-wrap .nav-link {
color: #333;
font-size: 0.9rem;
padding-left: 1rem;
padding-right: 1rem;
header .header-content .menu-wrap .container {
max-width: 1140px;
}
@media (min-width: 1200px) {
header .header-content .menu-wrap .navbar-nav .dropdown:hover .dropdown-menu {
opacity: 1;
visibility: visible;
transform: translate(-50%);
}
header .header-content .menu-wrap .navbar-nav .dropdown > .dropdown-menu {
left: 50%;
transform: translate(-50%, 0.5rem);
transition: all 0.2s ease-in-out;
transition-property: visibility, transform, opacity;
visibility: hidden;
opacity: 0;
display: block;
transform-origin: top center;
}
}
header .header-content .menu-wrap > .navbar-nav > .nav-item > .nav-link {
font-size: 15px;
padding: 1rem;
position: relative;
}
header .header-content .menu-wrap > .navbar-nav > .nav-item > .nav-link .badge {
position: absolute;
bottom: 80%;
padding: 2px 4px;
font-weight: 400;
left: calc(50% - 0px);
margin-left: 0px;
}
header .header-content .menu-wrap > .navbar-nav > .nav-item > .nav-link .badge::before {
content: "";
position: absolute;
top: 100%;
left: 10px;
border: 4px solid;
border-color: inherit;
border-right-color: rgba(0, 0, 0, 0) !important;
border-bottom-color: rgba(0, 0, 0, 0) !important;
border-right-width: 7px;
border-left-width: 0;
}
header .header-content .menu-wrap > .navbar-nav .group-name {
font-size: 15px;
}
header .header-content .menu-wrap > .navbar-nav .ul-children a {
color: #7a7a7a;
}
header .header-content .menu-wrap > .navbar-nav .ul-children a:hover {
color: #fd560f;
}
header .header-content .logo img {
max-width: 180px;
@ -856,11 +907,6 @@ body.page-product .peoduct-info .rating-wrap .rating i {
body.page-product .peoduct-info .price-wrap {
margin-bottom: 2.4rem;
}
body.page-product .peoduct-info .price-wrap .new-price {
margin-right: 0.6rem;
font-size: 1.6rem;
line-height: 1;
}
body.page-product .peoduct-info .quantity-btns .quantity-input {
max-width: 5rem;
text-align: center;

View File

@ -1,33 +1,33 @@
/******/ (() => { // webpackBootstrap
/******/ var __webpack_modules__ = ({
/***/ "./node_modules/axios/index.js":
/*!*************************************!*\
!*** ./node_modules/axios/index.js ***!
\*************************************/
/***/ "./node_modules/_axios@0.21.4@axios/index.js":
/*!***************************************************!*\
!*** ./node_modules/_axios@0.21.4@axios/index.js ***!
\***************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
module.exports = __webpack_require__(/*! ./lib/axios */ "./node_modules/axios/lib/axios.js");
module.exports = __webpack_require__(/*! ./lib/axios */ "./node_modules/_axios@0.21.4@axios/lib/axios.js");
/***/ }),
/***/ "./node_modules/axios/lib/adapters/xhr.js":
/*!************************************************!*\
!*** ./node_modules/axios/lib/adapters/xhr.js ***!
\************************************************/
/***/ "./node_modules/_axios@0.21.4@axios/lib/adapters/xhr.js":
/*!**************************************************************!*\
!*** ./node_modules/_axios@0.21.4@axios/lib/adapters/xhr.js ***!
\**************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js");
var settle = __webpack_require__(/*! ./../core/settle */ "./node_modules/axios/lib/core/settle.js");
var cookies = __webpack_require__(/*! ./../helpers/cookies */ "./node_modules/axios/lib/helpers/cookies.js");
var buildURL = __webpack_require__(/*! ./../helpers/buildURL */ "./node_modules/axios/lib/helpers/buildURL.js");
var buildFullPath = __webpack_require__(/*! ../core/buildFullPath */ "./node_modules/axios/lib/core/buildFullPath.js");
var parseHeaders = __webpack_require__(/*! ./../helpers/parseHeaders */ "./node_modules/axios/lib/helpers/parseHeaders.js");
var isURLSameOrigin = __webpack_require__(/*! ./../helpers/isURLSameOrigin */ "./node_modules/axios/lib/helpers/isURLSameOrigin.js");
var createError = __webpack_require__(/*! ../core/createError */ "./node_modules/axios/lib/core/createError.js");
var utils = __webpack_require__(/*! ./../utils */ "./node_modules/_axios@0.21.4@axios/lib/utils.js");
var settle = __webpack_require__(/*! ./../core/settle */ "./node_modules/_axios@0.21.4@axios/lib/core/settle.js");
var cookies = __webpack_require__(/*! ./../helpers/cookies */ "./node_modules/_axios@0.21.4@axios/lib/helpers/cookies.js");
var buildURL = __webpack_require__(/*! ./../helpers/buildURL */ "./node_modules/_axios@0.21.4@axios/lib/helpers/buildURL.js");
var buildFullPath = __webpack_require__(/*! ../core/buildFullPath */ "./node_modules/_axios@0.21.4@axios/lib/core/buildFullPath.js");
var parseHeaders = __webpack_require__(/*! ./../helpers/parseHeaders */ "./node_modules/_axios@0.21.4@axios/lib/helpers/parseHeaders.js");
var isURLSameOrigin = __webpack_require__(/*! ./../helpers/isURLSameOrigin */ "./node_modules/_axios@0.21.4@axios/lib/helpers/isURLSameOrigin.js");
var createError = __webpack_require__(/*! ../core/createError */ "./node_modules/_axios@0.21.4@axios/lib/core/createError.js");
module.exports = function xhrAdapter(config) {
return new Promise(function dispatchXhrRequest(resolve, reject) {
@ -211,20 +211,20 @@ module.exports = function xhrAdapter(config) {
/***/ }),
/***/ "./node_modules/axios/lib/axios.js":
/*!*****************************************!*\
!*** ./node_modules/axios/lib/axios.js ***!
\*****************************************/
/***/ "./node_modules/_axios@0.21.4@axios/lib/axios.js":
/*!*******************************************************!*\
!*** ./node_modules/_axios@0.21.4@axios/lib/axios.js ***!
\*******************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var utils = __webpack_require__(/*! ./utils */ "./node_modules/axios/lib/utils.js");
var bind = __webpack_require__(/*! ./helpers/bind */ "./node_modules/axios/lib/helpers/bind.js");
var Axios = __webpack_require__(/*! ./core/Axios */ "./node_modules/axios/lib/core/Axios.js");
var mergeConfig = __webpack_require__(/*! ./core/mergeConfig */ "./node_modules/axios/lib/core/mergeConfig.js");
var defaults = __webpack_require__(/*! ./defaults */ "./node_modules/axios/lib/defaults.js");
var utils = __webpack_require__(/*! ./utils */ "./node_modules/_axios@0.21.4@axios/lib/utils.js");
var bind = __webpack_require__(/*! ./helpers/bind */ "./node_modules/_axios@0.21.4@axios/lib/helpers/bind.js");
var Axios = __webpack_require__(/*! ./core/Axios */ "./node_modules/_axios@0.21.4@axios/lib/core/Axios.js");
var mergeConfig = __webpack_require__(/*! ./core/mergeConfig */ "./node_modules/_axios@0.21.4@axios/lib/core/mergeConfig.js");
var defaults = __webpack_require__(/*! ./defaults */ "./node_modules/_axios@0.21.4@axios/lib/defaults.js");
/**
* Create an instance of Axios
@ -257,18 +257,18 @@ axios.create = function create(instanceConfig) {
};
// Expose Cancel & CancelToken
axios.Cancel = __webpack_require__(/*! ./cancel/Cancel */ "./node_modules/axios/lib/cancel/Cancel.js");
axios.CancelToken = __webpack_require__(/*! ./cancel/CancelToken */ "./node_modules/axios/lib/cancel/CancelToken.js");
axios.isCancel = __webpack_require__(/*! ./cancel/isCancel */ "./node_modules/axios/lib/cancel/isCancel.js");
axios.Cancel = __webpack_require__(/*! ./cancel/Cancel */ "./node_modules/_axios@0.21.4@axios/lib/cancel/Cancel.js");
axios.CancelToken = __webpack_require__(/*! ./cancel/CancelToken */ "./node_modules/_axios@0.21.4@axios/lib/cancel/CancelToken.js");
axios.isCancel = __webpack_require__(/*! ./cancel/isCancel */ "./node_modules/_axios@0.21.4@axios/lib/cancel/isCancel.js");
// Expose all/spread
axios.all = function all(promises) {
return Promise.all(promises);
};
axios.spread = __webpack_require__(/*! ./helpers/spread */ "./node_modules/axios/lib/helpers/spread.js");
axios.spread = __webpack_require__(/*! ./helpers/spread */ "./node_modules/_axios@0.21.4@axios/lib/helpers/spread.js");
// Expose isAxiosError
axios.isAxiosError = __webpack_require__(/*! ./helpers/isAxiosError */ "./node_modules/axios/lib/helpers/isAxiosError.js");
axios.isAxiosError = __webpack_require__(/*! ./helpers/isAxiosError */ "./node_modules/_axios@0.21.4@axios/lib/helpers/isAxiosError.js");
module.exports = axios;
@ -278,10 +278,10 @@ module.exports["default"] = axios;
/***/ }),
/***/ "./node_modules/axios/lib/cancel/Cancel.js":
/*!*************************************************!*\
!*** ./node_modules/axios/lib/cancel/Cancel.js ***!
\*************************************************/
/***/ "./node_modules/_axios@0.21.4@axios/lib/cancel/Cancel.js":
/*!***************************************************************!*\
!*** ./node_modules/_axios@0.21.4@axios/lib/cancel/Cancel.js ***!
\***************************************************************/
/***/ ((module) => {
"use strict";
@ -308,16 +308,16 @@ module.exports = Cancel;
/***/ }),
/***/ "./node_modules/axios/lib/cancel/CancelToken.js":
/*!******************************************************!*\
!*** ./node_modules/axios/lib/cancel/CancelToken.js ***!
\******************************************************/
/***/ "./node_modules/_axios@0.21.4@axios/lib/cancel/CancelToken.js":
/*!********************************************************************!*\
!*** ./node_modules/_axios@0.21.4@axios/lib/cancel/CancelToken.js ***!
\********************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var Cancel = __webpack_require__(/*! ./Cancel */ "./node_modules/axios/lib/cancel/Cancel.js");
var Cancel = __webpack_require__(/*! ./Cancel */ "./node_modules/_axios@0.21.4@axios/lib/cancel/Cancel.js");
/**
* A `CancelToken` is an object that can be used to request cancellation of an operation.
@ -376,10 +376,10 @@ module.exports = CancelToken;
/***/ }),
/***/ "./node_modules/axios/lib/cancel/isCancel.js":
/*!***************************************************!*\
!*** ./node_modules/axios/lib/cancel/isCancel.js ***!
\***************************************************/
/***/ "./node_modules/_axios@0.21.4@axios/lib/cancel/isCancel.js":
/*!*****************************************************************!*\
!*** ./node_modules/_axios@0.21.4@axios/lib/cancel/isCancel.js ***!
\*****************************************************************/
/***/ ((module) => {
"use strict";
@ -392,21 +392,21 @@ module.exports = function isCancel(value) {
/***/ }),
/***/ "./node_modules/axios/lib/core/Axios.js":
/*!**********************************************!*\
!*** ./node_modules/axios/lib/core/Axios.js ***!
\**********************************************/
/***/ "./node_modules/_axios@0.21.4@axios/lib/core/Axios.js":
/*!************************************************************!*\
!*** ./node_modules/_axios@0.21.4@axios/lib/core/Axios.js ***!
\************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js");
var buildURL = __webpack_require__(/*! ../helpers/buildURL */ "./node_modules/axios/lib/helpers/buildURL.js");
var InterceptorManager = __webpack_require__(/*! ./InterceptorManager */ "./node_modules/axios/lib/core/InterceptorManager.js");
var dispatchRequest = __webpack_require__(/*! ./dispatchRequest */ "./node_modules/axios/lib/core/dispatchRequest.js");
var mergeConfig = __webpack_require__(/*! ./mergeConfig */ "./node_modules/axios/lib/core/mergeConfig.js");
var validator = __webpack_require__(/*! ../helpers/validator */ "./node_modules/axios/lib/helpers/validator.js");
var utils = __webpack_require__(/*! ./../utils */ "./node_modules/_axios@0.21.4@axios/lib/utils.js");
var buildURL = __webpack_require__(/*! ../helpers/buildURL */ "./node_modules/_axios@0.21.4@axios/lib/helpers/buildURL.js");
var InterceptorManager = __webpack_require__(/*! ./InterceptorManager */ "./node_modules/_axios@0.21.4@axios/lib/core/InterceptorManager.js");
var dispatchRequest = __webpack_require__(/*! ./dispatchRequest */ "./node_modules/_axios@0.21.4@axios/lib/core/dispatchRequest.js");
var mergeConfig = __webpack_require__(/*! ./mergeConfig */ "./node_modules/_axios@0.21.4@axios/lib/core/mergeConfig.js");
var validator = __webpack_require__(/*! ../helpers/validator */ "./node_modules/_axios@0.21.4@axios/lib/helpers/validator.js");
var validators = validator.validators;
/**
@ -551,16 +551,16 @@ module.exports = Axios;
/***/ }),
/***/ "./node_modules/axios/lib/core/InterceptorManager.js":
/*!***********************************************************!*\
!*** ./node_modules/axios/lib/core/InterceptorManager.js ***!
\***********************************************************/
/***/ "./node_modules/_axios@0.21.4@axios/lib/core/InterceptorManager.js":
/*!*************************************************************************!*\
!*** ./node_modules/_axios@0.21.4@axios/lib/core/InterceptorManager.js ***!
\*************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js");
var utils = __webpack_require__(/*! ./../utils */ "./node_modules/_axios@0.21.4@axios/lib/utils.js");
function InterceptorManager() {
this.handlers = [];
@ -616,17 +616,17 @@ module.exports = InterceptorManager;
/***/ }),
/***/ "./node_modules/axios/lib/core/buildFullPath.js":
/*!******************************************************!*\
!*** ./node_modules/axios/lib/core/buildFullPath.js ***!
\******************************************************/
/***/ "./node_modules/_axios@0.21.4@axios/lib/core/buildFullPath.js":
/*!********************************************************************!*\
!*** ./node_modules/_axios@0.21.4@axios/lib/core/buildFullPath.js ***!
\********************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var isAbsoluteURL = __webpack_require__(/*! ../helpers/isAbsoluteURL */ "./node_modules/axios/lib/helpers/isAbsoluteURL.js");
var combineURLs = __webpack_require__(/*! ../helpers/combineURLs */ "./node_modules/axios/lib/helpers/combineURLs.js");
var isAbsoluteURL = __webpack_require__(/*! ../helpers/isAbsoluteURL */ "./node_modules/_axios@0.21.4@axios/lib/helpers/isAbsoluteURL.js");
var combineURLs = __webpack_require__(/*! ../helpers/combineURLs */ "./node_modules/_axios@0.21.4@axios/lib/helpers/combineURLs.js");
/**
* Creates a new URL by combining the baseURL with the requestedURL,
@ -647,16 +647,16 @@ module.exports = function buildFullPath(baseURL, requestedURL) {
/***/ }),
/***/ "./node_modules/axios/lib/core/createError.js":
/*!****************************************************!*\
!*** ./node_modules/axios/lib/core/createError.js ***!
\****************************************************/
/***/ "./node_modules/_axios@0.21.4@axios/lib/core/createError.js":
/*!******************************************************************!*\
!*** ./node_modules/_axios@0.21.4@axios/lib/core/createError.js ***!
\******************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var enhanceError = __webpack_require__(/*! ./enhanceError */ "./node_modules/axios/lib/core/enhanceError.js");
var enhanceError = __webpack_require__(/*! ./enhanceError */ "./node_modules/_axios@0.21.4@axios/lib/core/enhanceError.js");
/**
* Create an Error with the specified message, config, error code, request and response.
@ -676,19 +676,19 @@ module.exports = function createError(message, config, code, request, response)
/***/ }),
/***/ "./node_modules/axios/lib/core/dispatchRequest.js":
/*!********************************************************!*\
!*** ./node_modules/axios/lib/core/dispatchRequest.js ***!
\********************************************************/
/***/ "./node_modules/_axios@0.21.4@axios/lib/core/dispatchRequest.js":
/*!**********************************************************************!*\
!*** ./node_modules/_axios@0.21.4@axios/lib/core/dispatchRequest.js ***!
\**********************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js");
var transformData = __webpack_require__(/*! ./transformData */ "./node_modules/axios/lib/core/transformData.js");
var isCancel = __webpack_require__(/*! ../cancel/isCancel */ "./node_modules/axios/lib/cancel/isCancel.js");
var defaults = __webpack_require__(/*! ../defaults */ "./node_modules/axios/lib/defaults.js");
var utils = __webpack_require__(/*! ./../utils */ "./node_modules/_axios@0.21.4@axios/lib/utils.js");
var transformData = __webpack_require__(/*! ./transformData */ "./node_modules/_axios@0.21.4@axios/lib/core/transformData.js");
var isCancel = __webpack_require__(/*! ../cancel/isCancel */ "./node_modules/_axios@0.21.4@axios/lib/cancel/isCancel.js");
var defaults = __webpack_require__(/*! ../defaults */ "./node_modules/_axios@0.21.4@axios/lib/defaults.js");
/**
* Throws a `Cancel` if cancellation has been requested.
@ -769,10 +769,10 @@ module.exports = function dispatchRequest(config) {
/***/ }),
/***/ "./node_modules/axios/lib/core/enhanceError.js":
/*!*****************************************************!*\
!*** ./node_modules/axios/lib/core/enhanceError.js ***!
\*****************************************************/
/***/ "./node_modules/_axios@0.21.4@axios/lib/core/enhanceError.js":
/*!*******************************************************************!*\
!*** ./node_modules/_axios@0.21.4@axios/lib/core/enhanceError.js ***!
\*******************************************************************/
/***/ ((module) => {
"use strict";
@ -822,16 +822,16 @@ module.exports = function enhanceError(error, config, code, request, response) {
/***/ }),
/***/ "./node_modules/axios/lib/core/mergeConfig.js":
/*!****************************************************!*\
!*** ./node_modules/axios/lib/core/mergeConfig.js ***!
\****************************************************/
/***/ "./node_modules/_axios@0.21.4@axios/lib/core/mergeConfig.js":
/*!******************************************************************!*\
!*** ./node_modules/_axios@0.21.4@axios/lib/core/mergeConfig.js ***!
\******************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var utils = __webpack_require__(/*! ../utils */ "./node_modules/axios/lib/utils.js");
var utils = __webpack_require__(/*! ../utils */ "./node_modules/_axios@0.21.4@axios/lib/utils.js");
/**
* Config-specific merge-function which creates a new config-object
@ -920,16 +920,16 @@ module.exports = function mergeConfig(config1, config2) {
/***/ }),
/***/ "./node_modules/axios/lib/core/settle.js":
/*!***********************************************!*\
!*** ./node_modules/axios/lib/core/settle.js ***!
\***********************************************/
/***/ "./node_modules/_axios@0.21.4@axios/lib/core/settle.js":
/*!*************************************************************!*\
!*** ./node_modules/_axios@0.21.4@axios/lib/core/settle.js ***!
\*************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var createError = __webpack_require__(/*! ./createError */ "./node_modules/axios/lib/core/createError.js");
var createError = __webpack_require__(/*! ./createError */ "./node_modules/_axios@0.21.4@axios/lib/core/createError.js");
/**
* Resolve or reject a Promise based on response status.
@ -956,17 +956,17 @@ module.exports = function settle(resolve, reject, response) {
/***/ }),
/***/ "./node_modules/axios/lib/core/transformData.js":
/*!******************************************************!*\
!*** ./node_modules/axios/lib/core/transformData.js ***!
\******************************************************/
/***/ "./node_modules/_axios@0.21.4@axios/lib/core/transformData.js":
/*!********************************************************************!*\
!*** ./node_modules/_axios@0.21.4@axios/lib/core/transformData.js ***!
\********************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js");
var defaults = __webpack_require__(/*! ./../defaults */ "./node_modules/axios/lib/defaults.js");
var utils = __webpack_require__(/*! ./../utils */ "./node_modules/_axios@0.21.4@axios/lib/utils.js");
var defaults = __webpack_require__(/*! ./../defaults */ "./node_modules/_axios@0.21.4@axios/lib/defaults.js");
/**
* Transform the data for a request or a response
@ -989,19 +989,19 @@ module.exports = function transformData(data, headers, fns) {
/***/ }),
/***/ "./node_modules/axios/lib/defaults.js":
/*!********************************************!*\
!*** ./node_modules/axios/lib/defaults.js ***!
\********************************************/
/***/ "./node_modules/_axios@0.21.4@axios/lib/defaults.js":
/*!**********************************************************!*\
!*** ./node_modules/_axios@0.21.4@axios/lib/defaults.js ***!
\**********************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
/* provided dependency */ var process = __webpack_require__(/*! process/browser.js */ "./node_modules/process/browser.js");
/* provided dependency */ var process = __webpack_require__(/*! process/browser.js */ "./node_modules/_process@0.11.10@process/browser.js");
var utils = __webpack_require__(/*! ./utils */ "./node_modules/axios/lib/utils.js");
var normalizeHeaderName = __webpack_require__(/*! ./helpers/normalizeHeaderName */ "./node_modules/axios/lib/helpers/normalizeHeaderName.js");
var enhanceError = __webpack_require__(/*! ./core/enhanceError */ "./node_modules/axios/lib/core/enhanceError.js");
var utils = __webpack_require__(/*! ./utils */ "./node_modules/_axios@0.21.4@axios/lib/utils.js");
var normalizeHeaderName = __webpack_require__(/*! ./helpers/normalizeHeaderName */ "./node_modules/_axios@0.21.4@axios/lib/helpers/normalizeHeaderName.js");
var enhanceError = __webpack_require__(/*! ./core/enhanceError */ "./node_modules/_axios@0.21.4@axios/lib/core/enhanceError.js");
var DEFAULT_CONTENT_TYPE = {
'Content-Type': 'application/x-www-form-urlencoded'
@ -1017,10 +1017,10 @@ function getDefaultAdapter() {
var adapter;
if (typeof XMLHttpRequest !== 'undefined') {
// For browsers use XHR adapter
adapter = __webpack_require__(/*! ./adapters/xhr */ "./node_modules/axios/lib/adapters/xhr.js");
adapter = __webpack_require__(/*! ./adapters/xhr */ "./node_modules/_axios@0.21.4@axios/lib/adapters/xhr.js");
} else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {
// For node use HTTP adapter
adapter = __webpack_require__(/*! ./adapters/http */ "./node_modules/axios/lib/adapters/xhr.js");
adapter = __webpack_require__(/*! ./adapters/http */ "./node_modules/_axios@0.21.4@axios/lib/adapters/xhr.js");
}
return adapter;
}
@ -1135,10 +1135,10 @@ module.exports = defaults;
/***/ }),
/***/ "./node_modules/axios/lib/helpers/bind.js":
/*!************************************************!*\
!*** ./node_modules/axios/lib/helpers/bind.js ***!
\************************************************/
/***/ "./node_modules/_axios@0.21.4@axios/lib/helpers/bind.js":
/*!**************************************************************!*\
!*** ./node_modules/_axios@0.21.4@axios/lib/helpers/bind.js ***!
\**************************************************************/
/***/ ((module) => {
"use strict";
@ -1157,16 +1157,16 @@ module.exports = function bind(fn, thisArg) {
/***/ }),
/***/ "./node_modules/axios/lib/helpers/buildURL.js":
/*!****************************************************!*\
!*** ./node_modules/axios/lib/helpers/buildURL.js ***!
\****************************************************/
/***/ "./node_modules/_axios@0.21.4@axios/lib/helpers/buildURL.js":
/*!******************************************************************!*\
!*** ./node_modules/_axios@0.21.4@axios/lib/helpers/buildURL.js ***!
\******************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js");
var utils = __webpack_require__(/*! ./../utils */ "./node_modules/_axios@0.21.4@axios/lib/utils.js");
function encode(val) {
return encodeURIComponent(val).
@ -1238,10 +1238,10 @@ module.exports = function buildURL(url, params, paramsSerializer) {
/***/ }),
/***/ "./node_modules/axios/lib/helpers/combineURLs.js":
/*!*******************************************************!*\
!*** ./node_modules/axios/lib/helpers/combineURLs.js ***!
\*******************************************************/
/***/ "./node_modules/_axios@0.21.4@axios/lib/helpers/combineURLs.js":
/*!*********************************************************************!*\
!*** ./node_modules/_axios@0.21.4@axios/lib/helpers/combineURLs.js ***!
\*********************************************************************/
/***/ ((module) => {
"use strict";
@ -1263,16 +1263,16 @@ module.exports = function combineURLs(baseURL, relativeURL) {
/***/ }),
/***/ "./node_modules/axios/lib/helpers/cookies.js":
/*!***************************************************!*\
!*** ./node_modules/axios/lib/helpers/cookies.js ***!
\***************************************************/
/***/ "./node_modules/_axios@0.21.4@axios/lib/helpers/cookies.js":
/*!*****************************************************************!*\
!*** ./node_modules/_axios@0.21.4@axios/lib/helpers/cookies.js ***!
\*****************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js");
var utils = __webpack_require__(/*! ./../utils */ "./node_modules/_axios@0.21.4@axios/lib/utils.js");
module.exports = (
utils.isStandardBrowserEnv() ?
@ -1327,10 +1327,10 @@ module.exports = (
/***/ }),
/***/ "./node_modules/axios/lib/helpers/isAbsoluteURL.js":
/*!*********************************************************!*\
!*** ./node_modules/axios/lib/helpers/isAbsoluteURL.js ***!
\*********************************************************/
/***/ "./node_modules/_axios@0.21.4@axios/lib/helpers/isAbsoluteURL.js":
/*!***********************************************************************!*\
!*** ./node_modules/_axios@0.21.4@axios/lib/helpers/isAbsoluteURL.js ***!
\***********************************************************************/
/***/ ((module) => {
"use strict";
@ -1352,10 +1352,10 @@ module.exports = function isAbsoluteURL(url) {
/***/ }),
/***/ "./node_modules/axios/lib/helpers/isAxiosError.js":
/*!********************************************************!*\
!*** ./node_modules/axios/lib/helpers/isAxiosError.js ***!
\********************************************************/
/***/ "./node_modules/_axios@0.21.4@axios/lib/helpers/isAxiosError.js":
/*!**********************************************************************!*\
!*** ./node_modules/_axios@0.21.4@axios/lib/helpers/isAxiosError.js ***!
\**********************************************************************/
/***/ ((module) => {
"use strict";
@ -1374,16 +1374,16 @@ module.exports = function isAxiosError(payload) {
/***/ }),
/***/ "./node_modules/axios/lib/helpers/isURLSameOrigin.js":
/*!***********************************************************!*\
!*** ./node_modules/axios/lib/helpers/isURLSameOrigin.js ***!
\***********************************************************/
/***/ "./node_modules/_axios@0.21.4@axios/lib/helpers/isURLSameOrigin.js":
/*!*************************************************************************!*\
!*** ./node_modules/_axios@0.21.4@axios/lib/helpers/isURLSameOrigin.js ***!
\*************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js");
var utils = __webpack_require__(/*! ./../utils */ "./node_modules/_axios@0.21.4@axios/lib/utils.js");
module.exports = (
utils.isStandardBrowserEnv() ?
@ -1453,16 +1453,16 @@ module.exports = (
/***/ }),
/***/ "./node_modules/axios/lib/helpers/normalizeHeaderName.js":
/*!***************************************************************!*\
!*** ./node_modules/axios/lib/helpers/normalizeHeaderName.js ***!
\***************************************************************/
/***/ "./node_modules/_axios@0.21.4@axios/lib/helpers/normalizeHeaderName.js":
/*!*****************************************************************************!*\
!*** ./node_modules/_axios@0.21.4@axios/lib/helpers/normalizeHeaderName.js ***!
\*****************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var utils = __webpack_require__(/*! ../utils */ "./node_modules/axios/lib/utils.js");
var utils = __webpack_require__(/*! ../utils */ "./node_modules/_axios@0.21.4@axios/lib/utils.js");
module.exports = function normalizeHeaderName(headers, normalizedName) {
utils.forEach(headers, function processHeader(value, name) {
@ -1476,16 +1476,16 @@ module.exports = function normalizeHeaderName(headers, normalizedName) {
/***/ }),
/***/ "./node_modules/axios/lib/helpers/parseHeaders.js":
/*!********************************************************!*\
!*** ./node_modules/axios/lib/helpers/parseHeaders.js ***!
\********************************************************/
/***/ "./node_modules/_axios@0.21.4@axios/lib/helpers/parseHeaders.js":
/*!**********************************************************************!*\
!*** ./node_modules/_axios@0.21.4@axios/lib/helpers/parseHeaders.js ***!
\**********************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js");
var utils = __webpack_require__(/*! ./../utils */ "./node_modules/_axios@0.21.4@axios/lib/utils.js");
// Headers whose duplicates are ignored by node
// c.f. https://nodejs.org/api/http.html#http_message_headers
@ -1540,10 +1540,10 @@ module.exports = function parseHeaders(headers) {
/***/ }),
/***/ "./node_modules/axios/lib/helpers/spread.js":
/*!**************************************************!*\
!*** ./node_modules/axios/lib/helpers/spread.js ***!
\**************************************************/
/***/ "./node_modules/_axios@0.21.4@axios/lib/helpers/spread.js":
/*!****************************************************************!*\
!*** ./node_modules/_axios@0.21.4@axios/lib/helpers/spread.js ***!
\****************************************************************/
/***/ ((module) => {
"use strict";
@ -1578,16 +1578,16 @@ module.exports = function spread(callback) {
/***/ }),
/***/ "./node_modules/axios/lib/helpers/validator.js":
/*!*****************************************************!*\
!*** ./node_modules/axios/lib/helpers/validator.js ***!
\*****************************************************/
/***/ "./node_modules/_axios@0.21.4@axios/lib/helpers/validator.js":
/*!*******************************************************************!*\
!*** ./node_modules/_axios@0.21.4@axios/lib/helpers/validator.js ***!
\*******************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var pkg = __webpack_require__(/*! ./../../package.json */ "./node_modules/axios/package.json");
var pkg = __webpack_require__(/*! ./../../package.json */ "./node_modules/_axios@0.21.4@axios/package.json");
var validators = {};
@ -1694,16 +1694,16 @@ module.exports = {
/***/ }),
/***/ "./node_modules/axios/lib/utils.js":
/*!*****************************************!*\
!*** ./node_modules/axios/lib/utils.js ***!
\*****************************************/
/***/ "./node_modules/_axios@0.21.4@axios/lib/utils.js":
/*!*******************************************************!*\
!*** ./node_modules/_axios@0.21.4@axios/lib/utils.js ***!
\*******************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var bind = __webpack_require__(/*! ./helpers/bind */ "./node_modules/axios/lib/helpers/bind.js");
var bind = __webpack_require__(/*! ./helpers/bind */ "./node_modules/_axios@0.21.4@axios/lib/helpers/bind.js");
// utils is a library of generic helper functions non-specific to axios
@ -2153,7 +2153,7 @@ __webpack_require__.r(__webpack_exports__);
}).then(function (res) {
layer.msg(res.message);
$btn.attr('data-in-wishlist', '0');
})["finally"](function () {
})["finally"](function (e) {
$btn.html(btnHtml).prop('disabled', false).find('i.bi').prop('class', 'bi bi-heart');
});
} else {
@ -2165,7 +2165,7 @@ __webpack_require__.r(__webpack_exports__);
}).then(function (res) {
layer.msg(res.message);
$btn.attr('data-in-wishlist', res.data.id);
})["finally"](function () {
})["finally"](function (e) {
$btn.html(btnHtml).prop('disabled', false).find('i.bi').prop('class', 'bi bi-heart-fill');
});
}
@ -2230,8 +2230,10 @@ $(function () {
$('#offcanvas-search-top input').focus();
$('#offcanvas-search-top input').keydown(function (e) {
if (e.keyCode == 13) {
console.log('enter');
$('#offcanvas-search-top .btn-search').click();
if ($(this).val() != '') {
location.href = 'products/search?keyword=' + $(this).val();
} // $('#offcanvas-search-top .btn-search').click();
}
});
});
@ -2282,7 +2284,7 @@ __webpack_require__.r(__webpack_exports__);
/* harmony export */ });
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
window.axios = __webpack_require__(/*! axios */ "./node_modules/axios/index.js");
window.axios = __webpack_require__(/*! axios */ "./node_modules/_axios@0.21.4@axios/index.js");
var token = document.querySelector('meta[name="csrf-token"]').content;
var base = document.querySelector('base').href;
var instance = axios.create({
@ -2413,10 +2415,10 @@ axios.defaults.baseURL = base;
/***/ }),
/***/ "./node_modules/process/browser.js":
/*!*****************************************!*\
!*** ./node_modules/process/browser.js ***!
\*****************************************/
/***/ "./node_modules/_process@0.11.10@process/browser.js":
/*!**********************************************************!*\
!*** ./node_modules/_process@0.11.10@process/browser.js ***!
\**********************************************************/
/***/ ((module) => {
// shim for using process in browser
@ -2607,14 +2609,14 @@ process.umask = function() { return 0; };
/***/ }),
/***/ "./node_modules/axios/package.json":
/*!*****************************************!*\
!*** ./node_modules/axios/package.json ***!
\*****************************************/
/***/ "./node_modules/_axios@0.21.4@axios/package.json":
/*!*******************************************************!*\
!*** ./node_modules/_axios@0.21.4@axios/package.json ***!
\*******************************************************/
/***/ ((module) => {
"use strict";
module.exports = JSON.parse('{"name":"axios","version":"0.21.4","description":"Promise based HTTP client for the browser and node.js","main":"index.js","scripts":{"test":"grunt test","start":"node ./sandbox/server.js","build":"NODE_ENV=production grunt build","preversion":"npm test","version":"npm run build && grunt version && git add -A dist && git add CHANGELOG.md bower.json package.json","postversion":"git push && git push --tags","examples":"node ./examples/server.js","coveralls":"cat coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js","fix":"eslint --fix lib/**/*.js"},"repository":{"type":"git","url":"https://github.com/axios/axios.git"},"keywords":["xhr","http","ajax","promise","node"],"author":"Matt Zabriskie","license":"MIT","bugs":{"url":"https://github.com/axios/axios/issues"},"homepage":"https://axios-http.com","devDependencies":{"coveralls":"^3.0.0","es6-promise":"^4.2.4","grunt":"^1.3.0","grunt-banner":"^0.6.0","grunt-cli":"^1.2.0","grunt-contrib-clean":"^1.1.0","grunt-contrib-watch":"^1.0.0","grunt-eslint":"^23.0.0","grunt-karma":"^4.0.0","grunt-mocha-test":"^0.13.3","grunt-ts":"^6.0.0-beta.19","grunt-webpack":"^4.0.2","istanbul-instrumenter-loader":"^1.0.0","jasmine-core":"^2.4.1","karma":"^6.3.2","karma-chrome-launcher":"^3.1.0","karma-firefox-launcher":"^2.1.0","karma-jasmine":"^1.1.1","karma-jasmine-ajax":"^0.1.13","karma-safari-launcher":"^1.0.0","karma-sauce-launcher":"^4.3.6","karma-sinon":"^1.0.5","karma-sourcemap-loader":"^0.3.8","karma-webpack":"^4.0.2","load-grunt-tasks":"^3.5.2","minimist":"^1.2.0","mocha":"^8.2.1","sinon":"^4.5.0","terser-webpack-plugin":"^4.2.3","typescript":"^4.0.5","url-search-params":"^0.10.0","webpack":"^4.44.2","webpack-dev-server":"^3.11.0"},"browser":{"./lib/adapters/http.js":"./lib/adapters/xhr.js"},"jsdelivr":"dist/axios.min.js","unpkg":"dist/axios.min.js","typings":"./index.d.ts","dependencies":{"follow-redirects":"^1.14.0"},"bundlesize":[{"path":"./dist/axios.min.js","threshold":"5kB"}]}');
module.exports = JSON.parse('{"name":"axios","version":"0.21.4","description":"Promise based HTTP client for the browser and node.js","main":"index.js","scripts":{"test":"grunt test","start":"node ./sandbox/server.js","build":"NODE_ENV=production grunt build","preversion":"npm test","version":"npm run build && grunt version && git add -A dist && git add CHANGELOG.md bower.json package.json","postversion":"git push && git push --tags","examples":"node ./examples/server.js","coveralls":"cat coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js","fix":"eslint --fix lib/**/*.js"},"repository":{"type":"git","url":"https://github.com/axios/axios.git"},"keywords":["xhr","http","ajax","promise","node"],"author":"Matt Zabriskie","license":"MIT","bugs":{"url":"https://github.com/axios/axios/issues"},"homepage":"https://axios-http.com","devDependencies":{"coveralls":"^3.0.0","es6-promise":"^4.2.4","grunt":"^1.3.0","grunt-banner":"^0.6.0","grunt-cli":"^1.2.0","grunt-contrib-clean":"^1.1.0","grunt-contrib-watch":"^1.0.0","grunt-eslint":"^23.0.0","grunt-karma":"^4.0.0","grunt-mocha-test":"^0.13.3","grunt-ts":"^6.0.0-beta.19","grunt-webpack":"^4.0.2","istanbul-instrumenter-loader":"^1.0.0","jasmine-core":"^2.4.1","karma":"^6.3.2","karma-chrome-launcher":"^3.1.0","karma-firefox-launcher":"^2.1.0","karma-jasmine":"^1.1.1","karma-jasmine-ajax":"^0.1.13","karma-safari-launcher":"^1.0.0","karma-sauce-launcher":"^4.3.6","karma-sinon":"^1.0.5","karma-sourcemap-loader":"^0.3.8","karma-webpack":"^4.0.2","load-grunt-tasks":"^3.5.2","minimist":"^1.2.0","mocha":"^8.2.1","sinon":"^4.5.0","terser-webpack-plugin":"^4.2.3","typescript":"^4.0.5","url-search-params":"^0.10.0","webpack":"^4.44.2","webpack-dev-server":"^3.11.0"},"browser":{"./lib/adapters/http.js":"./lib/adapters/xhr.js"},"jsdelivr":"dist/axios.min.js","unpkg":"dist/axios.min.js","typings":"./index.d.ts","dependencies":{"follow-redirects":"^1.14.0"},"bundlesize":[{"path":"./dist/axios.min.js","threshold":"5kB"}],"__npminstall_done":true,"_from":"axios@0.21.4","_resolved":"https://registry.npmmirror.com/axios/-/axios-0.21.4.tgz"}');
/***/ })

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

11841
public/vendor/vue/2.7/vue.js vendored Normal file

File diff suppressed because it is too large Load Diff

11
public/vendor/vue/2.7/vue.min.js vendored Normal file

File diff suppressed because one or more lines are too long

15934
public/vendor/vue/3/vue.global.js vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@ -77,6 +77,18 @@
}
}
.cursor-pointer {
cursor: pointer;
}
.cursor-scroll {
cursor: all-scroll;
}
.flex-1 {
flex: 1;
}
.help-text {
color: #B2B2B2;
margin-top: 4px;

View File

@ -43,6 +43,9 @@
list-style: none;
> li {
padding: 0 1rem;
@media screen and (max-width: 991px) {
padding: 0 .3rem;
}
.dropdown {
&:hover {

View File

@ -16,11 +16,11 @@
background: #fff;
border-right: 1px solid #f1f1f1;
@media screen and (max-width: 991px) {
position: fixed;
top: 0;
bottom: 0;
}
// @media screen and (max-width: 991px) {
// position: fixed;
// top: 0;
// bottom: 0;
// }
.navbar-nav {
> li.nav-item {

View File

@ -24,3 +24,4 @@ $primary: #fd560f;
@import 'page-product';
@import 'autocomplete';
@import 'page-category';
@import './design/menu';

View File

@ -18,6 +18,8 @@ $border-radius: 0;
$btn-border-radius: 0;
$btn-border-radius-sm: 0;
$btn-border-radius-lg: 0;
$input-btn-focus-box-shadow: 0 0 11px 0 rgba($color: $primary, $alpha: .1);
// $btn-border-width: 0;
$font-size-base: 0.82rem;
$form-check-input-width: 1.2em;
@ -30,7 +32,7 @@ $form-floating-padding-y: .9rem;
$form-floating-height: 50px;
$btn-focus-width: 0;
$table-border-color: #e9ecef;
$border-color: #f1f1f1;
$border-color: #e8e8e8;
$input-border-color: #e2e2e2;
$badge-border-radius: 2px;
$text-muted: #95aac9;
@ -61,4 +63,10 @@ $alert-padding-y: 0.5rem;
.badge.bg-success-soft {
color: #00d97e;
background-color: #ccf7e5;
}
.btn-link {
&:focus {
box-shadow: none;
}
}

View File

@ -0,0 +1,51 @@
@charset "UTF-8";
.design-wrap {
flex-wrap: wrap;
.menus-wrap {
> div {
cursor: pointer;
&:not(.list-group-item-primary):hover {
background-color: #f5f5f5;
}
}
}
.left {
.menus-wrap {
.link-selector-wrap {
// flex: 1;
width: calc(100% - 20px);
.selector-type .title {
border: none;
padding: 8px 16px 8px 6px;
background-color: transparent;
}
}
}
}
.right {
width: calc(100% - 220px);
.menu-children-group {
.group-children {
.children-item {
background-color: #f5f5f5;
.link-selector-wrap {
// flex: 1;
width: calc(100% - 34px);
.selector-type .title {
border: none;
background-color: transparent;
}
}
}
}
}
}
}

View File

@ -22,7 +22,11 @@ $(document).on('click', '.open-file-manager', function(event) {
});
if (typeof Vue != 'undefined') {
Vue.prototype.thumbnail = function thumbnail(image, width, height) {
Vue.prototype.thumbnail = function thumbnail(image) {
if (!image) {
return 'image/placeholder.png';
}
// 判断 image 是否以 http 开头
if (image.indexOf('http') === 0) {
return image;

View File

@ -33,7 +33,9 @@ export default {
}
},
listDelete() {
randomString(length) {
let str = '';
for (; str.length < length; str += Math.random().toString(36).substr(2));
return str.substr(0, length);
},
}

View File

@ -7,14 +7,10 @@
<meta name="csrf-token" content="{{ csrf_token() }}">
<meta name="asset" content="{{ asset('/') }}">
<meta name="editor_language" content="{{ locale() }}">
<script src="{{ asset('vendor/vue/2.6.12/vue.js') }}"></script>
<script src="{{ asset('vendor/vue/2.7/vue.js') }}"></script>
<script src="{{ asset('vendor/element-ui/2.6.2/js.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/jquery/3.6.0/jquery.min.js') }}"></script>
<script src="{{ asset('vendor/axios/0.21.1/axios.min.js') }}"></script>
<script src="{{ mix('build/js/app.js') }}"></script> --}}
{{-- <script src="https://cdn.bootcdn.net/ajax/libs/element-ui/2.15.8/index.min.js"></script> --}}
<script src="{{ asset('vendor/bootstrap/5.1.3/js/bootstrap.bundle.min.js') }}"></script>
<link href="{{ mix('/build/beike/admin/css/bootstrap.css') }}" rel="stylesheet">
<link rel="stylesheet" href="{{ asset('vendor/element-ui/2.6.2/css.css') }}">

View File

@ -55,6 +55,7 @@
layer.confirm('确定要删除角色吗?', {
title: "提示",
btn: ['取消', '确定'],
area: ['400px'],
btn2: () => {
$http.delete(`admin_roles/${id}`).then((res) => {
layer.msg(res.message);

View File

@ -58,10 +58,10 @@
data: function () {
return {
tabActiveId: $locale,
tabActiveId: '{{ locale() }}',
languages: $languages,
internalValues: {},
id: 'image-selector-'+ randomString(4),
id: 'image-selector-'+ bk.randomString(4),
loading: null
}
},
@ -188,4 +188,8 @@
max-width: 100%;
height: auto;
}
.pb-image-selector .el-tabs__header {
margin-bottom: 0;
}
</style>

View File

@ -2,7 +2,7 @@
<div class="link-selector-wrap">
<div class="title" v-if="isTitle"><i class="el-icon-link"></i>选择链接</div>
<div class="selector-type" @blur="selectorContentShow = false" tabindex="1">
<div class="title" v-if="value.value == ''" @click="selectorContentShow = !selectorContentShow">请选择跳转到的链接页面</div>
<div class="title" v-if="link.type != 'custom' ? value.value == '' : ''" @click="selectorContentShow = !selectorContentShow">请选择链接</div>
<div class="title" @click="selectorContentShow = !selectorContentShow" v-else :title="name" v-loading="nameLoading">@{{ selectorTitle }}: @{{ name }}</div>
<div :class="'selector-content ' + (selectorContentShow ? 'active' : '')">
<div @click="selectorType()"></div>
@ -35,13 +35,13 @@
<a :href="linkTypeAdmin" target="_blank" v-if="link.type != 'custom' && link.type != 'static'">管理@{{ dialogTitle }}</a>
</div>
<template v-if="link.type == 'custom'">
<div class="link-text">
<div class="module-edit-group" style="margin-bottom: 10px;">
<div class="module-edit-title">标题</div>
<text-i18n v-model="link.text"></text-i18n>
</div>
<div class="link-text" v-if="isCustomName">
<div class="module-edit-group" style="margin-bottom: 10px;">
<div class="module-edit-title">自定义名称</div>
<text-i18n v-model="link.text"></text-i18n>
</div>
</div>
<template v-if="link.type == 'custom'">
<div class="linkDialog-custom">
<el-input v-model="link.value" placeholder="请输入链接地址"></el-input>
</div>
@ -87,7 +87,7 @@
</template>
</div>
<div slot="footer" class="link-dialog-footer">
<el-button type="primary" @click="linkDialogConfirm" :disabled="link.value == ''"> </el-button>
<el-button type="primary" @click="linkDialogConfirm"> </el-button>
</div>
</el-dialog>
</div>
@ -106,6 +106,11 @@
type: Boolean
},
isCustomName: {
default: false,
type: Boolean
},
showText: {
default: false
},
@ -147,6 +152,7 @@
link: null,
keyword: '',
name: '',
locale: '{{ locale() }}',
loading: null,
nameLoading: null,
selectorContentShow: false,
@ -316,8 +322,9 @@
this.types = this.types.filter(e => e.type == this.type);
}
if (this.link.type == 'custom') return this.name = this.link.value || this.link.text[this.locale] || '';
if (!this.link.value) return;
if (this.link.type == 'custom') return this.name = this.link.value;
if (this.link.type == 'static') {
if (this.static.find(e => e.value == this.link.value)) {
this.name = this.static.find(e => e.value == this.link.value).name;

View File

@ -1,61 +1,68 @@
<template id="text-i18n-template">
<div class="text-i18n-template">
<el-tabs v-if="languages.length > 1" value="language-{{ locale() }}" :stretch="languages.length > 5 ? true : false" type="card">
<el-tab-pane v-for="(item, index) in languages" :key="index" :label="item.name" :name="'language-' + item.code">
<el-tabs v-if="languages.length > 1" value="language-{{ locale() }}"
:stretch="languages.length > 5 ? true : false" type="card">
<el-tab-pane v-for="(item, index) in languages" :key="index" :label="item.name"
:name="'language-' + item.code">
<span slot="label" style="padding: 0 8px; font-size: 12px">@{{ item.name }}</span>
<div class="i18n-inner">
<el-input :type="type" :rows="4" :placeholder="item.name" :key="index" :size="size" v-model="value[item.code]" @input="valueChanged(item.code)"></el-input>
<el-input :type="type" :rows="4" :placeholder="item.name" :key="index"
:size="size" v-model="value[item.code]" @input="(val) => {valueChanged(val, item.code)}">
</el-input>
</div>
</el-tab-pane>
</el-tabs>
<div class="i18n-inner" v-else>
<el-input :type="type" :rows="4" :placeholder="languages[0].name" :size="size" v-model="value[languages[0].code]" @input="valueChanged(languages[0].code)"></el-input>
<el-input :type="type" :rows="4" :placeholder="languages[0].name" :size="size"
:value="value[languages[0].code]" @input="(val) => {valueChanged(val, languages[0].code)}"></el-input>
</div>
</div>
</template>
<script type="text/javascript">
Vue.component('text-i18n', {
template: '#text-i18n-template',
props: {
value: {
default: null
Vue.component('text-i18n', {
template: '#text-i18n-template',
props: {
value: {
default: null
},
size: {
default: 'small'
},
type: {
type: String,
default: 'text'
},
},
size: {
default: 'small'
data: function() {
return {
languages: $languages,
internalValues: {}
}
},
type: {
type: String,
default: 'text'
created: function() {
this.initData()
},
},
data: function () {
return {
languages: $languages,
internalValues: {}
methods: {
valueChanged(val, code) {
this.internalValues[code] = val;
// this.$emit('input', JSON.parse(JSON.stringify(this.internalValues)));
this.$emit('input', this.internalValues);
},
initData() {
this.languages.forEach(e => {
Vue.set(this.internalValues, e.code, this.value[e.code] || '');
})
// this.$emit('input', JSON.parse(JSON.stringify(this.internalValues)));
this.$emit('input', this.internalValues);
}
}
},
mounted() {
// console.log(this.internalValues)
},
created: function () {
this.languages.forEach(e => {
Vue.set(this.internalValues, e.code, this.value[e.code] || '');
})
this.$emit('input', this.internalValues);
},
methods: {
valueChanged: function (code) {
this.internalValues[code] = this.value[code];
this.$emit('input', this.internalValues);
}
}
});
});
</script>
<style>
@ -64,28 +71,29 @@ Vue.component('text-i18n', {
border-color: #ebecf5;
}
.text-i18n-template .el-tabs__nav > div {
.text-i18n-template .el-tabs__nav>div {
background: #ebecf5;
border-left: 1px solid #d7dbf7 !important;
padding: 0 !important;
flex: 1;
height: 30px;
line-height: 30px;
{% if languages|length < 5 %}
min-width: 50px;
{% endif %}
text-align: center;
}
.text-i18n-template .el-tabs__nav > div:first-of-type {
.text-i18n-template .el-tabs__nav>div:first-of-type {
border-left: none !important;
}
.text-i18n-template .el-tabs__nav > div.is-active {
.text-i18n-template .el-tabs__nav>div.is-active {
background: #fff !important;
}
.text-i18n-template .i18n-inner {
margin-top: 5px;
}
.text-i18n-template .el-tabs__header {
margin-bottom: 0;
}
</style>

View File

@ -12,8 +12,8 @@
<title>页尾编辑器</title>
<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="{{ mix('build/beike/admin/js/app.js') }}"></script>
<script src="{{ asset('vendor/vue/2.6.14/vue.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/vuedraggable.js') }}"></script>
<script src="{{ asset('vendor/tinymce/5.9.1/tinymce.min.js') }}"></script>
@ -97,7 +97,7 @@
<el-tooltip class="icon-rank" effect="dark" content="拖动排序" placement="left">
<i class="el-icon-rank"></i>
</el-tooltip>
<link-selector :hide-types="['product', 'category', 'brand']" :show-text="true" v-model="form.content.link{{ $i }}.links[index]"></link-selector>
<link-selector :is-custom-name="true" :hide-types="['product', 'category', 'brand']" v-model="form.content.link{{ $i }}.links[index]"></link-selector>
<div class="remove-item" @click="removeLink('link{{ $i }}', index)"><i class="iconfont">&#xe63a;</i></div>
</div>
</draggable>
@ -153,20 +153,6 @@
return obj;
}
Vue.prototype.thumbnail = function thumbnail(image, width, height) {
if (!image) {
return 'image/placeholder.png';
}
return '{{ asset('') }}' + image;
};
function randomString(length) {
let str = '';
for (; str.length < length; str += Math.random().toString(36).substr(2));
return str.substr(0, length);
}
// iframe 操作
var previewWindow = null;
$('#preview-iframe').on('load', function(event) {

View File

@ -12,8 +12,8 @@
<title>首页编辑器</title>
<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="{{ mix('build/beike/admin/js/app.js') }}"></script>
<script src="{{ asset('vendor/vue/2.6.14/vue.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/vuedraggable.js') }}"></script>
<script src="{{ asset('vendor/element-ui/2.15.6/js.js') }}"></script>
@ -73,16 +73,6 @@
return obj;
}
Vue.prototype.thumbnail = function thumbnail(image, width, height) {
return '{{ asset('') }}' + image;
};
function randomString(length) {
let str = '';
for (; str.length < length; str += Math.random().toString(36).substr(2));
return str.substr(0, length);
}
// iframe 操作
var previewWindow = null;
$('#preview-iframe').on('load', function(event) {
@ -196,7 +186,7 @@
addModuleButtonClicked(code) {
const sourceModule = this.source.modules.find(e => e.code == code)
const module_id = randomString(16)
const module_id = bk.randomString(16)
const _data = {
code: code,
content: sourceModule.make,

View File

@ -0,0 +1,286 @@
@extends('admin::layouts.master')
@section('title', '编辑导航菜单')
@push('header')
<script src="{{ asset('vendor/vue/Sortable.min.js') }}"></script>
<script src="{{ asset('vendor/vue/vuedraggable.js') }}"></script>
<link rel="stylesheet" type="text/css" href="{{ asset('/build/beike/admin/css/design.css') }}">
@endpush
@section('content')
<div class="card" id="app" v-cloak>
<div class="card-body h-min-600 position-relative">
<div class="design-wrap d-flex">
<div class="left" style="width: 220px">
<p class="fw-bold mb-2">主菜单</p>
{{-- <div class="menus-wrap" v-if="form.menus.length"> --}}
<draggable class="menus-wrap" v-if="form.menus.length" :list="form.menus"
:options="{ animation: 330, handle: '.el-icon-rank' }">
<div
:class="['border px-2 py-3 mb-2 ', currentMenuIndex == index ?
'bg-primary bg-opacity-10' : ''
]"
@click="currentMenuIndex = index" v-for="menu, index in form.menus" :key="index">
<div class="d-flex justify-content-between align-items-center">
<div class="d-flex align-items-center flex-grow-1">
<el-tooltip class="icon-rank cursor-scroll" effect="dark" content="拖动排序" placement="left">
<i class="el-icon-rank"></i>
</el-tooltip>
<div class="name ms-2">@{{ menu.name[source.locale] || '请添加数据' }}</div>
{{-- <link-selector :is-custom-name="true" :is-title="false" v-model="menu.link"></link-selector> --}}
</div>
<div>
<div class="remove-item" @click="removeLink(index)"><i class="el-icon-delete"></i></div>
</div>
</div>
</div>
</draggable>
{{-- </div> --}}
<button @click="addLinkClicked" class="btn btn-outline-primary mt-3">添加主菜单</button>
</div>
<div class="vr position-absolute bg-secondary" style="height: 90%; left: 260px"></div>
<div class="flex-1 right ps-5" v-if="currentMenu" :key="currentMenuIndex">
<div class="d-flex">
<div class="wp-200 mb-3">
<div class="mb-2 fw-bold">主菜单名称/链接</div>
<text-i18n v-model="currentMenu.name" class="mb-2"></text-i18n>
{{-- <input type="text" v-model="currentMenu.name['zh_cn']"> --}}
<link-selector :is-title="false" style="border-color: #c0c4cc" v-model="currentMenu.link">
</link-selector>
</div>
{{-- <div>
<div class="mb-2 fw-bold">子菜单是否为</div>
<el-switch v-model="currentMenu.isChildren" active-color="#13ce66" inactive-color="#ff4949"></el-switch>
</div> --}}
<div class="wp-200 ms-5">
<div class="mb-2 fw-bold">主菜单标签</div>
<text-i18n v-model="currentMenu.badge.name" class="mb-3"></text-i18n>
</div>
<div class="wp-100 ms-5">
<div class="mb-2 fw-bold">标签背景色</div>
<el-color-picker v-model="currentMenu.badge.bg_color"></el-color-picker>
</div>
<div class="wp-100">
<div class="mb-2 fw-bold">标签文字色</div>
<el-color-picker v-model="currentMenu.badge.text_color"></el-color-picker>
</div>
</div>
{{-- <hr class="bg-secondary"> --}}
<div class="menu-children-group">
<div class="d-flex align-items-center border p-2 bg-light mb-3">
<span class="fw-bold">子菜单 ()</span>
<div class="vr lh-1 mx-3 bg-secondary " style="height: 18px;"></div>
<button class="btn btn-sm btn-link p-0" @click="addChildrenGroup"
:disabled="currentMenu.childrenGroup.length >= 5">添加菜单组</button>
<div class="vr mx-3 lh-1 bg-secondary " style="height: 18px;"></div>
<div>
{{-- <div class="mb-2 fw-bold">是否全屏</div> --}}
<span class="me-2">是否全屏</span>
<el-switch v-model="currentMenu.isFull"></el-switch>
</div>
</div>
<draggable class="children-item d-flex" style="margin: 0 -0.5rem" :list="currentMenu.childrenGroup"
:options="{ animation: 330, handle: '.el-icon-rank' }">
<div class="w-25 card border mx-2 mb-3" v-for="group, group_index in currentMenu.childrenGroup"
:key="group_index">
<div class="card-header d-flex align-items-center justify-content-between mb-2">
<div class=""><i class="el-icon-rank cursor-scroll"></i> 菜单 - @{{ group_index + 1 }}</div>
<div class="d-flex">
<div class="cursor-pointer me-2" @click="settingChildrenGroup(group_index)"><i class="bi bi-gear"></i></div>
<div class="remove-item cursor-pointer" @click="removeChildrenGroup(group_index)"><i
class="el-icon-delete"></i></div>
</div>
</div>
<div class="card-body p-2">
<text-i18n v-model="group.name" class="mb-3"></text-i18n>
<div class="group-children">
<div v-if="group.type == 'image'">
<pb-image-selector v-model="group.image.image"></pb-image-selector>
<link-selector v-model="group.image.link"></link-selector>
</div>
<template v-else>
<draggable ghost-class="dragabble-ghost" :list="group.children"
:options="{ animation: 330, handle: '.el-icon-rank' }">
<div class="children-item mb-2" v-for="children, children_index in group.children"
:key="children_index">
<div class="d-flex align-items-center justify-content-between">
<i class="el-icon-rank cursor-scroll"></i>
<link-selector :is-title="false" :is-custom-name="true" v-model="children.link">
</link-selector>
<div class="remove-item cursor-pointer" @click="removeChildren(group_index, children_index)"><i
class="el-icon-delete"></i></div>
</div>
</div>
</draggable>
<button @click="addChildrenLink(group_index)" class="btn btn-link btn-sm mt-2">添加链接</button>
</template>
</div>
</div>
</div>
</draggable>
</div>
</div>
</div>
<div class="mt-5">
<button @click="saveButtonClicked" class="btn btn-primary">保存</button>
</div>
</div>
<el-dialog title="设置" :visible.sync="childrenGroupPop.show" width="500px" v-if="currentMenu.childrenGroup.length">
<p class="fw-bold mb-2">类型</p>
<el-select v-model="currentMenu.childrenGroup[childrenGroupPop.groupIndex].type" placeholder="请选择">
<el-option
v-for="type in source.types"
:key="type.value"
:label="type.name"
:value="type.value">
</el-option>
</el-select>
<span slot="footer" class="dialog-footer">
<el-button @click="childrenGroupPop.show = false"> </el-button>
<el-button type="primary" @click="childrenGroupPop.show = false"> </el-button>
</span>
</el-dialog>
</div>
@endsection
@push('footer')
<script>
var $languages = @json($admin_languages);
</script>
@include('admin::pages.design.builder.component.image_selector')
@include('admin::pages.design.builder.component.link_selector')
@include('admin::pages.design.builder.component.text_i18n')
@include('admin::pages.design.builder.component.rich_text_i18n')
<script>
let app = new Vue({
el: '#app',
data: {
form: @json($design_settings),
currentMenuIndex: 0,
childrenGroupPop: {
show: false,
groupIndex: 0,
},
source: {
locale: '{{ locale() }}',
types: [{
name: '链接',
value: 'link'
},{
name: '图片',
value: 'image'
}],
},
},
computed: {
// 当前正在编辑的菜单
currentMenu: function() {
// 强制刷新视图
this.$forceUpdate();
return this.form.menus[this.currentMenuIndex] || null;
},
},
watch: {
// 深度监听菜单数据变化
currentMenu: {
handler: function(val) {
// 强制刷新
this.$forceUpdate();
// this.form.menus[this.currentMenuIndex] = this.currentMenu
},
deep: true,
immediate: true,
},
// currentMenu: function() {
// console.log(222);
// this.form.menus[this.currentMenuIndex] = this.currentMenu
// },
},
methods: {
addLinkClicked(index) {
this.form.menus.push({
isFull: false,
badge: {
isShow: false,
name: {},
bg_color: '#fd560f',
text_color: '#ffffff',
},
link: {
type: 'page',
value: '',
text: {}
},
name: {},
isChildren: false,
childrenGroup: [],
})
this.currentMenuIndex = this.form.menus.length - 1;
},
addChildrenGroup() {
this.currentMenu.childrenGroup.push({
name: {},
type: 'link',
image: {
image: {},
link: {
type: 'product',
value: '',
text: {}
},
},
children: [],
})
},
addChildrenLink(group_index) {
this.currentMenu.childrenGroup[group_index].children.push({
name: {},
link: {
type: 'page',
value: '',
text: {}
},
})
},
removeChildrenGroup(index) {
this.currentMenu.childrenGroup.splice(index, 1)
},
removeLink(item, index) {
this.form.menus.splice(index, 1);
},
removeChildren(group_index, children_index) {
this.currentMenu.childrenGroup[group_index].children.splice(children_index, 1)
},
settingChildrenGroup(group_index) {
this.childrenGroupPop.show = true;
this.childrenGroupPop.groupIndex = group_index;
},
saveButtonClicked() {
$http.put('design_menu/builder', this.form).then((res) => {
layer.msg(res.message)
})
},
},
created() {},
mounted() {},
})
</script>
@endpush

View File

@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1">
<meta name="csrf-token" content="{{ csrf_token() }}">
<meta name="asset" content="{{ asset('/') }}">
<script src="{{ asset('vendor/vue/2.6.12/vue.js') }}"></script>
<script src="{{ asset('vendor/vue/2.7/vue.js') }}"></script>
<script src="{{ asset('vendor/element-ui/2.15.9/index.js') }}"></script>
{{-- <script src="{{ asset('vendor/element-ui/2.15.6/js.js') }}"></script> --}}
<script src="{{ asset('vendor/jquery/jquery-3.6.0.min.js') }}"></script>

View File

@ -23,7 +23,7 @@
@foreach ($pages_format as $page)
<tr>
<td>{{ $page['id'] }}</td>
<td>{{ $page['title_format'] ?? '' }}</td>
<td><div title="{{ $page['title'] ?? '' }}">{{ $page['title_format'] ?? '' }}</div></td>
<td>{{ $page['active'] }}</td>
<td>{{ $page['created_at'] }}</td>
<td>{{ $page['updated_at'] }}</td>

View File

@ -8,23 +8,6 @@ header {
// border-bottom: 1px solid #e5e5e5;
}
.dropdown {
&:hover {
background-color: #fff;
.dropdown-menu {
margin: 0;
display: block;
// box-shadow: 0 6px 6px 0 rgb(0, 0, 0, .08);
box-shadow: 0 0 15px rgb(0, 0, 0, .1);
border: none;
&.dropdown-menu-end {
right: 0;
}
}
}
}
.top-wrap {
// padding: 10px;
@ -32,26 +15,123 @@ header {
// max-height: 50px;
background: #F7F8FA;
display: flex;
.dropdown {
&:hover {
background-color: #fff;
.dropdown-menu {
margin: 0;
display: block;
// box-shadow: 0 6px 6px 0 rgb(0, 0, 0, .08);
box-shadow: 0 0 15px rgb(0, 0, 0, .1);
border: none;
&.dropdown-menu-end {
right: 0;
}
}
}
}
}
.header-content {
.container {
position: relative;
> .container {
display: flex;
align-items: center;
justify-content: space-between;
}
.navbar-nav {
}
.menu-wrap {
.nav-link {
color: #333;
// font-weight: bold;
font-size: .9rem;
padding-left: 1rem;
padding-right: 1rem;
.container {
max-width: 1140px;
}
@media (min-width: 1200px) {
.navbar-nav {
.dropdown {
&.position-static >.dropdown-menu {
// top: 100%;
}
&:hover {
.dropdown-menu {
opacity: 1;
visibility: visible;
transform: translate(-50%);
}
}
>.dropdown-menu {
left: 50%;
transform: translate(-50%, 0.5rem);
transition: all .2s ease-in-out;
transition-property: visibility,transform,opacity;
visibility: hidden;
opacity: 0;
display: block;
transform-origin: top center;
}
}
}
}
> .navbar-nav {
> .nav-item {
> .nav-link {
font-size: 15px;
padding: 1rem;
// padding-right: 1rem;
// padding-left: 1rem;
position: relative;
.badge {
position: absolute;
bottom: 80%;
padding: 2px 4px;
font-weight: 400;
left: calc(50% - 0px);
margin-left: 0px;
&::before {
content: "";
position: absolute;
top: 100%;
left: 10px;
border: 4px solid;
border-color: inherit;
border-right-color: #0000!important;
border-bottom-color: #0000!important;
border-right-width: 7px;
border-left-width: 0;
}
}
}
}
.group-name {
font-size: 15px;
}
.ul-children {
a {
color: #7a7a7a;
&:hover {
color: $primary;
}
}
}
}
// .nav-link {
// color: #333;
// // font-weight: bold;
// font-size: .9rem;
// padding-left: 1rem;
// padding-right: 1rem;
// }
}
.logo {

View File

@ -24,6 +24,7 @@ body.page-product {
}
}
}
.left {
margin-right: 1rem;
@ -136,12 +137,6 @@ body.page-product {
.price-wrap {
margin-bottom: 2.4rem;
.new-price {
margin-right: .6rem;
font-size: 1.6rem;
line-height: 1;
}
}
.quantity-btns {

View File

@ -70,7 +70,7 @@ export default {
$http.delete(`account/wishlist/${isWishlist}`, null, {hload: true}).then((res) => {
layer.msg(res.message)
$btn.attr('data-in-wishlist', '0');
}).finally(() => {
}).finally((e) => {
$btn.html(btnHtml).prop('disabled', false).find('i.bi').prop('class', 'bi bi-heart')
})
} else {
@ -78,7 +78,7 @@ export default {
$http.post('account/wishlist', {product_id: id}, {hload: true}).then((res) => {
layer.msg(res.message)
$btn.attr('data-in-wishlist', res.data.id);
}).finally(() => {
}).finally((e) => {
$btn.html(btnHtml).prop('disabled', false).find('i.bi').prop('class', 'bi bi-heart-fill')
})
}

View File

@ -5,8 +5,10 @@ $(function() {
$('#offcanvas-search-top input').focus();
$('#offcanvas-search-top input').keydown(function (e) {
if (e.keyCode == 13) {
console.log('enter');
$('#offcanvas-search-top .btn-search').click();
if ($(this).val() != '') {
location.href = 'products/search?keyword=' + $(this).val();
}
// $('#offcanvas-search-top .btn-search').click();
}
})
})

View File

@ -83,7 +83,7 @@ export default {
if (!hmsg) {
layer.msg(res.response.data.message || res.message, ()=>{});
}
}).finally(function(){
}).finally(() => {
layer.closeAll('loading')
});
});

View File

@ -48,6 +48,7 @@ return [
'languages_index' => 'Languages',
'design_index' => 'Page Builder',
'design_footer_index' => 'Footer Builder',
'design_menu_index' => 'Menu Builder',
'categories_index' => 'Categories',
'products_index' => 'Products',
'products_trashed' => 'Trashed',

View File

@ -13,4 +13,5 @@ return [
'settings_index' => 'Setting',
'design_index' => 'Design Builder',
'design_footer_index' => 'Design Footer',
'design_menu_index' => 'Design Menu',
];

View File

@ -48,6 +48,7 @@ return [
'design_index' => '首页装修',
'pages_index' => '信息页面',
'design_footer_index' => '页尾装修',
'design_menu_index' => '导航配置',
'categories_index' => '产品分类',
'products_index' => '商品管理',
'products_trashed' => '回收站',

View File

@ -13,4 +13,5 @@ return [
'settings_index' => '系统设置',
'design_index' => '首页编辑器',
'design_footer_index' => '页尾编辑器',
'design_menu_index' => '导航编辑器',
];

View File

@ -45,10 +45,60 @@
<div class="header-content py-3">
<div class="container navbar-expand-lg">
<div class="logo"><a href="{{ shop_route('home.index') }}">
<img src="{{ image_origin(system_setting('base.logo')) }}" class="img-fluid"></a>
<img src="{{ image_origin(system_setting('base.logo')) }}" class="img-fluid"></a>
</div>
<div class="menu-wrap">
<ul class="navbar-nav mx-auto">
@foreach ($menu_content as $menu)
<li
class="nav-item {{ $menu['childrenGroup'] ? 'dropdown' : '' }} {{ $menu['isFull'] ? 'position-static' : '' }}">
<a class="nav-link fw-bold {{ $menu['childrenGroup'] ? 'dropdown-toggle' : '' }}" href="{{ $menu['link']['link'] }}">
{{-- {{ $menu['link']['text'] }} --}}
{{ $menu['name'] }}
@if ($menu['badge']['name'])
<span class="badge"
style="background-color: {{ $menu['badge']['bg_color'] }}; color: {{ $menu['badge']['text_color'] }}; border-color: {{ $menu['badge']['bg_color'] }}">
{{ $menu['badge']['name'] }}
</span>
@endif
</a>
@if ($menu['childrenGroup'])
<div class="dropdown-menu {{ $menu['isFull'] ? 'w-100' : '' }}" style="min-width: {{ count($menu['childrenGroup']) * 200 }}px">
<div class="card card-lg">
<div class="card-body">
<div class="container">
<div class="row">
@forelse ($menu['childrenGroup'] as $group)
<div class="col-6 col-md">
@if ($group['type'] == 'image')
<a href="$group['image']['link']"><img src="{{ $group['image']['image'] }}" class="img-fluid"></a>
@else
@if ($group['name'])
<div class="mb-3 fw-bold group-name">{{ $group['name'] }}</div>
@endif
<ul class="nav flex-column ul-children">
@foreach ($group['children'] as $children)
@if (!is_array($children['link']['text']))
<li class="nav-item">
<a class="nav-link px-0"
href="{{ $children['link']['link'] }}">{{ $children['link']['text'] }}</a>
</li>
@endif
@endforeach
</ul>
@endif
</div>
@endforeach
</div>
</div>
</div>
</div>
</div>
@endif
</li>
@endforeach
</ul>
{{-- <ul class="navbar-nav mx-auto">
@foreach ($categories as $category)
<li class="dropdown">
<a target="{{ (isset($category['new_window']) and $category['new_window']) ? '_blank' : '_self' }}"
@ -66,7 +116,7 @@
@endif
</li>
@endforeach
</ul>
</ul> --}}
{{-- <a href="{{ shop_route('categories.show', $category) }}">{{ $category->description->name }}</a> --}}
</div>
@ -114,7 +164,8 @@
</div>
</div>
</div>
<div class="offcanvas offcanvas-end" tabindex="-1" id="offcanvas-right-cart" aria-labelledby="offcanvasRightLabel">
<div class="offcanvas offcanvas-end" tabindex="-1" id="offcanvas-right-cart"
aria-labelledby="offcanvasRightLabel">
<div class="offcanvas-header">
<h5 id="offcanvasRightLabel" class="mx-auto mb-0">您的购物车</h5>
<button type="button" class="btn-close text-reset" data-bs-dismiss="offcanvas" aria-label="Close"></button>

View File

@ -7,8 +7,6 @@
<script src="{{ asset('vendor/swiper/swiper-bundle.min.js') }}"></script>
<script src="{{ asset('vendor/zoom/jquery.zoom.min.js') }}"></script>
<link rel="stylesheet" href="{{ asset('vendor/swiper/swiper-bundle.min.css') }}">
{{-- <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') }}"> --}}
@endpush
@section('content')
@ -66,7 +64,7 @@
</div>
@endif
<div class="price-wrap d-flex align-items-end">
<div class="new-price">@{{ product.price_format }}</div>
<div class="new-price fs-1 lh-1 fw-bold me-2">@{{ product.price_format }}</div>
<div class="old-price text-muted text-decoration-line-through">@{{ product.origin_price_format }}</div>
</div>