feat(api): add sign required-article endpoint

GET /api/sign/required_article returns one random article from the
"签到广告" article category (status=1, is_del=0, hidden=0). Empty
category or no articles returns null so clients can fall through to
direct sign-in. Powers the pre-sign-in reading gate per
docs/project-shaoyaoju/prd-require.md §6.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
danaisuiyuan
2026-05-10 15:47:48 +08:00
parent 9559031536
commit b3a1dabf87
3 changed files with 55 additions and 0 deletions

View File

@@ -275,6 +275,7 @@ Route::group('api', function () {
Route::post('sign/integral', 'v1.user.UserSign/sign_integral')->middleware(BlockerMiddleware::class)->name('signIntegral');//签到
Route::get('sign/remind/:status', 'v1.user.UserSign/sign_remind')->name('signRemind');//用户设置签到提醒
Route::get('sign/calendar', 'v1.user.UserSign/sign_calendar')->name('signCalendar');//日历数据
Route::get('sign/required_article', 'v1.user.UserSign/required_article')->name('signRequiredArticle');//签到前置阅读文章("签到广告"分类随机一条)
//优惠券类
Route::post('coupon/receive', 'v1.activity.StoreCoupons/receive')->middleware(BlockerMiddleware::class)->name('couponReceive'); //领取优惠券
Route::post('coupon/receive/batch', 'v1.activity.StoreCoupons/receive_batch')->name('couponReceiveBatch'); //批量领取优惠券