使用laravel/pint格式化代码
This commit is contained in:
parent
0911ba6102
commit
434d94c01d
|
|
@ -2,10 +2,10 @@
|
|||
|
||||
namespace App\Exceptions;
|
||||
|
||||
use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;
|
||||
use Illuminate\Foundation\Exceptions\RegisterErrorViewPaths;
|
||||
use Illuminate\Support\Arr;
|
||||
use Throwable;
|
||||
use Illuminate\Foundation\Exceptions\RegisterErrorViewPaths;
|
||||
use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;
|
||||
|
||||
class Handler extends ExceptionHandler
|
||||
{
|
||||
|
|
@ -41,7 +41,6 @@ class Handler extends ExceptionHandler
|
|||
});
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Convert the given exception to an array.
|
||||
*
|
||||
|
|
@ -62,7 +61,6 @@ class Handler extends ExceptionHandler
|
|||
];
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 自定义错误信息页面, 前台与后台不同, 需要分开定义
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -3,10 +3,10 @@
|
|||
namespace App\Http\Middleware;
|
||||
|
||||
use Beike\Models\Customer;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Illuminate\Auth\AuthenticationException;
|
||||
use Illuminate\Auth\Middleware\Authenticate as Middleware;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
|
||||
class CheckoutAuthenticate extends Middleware
|
||||
{
|
||||
|
|
@ -31,13 +31,13 @@ class CheckoutAuthenticate extends Middleware
|
|||
$customer = current_customer();
|
||||
if ($customer->status != 1) {
|
||||
Auth::guard(Customer::AUTH_GUARD)->logout();
|
||||
|
||||
return redirect(shop_route('login.index'));
|
||||
}
|
||||
|
||||
return $next($request);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Get the path the user should be redirected to when they are not authenticated.
|
||||
*
|
||||
|
|
@ -50,7 +50,6 @@ class CheckoutAuthenticate extends Middleware
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Handle an unauthenticated user.
|
||||
*
|
||||
|
|
@ -65,6 +64,7 @@ class CheckoutAuthenticate extends Middleware
|
|||
if (system_setting('base.guest_checkout', 1)) {
|
||||
return;
|
||||
}
|
||||
|
||||
throw new AuthenticationException(
|
||||
trans('common.unauthenticated'), $guards, $this->redirectTo($request)
|
||||
);
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@ class SetLocaleAdmin
|
|||
} else {
|
||||
App::setLocale('en');
|
||||
}
|
||||
|
||||
return $next($request);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@ class SetLocaleFromSession
|
|||
App::setLocale($configLocale);
|
||||
session(['locale' => $configLocale]);
|
||||
}
|
||||
|
||||
return $next($request);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
|
||||
namespace App\Http\Middleware;
|
||||
|
||||
use Beike\Installer\Helpers\EnvironmentManager;
|
||||
use Closure;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\App;
|
||||
use Beike\Installer\Helpers\EnvironmentManager;
|
||||
|
||||
class SetLocaleInstaller
|
||||
{
|
||||
|
|
@ -20,7 +20,7 @@ class SetLocaleInstaller
|
|||
{
|
||||
$locale = $_COOKIE['locale'] ?? 'en';
|
||||
$languageDir = base_path('beike/Installer/Lang');
|
||||
$languages = array_values(array_diff(scandir($languageDir), array('..', '.')));
|
||||
$languages = array_values(array_diff(scandir($languageDir), ['..', '.']));
|
||||
|
||||
(new EnvironmentManager)->getEnvContent();
|
||||
|
||||
|
|
@ -29,6 +29,7 @@ class SetLocaleInstaller
|
|||
} else {
|
||||
App::setLocale('en');
|
||||
}
|
||||
|
||||
return $next($request);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,19 +11,19 @@
|
|||
|
||||
namespace App\Http\Middleware;
|
||||
|
||||
use Beike\Repositories\FooterRepo;
|
||||
use Beike\Repositories\LanguageRepo;
|
||||
use Beike\Repositories\MenuRepo;
|
||||
use Closure;
|
||||
use Illuminate\Http\Request;
|
||||
use Beike\Repositories\MenuRepo;
|
||||
use Beike\Repositories\FooterRepo;
|
||||
use Illuminate\Support\Facades\View;
|
||||
use Beike\Repositories\CategoryRepo;
|
||||
use Beike\Repositories\LanguageRepo;
|
||||
|
||||
class ShareViewData
|
||||
{
|
||||
public function handle(Request $request, Closure $next)
|
||||
{
|
||||
$this->loadShopShareViewData();
|
||||
|
||||
return $next($request);
|
||||
}
|
||||
|
||||
|
|
@ -49,7 +49,6 @@ class ShareViewData
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 处理后台语言包列表
|
||||
*
|
||||
|
|
@ -62,7 +61,7 @@ class ShareViewData
|
|||
foreach ($languages as $language) {
|
||||
$path = lang_path("{$language}/admin/base.php");
|
||||
if (file_exists($path)) {
|
||||
$baseData = require_once($path);
|
||||
$baseData = require_once $path;
|
||||
}
|
||||
$name = $baseData['name'] ?? '';
|
||||
$items[] = [
|
||||
|
|
@ -70,6 +69,7 @@ class ShareViewData
|
|||
'name' => $name,
|
||||
];
|
||||
}
|
||||
|
||||
return $items;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,10 +3,10 @@
|
|||
namespace App\Http\Middleware;
|
||||
|
||||
use Beike\Models\Customer;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Illuminate\Auth\AuthenticationException;
|
||||
use Illuminate\Auth\Middleware\Authenticate as Middleware;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
|
||||
class ShopAuthenticate extends Middleware
|
||||
{
|
||||
|
|
@ -27,13 +27,13 @@ class ShopAuthenticate extends Middleware
|
|||
$customer = current_customer();
|
||||
if ($customer->status != 1) {
|
||||
Auth::guard(Customer::AUTH_GUARD)->logout();
|
||||
|
||||
return redirect(shop_route('login.index'));
|
||||
}
|
||||
|
||||
return $next($request);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Get the path the user should be redirected to when they are not authenticated.
|
||||
*
|
||||
|
|
@ -46,7 +46,6 @@ class ShopAuthenticate extends Middleware
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Handle an unauthenticated user.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ class ContactRequest extends FormRequest
|
|||
public function rules()
|
||||
{
|
||||
return [
|
||||
'name'=>'required|string|max:100|min:10'
|
||||
'name' => 'required|string|max:100|min:10',
|
||||
];
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -31,6 +31,7 @@ class AddressController extends Controller
|
|||
public function store(Request $request, int $customerId)
|
||||
{
|
||||
$address = AddressService::addForCustomer($customerId, $request->all());
|
||||
|
||||
return json_success(trans('common.created_success'), $address);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -12,19 +12,20 @@
|
|||
namespace Beike\Admin\Http\Controllers;
|
||||
|
||||
use Beike\Admin\Http\Requests\AdminRoleRequest;
|
||||
use Illuminate\Http\Request;
|
||||
use Spatie\Permission\Models\Role;
|
||||
use Illuminate\Support\Facades\Cache;
|
||||
use Beike\Admin\Repositories\AdminRoleRepo;
|
||||
use Beike\Admin\Repositories\PermissionRepo;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Cache;
|
||||
use Spatie\Permission\Models\Role;
|
||||
|
||||
class AdminRoleController extends Controller
|
||||
{
|
||||
public function index()
|
||||
{
|
||||
$data = [
|
||||
'roles' => Role::query()->get()
|
||||
'roles' => Role::query()->get(),
|
||||
];
|
||||
|
||||
return view('admin::pages.admin_roles.index', $data);
|
||||
}
|
||||
|
||||
|
|
@ -34,6 +35,7 @@ class AdminRoleController extends Controller
|
|||
$data = [
|
||||
'permissions' => $permissionRepo->getAllPermissions(),
|
||||
];
|
||||
|
||||
return view('admin::pages.admin_roles.edit', $data);
|
||||
}
|
||||
|
||||
|
|
@ -46,10 +48,10 @@ class AdminRoleController extends Controller
|
|||
'permissions' => $permissionRepo->getAllPermissions(),
|
||||
'role' => $role,
|
||||
];
|
||||
|
||||
return view('admin::pages.admin_roles.edit', $data);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 保存后台用户角色
|
||||
*
|
||||
|
|
@ -60,18 +62,21 @@ class AdminRoleController extends Controller
|
|||
public function store(AdminRoleRequest $request): array
|
||||
{
|
||||
$adminUser = AdminRoleRepo::createAdminRole($request->toArray());
|
||||
|
||||
return json_success(trans('common.created_success'), $adminUser);
|
||||
}
|
||||
|
||||
public function update(Request $request, int $adminUserId)
|
||||
{
|
||||
$adminUser = AdminRoleRepo::updateAdminRole($request->toArray());
|
||||
|
||||
return json_success(trans('common.updated_success'), $adminUser);
|
||||
}
|
||||
|
||||
public function destroy(Request $request, int $adminUserId)
|
||||
{
|
||||
AdminRoleRepo::deleteAdminRole($adminUserId);
|
||||
|
||||
return json_success(trans('common.deleted_success'));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,10 +11,10 @@
|
|||
|
||||
namespace Beike\Admin\Http\Controllers;
|
||||
|
||||
use Beike\Admin\Http\Requests\AdminUserRequest;
|
||||
use Beike\Admin\Repositories\AdminUserRepo;
|
||||
use Illuminate\Http\Request;
|
||||
use Spatie\Permission\Models\Role;
|
||||
use Beike\Admin\Repositories\AdminUserRepo;
|
||||
use Beike\Admin\Http\Requests\AdminUserRequest;
|
||||
|
||||
class AdminUserController extends Controller
|
||||
{
|
||||
|
|
@ -27,12 +27,12 @@ class AdminUserController extends Controller
|
|||
{
|
||||
$data = [
|
||||
'admin_users' => AdminUserRepo::getAdminUsers(),
|
||||
'admin_roles' => Role::query()->get()
|
||||
'admin_roles' => Role::query()->get(),
|
||||
];
|
||||
|
||||
return view('admin::pages.admin_users.index', $data);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 创建后台管理员
|
||||
*
|
||||
|
|
@ -42,10 +42,10 @@ class AdminUserController extends Controller
|
|||
public function store(AdminUserRequest $request)
|
||||
{
|
||||
$adminUser = AdminUserRepo::createAdminUser($request->toArray());
|
||||
|
||||
return json_success(trans('common.created_success'), $adminUser);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 更新后台管理员
|
||||
*
|
||||
|
|
@ -56,13 +56,14 @@ class AdminUserController extends Controller
|
|||
public function update(AdminUserRequest $request, int $adminUserId)
|
||||
{
|
||||
$adminUser = AdminUserRepo::updateAdminUser($adminUserId, $request->toArray());
|
||||
|
||||
return json_success(trans('common.updated_success'), $adminUser);
|
||||
}
|
||||
|
||||
|
||||
public function destroy(Request $request, int $adminUserId)
|
||||
{
|
||||
AdminUserRepo::deleteAdminUser($adminUserId);
|
||||
|
||||
return json_success(trans('common.deleted_success'));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -51,6 +51,7 @@ class AttributeController extends Controller
|
|||
{
|
||||
$requestData = json_decode($request->getContent(), true);
|
||||
$item = AttributeRepo::create($requestData);
|
||||
|
||||
return json_success(trans('common.created_success'), $item);
|
||||
}
|
||||
|
||||
|
|
@ -58,14 +59,15 @@ class AttributeController extends Controller
|
|||
{
|
||||
$requestData = json_decode($request->getContent(), true);
|
||||
$item = AttributeRepo::update($id, $requestData);
|
||||
|
||||
return json_success(trans('common.updated_success'), $item);
|
||||
}
|
||||
|
||||
|
||||
public function storeValue(Request $request, int $id)
|
||||
{
|
||||
$requestData = json_decode($request->getContent(), true);
|
||||
$item = AttributeRepo::createValue(array_merge($requestData, ['attribute_id' => $id]));
|
||||
|
||||
return json_success(trans('common.created_success'), new AttributeValueResource($item));
|
||||
}
|
||||
|
||||
|
|
@ -73,18 +75,21 @@ class AttributeController extends Controller
|
|||
{
|
||||
$requestData = json_decode($request->getContent(), true);
|
||||
$item = AttributeRepo::updateValue($value_id, $requestData);
|
||||
|
||||
return json_success(trans('common.updated_success'), new AttributeValueResource($item));
|
||||
}
|
||||
|
||||
public function destroyValue(Request $request, int $id, int $value_id)
|
||||
{
|
||||
AttributeRepo::deleteValue($value_id);
|
||||
|
||||
return json_success(trans('common.deleted_success'));
|
||||
}
|
||||
|
||||
public function destroy(Request $request, int $id)
|
||||
{
|
||||
AttributeRepo::delete($id);
|
||||
|
||||
return json_success(trans('common.deleted_success'));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -29,6 +29,7 @@ class AttributeGroupController extends Controller
|
|||
{
|
||||
$requestData = json_decode($request->getContent(), true);
|
||||
$item = AttributeGroupRepo::create($requestData);
|
||||
|
||||
return json_success(trans('common.created_success'), $item);
|
||||
}
|
||||
|
||||
|
|
@ -36,12 +37,14 @@ class AttributeGroupController extends Controller
|
|||
{
|
||||
$requestData = json_decode($request->getContent(), true);
|
||||
$item = AttributeGroupRepo::update($id, $requestData);
|
||||
|
||||
return json_success(trans('common.updated_success'), $item);
|
||||
}
|
||||
|
||||
public function destroy(Request $request, int $id)
|
||||
{
|
||||
AttributeGroupRepo::delete($id);
|
||||
|
||||
return json_success(trans('common.deleted_success'));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,7 +36,6 @@ class BrandController extends Controller
|
|||
return view('admin::pages.brands.index', $data);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 创建品牌
|
||||
*
|
||||
|
|
@ -46,6 +45,7 @@ class BrandController extends Controller
|
|||
public function store(Request $request): array
|
||||
{
|
||||
$brand = BrandRepo::create($request->all());
|
||||
|
||||
return json_success(trans('common.created_success'), $brand);
|
||||
}
|
||||
|
||||
|
|
@ -73,7 +73,6 @@ class BrandController extends Controller
|
|||
return json_success(trans('common.get_success'), $brands);
|
||||
}
|
||||
|
||||
|
||||
public function name(int $id): array
|
||||
{
|
||||
$name = BrandRepo::getName($id);
|
||||
|
|
@ -81,7 +80,6 @@ class BrandController extends Controller
|
|||
return json_success(trans('common.get_success'), $name);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 根据商品ID批量获取商品名称
|
||||
*
|
||||
|
|
|
|||
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
namespace Beike\Admin\Http\Controllers;
|
||||
|
||||
use Beike\Models\Category;
|
||||
use Illuminate\Http\Request;
|
||||
use Beike\Repositories\LanguageRepo;
|
||||
use Beike\Repositories\CategoryRepo;
|
||||
use Beike\Admin\Services\CategoryService;
|
||||
use Beike\Admin\Http\Requests\CategoryRequest;
|
||||
use Beike\Admin\Http\Resources\CategoryResource;
|
||||
use Beike\Admin\Services\CategoryService;
|
||||
use Beike\Models\Category;
|
||||
use Beike\Repositories\CategoryRepo;
|
||||
use Beike\Repositories\LanguageRepo;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class CategoryController extends Controller
|
||||
{
|
||||
|
|
@ -44,7 +44,6 @@ class CategoryController extends Controller
|
|||
return $this->save($request, $category);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 删除分类
|
||||
* @param Request $request
|
||||
|
|
@ -55,10 +54,10 @@ class CategoryController extends Controller
|
|||
public function destroy(Request $request, Category $category): array
|
||||
{
|
||||
CategoryRepo::delete($category);
|
||||
|
||||
return json_success(trans('common.deleted_success'));
|
||||
}
|
||||
|
||||
|
||||
public function name(int $id)
|
||||
{
|
||||
$name = CategoryRepo::getName($id);
|
||||
|
|
@ -86,6 +85,7 @@ class CategoryController extends Controller
|
|||
protected function save(Request $request, ?Category $category = null)
|
||||
{
|
||||
(new CategoryService())->createOrUpdate($request->all(), $category);
|
||||
|
||||
return redirect($this->getRedirect())->with('success', 'Category created successfully');
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -2,8 +2,8 @@
|
|||
|
||||
namespace Beike\Admin\Http\Controllers;
|
||||
|
||||
use Illuminate\Support\Facades\Route;
|
||||
use App\Http\Controllers\Controller as BaseController;
|
||||
use Illuminate\Support\Facades\Route;
|
||||
use Symfony\Component\HttpFoundation\BinaryFileResponse;
|
||||
|
||||
abstract class Controller extends BaseController
|
||||
|
|
@ -19,10 +19,10 @@ abstract class Controller extends BaseController
|
|||
if (empty($this->defaultRoute)) {
|
||||
$this->defaultRoute = $this->getDefaultRoute();
|
||||
}
|
||||
|
||||
return request('_redirect') ?? request()->header('referer', admin_route($this->defaultRoute));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取当前管理界面列表页路由
|
||||
* @return string
|
||||
|
|
@ -32,10 +32,10 @@ abstract class Controller extends BaseController
|
|||
$currentRouteName = Route::getCurrentRoute()->getName();
|
||||
$names = explode('.', $currentRouteName);
|
||||
$name = $names[1] ?? '';
|
||||
|
||||
return "{$name}.index";
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 导出CSV
|
||||
*
|
||||
|
|
@ -63,16 +63,16 @@ abstract class Controller extends BaseController
|
|||
'Content-Disposition' => "attachment; filename={$fileName}",
|
||||
'Content-Transfer-Encoding' => 'binary',
|
||||
'Expires' => '0',
|
||||
'Pragma' => 'public'
|
||||
'Pragma' => 'public',
|
||||
];
|
||||
|
||||
$columns = array_keys($items[0]);
|
||||
foreach ($columns as $index => $column) {
|
||||
$columns[$index] = iconv("UTF-8", "{$charset}//IGNORE", trans("$module.{$column}"));
|
||||
$columns[$index] = iconv('UTF-8', "{$charset}//IGNORE", trans("$module.{$column}"));
|
||||
}
|
||||
foreach ($items as $index => $item) {
|
||||
foreach ($item as $field => $value) {
|
||||
$items[$index][$field] = iconv("UTF-8", "{$charset}//IGNORE", $value);
|
||||
$items[$index][$field] = iconv('UTF-8', "{$charset}//IGNORE", $value);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -51,5 +51,4 @@ class CountryController extends Controller
|
|||
|
||||
return json_success(trans('common.deleted_success'));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,11 +11,11 @@
|
|||
|
||||
namespace Beike\Admin\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Beike\Repositories\LanguageRepo;
|
||||
use Beike\Repositories\CustomerGroupRepo;
|
||||
use Beike\Admin\Services\CustomerGroupService;
|
||||
use Beike\Admin\Http\Requests\CustomerGroupRequest;
|
||||
use Beike\Admin\Services\CustomerGroupService;
|
||||
use Beike\Repositories\CustomerGroupRepo;
|
||||
use Beike\Repositories\LanguageRepo;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class CustomerGroupController extends Controller
|
||||
{
|
||||
|
|
@ -52,6 +52,7 @@ class CustomerGroupController extends Controller
|
|||
public function destroy(Request $request, int $id)
|
||||
{
|
||||
CustomerGroupRepo::delete($id);
|
||||
|
||||
return json_success(trans('common.deleted_success'));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
|
||||
namespace Beike\Admin\Http\Controllers;
|
||||
|
||||
use Illuminate\View\View;
|
||||
use Illuminate\Http\Request;
|
||||
use Beike\Services\DesignService;
|
||||
use Beike\Repositories\SettingRepo;
|
||||
use Beike\Services\DesignService;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\View\View;
|
||||
|
||||
class DesignController extends Controller
|
||||
{
|
||||
|
|
@ -21,10 +21,10 @@ class DesignController extends Controller
|
|||
'editors' => ['editor-slide_show', 'editor-image401', 'editor-tab_product', 'editor-image100', 'editor-brand'],
|
||||
'design_settings' => system_setting('base.design_setting'),
|
||||
];
|
||||
|
||||
return view('admin::pages.design.builder.index', $data);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 预览模块显示结果
|
||||
*
|
||||
|
|
@ -45,13 +45,12 @@ class DesignController extends Controller
|
|||
'module_id' => $moduleId,
|
||||
'view_path' => $viewPath,
|
||||
'content' => DesignService::handleModuleContent($moduleCode, $content),
|
||||
'design' => (bool)$request->get('design')
|
||||
'design' => (bool) $request->get('design'),
|
||||
];
|
||||
|
||||
return view($viewPath, $viewData);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 更新所有数据
|
||||
*
|
||||
|
|
@ -64,6 +63,7 @@ class DesignController extends Controller
|
|||
$content = json_decode($request->getContent(), true);
|
||||
$moduleData = DesignService::handleRequestModules($content);
|
||||
SettingRepo::storeValue('design_setting', $moduleData);
|
||||
|
||||
return json_success(trans('common.updated_success'));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
|
||||
namespace Beike\Admin\Http\Controllers;
|
||||
|
||||
use Illuminate\View\View;
|
||||
use Illuminate\Http\Request;
|
||||
use Beike\Repositories\FooterRepo;
|
||||
use Beike\Repositories\SettingRepo;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\View\View;
|
||||
|
||||
class DesignFooterController extends Controller
|
||||
{
|
||||
|
|
@ -20,6 +20,7 @@ class DesignFooterController extends Controller
|
|||
$data = [
|
||||
'design_settings' => system_setting('base.footer_setting'),
|
||||
];
|
||||
|
||||
return view('admin::pages.design.builder.footer', $data);
|
||||
}
|
||||
|
||||
|
|
@ -33,17 +34,16 @@ class DesignFooterController extends Controller
|
|||
public function preview(Request $request): View
|
||||
{
|
||||
$content = json_decode($request->getContent(), true);
|
||||
$viewPath = "layout.footer";
|
||||
$viewPath = 'layout.footer';
|
||||
|
||||
$viewData = [
|
||||
'footer_content' => FooterRepo::handleFooterData($content),
|
||||
'design' => (bool)$request->get('design')
|
||||
'design' => (bool) $request->get('design'),
|
||||
];
|
||||
|
||||
return view($viewPath, $viewData);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 更新所有数据
|
||||
*
|
||||
|
|
@ -55,7 +55,8 @@ class DesignFooterController extends Controller
|
|||
{
|
||||
$content = json_decode($request->getContent(), true);
|
||||
|
||||
SettingRepo::storeValue("footer_setting", $content);
|
||||
SettingRepo::storeValue('footer_setting', $content);
|
||||
|
||||
return json_success(trans('common.updated_success'));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,10 +2,9 @@
|
|||
|
||||
namespace Beike\Admin\Http\Controllers;
|
||||
|
||||
use Illuminate\View\View;
|
||||
use Illuminate\Http\Request;
|
||||
use Beike\Repositories\FooterRepo;
|
||||
use Beike\Repositories\SettingRepo;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\View\View;
|
||||
|
||||
class DesignMenuController extends Controller
|
||||
{
|
||||
|
|
@ -20,6 +19,7 @@ class DesignMenuController extends Controller
|
|||
$data = [
|
||||
'design_settings' => system_setting('base.menu_setting', []),
|
||||
];
|
||||
|
||||
return view('admin::pages.design.builder.menu', $data);
|
||||
}
|
||||
|
||||
|
|
@ -34,7 +34,8 @@ class DesignMenuController extends Controller
|
|||
{
|
||||
$content = json_decode($request->getContent(), true);
|
||||
|
||||
SettingRepo::storeValue("menu_setting", $content);
|
||||
SettingRepo::storeValue('menu_setting', $content);
|
||||
|
||||
return json_success(trans('common.updated_success'));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,10 +16,10 @@ class FileManagerController extends Controller
|
|||
public function index()
|
||||
{
|
||||
$data = (new FileManagerService)->getDirectories();
|
||||
|
||||
return view('admin::pages.file_manager.index', ['directories' => $data]);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取某个文件夹下面的文件列表
|
||||
*
|
||||
|
|
@ -32,10 +32,10 @@ class FileManagerController extends Controller
|
|||
$baseFolder = $request->get('base_folder');
|
||||
$page = (int) $request->get('page');
|
||||
$perPage = (int) $request->get('per_page');
|
||||
|
||||
return (new FileManagerService)->getFiles($baseFolder, $page, $perPage);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取文件夹列表
|
||||
* @param Request $request
|
||||
|
|
@ -45,10 +45,10 @@ class FileManagerController extends Controller
|
|||
public function getDirectories(Request $request)
|
||||
{
|
||||
$baseFolder = $request->get('base_folder');
|
||||
|
||||
return (new FileManagerService)->getDirectories($baseFolder);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 创建文件夹
|
||||
* POST /admin/file_manager
|
||||
|
|
@ -58,10 +58,10 @@ class FileManagerController extends Controller
|
|||
{
|
||||
$folderName = $request->get('name');
|
||||
(new FileManagerService)->createDirectory($folderName);
|
||||
|
||||
return json_success(trans('common.created_success'));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 文件或文件夹改名
|
||||
* PUT /admin/file_manager/rename
|
||||
|
|
@ -72,10 +72,10 @@ class FileManagerController extends Controller
|
|||
$originPath = $request->get('origin_name');
|
||||
$newPath = $request->get('new_name');
|
||||
(new FileManagerService)->updateName($originPath, $newPath);
|
||||
|
||||
return json_success(trans('common.updated_success'));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 删除文件或文件夹
|
||||
* DELETE /admin/file_manager/files {"path":"/xx/yy", "files":["1.jpg", "2.png"]}
|
||||
|
|
@ -87,10 +87,10 @@ class FileManagerController extends Controller
|
|||
$basePath = $requestData['path'] ?? '';
|
||||
$files = $requestData['files'] ?? [];
|
||||
(new FileManagerService)->deleteFiles($basePath, $files);
|
||||
|
||||
return json_success(trans('common.deleted_success'));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 删除文件夹
|
||||
*
|
||||
|
|
@ -102,10 +102,10 @@ class FileManagerController extends Controller
|
|||
{
|
||||
$folderName = $request->get('name');
|
||||
(new FileManagerService)->deleteDirectoryOrFile($folderName);
|
||||
|
||||
return json_success(trans('common.deleted_success'));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 上传文件
|
||||
* POST /admin/file_manager/upload
|
||||
|
|
|
|||
|
|
@ -35,6 +35,7 @@ class ForgottenController
|
|||
public function sendVerifyCode(VerifyCodeRequest $request)
|
||||
{
|
||||
UserService::sendVerifyCodeForForgotten($request->get('email'));
|
||||
|
||||
return json_success(trans('admin/forgotten.verify_code_sent'));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ class HomeController extends Controller
|
|||
'latest_month' => OrderReportRepo::getLatestMonth(),
|
||||
'latest_week' => OrderReportRepo::getLatestWeek(),
|
||||
'latest_year' => OrderReportRepo::getLatestYear(),
|
||||
]
|
||||
],
|
||||
];
|
||||
|
||||
return view('admin::pages.home', $data);
|
||||
|
|
|
|||
|
|
@ -12,9 +12,9 @@
|
|||
namespace Beike\Admin\Http\Controllers;
|
||||
|
||||
use Beike\Admin\Services\LanguageService;
|
||||
use Beike\Repositories\LanguageRepo;
|
||||
use Exception;
|
||||
use Illuminate\Http\Request;
|
||||
use Beike\Repositories\LanguageRepo;
|
||||
|
||||
class LanguageController extends Controller
|
||||
{
|
||||
|
|
@ -45,7 +45,6 @@ class LanguageController extends Controller
|
|||
return json_success(trans('common.created_success'), $language);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param Request $request
|
||||
* @param int $id
|
||||
|
|
@ -59,7 +58,6 @@ class LanguageController extends Controller
|
|||
return json_success(trans('common.updated_success'), $language);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 删除语言
|
||||
*
|
||||
|
|
|
|||
|
|
@ -11,9 +11,9 @@
|
|||
|
||||
namespace Beike\Admin\Http\Controllers;
|
||||
|
||||
use Beike\Models\AdminUser;
|
||||
use App\Http\Controllers\Controller;
|
||||
use Beike\Admin\Http\Requests\LoginRequest;
|
||||
use Beike\Models\AdminUser;
|
||||
|
||||
class LoginController extends Controller
|
||||
{
|
||||
|
|
@ -22,15 +22,16 @@ class LoginController extends Controller
|
|||
if (auth(AdminUser::AUTH_GUARD)->check()) {
|
||||
return redirect()->back();
|
||||
}
|
||||
|
||||
return view('admin::pages.login.login', \request()->only('admin_email', 'admin_password'));
|
||||
}
|
||||
|
||||
|
||||
public function store(LoginRequest $loginRequest)
|
||||
{
|
||||
if (auth(AdminUser::AUTH_GUARD)->attempt($loginRequest->validated())) {
|
||||
return redirect(admin_route('home.index'));
|
||||
}
|
||||
|
||||
return redirect()->back()->with(['error' => trans('auth.failed')])->withInput();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ class LogoutController extends Controller
|
|||
public function index(Request $request)
|
||||
{
|
||||
Auth::guard(AdminUser::AUTH_GUARD)->logout();
|
||||
|
||||
return redirect(admin_route('login.show'));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,11 +11,9 @@
|
|||
|
||||
namespace Beike\Admin\Http\Controllers;
|
||||
|
||||
use Beike\Repositories\PluginRepo;
|
||||
use ZanySoft\Zip\Zip;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
use Beike\Admin\Services\MarketingService;
|
||||
use Beike\Repositories\PluginRepo;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class MarketingController
|
||||
{
|
||||
|
|
@ -43,7 +41,6 @@ class MarketingController
|
|||
return view('admin::pages.marketing.index', $data);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取单个插件详情
|
||||
*/
|
||||
|
|
@ -59,13 +56,13 @@ class MarketingController
|
|||
if ($request->expectsJson()) {
|
||||
return $data;
|
||||
}
|
||||
|
||||
return view('admin::pages.marketing.show', $data);
|
||||
} catch (\Exception $e) {
|
||||
return redirect(admin_route('marketing.index'))->withErrors(['error' => $e->getMessage()]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 下单购买插件
|
||||
*/
|
||||
|
|
@ -75,13 +72,13 @@ class MarketingController
|
|||
$postData = $request->getContent();
|
||||
$pluginCode = $request->code;
|
||||
$result = MarketingService::getInstance()->buy($pluginCode, $postData);
|
||||
|
||||
return json_success('获取成功', $result);
|
||||
} catch (\Exception $e) {
|
||||
return json_fail($e->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 下载插件安装包到本地
|
||||
*/
|
||||
|
|
@ -90,6 +87,7 @@ class MarketingController
|
|||
try {
|
||||
$pluginCode = $request->code;
|
||||
MarketingService::getInstance()->download($pluginCode);
|
||||
|
||||
return json_success('下载解压成功, 请去插件列表安装');
|
||||
} catch (\Exception $e) {
|
||||
return json_fail($e->getMessage());
|
||||
|
|
|
|||
|
|
@ -11,13 +11,13 @@
|
|||
|
||||
namespace Beike\Admin\Http\Controllers;
|
||||
|
||||
use Beike\Models\Order;
|
||||
use Beike\Services\ShipmentService;
|
||||
use Illuminate\Http\Request;
|
||||
use Beike\Repositories\OrderRepo;
|
||||
use Beike\Services\StateMachineService;
|
||||
use Beike\Admin\Http\Resources\OrderSimple;
|
||||
use Beike\Models\Order;
|
||||
use Beike\Repositories\OrderRepo;
|
||||
use Beike\Services\ShipmentService;
|
||||
use Beike\Services\StateMachineService;
|
||||
use Beike\Shop\Http\Resources\Account\OrderList;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class OrderController extends Controller
|
||||
{
|
||||
|
|
@ -35,10 +35,10 @@ class OrderController extends Controller
|
|||
'orders' => OrderList::collection($orders),
|
||||
'statuses' => StateMachineService::getAllStatuses(),
|
||||
];
|
||||
|
||||
return view('admin::pages.orders.index', $data);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 导出订单列表
|
||||
*
|
||||
|
|
@ -51,13 +51,13 @@ class OrderController extends Controller
|
|||
try {
|
||||
$orders = OrderRepo::filterAll($request->all());
|
||||
$items = OrderSimple::collection($orders)->jsonSerialize();
|
||||
|
||||
return $this->downloadCsv('orders', $items, 'order');
|
||||
} catch (\Exception $e) {
|
||||
return redirect(admin_route('orders.index'))->withErrors(['error' => $e->getMessage()]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 查看单个订单
|
||||
*
|
||||
|
|
@ -71,10 +71,10 @@ class OrderController extends Controller
|
|||
$order->load(['orderTotals', 'orderHistories', 'orderShipments']);
|
||||
$data = hook_filter('admin_order_detail', ['order' => $order, 'html_items' => []]);
|
||||
$data['statuses'] = StateMachineService::getInstance($order)->nextBackendStatuses();
|
||||
|
||||
return view('admin::pages.orders.form', $data);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 更新订单状态,添加订单更新日志
|
||||
*
|
||||
|
|
@ -93,6 +93,7 @@ class OrderController extends Controller
|
|||
|
||||
$stateMachine = new StateMachineService($order);
|
||||
$stateMachine->setShipment($shipment)->changeStatus($status, $comment, $notify);
|
||||
|
||||
return json_success(trans('common.updated_success'));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,11 +12,11 @@
|
|||
namespace Beike\Admin\Http\Controllers;
|
||||
|
||||
use Beike\Admin\Http\Requests\PageRequest;
|
||||
use Beike\Models\Page;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Http\RedirectResponse;
|
||||
use Beike\Admin\Repositories\PageRepo;
|
||||
use Beike\Models\Page;
|
||||
use Beike\Shop\Http\Resources\PageDetail;
|
||||
use Illuminate\Http\RedirectResponse;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class PagesController
|
||||
{
|
||||
|
|
@ -30,12 +30,12 @@ class PagesController
|
|||
$pageList = PageRepo::getList();
|
||||
$data = [
|
||||
'pages' => $pageList,
|
||||
'pages_format' => PageDetail::collection($pageList)->jsonSerialize()
|
||||
'pages_format' => PageDetail::collection($pageList)->jsonSerialize(),
|
||||
];
|
||||
|
||||
return view('admin::pages.pages.index', $data);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 创建页面
|
||||
*
|
||||
|
|
@ -46,7 +46,6 @@ class PagesController
|
|||
return view('admin::pages.pages.form', ['page' => new Page()]);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 保存新建
|
||||
*
|
||||
|
|
@ -58,13 +57,13 @@ class PagesController
|
|||
try {
|
||||
$requestData = $request->all();
|
||||
PageRepo::createOrUpdate($requestData);
|
||||
|
||||
return redirect(admin_route('pages.index'));
|
||||
} catch (\Exception $e) {
|
||||
return redirect(admin_route('pages.index'))->withErrors(['error' => $e->getMessage()]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param Request $request
|
||||
* @param int $pageId
|
||||
|
|
@ -76,10 +75,10 @@ class PagesController
|
|||
'page' => PageRepo::findByPageId($pageId),
|
||||
'descriptions' => PageRepo::getDescriptionsByLocale($pageId),
|
||||
];
|
||||
|
||||
return view('admin::pages.pages.form', $data);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 保存更新
|
||||
*
|
||||
|
|
@ -93,13 +92,13 @@ class PagesController
|
|||
$requestData = $request->all();
|
||||
$requestData['id'] = $pageId;
|
||||
PageRepo::createOrUpdate($requestData);
|
||||
|
||||
return redirect()->to(admin_route('pages.index'));
|
||||
} catch (\Exception $e) {
|
||||
return redirect(admin_route('pages.index'))->withErrors(['error' => $e->getMessage()]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 删除单页
|
||||
*
|
||||
|
|
@ -110,10 +109,10 @@ class PagesController
|
|||
public function destroy(Request $request, int $pageId): array
|
||||
{
|
||||
PageRepo::deleteById($pageId);
|
||||
|
||||
return json_success(trans('common.deleted_success'));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 搜索页面标题自动完成
|
||||
* @param Request $request
|
||||
|
|
@ -122,10 +121,10 @@ class PagesController
|
|||
public function autocomplete(Request $request): array
|
||||
{
|
||||
$products = PageRepo::autocomplete($request->get('name') ?? '');
|
||||
|
||||
return json_success(trans('common.get_success'), $products);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取单页名称
|
||||
* @param Page $page
|
||||
|
|
@ -134,6 +133,7 @@ class PagesController
|
|||
public function name(Page $page): array
|
||||
{
|
||||
$name = $page->description->title ?? '';
|
||||
|
||||
return json_success(trans('common.get_success'), $name);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,12 +11,12 @@
|
|||
|
||||
namespace Beike\Admin\Http\Controllers;
|
||||
|
||||
use Exception;
|
||||
use Illuminate\Http\Request;
|
||||
use Beike\Admin\Http\Resources\PluginResource;
|
||||
use Beike\Repositories\PluginRepo;
|
||||
use Beike\Repositories\SettingRepo;
|
||||
use Exception;
|
||||
use Illuminate\Contracts\View\View;
|
||||
use Beike\Admin\Http\Resources\PluginResource;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class PluginController extends Controller
|
||||
{
|
||||
|
|
@ -27,10 +27,10 @@ class PluginController extends Controller
|
|||
{
|
||||
$plugins = app('plugin')->getPlugins();
|
||||
$data['plugins'] = array_values(PluginResource::collection($plugins)->jsonSerialize());
|
||||
|
||||
return view('admin::pages.plugins.index', $data);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 上传插件
|
||||
*/
|
||||
|
|
@ -38,10 +38,10 @@ class PluginController extends Controller
|
|||
{
|
||||
$zipFile = $request->file('file');
|
||||
app('plugin')->import($zipFile);
|
||||
|
||||
return json_success(trans('common.success'));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param Request $request
|
||||
* @param $code
|
||||
|
|
@ -52,10 +52,10 @@ class PluginController extends Controller
|
|||
{
|
||||
$plugin = app('plugin')->getPluginOrFail($code);
|
||||
PluginRepo::installPlugin($plugin);
|
||||
|
||||
return json_success(trans('common.success'));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param Request $request
|
||||
* @param $code
|
||||
|
|
@ -66,10 +66,10 @@ class PluginController extends Controller
|
|||
{
|
||||
$plugin = app('plugin')->getPluginOrFail($code);
|
||||
PluginRepo::uninstallPlugin($plugin);
|
||||
|
||||
return json_success(trans('common.success'));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param Request $request
|
||||
* @param $code
|
||||
|
|
@ -81,10 +81,10 @@ class PluginController extends Controller
|
|||
$plugin = app('plugin')->getPluginOrFail($code);
|
||||
$columnView = $plugin->getColumnView();
|
||||
$view = $columnView ?: 'admin::pages.plugins.form';
|
||||
|
||||
return view($view, ['plugin' => $plugin]);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param Request $request
|
||||
* @param $code
|
||||
|
|
@ -104,10 +104,10 @@ class PluginController extends Controller
|
|||
|
||||
SettingRepo::update('plugin', $code, $fields);
|
||||
hook_action('after_edit_plugin', ['plugin_code' => $code, 'fields' => $fields]);
|
||||
|
||||
return redirect($this->getRedirect())->with('success', trans('common.updated_success'));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param Request $request
|
||||
* @param $code
|
||||
|
|
@ -119,6 +119,7 @@ class PluginController extends Controller
|
|||
app('plugin')->getPluginOrFail($code);
|
||||
$status = $request->get('status');
|
||||
SettingRepo::update('plugin', $code, ['status' => $status]);
|
||||
|
||||
return json_success(trans('common.updated_success'));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,17 +2,16 @@
|
|||
|
||||
namespace Beike\Admin\Http\Controllers;
|
||||
|
||||
use Beike\Admin\Http\Requests\ProductRequest;
|
||||
use Beike\Admin\Http\Resources\ProductAttributeResource;
|
||||
use Beike\Admin\Http\Resources\ProductResource;
|
||||
use Beike\Admin\Repositories\TaxClassRepo;
|
||||
use Beike\Admin\Services\ProductService;
|
||||
use Beike\Models\Product;
|
||||
use Beike\Models\ProductAttribute;
|
||||
use Illuminate\Http\Request;
|
||||
use Beike\Repositories\ProductRepo;
|
||||
use Beike\Repositories\CategoryRepo;
|
||||
use Beike\Repositories\LanguageRepo;
|
||||
use Beike\Admin\Services\ProductService;
|
||||
use Beike\Admin\Repositories\TaxClassRepo;
|
||||
use Beike\Admin\Http\Requests\ProductRequest;
|
||||
use Beike\Admin\Http\Resources\ProductResource;
|
||||
use Beike\Repositories\ProductRepo;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class ProductController extends Controller
|
||||
{
|
||||
|
|
@ -66,6 +65,7 @@ class ProductController extends Controller
|
|||
{
|
||||
try {
|
||||
(new ProductService)->create($request->all());
|
||||
|
||||
return redirect()->to(admin_route('products.index'))
|
||||
->with('success', trans('common.created_success'));
|
||||
} catch (\Exception $e) {
|
||||
|
|
@ -84,6 +84,7 @@ class ProductController extends Controller
|
|||
{
|
||||
try {
|
||||
(new ProductService)->update($product, $request->all());
|
||||
|
||||
return redirect()->to($this->getRedirect())->with('success', trans('common.updated_success'));
|
||||
} catch (\Exception $e) {
|
||||
return redirect(admin_route('products.edit', $product))->withErrors(['error' => $e->getMessage()]);
|
||||
|
|
@ -93,6 +94,7 @@ class ProductController extends Controller
|
|||
public function destroy(Request $request, Product $product)
|
||||
{
|
||||
$product->delete();
|
||||
|
||||
return json_success(trans('common.deleted_success'));
|
||||
}
|
||||
|
||||
|
|
@ -136,7 +138,6 @@ class ProductController extends Controller
|
|||
return json_success(trans('common.get_success'), $name);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 根据商品ID批量获取商品名称
|
||||
*
|
||||
|
|
@ -151,7 +152,6 @@ class ProductController extends Controller
|
|||
return json_success(trans('common.get_success'), $name);
|
||||
}
|
||||
|
||||
|
||||
public function autocomplete(Request $request)
|
||||
{
|
||||
$products = ProductRepo::autocomplete($request->get('name') ?? '');
|
||||
|
|
@ -166,7 +166,6 @@ class ProductController extends Controller
|
|||
return json_success(trans('common.updated_success'), []);
|
||||
}
|
||||
|
||||
|
||||
public function destroyByIds(Request $request)
|
||||
{
|
||||
ProductRepo::DeleteByIds($request->get('ids'));
|
||||
|
|
|
|||
|
|
@ -11,10 +11,9 @@
|
|||
|
||||
namespace Beike\Admin\Http\Controllers;
|
||||
|
||||
use Beike\Models\Region;
|
||||
use Illuminate\Http\Request;
|
||||
use Beike\Repositories\CountryRepo;
|
||||
use Beike\Admin\Repositories\RegionRepo;
|
||||
use Beike\Repositories\CountryRepo;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class RegionController
|
||||
{
|
||||
|
|
@ -22,7 +21,7 @@ class RegionController
|
|||
{
|
||||
$data = [
|
||||
'regions' => RegionRepo::getList(),
|
||||
'countries' => CountryRepo::all()
|
||||
'countries' => CountryRepo::all(),
|
||||
];
|
||||
|
||||
return view('admin::pages.regions.index', $data);
|
||||
|
|
@ -32,6 +31,7 @@ class RegionController
|
|||
{
|
||||
$requestData = json_decode($request->getContent(), true);
|
||||
$region = RegionRepo::createOrUpdate($requestData);
|
||||
|
||||
return json_success(trans('common.created_success'), $region);
|
||||
}
|
||||
|
||||
|
|
@ -40,12 +40,14 @@ class RegionController
|
|||
$requestData = json_decode($request->getContent(), true);
|
||||
$requestData['id'] = $regionId;
|
||||
$region = RegionRepo::createOrUpdate($requestData);
|
||||
|
||||
return json_success(trans('common.updated_success'), $region);
|
||||
}
|
||||
|
||||
public function destroy(Request $request, int $regionId)
|
||||
{
|
||||
RegionRepo::deleteById($regionId);
|
||||
|
||||
return json_success(trans('common.deleted_success'));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,10 +13,7 @@ namespace Beike\Admin\Http\Controllers;
|
|||
|
||||
use Beike\Admin\Http\Resources\RmaDetail;
|
||||
use Beike\Admin\Http\Resources\RmaHistoryDetail;
|
||||
use Beike\Models\Rma;
|
||||
use Beike\Repositories\RmaReasonRepo;
|
||||
use Beike\Repositories\RmaRepo;
|
||||
use Exception;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class RmaController extends Controller
|
||||
|
|
@ -45,6 +42,7 @@ class RmaController extends Controller
|
|||
'statuses' => RmaRepo::getStatuses(),
|
||||
'types' => RmaRepo::getTypes(),
|
||||
];
|
||||
|
||||
return view('admin::pages.rmas.info', $data);
|
||||
}
|
||||
|
||||
|
|
@ -56,6 +54,7 @@ class RmaController extends Controller
|
|||
'rma' => (new RmaDetail(RmaRepo::find($id)))->jsonSerialize(),
|
||||
'statuses' => RmaRepo::getStatuses(),
|
||||
];
|
||||
|
||||
return json_success(trans('common.updated_success'), $data);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -12,8 +12,8 @@
|
|||
namespace Beike\Admin\Http\Controllers;
|
||||
|
||||
use Beike\Admin\Http\Resources\RmaReasonDetail;
|
||||
use Beike\Repositories\RmaReasonRepo;
|
||||
use Beike\Repositories\LanguageRepo;
|
||||
use Beike\Repositories\RmaReasonRepo;
|
||||
use Exception;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
|
|
@ -38,6 +38,7 @@ class RmaReasonController extends Controller
|
|||
public function store(Request $request): array
|
||||
{
|
||||
$rmaReason = RmaReasonRepo::create($request->only('name'));
|
||||
|
||||
return json_success(trans('common.created_success'), $rmaReason);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -11,12 +11,12 @@
|
|||
|
||||
namespace Beike\Admin\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Beike\Repositories\SettingRepo;
|
||||
use Beike\Admin\Http\Resources\CustomerGroupDetail;
|
||||
use Beike\Repositories\CountryRepo;
|
||||
use Beike\Repositories\CurrencyRepo;
|
||||
use Beike\Repositories\CustomerGroupRepo;
|
||||
use Beike\Admin\Http\Resources\CustomerGroupDetail;
|
||||
use Beike\Repositories\SettingRepo;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class SettingController extends Controller
|
||||
{
|
||||
|
|
@ -29,12 +29,12 @@ class SettingController extends Controller
|
|||
{
|
||||
$themes = [
|
||||
['value' => 'default', 'label' => trans('admin/setting.theme_default')],
|
||||
['value' => 'black', 'label' => trans('admin/setting.theme_black')]
|
||||
['value' => 'black', 'label' => trans('admin/setting.theme_black')],
|
||||
];
|
||||
|
||||
$tax_address = [
|
||||
['value' => 'shipping', 'label' => trans('admin/setting.shipping_address')],
|
||||
['value' => 'payment', 'label' => trans('admin/setting.payment_address')]
|
||||
['value' => 'payment', 'label' => trans('admin/setting.payment_address')],
|
||||
];
|
||||
|
||||
$data = [
|
||||
|
|
@ -42,13 +42,12 @@ class SettingController extends Controller
|
|||
'currencies' => CurrencyRepo::listEnabled(),
|
||||
'tax_address' => $tax_address,
|
||||
'customer_groups' => CustomerGroupDetail::collection(CustomerGroupRepo::list())->jsonSerialize(),
|
||||
'themes' => $themes
|
||||
'themes' => $themes,
|
||||
];
|
||||
|
||||
return view('admin::pages.setting', $data);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 更新系统设置
|
||||
*
|
||||
|
|
@ -64,12 +63,14 @@ class SettingController extends Controller
|
|||
$oldAdminName = admin_name();
|
||||
$newAdminName = $settings['admin_name'] ?: 'admin';
|
||||
$settingUrl = str_replace($oldAdminName, $newAdminName, admin_route('settings.index'));
|
||||
|
||||
return redirect($settingUrl)->with('success', trans('common.updated_success'));
|
||||
}
|
||||
|
||||
public function storeDeveloperToken(Request $request)
|
||||
{
|
||||
SettingRepo::storeValue('developer_token', $request->get('developer_token'));
|
||||
|
||||
return json_success(trans('common.updated_success'));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,9 +11,9 @@
|
|||
|
||||
namespace Beike\Admin\Http\Controllers;
|
||||
|
||||
use Beike\Admin\Repositories\TaxClassRepo;
|
||||
use Beike\Models\TaxRate;
|
||||
use Illuminate\Http\Request;
|
||||
use Beike\Admin\Repositories\TaxClassRepo;
|
||||
|
||||
class TaxClassController extends Controller
|
||||
{
|
||||
|
|
@ -32,6 +32,7 @@ class TaxClassController extends Controller
|
|||
{
|
||||
$requestData = json_decode($request->getContent(), true);
|
||||
$taxClass = TaxClassRepo::createOrUpdate($requestData);
|
||||
|
||||
return json_success(trans('common.created_success'), $taxClass);
|
||||
}
|
||||
|
||||
|
|
@ -40,12 +41,14 @@ class TaxClassController extends Controller
|
|||
$requestData = json_decode($request->getContent(), true);
|
||||
$requestData['id'] = $taxClassId;
|
||||
$taxClass = TaxClassRepo::createOrUpdate($requestData);
|
||||
|
||||
return json_success(trans('common.updated_success'), $taxClass);
|
||||
}
|
||||
|
||||
public function destroy(Request $request, int $taxClassId)
|
||||
{
|
||||
TaxClassRepo::deleteById($taxClassId);
|
||||
|
||||
return json_success(trans('common.deleted_success'));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,9 +12,9 @@
|
|||
namespace Beike\Admin\Http\Controllers;
|
||||
|
||||
use Beike\Admin\Http\Requests\TaxRateRequest;
|
||||
use Beike\Admin\Repositories\TaxRateRepo;
|
||||
use Beike\Models\Region;
|
||||
use Illuminate\Http\Request;
|
||||
use Beike\Admin\Repositories\TaxRateRepo;
|
||||
|
||||
class TaxRateController
|
||||
{
|
||||
|
|
@ -22,7 +22,7 @@ class TaxRateController
|
|||
{
|
||||
$data = [
|
||||
'tax_rates' => TaxRateRepo::getList(),
|
||||
'regions' => Region::all()
|
||||
'regions' => Region::all(),
|
||||
];
|
||||
|
||||
return view('admin::pages.tax_rates.index', $data);
|
||||
|
|
@ -33,6 +33,7 @@ class TaxRateController
|
|||
$requestData = json_decode($request->getContent(), true);
|
||||
$taxRate = TaxRateRepo::createOrUpdate($requestData);
|
||||
$taxRate->load('region');
|
||||
|
||||
return json_success(trans('common.created_success'), $taxRate);
|
||||
}
|
||||
|
||||
|
|
@ -42,12 +43,14 @@ class TaxRateController
|
|||
$requestData['id'] = $taxRateId;
|
||||
$taxRate = TaxRateRepo::createOrUpdate($requestData);
|
||||
$taxRate->load('region');
|
||||
|
||||
return json_success(trans('common.updated_success'), $taxRate);
|
||||
}
|
||||
|
||||
public function destroy(Request $request, int $taxRateId)
|
||||
{
|
||||
TaxRateRepo::deleteById($taxRateId);
|
||||
|
||||
return json_success(trans('common.deleted_success'));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ class ZoneController extends Controller
|
|||
|
||||
$data = [
|
||||
'zones' => $zones,
|
||||
'countries' => CountryRepo::all()
|
||||
'countries' => CountryRepo::all(),
|
||||
];
|
||||
|
||||
if ($request->expectsJson()) {
|
||||
|
|
|
|||
|
|
@ -42,6 +42,7 @@ class CustomerRequest extends FormRequest
|
|||
} else {
|
||||
$rules['email'] = 'required|email:rfc|unique:customers,email,' . $this->id;
|
||||
}
|
||||
|
||||
return $rules;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ class ForgottenRequest extends FormRequest
|
|||
public function attributes()
|
||||
{
|
||||
return [
|
||||
'password' => trans('customer.password')
|
||||
'password' => trans('customer.password'),
|
||||
];
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -28,6 +28,4 @@ class LoginRequest extends FormRequest
|
|||
'password' => 'required',
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -41,6 +41,7 @@ class RmaRequest extends FormRequest
|
|||
'rma_reason_id' => 'required|exists:rma_reasons,id',
|
||||
'type' => 'required',
|
||||
];
|
||||
|
||||
return $rules;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -42,10 +42,10 @@ class TaxRateRequest extends FormRequest
|
|||
if ($this->type == 'percent') {
|
||||
$rule['rate'] = 'required|numeric|gt:0|lt:100';
|
||||
}
|
||||
|
||||
return $rule;
|
||||
}
|
||||
|
||||
|
||||
public function attributes()
|
||||
{
|
||||
return [
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ class AttributeDetailResource extends JsonResource
|
|||
'attribute_group_name' => $this->attributeGroup->description->name ?? '',
|
||||
'created_at' => time_format($this->created_at),
|
||||
'values' => AttributeValueResource::collection($this->values),
|
||||
'descriptions' => $this->descriptions
|
||||
'descriptions' => $this->descriptions,
|
||||
];
|
||||
|
||||
return $data;
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ class CategoryResource extends JsonResource
|
|||
'position' => $this->position,
|
||||
'active' => $this->active,
|
||||
'url_edit' => admin_route('categories.edit', $this),
|
||||
'children' => CategoryResource::collection($this->children),
|
||||
'children' => self::collection($this->children),
|
||||
];
|
||||
|
||||
return $data;
|
||||
|
|
|
|||
|
|
@ -11,7 +11,6 @@
|
|||
|
||||
namespace Beike\Admin\Http\Resources;
|
||||
|
||||
use Beike\Repositories\RmaRepo;
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
|
||||
class RmaReasonDetail extends JsonResource
|
||||
|
|
@ -21,7 +20,7 @@ class RmaReasonDetail extends JsonResource
|
|||
return [
|
||||
'id' => $this->id,
|
||||
'name' => json_decode($this->name, true)[locale()] ?? '',
|
||||
'names' => json_decode($this->name, true)
|
||||
'names' => json_decode($this->name, true),
|
||||
];
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,25 +11,25 @@
|
|||
|
||||
namespace Beike\Admin\Providers;
|
||||
|
||||
use Beike\Models\AdminUser;
|
||||
use Illuminate\Support\Str;
|
||||
use Beike\Console\Commands\Sitemap;
|
||||
use Illuminate\Support\Facades\View;
|
||||
use Illuminate\Support\Facades\Config;
|
||||
use Illuminate\Support\ServiceProvider;
|
||||
use Beike\Admin\View\Components\Filter;
|
||||
use Beike\Admin\View\Components\Header;
|
||||
use Beike\Admin\View\Components\Sidebar;
|
||||
use Beike\Admin\View\Components\Alert;
|
||||
use Beike\Admin\View\Components\NoData;
|
||||
use Beike\Admin\View\Components\Filter;
|
||||
use Beike\Admin\View\Components\Form\Image;
|
||||
use Beike\Admin\View\Components\Form\Input;
|
||||
use Beike\Admin\View\Components\Form\Select;
|
||||
use Beike\Console\Commands\MakeRootAdminUser;
|
||||
use Beike\Admin\View\Components\Form\Textarea;
|
||||
use Beike\Console\Commands\GenerateDatabaseDict;
|
||||
use Beike\Admin\View\Components\Form\InputLocale;
|
||||
use Beike\Admin\View\Components\Form\Select;
|
||||
use Beike\Admin\View\Components\Form\SwitchRadio;
|
||||
use Beike\Admin\View\Components\Form\Textarea;
|
||||
use Beike\Admin\View\Components\Header;
|
||||
use Beike\Admin\View\Components\NoData;
|
||||
use Beike\Admin\View\Components\Sidebar;
|
||||
use Beike\Console\Commands\GenerateDatabaseDict;
|
||||
use Beike\Console\Commands\MakeRootAdminUser;
|
||||
use Beike\Console\Commands\Sitemap;
|
||||
use Beike\Models\AdminUser;
|
||||
use Illuminate\Support\Facades\Config;
|
||||
use Illuminate\Support\Facades\View;
|
||||
use Illuminate\Support\ServiceProvider;
|
||||
use Illuminate\Support\Str;
|
||||
use Illuminate\View\FileViewFinder;
|
||||
|
||||
class AdminServiceProvider extends ServiceProvider
|
||||
|
|
@ -75,7 +75,6 @@ class AdminServiceProvider extends ServiceProvider
|
|||
$this->loadDesignComponents();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 加载后台命令行脚本
|
||||
*/
|
||||
|
|
@ -90,7 +89,6 @@ class AdminServiceProvider extends ServiceProvider
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 注册后台用户 guard
|
||||
*/
|
||||
|
|
@ -107,7 +105,6 @@ class AdminServiceProvider extends ServiceProvider
|
|||
]);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 加载主题模板, 用于装修预览
|
||||
*/
|
||||
|
|
@ -119,11 +116,11 @@ class AdminServiceProvider extends ServiceProvider
|
|||
$customTheme[] = base_path("themes/{$theme}");
|
||||
$paths = array_merge($customTheme, $paths);
|
||||
}
|
||||
|
||||
return new FileViewFinder($app['files'], $paths);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 后台UI组件
|
||||
*/
|
||||
|
|
@ -144,7 +141,6 @@ class AdminServiceProvider extends ServiceProvider
|
|||
]);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* seeder 数据
|
||||
*/
|
||||
|
|
@ -155,7 +151,6 @@ class AdminServiceProvider extends ServiceProvider
|
|||
], 'beike-seeders');
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 加载首页 page builder 相关组件
|
||||
*
|
||||
|
|
@ -177,12 +172,11 @@ class AdminServiceProvider extends ServiceProvider
|
|||
throw new \Exception("请先定义自定义模板类 {$classBaseName}");
|
||||
}
|
||||
$this->loadViewComponentsAs('editor', [
|
||||
$aliasName => $classBaseName
|
||||
$aliasName => $classBaseName,
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 后台公共数据
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -28,10 +28,10 @@ class AdminRoleRepo
|
|||
$adminRole = Role::findOrCreate($data['name'], 'web_admin');
|
||||
$permissions = $data['permissions'];
|
||||
self::syncPermissions($adminRole, $permissions);
|
||||
|
||||
return $adminRole;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 编辑新角色
|
||||
*
|
||||
|
|
@ -49,10 +49,10 @@ class AdminRoleRepo
|
|||
|
||||
$permissions = $data['permissions'];
|
||||
self::syncPermissions($adminRole, $permissions);
|
||||
|
||||
return $adminRole;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 同步所有权限
|
||||
*
|
||||
|
|
@ -78,7 +78,6 @@ class AdminRoleRepo
|
|||
$adminRole->syncPermissions($items);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 删除角色
|
||||
*
|
||||
|
|
|
|||
|
|
@ -11,8 +11,8 @@
|
|||
|
||||
namespace Beike\Admin\Repositories;
|
||||
|
||||
use Beike\Models\AdminUser;
|
||||
use Beike\Admin\Http\Resources\AdminUserDetail;
|
||||
use Beike\Models\AdminUser;
|
||||
use Symfony\Component\HttpKernel\Exception\NotAcceptableHttpException;
|
||||
|
||||
class AdminUserRepo
|
||||
|
|
@ -24,10 +24,10 @@ class AdminUserRepo
|
|||
{
|
||||
$builder = AdminUser::query()->with(['roles']);
|
||||
$adminUsers = $builder->get();
|
||||
|
||||
return AdminUserDetail::collection($adminUsers)->jsonSerialize();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 创建后台管理员用户
|
||||
*
|
||||
|
|
@ -48,10 +48,10 @@ class AdminUserRepo
|
|||
if (isset($data['roles'])) {
|
||||
$adminUser->assignRole($data['roles']);
|
||||
}
|
||||
|
||||
return $adminUser;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 更新后台管理员用户
|
||||
*
|
||||
|
|
@ -74,10 +74,10 @@ class AdminUserRepo
|
|||
}
|
||||
$adminUser->update($userData);
|
||||
$adminUser->syncRoles($data['roles']);
|
||||
|
||||
return $adminUser;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 删除后台用户
|
||||
*
|
||||
|
|
|
|||
|
|
@ -11,10 +11,8 @@
|
|||
|
||||
namespace Beike\Admin\Repositories;
|
||||
|
||||
use Beike\Admin\Http\Resources\TaxClassDetail;
|
||||
use Beike\Models\Attribute;
|
||||
use Beike\Models\AttributeValue;
|
||||
use Beike\Models\TaxClass;
|
||||
|
||||
class AttributeRepo
|
||||
{
|
||||
|
|
@ -114,7 +112,6 @@ class AttributeRepo
|
|||
$attribute->delete();
|
||||
}
|
||||
|
||||
|
||||
public static function autocomplete($name)
|
||||
{
|
||||
$builder = Attribute::query()->with('description')
|
||||
|
|
|
|||
|
|
@ -12,8 +12,8 @@
|
|||
namespace Beike\Admin\Repositories;
|
||||
|
||||
use Beike\Models\Product;
|
||||
use Beike\Repositories\OrderRepo;
|
||||
use Beike\Repositories\CustomerRepo;
|
||||
use Beike\Repositories\OrderRepo;
|
||||
|
||||
class DashboardRepo
|
||||
{
|
||||
|
|
@ -30,12 +30,10 @@ class DashboardRepo
|
|||
];
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取客户访问统计今日昨日比较
|
||||
* @return array
|
||||
* @todo
|
||||
*
|
||||
*/
|
||||
public static function getCustomerViewData(): array
|
||||
{
|
||||
|
|
@ -54,7 +52,6 @@ class DashboardRepo
|
|||
];
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取订单基础统计, 总数和今日昨日比较
|
||||
*
|
||||
|
|
@ -77,7 +74,6 @@ class DashboardRepo
|
|||
];
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取客户注册今日昨日比较
|
||||
*
|
||||
|
|
@ -100,7 +96,6 @@ class DashboardRepo
|
|||
];
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取订单总额基础统计, 总数和今日昨日比较
|
||||
*
|
||||
|
|
|
|||
|
|
@ -12,8 +12,8 @@
|
|||
namespace Beike\Admin\Repositories;
|
||||
|
||||
use Beike\Models\Page;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Contracts\Pagination\LengthAwarePaginator;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
|
||||
class PageRepo
|
||||
{
|
||||
|
|
@ -25,37 +25,38 @@ class PageRepo
|
|||
public static function getList(): LengthAwarePaginator
|
||||
{
|
||||
$builder = Page::query()->with([
|
||||
'description'
|
||||
'description',
|
||||
])->orderByDesc('updated_at');
|
||||
|
||||
return $builder->paginate(perPage());
|
||||
}
|
||||
|
||||
|
||||
public static function findByPageId($pageId)
|
||||
{
|
||||
$page = Page::query()->findOrFail($pageId);
|
||||
$page->load(['descriptions']);
|
||||
|
||||
return $page;
|
||||
}
|
||||
|
||||
|
||||
public static function getDescriptionsByLocale($pageId)
|
||||
{
|
||||
$page = self::findByPageId($pageId);
|
||||
|
||||
return $page->descriptions->keyBy('locale')->toArray();
|
||||
}
|
||||
|
||||
|
||||
public static function createOrUpdate($data)
|
||||
{
|
||||
try {
|
||||
DB::beginTransaction();
|
||||
$region = self::pushPage($data);
|
||||
DB::commit();
|
||||
|
||||
return $region;
|
||||
} catch (\Exception $e) {
|
||||
DB::rollBack();
|
||||
|
||||
throw $e;
|
||||
}
|
||||
}
|
||||
|
|
@ -77,6 +78,7 @@ class PageRepo
|
|||
$page->descriptions()->delete();
|
||||
$page->descriptions()->createMany($data['descriptions']);
|
||||
$page->load(['descriptions']);
|
||||
|
||||
return $page;
|
||||
}
|
||||
|
||||
|
|
@ -87,7 +89,6 @@ class PageRepo
|
|||
$page->delete();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 页面内容自动完成
|
||||
*
|
||||
|
|
@ -105,9 +106,10 @@ class PageRepo
|
|||
$results[] = [
|
||||
'id' => $page->id,
|
||||
'name' => $page->description->title,
|
||||
'status' => $page->active
|
||||
'status' => $page->active,
|
||||
];
|
||||
}
|
||||
|
||||
return $results;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,23 +12,26 @@
|
|||
namespace Beike\Admin\Repositories;
|
||||
|
||||
use Beike\Models\AdminUser;
|
||||
use Spatie\Permission\Models\Role;
|
||||
use Spatie\Permission\Exceptions\PermissionDoesNotExist;
|
||||
use Spatie\Permission\Models\Role;
|
||||
|
||||
class PermissionRepo
|
||||
{
|
||||
private ?AdminUser $adminUser = null;
|
||||
|
||||
private ?Role $adminRole = null;
|
||||
|
||||
public function setUser(AdminUser $user): PermissionRepo
|
||||
public function setUser(AdminUser $user): self
|
||||
{
|
||||
$this->adminUser = $user;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function setRole(Role $role): PermissionRepo
|
||||
public function setRole(Role $role): self
|
||||
{
|
||||
$this->adminRole = $role;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
|
|
@ -63,10 +66,10 @@ class PermissionRepo
|
|||
['title' => trans('admin/common.zone'), 'permissions' => $this->getZonePermissions()],
|
||||
['title' => trans('admin/common.country'), 'permissions' => $this->getCountryPermissions()],
|
||||
];
|
||||
|
||||
return hook_filter('role.all_permissions', $permissions);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 订单权限列表
|
||||
*
|
||||
|
|
@ -76,10 +79,10 @@ class PermissionRepo
|
|||
{
|
||||
$routes = ['orders_index', 'orders_export', 'orders_show', 'orders_update_status'];
|
||||
$items = $this->getPermissionList('order', $routes);
|
||||
|
||||
return hook_filter('role.order_permissions', $items);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 售后(退换货)权限列表
|
||||
*
|
||||
|
|
@ -89,10 +92,10 @@ class PermissionRepo
|
|||
{
|
||||
$routes = ['rmas_index', 'rmas_show', 'rmas_update', 'rmas_delete'];
|
||||
$items = $this->getPermissionList('rma', $routes);
|
||||
|
||||
return hook_filter('role.rma_permissions', $items);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 售后(退换货)原因权限列表
|
||||
*
|
||||
|
|
@ -102,10 +105,10 @@ class PermissionRepo
|
|||
{
|
||||
$routes = ['rma_reasons_index', 'rma_reasons_create', 'rma_reasons_update', 'rma_reasons_delete'];
|
||||
$items = $this->getPermissionList('rma_reason', $routes);
|
||||
|
||||
return hook_filter('role.rma_reason_permissions', $items);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 商品权限列表
|
||||
*
|
||||
|
|
@ -115,10 +118,10 @@ class PermissionRepo
|
|||
{
|
||||
$routes = ['products_index', 'products_create', 'products_show', 'products_update', 'products_delete', 'products_trashed', 'products_restore'];
|
||||
$items = $this->getPermissionList('product', $routes);
|
||||
|
||||
return hook_filter('role.product_permissions', $items);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 分类权限列表
|
||||
*
|
||||
|
|
@ -128,10 +131,10 @@ class PermissionRepo
|
|||
{
|
||||
$routes = ['categories_index', 'categories_create', 'categories_show', 'categories_update', 'categories_delete'];
|
||||
$items = $this->getPermissionList('category', $routes);
|
||||
|
||||
return hook_filter('role.category_permissions', $items);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 品牌权限列表
|
||||
*
|
||||
|
|
@ -141,10 +144,10 @@ class PermissionRepo
|
|||
{
|
||||
$routes = ['brands_index', 'brands_create', 'brands_show', 'brands_update', 'brands_delete'];
|
||||
$items = $this->getPermissionList('brand', $routes);
|
||||
|
||||
return hook_filter('role.brand_permissions', $items);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 客户权限列表
|
||||
*
|
||||
|
|
@ -154,10 +157,10 @@ class PermissionRepo
|
|||
{
|
||||
$routes = ['customers_index', 'customers_create', 'customers_show', 'customers_update', 'customers_delete'];
|
||||
$items = $this->getPermissionList('customer', $routes);
|
||||
|
||||
return hook_filter('role.customer_permissions', $items);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 客户组权限列表
|
||||
*
|
||||
|
|
@ -167,10 +170,10 @@ class PermissionRepo
|
|||
{
|
||||
$routes = ['customer_groups_index', 'customer_groups_create', 'customer_groups_show', 'customer_groups_update', 'customer_groups_delete'];
|
||||
$items = $this->getPermissionList('customer_group', $routes);
|
||||
|
||||
return hook_filter('role.customer_group_permissions', $items);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 设置权限列表
|
||||
*
|
||||
|
|
@ -180,10 +183,10 @@ class PermissionRepo
|
|||
{
|
||||
$routes = ['settings_index', 'settings_update', 'design_index', 'design_footer_index', 'design_menu_index'];
|
||||
$items = $this->getPermissionList('setting', $routes);
|
||||
|
||||
return hook_filter('role.setting_permissions', $items);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 内容管理列表
|
||||
* @return mixed
|
||||
|
|
@ -192,10 +195,10 @@ class PermissionRepo
|
|||
{
|
||||
$routes = ['pages_index', 'pages_create', 'pages_show', 'pages_update', 'pages_delete'];
|
||||
$items = $this->getPermissionList('page', $routes);
|
||||
|
||||
return hook_filter('role.page_permissions', $items);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 插件权限列表
|
||||
*
|
||||
|
|
@ -205,10 +208,10 @@ class PermissionRepo
|
|||
{
|
||||
$routes = ['plugins_index', 'plugins_import', 'plugins_update', 'plugins_show', 'plugins_install', 'plugins_update_status', 'plugins_uninstall'];
|
||||
$items = $this->getPermissionList('plugin', $routes);
|
||||
|
||||
return hook_filter('role.plugin_permissions', $items);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 后台管理员权限列表
|
||||
*
|
||||
|
|
@ -218,10 +221,10 @@ class PermissionRepo
|
|||
{
|
||||
$routes = ['admin_users_index', 'admin_users_create', 'admin_users_show', 'admin_users_update', 'admin_users_delete'];
|
||||
$items = $this->getPermissionList('user', $routes);
|
||||
|
||||
return hook_filter('role.user_permissions', $items);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 后台管理员权限列表
|
||||
*
|
||||
|
|
@ -231,10 +234,10 @@ class PermissionRepo
|
|||
{
|
||||
$routes = ['admin_roles_index', 'admin_roles_create', 'admin_roles_show', 'admin_roles_update', 'admin_roles_delete'];
|
||||
$items = $this->getPermissionList('role', $routes);
|
||||
|
||||
return hook_filter('role.role_permissions', $items);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 区域分组权限列表
|
||||
*
|
||||
|
|
@ -244,10 +247,10 @@ class PermissionRepo
|
|||
{
|
||||
$routes = ['regions_index', 'regions_create', 'regions_show', 'regions_update', 'regions_delete'];
|
||||
$items = $this->getPermissionList('region', $routes);
|
||||
|
||||
return hook_filter('role.region_permissions', $items);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取税率权限列表
|
||||
*
|
||||
|
|
@ -257,10 +260,10 @@ class PermissionRepo
|
|||
{
|
||||
$routes = ['tax_rates_index', 'tax_rates_create', 'tax_rates_show', 'tax_rates_update', 'tax_rates_delete'];
|
||||
$items = $this->getPermissionList('tax_rate', $routes);
|
||||
|
||||
return hook_filter('role.tax_rate_permissions', $items);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取税类权限列表
|
||||
*
|
||||
|
|
@ -270,10 +273,10 @@ class PermissionRepo
|
|||
{
|
||||
$routes = ['tax_classes_index', 'tax_classes_create', 'tax_classes_show', 'tax_classes_update', 'tax_classes_delete'];
|
||||
$items = $this->getPermissionList('tax_class', $routes);
|
||||
|
||||
return hook_filter('role.tax_class_permissions', $items);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取汇率权限列表
|
||||
*
|
||||
|
|
@ -283,10 +286,10 @@ class PermissionRepo
|
|||
{
|
||||
$routes = ['currencies_index', 'currencies_create', 'currencies_show', 'currencies_update', 'currencies_delete'];
|
||||
$items = $this->getPermissionList('currency', $routes);
|
||||
|
||||
return hook_filter('role.currency_permissions', $items);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取语言权限列表
|
||||
*
|
||||
|
|
@ -296,10 +299,10 @@ class PermissionRepo
|
|||
{
|
||||
$routes = ['languages_index', 'languages_create', 'languages_update', 'languages_delete'];
|
||||
$items = $this->getPermissionList('language', $routes);
|
||||
|
||||
return hook_filter('role.language_permissions', $items);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取文件管理器权限列表
|
||||
*
|
||||
|
|
@ -309,10 +312,10 @@ class PermissionRepo
|
|||
{
|
||||
$routes = ['file_manager_create', 'file_manager_show', 'file_manager_update', 'file_manager_delete'];
|
||||
$items = $this->getPermissionList('file_manager', $routes);
|
||||
|
||||
return hook_filter('role.file_manager_permissions', $items);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取省份权限列表
|
||||
*
|
||||
|
|
@ -322,10 +325,10 @@ class PermissionRepo
|
|||
{
|
||||
$routes = ['zones_create', 'zones_index', 'zones_update', 'zones_delete'];
|
||||
$items = $this->getPermissionList('zone', $routes);
|
||||
|
||||
return hook_filter('role.zone_permissions', $items);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取国家权限列表
|
||||
*
|
||||
|
|
@ -335,10 +338,10 @@ class PermissionRepo
|
|||
{
|
||||
$routes = ['countries_create', 'countries_index', 'countries_update', 'countries_delete'];
|
||||
$items = $this->getPermissionList('country', $routes);
|
||||
|
||||
return hook_filter('role.country_permissions', $items);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 根据模块和路由返回权限列表
|
||||
*
|
||||
|
|
@ -352,6 +355,7 @@ class PermissionRepo
|
|||
foreach ($routes as $route) {
|
||||
$items[] = ['code' => $route, 'name' => trans("admin/{$module}.{$route}"), 'selected' => $this->hasPermission($route)];
|
||||
}
|
||||
|
||||
return $items;
|
||||
}
|
||||
|
||||
|
|
@ -372,6 +376,7 @@ class PermissionRepo
|
|||
} catch (PermissionDoesNotExist $exception) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,9 +27,11 @@ class RegionRepo
|
|||
DB::beginTransaction();
|
||||
$region = self::pushRegion($data);
|
||||
DB::commit();
|
||||
|
||||
return $region;
|
||||
} catch (\Exception $e) {
|
||||
DB::rollBack();
|
||||
|
||||
throw $e;
|
||||
}
|
||||
}
|
||||
|
|
@ -62,6 +64,7 @@ class RegionRepo
|
|||
$region->regionZones()->createMany($newRegionZones);
|
||||
}
|
||||
$region->load(['regionZones']);
|
||||
|
||||
return $region;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -11,8 +11,6 @@
|
|||
|
||||
namespace Beike\Admin\Repositories\Report;
|
||||
|
||||
|
||||
use Beike\Models\Order;
|
||||
use Beike\Repositories\OrderRepo;
|
||||
use Carbon\Carbon;
|
||||
use Carbon\CarbonPeriod;
|
||||
|
|
@ -55,10 +53,10 @@ class OrderReportRepo
|
|||
'totals' => $totals,
|
||||
'amounts' => $amounts,
|
||||
];
|
||||
|
||||
return hook_filter('dashboard.order_report_month', $data);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取最近一周每日销售订单数
|
||||
*/
|
||||
|
|
@ -93,10 +91,10 @@ class OrderReportRepo
|
|||
'totals' => $totals,
|
||||
'amounts' => $amounts,
|
||||
];
|
||||
|
||||
return hook_filter('dashboard.order_report_week', $data);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取最近一年每月销售订单数
|
||||
*/
|
||||
|
|
@ -139,6 +137,7 @@ class OrderReportRepo
|
|||
'totals' => $totals,
|
||||
'amounts' => $amounts,
|
||||
];
|
||||
|
||||
return hook_filter('dashboard.order_report_year', $data);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,13 +16,13 @@ use Beike\Models\TaxClass;
|
|||
|
||||
class TaxClassRepo
|
||||
{
|
||||
const BASE_TYPES = ['store', 'payment', 'shipping'];
|
||||
public const BASE_TYPES = ['store', 'payment', 'shipping'];
|
||||
|
||||
public static function getList()
|
||||
{
|
||||
$taxClass = TaxClass::query()->with([
|
||||
'taxRates.region',
|
||||
'taxRules'
|
||||
'taxRules',
|
||||
])->get();
|
||||
|
||||
return TaxClassDetail::collection($taxClass)->jsonSerialize();
|
||||
|
|
@ -53,6 +53,7 @@ class TaxClassRepo
|
|||
$taxClass->taxRules()->delete();
|
||||
$taxClass->taxRules()->createMany($rules);
|
||||
$taxClass->load(['taxRules']);
|
||||
|
||||
return $taxClass;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ class TaxRateRepo
|
|||
public static function getList()
|
||||
{
|
||||
return TaxRate::query()->with([
|
||||
'region'
|
||||
'region',
|
||||
])->get();
|
||||
}
|
||||
|
||||
|
|
@ -37,6 +37,7 @@ class TaxRateRepo
|
|||
'type' => $data['type'],
|
||||
]);
|
||||
$taxRate->saveOrFail();
|
||||
|
||||
return $taxRate;
|
||||
}
|
||||
|
||||
|
|
@ -49,6 +50,7 @@ class TaxRateRepo
|
|||
public static function getNameByRateId($taxRateId)
|
||||
{
|
||||
$taxRate = TaxRate::query()->findOrFail($taxRateId);
|
||||
|
||||
return $taxRate->name;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -47,7 +47,6 @@ Route::prefix($adminName)
|
|||
Route::middleware('can:brands_update')->put('brands/{id}', [Controllers\BrandController::class, 'update'])->name('brands.update');
|
||||
Route::middleware('can:brands_delete')->delete('brands/{id}', [Controllers\BrandController::class, 'destroy'])->name('brands.destroy');
|
||||
|
||||
|
||||
// 商品分类
|
||||
Route::middleware('can:categories_index')->get('categories/autocomplete', [Controllers\CategoryController::class, 'autocomplete'])->name('categories.autocomplete');
|
||||
Route::middleware('can:categories_show')->get('categories/{category}/name', [Controllers\CategoryController::class, 'name'])->name('categories.name');
|
||||
|
|
@ -58,21 +57,18 @@ Route::prefix($adminName)
|
|||
Route::middleware('can:categories_update')->put('categories/{category}', [Controllers\CategoryController::class, 'update'])->name('categories.update');
|
||||
Route::middleware('can:categories_delete')->delete('categories/{category}', [Controllers\CategoryController::class, 'destroy'])->name('categories.destroy');
|
||||
|
||||
|
||||
// 国家
|
||||
Route::middleware('can:countries_index')->get('countries', [Controllers\CountryController::class, 'index'])->name('countries.index');
|
||||
Route::middleware('can:countries_create')->post('countries', [Controllers\CountryController::class, 'store'])->name('countries.store');
|
||||
Route::middleware('can:countries_update')->put('countries/{id}', [Controllers\CountryController::class, 'update'])->name('countries.update');
|
||||
Route::middleware('can:countries_delete')->delete('countries/{id}', [Controllers\CountryController::class, 'destroy'])->name('countries.destroy');
|
||||
|
||||
|
||||
// 省份
|
||||
Route::middleware('can:zones_index')->get('zones', [Controllers\ZoneController::class, 'index'])->name('zones.index');
|
||||
Route::middleware('can:zones_create')->post('zones', [Controllers\ZoneController::class, 'store'])->name('zones.store');
|
||||
Route::middleware('can:zones_update')->put('zones/{id}', [Controllers\ZoneController::class, 'update'])->name('zones.update');
|
||||
Route::middleware('can:zones_delete')->delete('zones/{id}', [Controllers\ZoneController::class, 'destroy'])->name('zones.destroy');
|
||||
|
||||
|
||||
// 客户
|
||||
Route::middleware('can:customers_index')->get('customers/trashed', [Controllers\CustomerController::class, 'trashed'])->name('customers.trashed');
|
||||
Route::middleware('can:customers_index')->get('customers', [Controllers\CustomerController::class, 'index'])->name('customers.index');
|
||||
|
|
@ -84,7 +80,6 @@ Route::prefix($adminName)
|
|||
Route::middleware('can:customers_delete')->delete('customers/{id}/force', [Controllers\CustomerController::class, 'forceDelete'])->name('customers.force_delete');
|
||||
Route::middleware('can:customers_delete')->post('customers/force_delete_all', [Controllers\CustomerController::class, 'forceDeleteAll'])->name('customers.force_delete_all');
|
||||
|
||||
|
||||
// 客户地址
|
||||
Route::middleware('can:customers_show')->get('customers/{customer_id}/addresses', [Controllers\AddressController::class, 'index'])->name('customers.addresses.index');
|
||||
Route::middleware('can:customers_update')->post('customers/{customer_id}/addresses', [Controllers\AddressController::class, 'store'])->name('customers.addresses.store');
|
||||
|
|
@ -93,21 +88,18 @@ Route::prefix($adminName)
|
|||
|
||||
Route::get('countries/{country_id}/zones', [Controllers\ZoneController::class, 'listByCountry'])->name('countries.zones.index');
|
||||
|
||||
|
||||
// 客户组
|
||||
Route::middleware('can:customer_groups_index')->get('customer_groups', [Controllers\CustomerGroupController::class, 'index'])->name('customer_groups.index');
|
||||
Route::middleware('can:customer_groups_create')->post('customer_groups', [Controllers\CustomerGroupController::class, 'store'])->name('customer_groups.store');
|
||||
Route::middleware('can:customer_groups_update')->put('customer_groups/{id}', [Controllers\CustomerGroupController::class, 'update'])->name('customer_groups.update');
|
||||
Route::middleware('can:customer_groups_delete')->delete('customer_groups/{id}', [Controllers\CustomerGroupController::class, 'destroy'])->name('customer_groups.destroy');
|
||||
|
||||
|
||||
// 货币
|
||||
Route::middleware('can:currencies_index')->get('currencies', [Controllers\CurrencyController::class, 'index'])->name('currencies.index');
|
||||
Route::middleware('can:currencies_create')->post('currencies', [Controllers\CurrencyController::class, 'store'])->name('currencies.store');
|
||||
Route::middleware('can:currencies_update')->put('currencies/{id}', [Controllers\CurrencyController::class, 'update'])->name('currencies.update');
|
||||
Route::middleware('can:currencies_delete')->delete('currencies/{id}', [Controllers\CurrencyController::class, 'destroy'])->name('currencies.destroy');
|
||||
|
||||
|
||||
// 页面装修
|
||||
Route::middleware('can:design_index')->get('design/builder', [Controllers\DesignController::class, 'index'])->name('design.index');
|
||||
Route::middleware('can:design_index')->put('design/builder', [Controllers\DesignController::class, 'update'])->name('design.update');
|
||||
|
|
@ -120,11 +112,9 @@ Route::prefix($adminName)
|
|||
Route::middleware('can:design_menu_index')->get('design_menu/builder', [Controllers\DesignMenuController::class, 'index'])->name('design_menu.index');
|
||||
Route::middleware('can:design_menu_index')->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');
|
||||
|
||||
|
||||
// 图片库
|
||||
Route::middleware('can:file_manager_show')->get('file_manager', [Controllers\FileManagerController::class, 'index'])->name('file_manager.index');
|
||||
Route::middleware('can:file_manager_show')->get('file_manager/files', [Controllers\FileManagerController::class, 'getFiles'])->name('file_manager.get_files');
|
||||
|
|
@ -137,21 +127,18 @@ Route::prefix($adminName)
|
|||
|
||||
Route::get('logout', [Controllers\LogoutController::class, 'index'])->name('logout.index');
|
||||
|
||||
|
||||
// 语言管理
|
||||
Route::middleware('can:languages_index')->get('languages', [Controllers\LanguageController::class, 'index'])->name('languages.index');
|
||||
Route::middleware('can:languages_create')->post('languages', [Controllers\LanguageController::class, 'store'])->name('languages.store');
|
||||
Route::middleware('can:languages_update')->put('languages/{id}', [Controllers\LanguageController::class, 'update'])->name('languages.update');
|
||||
Route::middleware('can:languages_delete')->delete('languages/{id}', [Controllers\LanguageController::class, 'destroy'])->name('languages.destroy');
|
||||
|
||||
|
||||
// 订单
|
||||
Route::middleware('can:orders_index')->get('orders', [Controllers\OrderController::class, 'index'])->name('orders.index');
|
||||
Route::middleware('can:orders_export')->get('orders/export', [Controllers\OrderController::class, 'export'])->name('orders.export');
|
||||
Route::middleware('can:orders_show')->get('orders/{order}', [Controllers\OrderController::class, 'show'])->name('orders.show');
|
||||
Route::middleware('can:orders_update_status')->put('orders/{order}/status', [Controllers\OrderController::class, 'updateStatus'])->name('orders.update_status');
|
||||
|
||||
|
||||
// 插件
|
||||
Route::middleware('can:plugins_index')->get('plugins', [Controllers\PluginController::class, 'index'])->name('plugins.index');
|
||||
Route::middleware('can:plugins_import')->post('plugins/import', [Controllers\PluginController::class, 'import'])->name('plugins.import');
|
||||
|
|
@ -161,14 +148,12 @@ Route::prefix($adminName)
|
|||
Route::middleware('can:plugins_install')->post('plugins/{code}/install', [Controllers\PluginController::class, 'install'])->name('plugins.install');
|
||||
Route::middleware('can:plugins_uninstall')->post('plugins/{code}/uninstall', [Controllers\PluginController::class, 'uninstall'])->name('plugins.uninstall');
|
||||
|
||||
|
||||
// 插件市场
|
||||
Route::middleware('can:marketing_index')->get('marketing', [Controllers\MarketingController::class, 'index'])->name('marketing.index');
|
||||
Route::middleware('can:marketing_show')->get('marketing/{code}', [Controllers\MarketingController::class, 'show'])->name('marketing.show');
|
||||
Route::middleware('can:marketing_buy')->post('marketing/{code}/buy', [Controllers\MarketingController::class, 'buy'])->name('marketing.buy');
|
||||
Route::middleware('can:marketing_download')->post('marketing/{code}/download', [Controllers\MarketingController::class, 'download'])->name('marketing.download');
|
||||
|
||||
|
||||
// 单页
|
||||
Route::middleware('can:pages_index')->get('pages', [Controllers\PagesController::class, 'index'])->name('pages.index');
|
||||
Route::middleware('can:pages_index')->get('pages/autocomplete', [Controllers\PagesController::class, 'autocomplete'])->name('pages.autocomplete');
|
||||
|
|
@ -179,7 +164,6 @@ Route::prefix($adminName)
|
|||
Route::middleware('can:pages_update')->put('pages/{page}', [Controllers\PagesController::class, 'update'])->name('pages.update');
|
||||
Route::middleware('can:pages_delete')->delete('pages/{page}', [Controllers\PagesController::class, 'destroy'])->name('pages.destroy');
|
||||
|
||||
|
||||
// 商品
|
||||
Route::middleware('can:products_restore')->put('products/restore', [Controllers\ProductController::class, 'restore']);
|
||||
Route::middleware('can:products_trashed')->get('products/trashed', [Controllers\ProductController::class, 'trashed'])->name('products.trashed');
|
||||
|
|
@ -197,14 +181,12 @@ Route::prefix($adminName)
|
|||
Route::middleware('can:products_update')->put('products/{product}', [Controllers\ProductController::class, 'update'])->name('products.update');
|
||||
Route::middleware('can:products_delete')->delete('products/{product}', [Controllers\ProductController::class, 'destroy'])->name('products.destroy');
|
||||
|
||||
|
||||
// 区域组
|
||||
Route::middleware('can:regions_index')->get('regions', [Controllers\RegionController::class, 'index'])->name('regions.index');
|
||||
Route::middleware('can:regions_create')->post('regions', [Controllers\RegionController::class, 'store'])->name('regions.store');
|
||||
Route::middleware('can:regions_update')->put('regions/{id}', [Controllers\RegionController::class, 'update'])->name('regions.update');
|
||||
Route::middleware('can:regions_delete')->delete('regions/{id}', [Controllers\RegionController::class, 'destroy'])->name('regions.destroy');
|
||||
|
||||
|
||||
// RMA
|
||||
Route::middleware('can:rmas_update')->post('rmas/history/{id}', [Controllers\RmaController::class, 'addHistory'])->name('rmas.add_history');
|
||||
Route::middleware('can:rmas_index')->get('rmas', [Controllers\RmaController::class, 'index'])->name('rmas.index');
|
||||
|
|
@ -220,28 +202,24 @@ Route::prefix($adminName)
|
|||
Route::middleware('can:settings_update')->post('settings', [Controllers\SettingController::class, 'store'])->name('settings.store');
|
||||
Route::middleware('can:settings_update')->post('settings/store_token', [Controllers\SettingController::class, 'storeDeveloperToken'])->name('settings.store_token');
|
||||
|
||||
|
||||
// 税类
|
||||
Route::middleware('can:tax_classes_index')->get('tax_classes', [Controllers\TaxClassController::class, 'index'])->name('tax_classes.index');
|
||||
Route::middleware('can:tax_classes_create')->post('tax_classes', [Controllers\TaxClassController::class, 'store'])->name('tax_classes.store');
|
||||
Route::middleware('can:tax_classes_update')->put('tax_classes/{tax_class}', [Controllers\TaxClassController::class, 'update'])->name('tax_classes.update');
|
||||
Route::middleware('can:tax_classes_delete')->delete('tax_classes/{tax_class}', [Controllers\TaxClassController::class, 'destroy'])->name('tax_classes.destroy');
|
||||
|
||||
|
||||
// 税费
|
||||
Route::middleware('can:tax_rates_index')->get('tax_rates', [Controllers\TaxRateController::class, 'index'])->name('tax_rates.index');
|
||||
Route::middleware('can:tax_rates_create')->post('tax_rates', [Controllers\TaxRateController::class, 'store'])->name('tax_rates.store');
|
||||
Route::middleware('can:tax_rates_update')->put('tax_rates/{tax_rate}', [Controllers\TaxRateController::class, 'update'])->name('tax_rates.update');
|
||||
Route::middleware('can:tax_rates_delete')->delete('tax_rates/{tax_rate}', [Controllers\TaxRateController::class, 'destroy'])->name('tax_rates.destroy');
|
||||
|
||||
|
||||
// 后台用户
|
||||
Route::middleware('can:admin_users_index')->get('admin_users', [Controllers\AdminUserController::class, 'index'])->name('admin_users.index');
|
||||
Route::middleware('can:admin_users_create')->post('admin_users', [Controllers\AdminUserController::class, 'store'])->name('admin_users.store');
|
||||
Route::middleware('can:admin_users_update')->put('admin_users/{user_id}', [Controllers\AdminUserController::class, 'update'])->name('admin_users.update');
|
||||
Route::middleware('can:admin_users_delete')->delete('admin_users/{user_id}', [Controllers\AdminUserController::class, 'destroy'])->name('admin_users.destroy');
|
||||
|
||||
|
||||
// 后台用户组
|
||||
Route::middleware('can:admin_roles_index')->get('admin_roles', [Controllers\AdminRoleController::class, 'index'])->name('admin_roles.index');
|
||||
Route::middleware('can:admin_roles_create')->get('admin_roles/create', [Controllers\AdminRoleController::class, 'create'])->name('admin_roles.create');
|
||||
|
|
|
|||
|
|
@ -11,12 +11,8 @@
|
|||
|
||||
namespace Beike\Admin\Services;
|
||||
|
||||
use Beike\Models\Category;
|
||||
use Beike\Models\CategoryPath;
|
||||
use Beike\Repositories\AddressRepo;
|
||||
use Beike\Repositories\CustomerRepo;
|
||||
use Beike\Repositories\ZoneRepo;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
|
||||
class AddressService
|
||||
{
|
||||
|
|
@ -25,6 +21,7 @@ class AddressService
|
|||
$data = self::getParams($data);
|
||||
$data['customer_id'] = $customerId;
|
||||
$address = AddressRepo::create($data);
|
||||
|
||||
return $address;
|
||||
}
|
||||
|
||||
|
|
@ -32,6 +29,7 @@ class AddressService
|
|||
{
|
||||
$data = self::getParams($data);
|
||||
$address = AddressRepo::update($addressId, $data);
|
||||
|
||||
return $address;
|
||||
}
|
||||
|
||||
|
|
@ -53,6 +51,7 @@ class AddressService
|
|||
'address_1' => $data['address_1'] ?? '',
|
||||
'address_2' => $data['address_2'] ?? '',
|
||||
];
|
||||
|
||||
return $data;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -55,6 +55,7 @@ class CategoryService
|
|||
DB::commit();
|
||||
} catch (\Exception $e) {
|
||||
DB::rollBack();
|
||||
|
||||
throw $e;
|
||||
}
|
||||
|
||||
|
|
@ -134,7 +135,6 @@ class CategoryService
|
|||
// $this->repairCategories(0);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 重建category path
|
||||
*
|
||||
|
|
@ -168,7 +168,7 @@ class CategoryService
|
|||
$pathData = [
|
||||
'category_id' => $category->id,
|
||||
'path_id' => $category->id,
|
||||
'level' => $level
|
||||
'level' => $level,
|
||||
];
|
||||
if ($path) {
|
||||
$path->update($pathData);
|
||||
|
|
|
|||
|
|
@ -11,7 +11,6 @@
|
|||
|
||||
namespace Beike\Admin\Services;
|
||||
|
||||
|
||||
use Beike\Repositories\CustomerGroupRepo;
|
||||
|
||||
class CustomerGroupService
|
||||
|
|
@ -59,7 +58,7 @@ class CustomerGroupService
|
|||
foreach ($data['name'] as $locale => $value) {
|
||||
$descriptions[$locale] = [
|
||||
'name' => $value,
|
||||
'description' => $data['description'][$locale] ?? ''
|
||||
'description' => $data['description'][$locale] ?? '',
|
||||
];
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -11,10 +11,7 @@
|
|||
|
||||
namespace Beike\Admin\Services;
|
||||
|
||||
use Beike\Models\Category;
|
||||
use Beike\Models\CategoryPath;
|
||||
use Beike\Repositories\CustomerRepo;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
|
||||
class CustomerService
|
||||
{
|
||||
|
|
@ -23,7 +20,7 @@ class CustomerService
|
|||
$data['locale'] = system_setting('base.locale');
|
||||
$data['from'] = 'admin';
|
||||
$customer = CustomerRepo::create($data);
|
||||
|
||||
return $customer;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,19 +11,15 @@
|
|||
|
||||
namespace Beike\Admin\Services;
|
||||
|
||||
use Illuminate\Support\Facades\File;
|
||||
|
||||
class FileManagerService
|
||||
{
|
||||
private $fileBasePath = '';
|
||||
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
$this->fileBasePath = public_path('catalog');
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取某个目录下所有文件夹
|
||||
*/
|
||||
|
|
@ -45,10 +41,10 @@ class FileManagerService
|
|||
$result[] = $item;
|
||||
}
|
||||
}
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取某个目录下的文件和文件夹
|
||||
*
|
||||
|
|
@ -88,7 +84,6 @@ class FileManagerService
|
|||
];
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 创建目录
|
||||
* @param $folderName
|
||||
|
|
@ -104,7 +99,6 @@ class FileManagerService
|
|||
create_directories($catalogFolderPath);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 删除文件或文件夹
|
||||
*
|
||||
|
|
@ -125,7 +119,6 @@ class FileManagerService
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 批量删除文件
|
||||
*
|
||||
|
|
@ -145,7 +138,6 @@ class FileManagerService
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 修改文件夹或者文件名称
|
||||
*
|
||||
|
|
@ -167,7 +159,6 @@ class FileManagerService
|
|||
@rename($originPath, $newPath);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 处理文件夹
|
||||
*
|
||||
|
|
@ -179,11 +170,10 @@ class FileManagerService
|
|||
{
|
||||
return [
|
||||
'path' => $folderPath,
|
||||
'name' => $baseName
|
||||
'name' => $baseName,
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 检测是否含有子文件夹
|
||||
*
|
||||
|
|
@ -199,10 +189,10 @@ class FileManagerService
|
|||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 处理文件
|
||||
*
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ class LanguageService
|
|||
if (! is_file($langFile)) {
|
||||
throw new \Exception("File ($langFile) not exist!");
|
||||
}
|
||||
$baseData = require($langFile);
|
||||
$baseData = require $langFile;
|
||||
$name = $baseData['name'] ?? $languageCode;
|
||||
$result[] = [
|
||||
'code' => $languageCode,
|
||||
|
|
@ -59,6 +59,7 @@ class LanguageService
|
|||
}
|
||||
$className::query()->insert($items);
|
||||
}
|
||||
|
||||
return $language;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -11,11 +11,11 @@
|
|||
|
||||
namespace Beike\Admin\Services;
|
||||
|
||||
use ZanySoft\Zip\Zip;
|
||||
use Illuminate\Http\Client\PendingRequest;
|
||||
use Illuminate\Support\Facades\Http;
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
use Illuminate\Http\Client\PendingRequest;
|
||||
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
|
||||
use ZanySoft\Zip\Zip;
|
||||
|
||||
class MarketingService
|
||||
{
|
||||
|
|
@ -35,7 +35,6 @@ class MarketingService
|
|||
return new self;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取可插件市场插件列表
|
||||
*
|
||||
|
|
@ -48,10 +47,10 @@ class MarketingService
|
|||
if (! empty($filters)) {
|
||||
$url .= '?' . http_build_query($filters);
|
||||
}
|
||||
|
||||
return $this->httpClient->get($url)->json();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取插件市场单个插件信息
|
||||
*
|
||||
|
|
@ -65,10 +64,10 @@ class MarketingService
|
|||
if (empty($plugin)) {
|
||||
throw new NotFoundHttpException('该插件不存在或已下架');
|
||||
}
|
||||
|
||||
return $plugin;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 购买插件市场单个插件
|
||||
*
|
||||
|
|
@ -85,11 +84,10 @@ class MarketingService
|
|||
$status = $content['status'] ?? '';
|
||||
if ($status == 'success') {
|
||||
return $content['data'];
|
||||
} else {
|
||||
throw new \Exception($content['message'] ?? '');
|
||||
}
|
||||
}
|
||||
|
||||
throw new \Exception($content['message'] ?? '');
|
||||
}
|
||||
|
||||
/**
|
||||
* 下载插件到网站
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@
|
|||
namespace Beike\Admin\Services;
|
||||
|
||||
use Beike\Models\Product;
|
||||
use Beike\Models\ProductDescription;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
|
||||
class ProductService
|
||||
|
|
@ -11,6 +10,7 @@ class ProductService
|
|||
public function create(array $data): Product
|
||||
{
|
||||
$product = new Product;
|
||||
|
||||
return $this->createOrUpdate($product, $data);
|
||||
}
|
||||
|
||||
|
|
@ -66,6 +66,7 @@ class ProductService
|
|||
return $product;
|
||||
} catch (\Exception $e) {
|
||||
DB::rollBack();
|
||||
|
||||
throw $e;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,8 +11,6 @@
|
|||
|
||||
namespace Beike\Admin\Services;
|
||||
|
||||
|
||||
use Beike\Libraries\Notification;
|
||||
use Beike\Repositories\UserRepo;
|
||||
use Beike\Repositories\VerifyCodeRepo;
|
||||
use Illuminate\Support\Carbon;
|
||||
|
|
@ -25,7 +23,8 @@ class UserService
|
|||
* @param $email
|
||||
* @return void
|
||||
*/
|
||||
public static function sendVerifyCodeForForgotten($email) {
|
||||
public static function sendVerifyCodeForForgotten($email)
|
||||
{
|
||||
$code = str_pad(mt_rand(10, 999999), 6, '0', STR_PAD_LEFT);
|
||||
|
||||
VerifyCodeRepo::deleteByAccount($email);
|
||||
|
|
@ -51,6 +50,7 @@ class UserService
|
|||
$verifyCode = VerifyCodeRepo::findByAccount($account);
|
||||
if ($verifyCode->created_at->addMinutes(10) < Carbon::now()) {
|
||||
$verifyCode->delete();
|
||||
|
||||
throw new \Exception(trans('admin/user.verify_code_expired'));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -7,9 +7,10 @@ use Illuminate\View\Component;
|
|||
class Alert extends Component
|
||||
{
|
||||
public string $type;
|
||||
|
||||
public string $msg;
|
||||
|
||||
public function __construct(?string $type = 'success', string $msg)
|
||||
public function __construct(?string $type, string $msg)
|
||||
{
|
||||
$this->type = $type ?? 'success';
|
||||
$this->msg = $msg;
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ use Illuminate\View\Component;
|
|||
class Filter extends Component
|
||||
{
|
||||
public string $url;
|
||||
|
||||
public array $queries;
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -7,7 +7,9 @@ use Illuminate\View\Component;
|
|||
class Image extends Component
|
||||
{
|
||||
public string $name;
|
||||
|
||||
public string $title;
|
||||
|
||||
public string $value;
|
||||
|
||||
public function __construct(string $name, ?string $title, ?string $value)
|
||||
|
|
|
|||
|
|
@ -7,12 +7,19 @@ use Illuminate\View\Component;
|
|||
class Input extends Component
|
||||
{
|
||||
public string $name;
|
||||
|
||||
public string $title;
|
||||
|
||||
public string $value;
|
||||
|
||||
public string $error;
|
||||
|
||||
public string $width;
|
||||
|
||||
public string $type;
|
||||
|
||||
public string $step;
|
||||
|
||||
public bool $required;
|
||||
|
||||
public function __construct(string $name, string $title, ?string $value, bool $required = false, ?string $error = '', ?string $width = '400', ?string $type = 'text', ?string $step = '')
|
||||
|
|
|
|||
|
|
@ -8,9 +8,13 @@ use Illuminate\View\Component;
|
|||
class InputLocale extends Component
|
||||
{
|
||||
public string $name;
|
||||
|
||||
public string $title;
|
||||
|
||||
public string $width;
|
||||
|
||||
public $value;
|
||||
|
||||
public bool $required;
|
||||
|
||||
public function __construct(string $name, string $title, $value, ?string $width = '400', ?bool $required = false)
|
||||
|
|
@ -41,6 +45,7 @@ class InputLocale extends Component
|
|||
$key .= '[' . $segment . ']';
|
||||
}
|
||||
}
|
||||
|
||||
return $key;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -7,10 +7,15 @@ use Illuminate\View\Component;
|
|||
class Select extends Component
|
||||
{
|
||||
public string $name;
|
||||
|
||||
public string $value;
|
||||
|
||||
public string $title;
|
||||
|
||||
public array $options;
|
||||
|
||||
public string $key;
|
||||
|
||||
public string $label;
|
||||
|
||||
public function __construct(string $name, string $value, string $title, array $options, ?string $key = 'value', ?string $label = 'label')
|
||||
|
|
|
|||
|
|
@ -7,7 +7,9 @@ use Illuminate\View\Component;
|
|||
class SwitchRadio extends Component
|
||||
{
|
||||
public string $name;
|
||||
|
||||
public string $value;
|
||||
|
||||
public string $title;
|
||||
|
||||
public function __construct(string $name, string $value, string $title)
|
||||
|
|
|
|||
|
|
@ -7,9 +7,13 @@ use Illuminate\View\Component;
|
|||
class Textarea extends Component
|
||||
{
|
||||
public string $name;
|
||||
|
||||
public string $title;
|
||||
|
||||
public string $value;
|
||||
|
||||
public bool $required;
|
||||
|
||||
public bool $html;
|
||||
|
||||
public function __construct(string $name, string $title, ?string $value, bool $required = false, bool $html = false)
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ use Illuminate\View\Component;
|
|||
class Header extends Component
|
||||
{
|
||||
public array $links = [];
|
||||
|
||||
private ?AdminUser $adminUser;
|
||||
|
||||
/**
|
||||
|
|
@ -20,7 +21,6 @@ class Header extends Component
|
|||
$this->adminUser = current_user();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Get the view / contents that represent the component.
|
||||
*
|
||||
|
|
@ -38,22 +38,22 @@ class Header extends Component
|
|||
|
||||
foreach ($sideMenuRoutes as $route) {
|
||||
$route_first = explode('.', $route['route'])[0] ?? '';
|
||||
$routes[] = "admin." . $route['route'];
|
||||
$routes[] = 'admin.' . $route['route'];
|
||||
$routes[] = 'admin.' . $route_first . '.edit';
|
||||
$routes[] = 'admin.' . $route_first . '.show';
|
||||
}
|
||||
|
||||
$is_route = equal_route($routes);
|
||||
} else {
|
||||
$is_route = equal_route("admin." . $menu['route']);
|
||||
$is_route = equal_route('admin.' . $menu['route']);
|
||||
}
|
||||
|
||||
$this->addLink($menu['name'], $menu['route'], $is_route);
|
||||
}
|
||||
|
||||
return view('admin::components.header');
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 默认菜单
|
||||
*/
|
||||
|
|
@ -68,10 +68,10 @@ class Header extends Component
|
|||
['name' => trans('admin/common.setting'), 'route' => 'settings.index', 'code' => 'Setting'],
|
||||
// ['name' => trans('admin/common.marketing'), 'route' => 'marketing.index', 'code' => ''],
|
||||
];
|
||||
|
||||
return hook_filter('admin.header_menus', $menus);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 添加后台顶部菜单链接
|
||||
*
|
||||
|
|
@ -90,7 +90,7 @@ class Header extends Component
|
|||
$this->links[] = [
|
||||
'title' => $title,
|
||||
'url' => $url,
|
||||
'active' => $active
|
||||
'active' => $active,
|
||||
];
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,8 +9,11 @@ use Illuminate\View\Component;
|
|||
class Sidebar extends Component
|
||||
{
|
||||
public array $links = [];
|
||||
|
||||
private string $adminName;
|
||||
|
||||
private ?string $routeNameWithPrefix;
|
||||
|
||||
private ?AdminUser $adminUser;
|
||||
|
||||
/**
|
||||
|
|
@ -71,7 +74,6 @@ class Sidebar extends Component
|
|||
return view('admin::components.sidebar');
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 添加左侧菜单链接
|
||||
*
|
||||
|
|
@ -95,11 +97,10 @@ class Sidebar extends Component
|
|||
'icon' => $icon,
|
||||
'active' => $active,
|
||||
'hide_mobile' => $hide_mobile,
|
||||
'new_window' => $newWindow
|
||||
'new_window' => $newWindow,
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取首页子页面路由
|
||||
*/
|
||||
|
|
@ -113,10 +114,10 @@ class Sidebar extends Component
|
|||
['route' => 'currencies.index', 'icon' => 'fa fa-tachometer-alt', 'hide_mobile' => 1],
|
||||
['route' => 'plugins.index', 'icon' => 'fa fa-tachometer-alt', 'hide_mobile' => 1],
|
||||
];
|
||||
|
||||
return hook_filter('sidebar.home_routes', $routes);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取商品子页面路由
|
||||
*/
|
||||
|
|
@ -130,10 +131,10 @@ class Sidebar extends Component
|
|||
['route' => 'attributes.index', 'icon' => 'fa fa-tachometer-alt'],
|
||||
['route' => 'products.trashed', 'icon' => 'fa fa-tachometer-alt'],
|
||||
];
|
||||
|
||||
return hook_filter('sidebar.product_routes', $routes);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取商品子页面路由
|
||||
*/
|
||||
|
|
@ -144,10 +145,10 @@ class Sidebar extends Component
|
|||
['route' => 'customer_groups.index', 'icon' => 'fa fa-tachometer-alt'],
|
||||
['route' => 'customers.trashed', 'icon' => 'fa fa-tachometer-alt'],
|
||||
];
|
||||
|
||||
return hook_filter('sidebar.customer_routes', $routes);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取订单子页面路由
|
||||
*/
|
||||
|
|
@ -158,6 +159,7 @@ class Sidebar extends Component
|
|||
['route' => 'rmas.index', 'icon' => 'fa fa-tachometer-alt'],
|
||||
['route' => 'rma_reasons.index', 'icon' => 'fa fa-tachometer-alt'],
|
||||
];
|
||||
|
||||
return hook_filter('sidebar.order_routes', $routes);
|
||||
}
|
||||
|
||||
|
|
@ -170,6 +172,7 @@ class Sidebar extends Component
|
|||
$routes = [
|
||||
['route' => 'pages.index', 'icon' => 'fa fa-tachometer-alt'],
|
||||
];
|
||||
|
||||
return hook_filter('sidebar.pages_routes', $routes);
|
||||
}
|
||||
|
||||
|
|
@ -195,10 +198,10 @@ class Sidebar extends Component
|
|||
['route' => 'design_footer.index', 'icon' => 'fa fa-tachometer-alt', 'blank' => true, 'hide_mobile' => 1],
|
||||
['route' => 'design_menu.index', 'icon' => 'fa fa-tachometer-alt', 'hide_mobile' => 1],
|
||||
];
|
||||
|
||||
return hook_filter('sidebar.setting_routes', $routes);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 是否为当前访问路由
|
||||
*
|
||||
|
|
@ -208,6 +211,7 @@ class Sidebar extends Component
|
|||
private function equalRoute($routeName): bool
|
||||
{
|
||||
$currentRouteName = str_replace($this->adminName . '.', '', $this->routeNameWithPrefix);
|
||||
|
||||
return $routeName == $currentRouteName;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,8 +11,8 @@
|
|||
|
||||
namespace Beike\Admin\View\DesignBuilders;
|
||||
|
||||
use Illuminate\View\Component;
|
||||
use Illuminate\Contracts\View\View;
|
||||
use Illuminate\View\Component;
|
||||
|
||||
class Brand extends Component
|
||||
{
|
||||
|
|
|
|||
|
|
@ -11,8 +11,8 @@
|
|||
|
||||
namespace Beike\Admin\View\DesignBuilders;
|
||||
|
||||
use Illuminate\View\Component;
|
||||
use Illuminate\Contracts\View\View;
|
||||
use Illuminate\View\Component;
|
||||
|
||||
class Image100 extends Component
|
||||
{
|
||||
|
|
|
|||
|
|
@ -11,8 +11,8 @@
|
|||
|
||||
namespace Beike\Admin\View\DesignBuilders;
|
||||
|
||||
use Illuminate\View\Component;
|
||||
use Illuminate\Contracts\View\View;
|
||||
use Illuminate\View\Component;
|
||||
|
||||
class Image401 extends Component
|
||||
{
|
||||
|
|
|
|||
|
|
@ -11,8 +11,8 @@
|
|||
|
||||
namespace Beike\Admin\View\DesignBuilders;
|
||||
|
||||
use Illuminate\View\Component;
|
||||
use Illuminate\Contracts\View\View;
|
||||
use Illuminate\View\Component;
|
||||
|
||||
class SlideShow extends Component
|
||||
{
|
||||
|
|
|
|||
|
|
@ -11,8 +11,8 @@
|
|||
|
||||
namespace Beike\Admin\View\DesignBuilders;
|
||||
|
||||
use Illuminate\View\Component;
|
||||
use Illuminate\Contracts\View\View;
|
||||
use Illuminate\View\Component;
|
||||
|
||||
class TabProduct extends Component
|
||||
{
|
||||
|
|
|
|||
|
|
@ -11,14 +11,15 @@
|
|||
|
||||
namespace Beike\Console\Commands;
|
||||
|
||||
use UniSharp\DocUs\Parser;
|
||||
use Illuminate\Console\Command;
|
||||
use Illuminate\Support\Collection;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use UniSharp\DocUs\Parser;
|
||||
|
||||
class GenerateDatabaseDict extends Command
|
||||
{
|
||||
protected $signature = 'make:dict';
|
||||
|
||||
protected $description = '生成数据字典 Markdown 文档';
|
||||
|
||||
public function handle()
|
||||
|
|
@ -31,7 +32,6 @@ class GenerateDatabaseDict extends Command
|
|||
dump('done');
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取所有数据表信息
|
||||
* @return Collection
|
||||
|
|
@ -39,10 +39,12 @@ class GenerateDatabaseDict extends Command
|
|||
private function getTables(): Collection
|
||||
{
|
||||
$schema = Parser::getSchema();
|
||||
|
||||
return $schema->map(function ($item) {
|
||||
$tableName = $item['name'];
|
||||
$result = collect(DB::select("SHOW TABLE STATUS WHERE Name='{$tableName}'"))->first();
|
||||
$item['comment'] = $result->Comment;
|
||||
|
||||
return $item;
|
||||
});
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ use Illuminate\Console\Command;
|
|||
class MakeRootAdminUser extends Command
|
||||
{
|
||||
protected $signature = 'make:admin';
|
||||
|
||||
protected $description = '生成第 1 个 root admin 账号';
|
||||
|
||||
public function handle()
|
||||
|
|
@ -17,6 +18,7 @@ class MakeRootAdminUser extends Command
|
|||
|
||||
if (! $email || ! $password) {
|
||||
$this->info('邮箱地址/手机号码不能为空,退出');
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -23,7 +23,6 @@ class Sitemap extends Command
|
|||
|
||||
/**
|
||||
* Execute the console command.
|
||||
*
|
||||
*/
|
||||
public function handle()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,21 +1,21 @@
|
|||
<?php
|
||||
|
||||
use Beike\Models\AdminUser;
|
||||
use Beike\Models\Customer;
|
||||
use Beike\Models\Language;
|
||||
use Beike\Models\AdminUser;
|
||||
use Illuminate\Support\Str;
|
||||
use Beike\Repositories\PageRepo;
|
||||
use Beike\Repositories\BrandRepo;
|
||||
use Illuminate\Support\Collection;
|
||||
use Beike\Repositories\ProductRepo;
|
||||
use Beike\Services\CurrencyService;
|
||||
use Beike\Repositories\CategoryRepo;
|
||||
use Beike\Repositories\CurrencyRepo;
|
||||
use Beike\Repositories\LanguageRepo;
|
||||
use TorMorten\Eventy\Facades\Eventy;
|
||||
use Beike\Repositories\PageRepo;
|
||||
use Beike\Repositories\ProductRepo;
|
||||
use Beike\Services\CurrencyService;
|
||||
use Illuminate\Database\Eloquent\Builder;
|
||||
use Illuminate\Support\Collection;
|
||||
use Illuminate\Support\Facades\Route;
|
||||
use Illuminate\Support\Facades\Session;
|
||||
use Illuminate\Database\Eloquent\Builder;
|
||||
use Illuminate\Support\Str;
|
||||
use TorMorten\Eventy\Facades\Eventy;
|
||||
|
||||
/**
|
||||
* 获取后台设置到 settings 表的值
|
||||
|
|
@ -63,6 +63,7 @@ function admin_name(): string
|
|||
} elseif ($settingAdminName = system_setting('base.admin_name')) {
|
||||
return Str::snake($settingAdminName);
|
||||
}
|
||||
|
||||
return 'admin';
|
||||
}
|
||||
|
||||
|
|
@ -88,6 +89,7 @@ function load_settings()
|
|||
function admin_route($route, $params = []): string
|
||||
{
|
||||
$adminName = admin_name();
|
||||
|
||||
return route("{$adminName}.{$route}", $params);
|
||||
}
|
||||
|
||||
|
|
@ -150,6 +152,7 @@ function type_route($type, $value): string
|
|||
} elseif ($type == 'custom') {
|
||||
return $value;
|
||||
}
|
||||
|
||||
return '';
|
||||
}
|
||||
|
||||
|
|
@ -187,6 +190,7 @@ function type_label($type, $value, array $texts = []): string
|
|||
} elseif ($type == 'custom') {
|
||||
return $text;
|
||||
}
|
||||
|
||||
return '';
|
||||
}
|
||||
|
||||
|
|
@ -220,10 +224,10 @@ function is_admin(): bool
|
|||
if (Str::startsWith($uri, "/{$adminName}")) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 是否访问安装页面
|
||||
* @return bool
|
||||
|
|
@ -231,9 +235,9 @@ function is_admin(): bool
|
|||
function is_installer(): bool
|
||||
{
|
||||
$uri = request()->getRequestUri();
|
||||
return Str::startsWith($uri, "/installer");
|
||||
}
|
||||
|
||||
return Str::startsWith($uri, '/installer');
|
||||
}
|
||||
|
||||
/**
|
||||
* 是否为当前访问路由
|
||||
|
|
@ -278,10 +282,11 @@ function current_customer(): ?Customer
|
|||
function locales(): array
|
||||
{
|
||||
$locales = LanguageRepo::enabled()->toArray();
|
||||
|
||||
return array_map(function ($item) {
|
||||
return [
|
||||
'name' => $item['name'],
|
||||
'code' => $item['code']
|
||||
'code' => $item['code'],
|
||||
];
|
||||
}, $locales);
|
||||
}
|
||||
|
|
@ -296,8 +301,10 @@ function locale(): string
|
|||
if (is_admin()) {
|
||||
$locales = collect(locales())->pluck('code');
|
||||
$userLocale = current_user()->locale;
|
||||
|
||||
return ($locales->contains($userLocale)) ? $userLocale : 'en';
|
||||
}
|
||||
|
||||
return Session::get('locale') ?? system_setting('base.locale');
|
||||
}
|
||||
|
||||
|
|
@ -311,6 +318,7 @@ function admin_locale(): string
|
|||
if (is_admin()) {
|
||||
return current_user()->locale;
|
||||
}
|
||||
|
||||
return locale();
|
||||
}
|
||||
|
||||
|
|
@ -328,6 +336,7 @@ function currency_format($price, string $currency = '', string $value = '', bool
|
|||
if (! $currency) {
|
||||
$currency = is_admin() ? system_setting('base.currency') : current_currency_code();
|
||||
}
|
||||
|
||||
return CurrencyService::getInstance()->format($price, $currency, $value, $format);
|
||||
}
|
||||
|
||||
|
|
@ -345,10 +354,10 @@ function time_format($datetime = null)
|
|||
} elseif (is_int($datetime)) {
|
||||
return date($format, $datetime);
|
||||
}
|
||||
|
||||
return date($format);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取插件根目录
|
||||
*
|
||||
|
|
@ -360,7 +369,6 @@ function plugin_path(string $path = ''): string
|
|||
return base_path('plugins') . ($path ? DIRECTORY_SEPARATOR . ltrim($path, DIRECTORY_SEPARATOR) : $path);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 插件图片缩放
|
||||
*
|
||||
|
|
@ -378,6 +386,7 @@ function plugin_resize($pluginCode, $image, int $width = 100, int $height = 100)
|
|||
return $image;
|
||||
}
|
||||
$pluginDirName = $plugin->getDirname();
|
||||
|
||||
return (new \Beike\Services\ImageService($image))->setPluginDirName($pluginDirName)->resize($width, $height);
|
||||
}
|
||||
|
||||
|
|
@ -395,6 +404,7 @@ function image_resize($image, int $width = 100, int $height = 100)
|
|||
if (Str::startsWith($image, 'http')) {
|
||||
return $image;
|
||||
}
|
||||
|
||||
return (new \Beike\Services\ImageService($image))->resize($width, $height);
|
||||
}
|
||||
|
||||
|
|
@ -407,6 +417,7 @@ function image_origin($image)
|
|||
if (Str::startsWith($image, 'http')) {
|
||||
return $image;
|
||||
}
|
||||
|
||||
return (new \Beike\Services\ImageService($image))->originUrl();
|
||||
}
|
||||
|
||||
|
|
@ -428,6 +439,7 @@ function languages(): Collection
|
|||
function current_language()
|
||||
{
|
||||
$code = locale();
|
||||
|
||||
return Language::query()->where('code', $code)->first();
|
||||
}
|
||||
|
||||
|
|
@ -442,6 +454,7 @@ function admin_languages(): array
|
|||
$adminLanguages = collect($packages)->filter(function ($package) {
|
||||
return file_exists(resource_path("lang/{$package}/admin"));
|
||||
})->toArray();
|
||||
|
||||
return array_values($adminLanguages);
|
||||
}
|
||||
|
||||
|
|
@ -452,7 +465,8 @@ function admin_languages(): array
|
|||
function language_packages(): array
|
||||
{
|
||||
$languageDir = resource_path('lang');
|
||||
return array_values(array_diff(scandir($languageDir), array('..', '.')));
|
||||
|
||||
return array_values(array_diff(scandir($languageDir), ['..', '.']));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -482,6 +496,7 @@ function current_currency_id(): string
|
|||
{
|
||||
$currencyCode = current_currency_code();
|
||||
$currency = \Beike\Models\Currency::query()->where('code', $currencyCode)->first();
|
||||
|
||||
return $currency->id ?? 0;
|
||||
}
|
||||
|
||||
|
|
@ -501,9 +516,10 @@ function quantity_format($quantity)
|
|||
return round($quantity / 1000000, 1) . 'M';
|
||||
} elseif ($quantity > 1000) {
|
||||
return round($quantity / 1000, 1) . 'K';
|
||||
} else {
|
||||
return $quantity;
|
||||
}
|
||||
|
||||
return $quantity;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -562,6 +578,7 @@ function to_sql($builder): array|string|null
|
|||
$value = is_numeric($binding) ? $binding : "'" . $binding . "'";
|
||||
$sql = preg_replace('/\?/', $value, $sql, 1);
|
||||
}
|
||||
|
||||
return $sql;
|
||||
}
|
||||
|
||||
|
|
@ -651,7 +668,6 @@ function is_mobile(): bool
|
|||
return (new \Jenssegers\Agent\Agent())->isMobile();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 当前访问协议是否为 https
|
||||
*
|
||||
|
|
@ -670,10 +686,10 @@ function is_secure(): bool
|
|||
} elseif (isset($_SERVER['REQUEST_SCHEME']) && strtolower($_SERVER['REQUEST_SCHEME']) === 'https') {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 每页商品显示数量
|
||||
*
|
||||
|
|
|
|||
|
|
@ -2,12 +2,12 @@
|
|||
|
||||
namespace Beike\Installer\Controllers;
|
||||
|
||||
use Illuminate\Routing\Controller;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Http\RedirectResponse;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
use Beike\Admin\Repositories\AdminUserRepo;
|
||||
use Beike\Installer\Helpers\DatabaseManager;
|
||||
use Illuminate\Http\RedirectResponse;
|
||||
use Illuminate\Routing\Controller;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
class DatabaseController extends Controller
|
||||
{
|
||||
|
|
@ -31,15 +31,16 @@ class DatabaseController extends Controller
|
|||
*/
|
||||
public function index()
|
||||
{
|
||||
DB::statement("SET FOREIGN_KEY_CHECKS = 0");
|
||||
DB::statement('SET FOREIGN_KEY_CHECKS = 0');
|
||||
$rows = DB::select('SHOW TABLES');
|
||||
$tables = array_column($rows, 'Tables_in_' . env('DB_DATABASE'));
|
||||
foreach ($tables as $table) {
|
||||
Schema::drop($table);
|
||||
}
|
||||
DB::statement("SET FOREIGN_KEY_CHECKS = 1");
|
||||
DB::statement('SET FOREIGN_KEY_CHECKS = 1');
|
||||
|
||||
$params = request()->all();
|
||||
|
||||
try {
|
||||
$response = $this->databaseManager->migrateAndSeed();
|
||||
$status = $response['status'] ?? '';
|
||||
|
|
|
|||
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
namespace Beike\Installer\Controllers;
|
||||
|
||||
use Beike\Installer\Helpers\EnvironmentManager;
|
||||
use Illuminate\Http\RedirectResponse;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Routing\Controller;
|
||||
use Illuminate\Routing\Redirector;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Http\RedirectResponse;
|
||||
use Illuminate\Support\Facades\Validator;
|
||||
use Beike\Installer\Helpers\EnvironmentManager;
|
||||
|
||||
class EnvironmentController extends Controller
|
||||
{
|
||||
|
|
@ -70,7 +70,6 @@ class EnvironmentController extends Controller
|
|||
return redirect(route('installer.database', $params));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 数据库信息检测
|
||||
*
|
||||
|
|
@ -84,8 +83,8 @@ class EnvironmentController extends Controller
|
|||
'environment_custom.required_if' => trans('installer::installer_messages.environment.name_required'),
|
||||
];
|
||||
|
||||
unset($rules['admin_email']);
|
||||
unset($rules['admin_password']);
|
||||
unset($rules['admin_email'], $rules['admin_password']);
|
||||
|
||||
$validator = Validator::make($request->all(), $rules, $messages);
|
||||
|
||||
if ($validator->fails()) {
|
||||
|
|
@ -100,7 +99,6 @@ class EnvironmentController extends Controller
|
|||
return json_success('');
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* TODO: We can remove this code if PR will be merged: https://github.com/RachidLaasri/LaravelInstaller/pull/162
|
||||
* Validate database connection with user credentials (Form Wizard).
|
||||
|
|
@ -136,34 +134,42 @@ class EnvironmentController extends Controller
|
|||
DB::purge();
|
||||
|
||||
$result = [];
|
||||
|
||||
try {
|
||||
$pdo = DB::connection()->getPdo();
|
||||
$serverVersion = $pdo->getAttribute(\PDO::ATTR_SERVER_VERSION);
|
||||
if (version_compare($serverVersion, '5.7', '<')) {
|
||||
$result['database_version'] = trans('installer::installer_messages.environment.db_connection_failed_invalid_version');
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
return true;
|
||||
} catch (\PDOException $e) {
|
||||
switch ($e->getCode()) {
|
||||
case 1115:
|
||||
$result['database_version'] = trans('installer::installer_messages.environment.db_connection_failed_invalid_version');
|
||||
|
||||
break;
|
||||
case 2002:
|
||||
$result['database_hostname'] = trans('installer::installer_messages.environment.db_connection_failed_host_port');
|
||||
$result['database_port'] = trans('installer::installer_messages.environment.db_connection_failed_host_port');
|
||||
|
||||
break;
|
||||
case 1045:
|
||||
$result['database_username'] = trans('installer::installer_messages.environment.db_connection_failed_user_password');
|
||||
$result['database_password'] = trans('installer::installer_messages.environment.db_connection_failed_user_password');
|
||||
|
||||
break;
|
||||
case 1049:
|
||||
$result['database_name'] = trans('installer::installer_messages.environment.db_connection_failed_database_name');
|
||||
|
||||
break;
|
||||
default:
|
||||
$result['database_other'] = $e->getMessage();
|
||||
}
|
||||
}
|
||||
|
||||
return $result;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
|
||||
namespace Beike\Installer\Controllers;
|
||||
|
||||
use Illuminate\Routing\Controller;
|
||||
use Beike\Installer\Helpers\EnvironmentManager;
|
||||
use Beike\Installer\Helpers\FinalInstallManager;
|
||||
use Beike\Installer\Helpers\InstalledFileManager;
|
||||
use Illuminate\Routing\Controller;
|
||||
|
||||
class FinalController extends Controller
|
||||
{
|
||||
|
|
|
|||
|
|
@ -2,8 +2,8 @@
|
|||
|
||||
namespace Beike\Installer\Controllers;
|
||||
|
||||
use Illuminate\Routing\Controller;
|
||||
use Beike\Installer\Helpers\PermissionsChecker;
|
||||
use Illuminate\Routing\Controller;
|
||||
|
||||
class PermissionsController extends Controller
|
||||
{
|
||||
|
|
|
|||
|
|
@ -2,8 +2,8 @@
|
|||
|
||||
namespace Beike\Installer\Controllers;
|
||||
|
||||
use Illuminate\Routing\Controller;
|
||||
use Beike\Installer\Helpers\RequirementsChecker;
|
||||
use Illuminate\Routing\Controller;
|
||||
|
||||
class RequirementsController extends Controller
|
||||
{
|
||||
|
|
|
|||
|
|
@ -21,7 +21,6 @@ class WelcomeController extends Controller
|
|||
'en' => 'English',
|
||||
];
|
||||
|
||||
|
||||
public function index()
|
||||
{
|
||||
if (installed()) {
|
||||
|
|
|
|||
|
|
@ -95,7 +95,7 @@ class EnvironmentManager
|
|||
$results = trans('installer::installer_messages.environment.success');
|
||||
|
||||
$scheme = is_secure() ? 'https' : 'http';
|
||||
$appUrl = $scheme . "://" . $_SERVER["HTTP_HOST"];
|
||||
$appUrl = $scheme . '://' . $_SERVER['HTTP_HOST'];
|
||||
|
||||
$envFileData =
|
||||
'APP_NAME=\'' . ($request->app_name ?: 'BeikeShop') . "'\n" .
|
||||
|
|
|
|||
|
|
@ -34,6 +34,7 @@ class RequirementsChecker
|
|||
$results['errors'] = true;
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
// check apache requirements
|
||||
case 'apache':
|
||||
|
|
@ -49,6 +50,7 @@ class RequirementsChecker
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -108,7 +108,6 @@ return [
|
|||
'error_email' => 'Please fill in the correct email address',
|
||||
],
|
||||
|
||||
|
||||
/*
|
||||
*
|
||||
* Installed Log translations.
|
||||
|
|
|
|||
|
|
@ -12,7 +12,6 @@ return [
|
|||
'finish' => '安装',
|
||||
'status' => '状态',
|
||||
|
||||
|
||||
/*
|
||||
*
|
||||
* Home page translations.
|
||||
|
|
|
|||
|
|
@ -4,8 +4,6 @@ namespace Beike\Installer\Providers;
|
|||
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
use Illuminate\Support\ServiceProvider;
|
||||
use Illuminate\Support\Str;
|
||||
|
||||
|
||||
class InstallerServiceProvider extends ServiceProvider
|
||||
{
|
||||
|
|
|
|||
|
|
@ -8,7 +8,6 @@ use Beike\Installer\Controllers\RequirementsController;
|
|||
use Beike\Installer\Controllers\WelcomeController;
|
||||
use Illuminate\Support\Facades\Route;
|
||||
|
||||
|
||||
Route::prefix('installer')
|
||||
->name('installer.')
|
||||
->middleware(\App\Http\Middleware\SetLocaleInstaller::class)
|
||||
|
|
|
|||
|
|
@ -11,7 +11,6 @@
|
|||
|
||||
namespace Beike\Libraries;
|
||||
|
||||
|
||||
class Notification
|
||||
{
|
||||
/**
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue