第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

通知 API 系統(tǒng)正確流程

通知 API 系統(tǒng)正確流程

PHP
至尊寶的傳說 2023-04-21 16:45:54
我構(gòu)建了一個(gè)小型通知 api 系統(tǒng),該系統(tǒng)在數(shù)據(jù)庫中包含id, user_id, subject, text, status,列。created_at我目前的流程是,當(dāng)用戶請求她的通知時(shí),我會收到最近的 100 條未讀消息并發(fā)送給用戶,然后等待前端向我發(fā)送ids用戶已閱讀的列表,以便我可以將他們的狀態(tài)更改為read。但有時(shí)這不會發(fā)生,這意味著當(dāng)用戶請求另一組消息時(shí),他們將取回已讀過的消息。因此,我正在考慮在為用戶檢索消息后將消息標(biāo)記為已讀,而不是等待來自前端的更新。但我不確定這是否是處理此問題的最佳方法!api通知系統(tǒng)是否有更好的流程請告訴我。謝謝。
查看完整描述

2 回答

?
慕工程0101907

TA貢獻(xiàn)1887條經(jīng)驗(yàn) 獲得超5個(gè)贊

我會這樣想:未讀項(xiàng)目列表描述的是什么?國家了解的內(nèi)容未被閱讀。提取未讀項(xiàng)目列表真的意味著所有這些項(xiàng)目都已閱讀嗎?我想不是。您可能允許批量標(biāo)記讀取,但實(shí)際上讀取列表只是一種狀態(tài)表示。閱讀列表,并通過向thing/mark-read.

如果您認(rèn)為(中央)存儲不能準(zhǔn)確地表示狀態(tài),因?yàn)槟J(rèn)為它們應(yīng)該被讀取,那么請調(diào)試您的界面。不過,我不會在拉出列表時(shí)標(biāo)記為已讀。那將是一個(gè)有缺陷的方法。

如果您確實(shí)將所有 100 個(gè)直接插入到您認(rèn)為它們已讀取的顯示中,請?jiān)谀?api 中創(chuàng)建一個(gè)端點(diǎn)并將thing/mark-items-read這 100 個(gè)項(xiàng)目 ID 傳遞給它。


查看完整回答
反對 回復(fù) 2023-04-21
?
拉丁的傳說

TA貢獻(xiàn)1789條經(jīng)驗(yàn) 獲得超8個(gè)贊

我們在這里看不到您的代碼,但我建議如下:


將顯示給使用的消息的 ID 存儲在前端的數(shù)組中,因此當(dāng)用戶查看消息時(shí),您將 id 添加到該數(shù)組。我不確定您的前端正在使用什么,因此無法真正提出代碼建議。


在路由文件的后端創(chuàng)建一個(gè)接收此數(shù)組的端點(diǎn)


Route::post('somepath/read-messages', 'MessageController@readMessages');

然后,在您的消息控制器中:


public function readMessages(Request $request) {


   if ($request->has('read_messages') {

       $messages = Message::whereIn('id', $request->read_messages)->get();

       $messages->update(array('staus' => 'read');

   }


}


查看完整回答
反對 回復(fù) 2023-04-21
  • 2 回答
  • 0 關(guān)注
  • 130 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號