75 lines
3.7 KiB
PHP
75 lines
3.7 KiB
PHP
<?php
|
|
declare(strict_types=1);
|
|
|
|
use app\smt\controller\v1\Auth;
|
|
use app\smt\controller\v1\QuitCheckin;
|
|
use app\smt\controller\v1\Smoke;
|
|
use think\facade\Route;
|
|
|
|
/**
|
|
* smt 戒烟小程序路由
|
|
*/
|
|
|
|
Route::post('v1/auth/login', [Auth::class, 'login']);
|
|
Route::post('v1/auth/dev-login', [Auth::class, 'devLogin']);
|
|
Route::get('v1/smoke/share/:token', [Smoke::class, 'shareRead']);
|
|
|
|
Route::group('v1', function () {
|
|
Route::get('auth/me', [Auth::class, 'me']);
|
|
Route::get('auth/mini-program-test-code', [Auth::class, 'miniProgramTestCode']);
|
|
Route::put('auth/profile', [Auth::class, 'profile']);
|
|
Route::post('auth/profile', [Auth::class, 'profile']);
|
|
|
|
Route::get('smoke/home', [Smoke::class, 'home']);
|
|
Route::get('smoke/profile', [Smoke::class, 'profile']);
|
|
Route::post('smoke/profile', [Smoke::class, 'saveProfile']);
|
|
Route::get('smoke/next_smoke_time', [Smoke::class, 'nextSmokeTime']);
|
|
Route::get('smoke/dashboard', [Smoke::class, 'dashboard']);
|
|
Route::get('smoke/stats', [Smoke::class, 'stats']);
|
|
Route::post('smoke/logs', [Smoke::class, 'createLog']);
|
|
Route::post('smoke/logs/resisted', [Smoke::class, 'createResistedLog']);
|
|
Route::get('smoke/logs', [Smoke::class, 'logs']);
|
|
Route::get('smoke/logs/latest', [Smoke::class, 'latestLogs']);
|
|
Route::get('smoke/logs/:id', [Smoke::class, 'readLog']);
|
|
Route::post('smoke/logs/:id', [Smoke::class, 'updateLog']);
|
|
Route::delete('smoke/logs/:id', [Smoke::class, 'deleteLog']);
|
|
Route::get('smoke/motivation', [Smoke::class, 'motivation']);
|
|
|
|
Route::get('smoke/ai/advice', [Smoke::class, 'aiAdvice']);
|
|
Route::post('smoke/ai/advice_unlocks', [Smoke::class, 'unlockAiAdvice']);
|
|
Route::get('smoke/ai/next_smoke_time', [Smoke::class, 'aiNextSmokeTime']);
|
|
Route::get('smoke/ai/daily_summary', [Smoke::class, 'aiDailySummary']);
|
|
|
|
Route::post('smoke/share', [Smoke::class, 'createShare']);
|
|
Route::post('smoke/share/:token/revoke', [Smoke::class, 'revokeShare']);
|
|
|
|
Route::post('smoke/quit-plan/generate', [Smoke::class, 'generateQuitPlan']);
|
|
Route::get('smoke/quit-plan', [Smoke::class, 'quitPlan']);
|
|
Route::get('smoke/quit-plan/days', [Smoke::class, 'quitPlanDays']);
|
|
Route::post('smoke/quit-plan/reset', [Smoke::class, 'resetQuitPlan']);
|
|
|
|
Route::get('smoke/achievement/themes', [Smoke::class, 'achievementThemes']);
|
|
Route::get('smoke/achievement', [Smoke::class, 'achievement']);
|
|
})->middleware(\app\smt\middleware\Auth::class);
|
|
|
|
Route::group('v2', function () {
|
|
Route::get('profile', [QuitCheckin::class, 'profile']);
|
|
Route::post('profile', [QuitCheckin::class, 'saveProfile']);
|
|
Route::get('checkin/home', [QuitCheckin::class, 'home']);
|
|
Route::post('checkin/check', [QuitCheckin::class, 'checkin']);
|
|
|
|
Route::get('dream-presets', [QuitCheckin::class, 'dreamPresets']);
|
|
Route::get('reward-goals', [QuitCheckin::class, 'rewardGoals']);
|
|
Route::post('reward-goals', [QuitCheckin::class, 'createRewardGoal']);
|
|
Route::put('reward-goals/:id', [QuitCheckin::class, 'updateRewardGoal']);
|
|
|
|
Route::post('supervisor/invites', [QuitCheckin::class, 'createSupervisorInvite']);
|
|
Route::post('supervisor/bind', [QuitCheckin::class, 'bindSupervisorInvite']);
|
|
Route::post('supervisor/revoke', [QuitCheckin::class, 'revokeSupervisorBinding']);
|
|
Route::get('supervisor/overview', [QuitCheckin::class, 'supervisorOverview']);
|
|
Route::get('supervisor/status', [QuitCheckin::class, 'supervisorStatus']);
|
|
Route::get('supervisor/reminders/settings', [QuitCheckin::class, 'reminderSettings']);
|
|
Route::put('supervisor/reminders/settings', [QuitCheckin::class, 'updateReminderSettings']);
|
|
Route::post('supervisor/reminders/run', [QuitCheckin::class, 'runReminders']);
|
|
})->middleware(\app\smt\middleware\Auth::class);
|