fixed file manager

This commit is contained in:
Edward Yang 2022-07-13 11:02:57 +08:00
parent 07d4cb8b34
commit 629e9bad66
3 changed files with 48 additions and 38 deletions

View File

@ -41,26 +41,28 @@ class FileManagerController extends Controller
/**
* 删除文件或文件夹
* DELETE /admin/file_manager/{file_manager}
* 文件或文件夹改名
* PUT /admin/file_manager/rename
* @throws \Exception
*/
public function destroy(Request $request): array
public function rename(Request $request): array
{
$folderName = $request->get('name');
(new FileManagerService)->deleteDirectoryOrFile($folderName);
$originPath = $request->get('origin_name');
$newPath = $request->get('new_name');
(new FileManagerService)->updateName($originPath, $newPath);
return json_success('删除成功');
}
/**
* 文件或文件夹改名
* PUT /admin/file_manager/{file_manager}
* 删除文件或文件夹
* DELETE /admin/file_manager/delete
* @throws \Exception
*/
public function update(Request $request)
public function destroyFiles(Request $request): array
{
$folderName = $request->get('name');
(new FileManagerService)->updateName($folderName);
(new FileManagerService)->deleteDirectoryOrFile($folderName);
return json_success('删除成功');
}

View File

@ -1,5 +1,6 @@
<?php
use Beike\Admin\Http\Controllers;
use Illuminate\Support\Facades\Route;
$adminName = admin_name();
@ -7,45 +8,47 @@ Route::prefix($adminName)
->middleware(['web'])
->name("{$adminName}.")
->group(function () {
Route::get('login', [\Beike\Admin\Http\Controllers\LoginController::class, 'show'])->name('login.show');
Route::post('login', [\Beike\Admin\Http\Controllers\LoginController::class, 'store'])->name('login.store');
Route::get('login', [Controllers\LoginController::class, 'show'])->name('login.show');
Route::post('login', [Controllers\LoginController::class, 'store'])->name('login.store');
Route::middleware('admin_auth:' . \Beike\Models\AdminUser::AUTH_GUARD)
->group(function () {
Route::get('/', [\Beike\Admin\Http\Controllers\HomeController::class, 'index'])->name('home.index');
Route::get('/', [Controllers\HomeController::class, 'index'])->name('home.index');
Route::Resource('categories', \Beike\Admin\Http\Controllers\CategoryController::class);
Route::get('design/builder', [\Beike\Admin\Http\Controllers\DesignController::class, 'index'])->name('design.index');
Route::put('design/builder', [\Beike\Admin\Http\Controllers\DesignController::class, 'update'])->name('design.update');
Route::put('design/builder/module', [\Beike\Admin\Http\Controllers\DesignController::class, 'showModule'])->name('design.module.show');
Route::Resource('categories', Controllers\CategoryController::class);
Route::get('design/builder', [Controllers\DesignController::class, 'index'])->name('design.index');
Route::put('design/builder', [Controllers\DesignController::class, 'update'])->name('design.update');
Route::put('design/builder/module', [Controllers\DesignController::class, 'showModule'])->name('design.module.show');
Route::Resource('files', \Beike\Admin\Http\Controllers\FileController::class);
Route::Resource('files', Controllers\FileController::class);
Route::Resource('file_manager', \Beike\Admin\Http\Controllers\FileManagerController::class);
Route::post('file_manager/upload', [\Beike\Admin\Http\Controllers\FileManagerController::class, 'uploadFiles'])->name('file_manager.upload');
Route::get('file_manager', [Controllers\FileManagerController::class, 'index'])->name('file_manager.index');
Route::post('file_manager/upload', [Controllers\FileManagerController::class, 'uploadFiles'])->name('file_manager.upload');
Route::post('file_manager/rename', [Controllers\FileManagerController::class, 'rename'])->name('file_manager.rename');
Route::delete('file_manager/delete_files', [Controllers\FileManagerController::class, 'deleteFiles'])->name('file_manager.delete_files');
Route::Resource('customers', \Beike\Admin\Http\Controllers\CustomerController::class);
Route::resource('customers.addresses', \Beike\Admin\Http\Controllers\AddressController::class);
Route::resource('countries.zones', \Beike\Admin\Http\Controllers\ZoneController::class);
Route::Resource('customer_groups', \Beike\Admin\Http\Controllers\CustomerGroupController::class);
Route::Resource('customers', Controllers\CustomerController::class);
Route::resource('customers.addresses', Controllers\AddressController::class);
Route::resource('countries.zones', Controllers\ZoneController::class);
Route::Resource('customer_groups', Controllers\CustomerGroupController::class);
Route::put('products/restore', [\Beike\Admin\Http\Controllers\ProductController::class, 'restore']);
Route::resource('products', \Beike\Admin\Http\Controllers\ProductController::class);
Route::resource('currencies', \Beike\Admin\Http\Controllers\CurrencyController::class);
Route::put('products/restore', [Controllers\ProductController::class, 'restore']);
Route::resource('products', Controllers\ProductController::class);
Route::resource('currencies', Controllers\CurrencyController::class);
Route::get('orders', [\Beike\Admin\Http\Controllers\OrderController::class, 'index'])->name('orders.index');
Route::get('orders/{order}', [\Beike\Admin\Http\Controllers\OrderController::class, 'show'])->name('orders.show');
Route::get('orders', [Controllers\OrderController::class, 'index'])->name('orders.index');
Route::get('orders/{order}', [Controllers\OrderController::class, 'show'])->name('orders.show');
Route::get('settings', [\Beike\Admin\Http\Controllers\SettingController::class, 'index'])->name('settings.index');
Route::get('settings', [Controllers\SettingController::class, 'index'])->name('settings.index');
Route::get('plugins', [\Beike\Admin\Http\Controllers\PluginController::class, 'index'])->name('plugins.index');
Route::get('plugins/{code}/edit', [\Beike\Admin\Http\Controllers\PluginController::class, 'edit'])->name('plugins.edit');
Route::put('plugins/{code}', [\Beike\Admin\Http\Controllers\PluginController::class, 'update'])->name('plugins.update');
Route::put('plugins/{code}/status', [\Beike\Admin\Http\Controllers\PluginController::class, 'updateStatus'])->name('plugins.update_status');
Route::post('plugins/{code}/install', [\Beike\Admin\Http\Controllers\PluginController::class, 'install'])->name('plugins.install');
Route::post('plugins/{code}/uninstall', [\Beike\Admin\Http\Controllers\PluginController::class, 'uninstall'])->name('plugins.uninstall');
Route::get('plugins', [Controllers\PluginController::class, 'index'])->name('plugins.index');
Route::get('plugins/{code}/edit', [Controllers\PluginController::class, 'edit'])->name('plugins.edit');
Route::put('plugins/{code}', [Controllers\PluginController::class, 'update'])->name('plugins.update');
Route::put('plugins/{code}/status', [Controllers\PluginController::class, 'updateStatus'])->name('plugins.update_status');
Route::post('plugins/{code}/install', [Controllers\PluginController::class, 'install'])->name('plugins.install');
Route::post('plugins/{code}/uninstall', [Controllers\PluginController::class, 'uninstall'])->name('plugins.uninstall');
Route::get('logout', [\Beike\Admin\Http\Controllers\LogoutController::class, 'index'])->name('logout.index');
Route::get('logout', [Controllers\LogoutController::class, 'index'])->name('logout.index');
});

View File

@ -103,9 +103,14 @@ class FileManagerService
}
public function updateName()
public function updateName($originPath, $newPath)
{
$originPath = public_path("catalog/{$originPath}");
$newPath = public_path("catalog/{$newPath}");
if (!is_dir($originPath) || !file_exists($originPath)) {
throw new \Exception('原始文件或者文件夹无效');
}
@rename($originPath, $newPath);
}