web.php 3.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. <?php
  2. use Illuminate\Support\Facades\Route;
  3. use Illuminate\Support\Facades\File;
  4. use App\Http\Controllers\WbwAnalysisController;
  5. use App\Http\Controllers\PageIndexController;
  6. use App\Http\Controllers\AssetsController;
  7. use App\Http\Controllers\BlogController;
  8. use App\Http\Controllers\CategoryController;
  9. use App\Http\Controllers\BookController;
  10. use App\Http\Controllers\DownloadController;
  11. /*
  12. |--------------------------------------------------------------------------
  13. | Web Routes
  14. |--------------------------------------------------------------------------
  15. |
  16. | Here is where you can register web routes for your application. These
  17. | routes are loaded by the RouteServiceProvider within a group which
  18. | contains the "web" middleware group. Now create something great!
  19. |
  20. */
  21. Route::redirect('/app', '/app/pcdl/index.php');
  22. Route::redirect('/app/pcdl', '/app/pcdl/index.php');
  23. Route::get('/', [PageIndexController::class, 'index']);
  24. Route::get('/wbwanalyses', [WbwAnalysisController::class, 'index']);
  25. Route::get('/attachments/{bucket}/{name}', [AssetsController::class, 'show']);
  26. Route::get('/export/wbw', function () {
  27. return view('export_wbw', ['sentences' => []]);
  28. });
  29. Route::get('/privacy/{file}', function (string $file) {
  30. $path = base_path("documents/mobile/privacy/{$file}.md");
  31. abort_unless(File::exists($path), 404);
  32. return view('privacy', [
  33. 'content' => File::get($path),
  34. ]);
  35. });
  36. Route::get('/book/{id}', function ($id) {
  37. return view('book', ['id' => $id]);
  38. });
  39. Route::redirect('/privacy', '/privacy/index');
  40. Route::post('/theme/toggle', [BookController::class, 'toggleTheme'])->name('theme.toggle');
  41. Route::post('/logout', function () {
  42. // Handle logout
  43. //Auth::logout();
  44. return redirect('/login');
  45. })->name('logout');
  46. Route::prefix('library')->group(function () {
  47. Route::get('/', [CategoryController::class, 'index'])->name('library.home');
  48. Route::get('/category/{id}', [CategoryController::class, 'show'])->name('library.category.show');
  49. Route::get('/book/{id}', [BookController::class, 'show'])->name('library.book.show');
  50. Route::get('/book/{id}/read', [BookController::class, 'read'])->name('library.book.read');
  51. Route::get('/wiki', [BookController::class, 'read'])->name('library.wiki');
  52. Route::get('/download', [DownloadController::class, 'index'])->name('library.download');
  53. });
  54. // 博客路由
  55. Route::prefix('blog')->group(function () {
  56. Route::get('/{user}', [BlogController::class, 'index'])->name('blog.index')->where('user', '[a-zA-Z0-9_-]+');
  57. Route::get('/{user}/categories', [BlogController::class, 'categories'])->name('blog.categories');
  58. Route::get('/{user}/category/{category1}/{category2?}/{category3?}/{category4?}/{category5?}', [BlogController::class, 'category'])->name('blog.category');
  59. Route::get('/{user}/archives', [BlogController::class, 'archives'])->name('blog.archives');
  60. Route::get('/{user}/archives/{year}', [BlogController::class, 'archivesByYear'])->name('blog.archives.year');
  61. Route::get('/{user}/tag/{tag}', [BlogController::class, 'tag'])->name('blog.tag');
  62. Route::get('/{user}/search', [BlogController::class, 'search'])->name('blog.search');
  63. Route::get('/{user}/{post}', [BlogController::class, 'show'])
  64. ->name('blog.show')
  65. ->where([
  66. 'user' => '[a-zA-Z0-9_-]+',
  67. 'post' => '[a-zA-Z0-9_-]+',
  68. ]);
  69. });
  70. Route::group(['prefix' => 'tools'], function () {
  71. Route::get('/nissaya_format_converter', function () {
  72. return view('nissaya_format_converter');
  73. });
  74. });