功能:婚姻系统第8&10步(Controllers + Events + 路由)
- MarriageController:propose/accept/reject/divorce/confirmDivorce/status
- WeddingController:tiers/setup(立即触发)/claim/envelopeStatus
- 8个 WebSocket Events:
Marriage{Proposed|Accepted|Rejected|Expired|Divorced|DivorceRequested}
WeddingCelebration / EnvelopeClaimed
- 前台路由:marriage.* + wedding.*
- 后台路由:admin.marriages.*(superlevel 层)
This commit is contained in:
@@ -72,6 +72,37 @@ Route::middleware(['chat.auth'])->group(function () {
|
||||
Route::post('/friend/{username}/add', [\App\Http\Controllers\FriendController::class, 'addFriend'])->name('friend.add');
|
||||
Route::delete('/friend/{username}/remove', [\App\Http\Controllers\FriendController::class, 'removeFriend'])->name('friend.remove');
|
||||
|
||||
// ── 婚姻系统(前台)──────────────────────────────────────────────
|
||||
Route::prefix('marriage')->name('marriage.')->group(function () {
|
||||
// 查询当前用户婚姻状态
|
||||
Route::get('/status', [\App\Http\Controllers\MarriageController::class, 'status'])->name('status');
|
||||
// 查询目标用户婚姻信息(名片用)
|
||||
Route::get('/target', [\App\Http\Controllers\MarriageController::class, 'targetStatus'])->name('target-status');
|
||||
// 当前用户持有的戒指列表
|
||||
Route::get('/rings', [\App\Http\Controllers\MarriageController::class, 'myRings'])->name('rings');
|
||||
// 发起求婚
|
||||
Route::post('/propose', [\App\Http\Controllers\MarriageController::class, 'propose'])->name('propose');
|
||||
// 接受/拒绝求婚
|
||||
Route::post('/{marriage}/accept', [\App\Http\Controllers\MarriageController::class, 'accept'])->name('accept');
|
||||
Route::post('/{marriage}/reject', [\App\Http\Controllers\MarriageController::class, 'reject'])->name('reject');
|
||||
// 申请离婚(type: mutual|forced)
|
||||
Route::post('/{marriage}/divorce', [\App\Http\Controllers\MarriageController::class, 'divorce'])->name('divorce');
|
||||
// 确认协议离婚
|
||||
Route::post('/{marriage}/confirm-divorce', [\App\Http\Controllers\MarriageController::class, 'confirmDivorce'])->name('confirm-divorce');
|
||||
});
|
||||
|
||||
// ── 婚礼系统(前台)──────────────────────────────────────────────
|
||||
Route::prefix('wedding')->name('wedding.')->group(function () {
|
||||
// 婚礼档位列表
|
||||
Route::get('/tiers', [\App\Http\Controllers\WeddingController::class, 'tiers'])->name('tiers');
|
||||
// 设置并发起婚礼
|
||||
Route::post('/{marriage}/setup', [\App\Http\Controllers\WeddingController::class, 'setup'])->name('setup');
|
||||
// 领取婚礼红包
|
||||
Route::post('/ceremony/{ceremony}/claim', [\App\Http\Controllers\WeddingController::class, 'claim'])->name('claim');
|
||||
// 查询是否有待领取红包
|
||||
Route::get('/ceremony/{ceremony}/envelope', [\App\Http\Controllers\WeddingController::class, 'envelopeStatus'])->name('envelope-status');
|
||||
});
|
||||
|
||||
// ---- 第五阶段:具体房间内部聊天核心 ----
|
||||
// 进入具体房间界面的初始化
|
||||
Route::get('/room/{id}', [ChatController::class, 'init'])->name('chat.room');
|
||||
@@ -222,6 +253,32 @@ Route::middleware(['chat.auth', 'chat.has_position'])->prefix('admin')->name('ad
|
||||
Route::post('/vip', [\App\Http\Controllers\Admin\VipController::class, 'store'])->name('vip.store');
|
||||
Route::put('/vip/{vip}', [\App\Http\Controllers\Admin\VipController::class, 'update'])->name('vip.update');
|
||||
Route::delete('/vip/{vip}', [\App\Http\Controllers\Admin\VipController::class, 'destroy'])->name('vip.destroy');
|
||||
|
||||
// 💒 婚姻管理(superlevel 及以上)
|
||||
Route::prefix('marriages')->name('marriages.')->group(function () {
|
||||
// 总览统计
|
||||
Route::get('/', [\App\Http\Controllers\Admin\MarriageManagerController::class, 'index'])->name('index');
|
||||
// 婚姻列表(支持筛选)
|
||||
Route::get('/list', [\App\Http\Controllers\Admin\MarriageManagerController::class, 'list'])->name('list');
|
||||
// 求婚记录
|
||||
Route::get('/proposals', [\App\Http\Controllers\Admin\MarriageManagerController::class, 'proposals'])->name('proposals');
|
||||
// 婚礼红包记录
|
||||
Route::get('/ceremonies', [\App\Http\Controllers\Admin\MarriageManagerController::class, 'ceremonies'])->name('ceremonies');
|
||||
// 红包领取明细
|
||||
Route::get('/ceremonies/{ceremony}/claims', [\App\Http\Controllers\Admin\MarriageManagerController::class, 'claimDetail'])->name('claim-detail');
|
||||
// 亲密度日志
|
||||
Route::get('/intimacy-logs', [\App\Http\Controllers\Admin\MarriageManagerController::class, 'intimacyLogs'])->name('intimacy-logs');
|
||||
// 参数配置(GET=页面,POST=保存)
|
||||
Route::get('/configs', [\App\Http\Controllers\Admin\MarriageManagerController::class, 'configs'])->name('configs');
|
||||
Route::post('/configs', [\App\Http\Controllers\Admin\MarriageManagerController::class, 'updateConfigs'])->name('configs.update');
|
||||
// 婚礼档位(GET=页面,PUT=保存)
|
||||
Route::get('/tiers', [\App\Http\Controllers\Admin\MarriageManagerController::class, 'tiers'])->name('tiers');
|
||||
Route::put('/tiers/{tier}', [\App\Http\Controllers\Admin\MarriageManagerController::class, 'updateTier'])->name('tiers.update');
|
||||
// 强制离婚
|
||||
Route::post('/{marriage}/force-dissolve', [\App\Http\Controllers\Admin\MarriageManagerController::class, 'forceDissolve'])->name('force-dissolve');
|
||||
// 取消求婚
|
||||
Route::post('/{marriage}/cancel-proposal', [\App\Http\Controllers\Admin\MarriageManagerController::class, 'cancelProposal'])->name('cancel-proposal');
|
||||
});
|
||||
});
|
||||
|
||||
// ──────────────────────────────────────────────────────────────
|
||||
|
||||
Reference in New Issue
Block a user