You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
54 lines
2.9 KiB
54 lines
2.9 KiB
<?php
|
|
|
|
use App\Http\Controllers\Miniapp\ActivityController;
|
|
use App\Http\Controllers\Miniapp\AuthController;
|
|
use App\Http\Controllers\Miniapp\BannerController;
|
|
use App\Http\Controllers\Miniapp\CourseController;
|
|
use App\Http\Controllers\Miniapp\CheckinController;
|
|
use App\Http\Controllers\Miniapp\DemandController;
|
|
use App\Http\Controllers\Miniapp\DictController;
|
|
use App\Http\Controllers\Miniapp\NewsController;
|
|
use App\Http\Controllers\Miniapp\ProfileController;
|
|
use App\Http\Controllers\Miniapp\ResearchDirectionController;
|
|
use App\Http\Controllers\Miniapp\UploadController;
|
|
use Illuminate\Support\Facades\Route;
|
|
|
|
Route::prefix('miniapp/v1')->group(function () {
|
|
Route::post('/auth/wechat-login', [AuthController::class, 'wechatLogin']);
|
|
Route::post('/auth/dev-login', [AuthController::class, 'devLogin']);
|
|
|
|
Route::get('/banners', [BannerController::class, 'index']);
|
|
Route::get('/banners/{banner}', [BannerController::class, 'show'])->whereNumber('banner');
|
|
Route::get('/courses/hot', [CourseController::class, 'hot']);
|
|
Route::get('/courses/latest', [CourseController::class, 'latest']);
|
|
Route::get('/courses/calendar', [CourseController::class, 'calendar']);
|
|
Route::get('/courses', [CourseController::class, 'index']);
|
|
Route::get('/courses/{course}', [CourseController::class, 'show'])->whereNumber('course');
|
|
Route::get('/activities/calendar', [ActivityController::class, 'calendar']);
|
|
Route::get('/activities', [ActivityController::class, 'index']);
|
|
Route::get('/activities/{activity}', [ActivityController::class, 'show'])->whereNumber('activity');
|
|
Route::get('/news', [NewsController::class, 'index']);
|
|
Route::get('/news/{news}', [NewsController::class, 'show'])->whereNumber('news');
|
|
Route::get('/dict/{code}/items', [DictController::class, 'items']);
|
|
Route::get('/research-directions/options', [ResearchDirectionController::class, 'options']);
|
|
|
|
Route::middleware(['auth:sanctum', 'miniapp.active'])->group(function () {
|
|
Route::get('/auth/me', [AuthController::class, 'me']);
|
|
Route::post('/auth/logout', [AuthController::class, 'logout']);
|
|
Route::put('/profile', [ProfileController::class, 'update']);
|
|
Route::post('/uploads/avatar', [UploadController::class, 'avatar']);
|
|
|
|
Route::post('/courses/{course}/signup', [CourseController::class, 'signup'])->whereNumber('course');
|
|
Route::get('/me/course-signups', [CourseController::class, 'mySignups']);
|
|
|
|
Route::post('/activities/{activity}/signup', [ActivityController::class, 'signup'])->whereNumber('activity');
|
|
Route::get('/me/activity-signups', [ActivityController::class, 'mySignups']);
|
|
|
|
Route::get('/demands', [DemandController::class, 'index']);
|
|
Route::post('/demands', [DemandController::class, 'store']);
|
|
|
|
Route::post('/checkin/course', [CheckinController::class, 'course']);
|
|
Route::post('/checkin/activity', [CheckinController::class, 'activity']);
|
|
});
|
|
});
|