1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        Echo 的發(fā)送私信是怎么做的

        共 1177字,需瀏覽 3分鐘

         ·

        2021-05-22 19:11

        這篇教程新鮮的東西不多,私信發(fā)送和帖子發(fā)布的做法如出一轍,都是使用 Ajax 異步實現(xiàn),參見這篇文章:Echo 的發(fā)帖操作是怎么做的

        直接看前端 js 代碼 letter.js,異步的發(fā)送私信請求具體是如何發(fā)送出去的:

        通過 id 選擇器獲取 recipient-name(收信人的 username) 和 message-text(具體私信內(nèi)容) 的值,將這兩個值作為參數(shù)傳遞給 /letter/send 接口。

        我們再來看看那個后端接口是啥,下述這段代碼在 MessageController 中:

        發(fā)送私信的本質(zhì)是啥,就是一個在 letter 數(shù)據(jù)庫表中插入一行記錄罷了,詳細可見 addMessage 方法,非常簡單,這里不再貼圖出來了。

        另外,這里有兩個需要注意的點:

        1)第一個需要注意的就是,conversation_id 的賦值,上篇文章我們介紹過,對于這個字段,我們約定,id 小的在前,id 大的在后。

        2)第二個需要注意的就是,插入數(shù)據(jù)庫的私信記錄默認狀態(tài)是未讀(status = 0)的,那么,當(dāng)對方(收信人)獲取私信列表的時候,也就是掃描數(shù)據(jù)庫,就可以獲取到這條狀態(tài)是未讀的私信,從而修改相應(yīng)的未讀消息數(shù)量。

        可能有些小伙伴會有疑惑,既然這條私信狀態(tài)在數(shù)據(jù)庫的記錄中是未讀的,那對于這個發(fā)信人來說,把他發(fā)出去的私信算作未讀的話,是不是不太符合大眾的邏輯?

        是的。所以我們查詢未讀私信數(shù)量的 SQL 語句是這樣寫的:

        to_id = userId,也就是說,判斷是否是未讀私信的時候,只判斷那些別人發(fā)給我的私信。而我發(fā)給別人的私信,壓根就不會納入未讀私信的考慮范疇,盡管我發(fā)給別人的這條私信記錄在數(shù)據(jù)庫中的狀態(tài)是 1(未讀),但是那是對于別人(收信人)來說的。



        • 博主小碩在讀,深耕 Java,目前在維護一個教程類倉庫 CS-Wiki「Gitee 官方推薦項目,現(xiàn)已 1.7k+ star,倉庫地址:https://gitee.com/veal98/CS-Wiki」,公眾號上的文章也會在此同步更新,歡迎各位前來交流學(xué)習(xí)。
        • 準備春招秋招的小伙伴可以參考我的這個論壇項目 Echo「Gitee 官方推薦項目,現(xiàn)已 800+ star,倉庫地址:https://gitee.com/veal98/Echo」。配套教程正在同步更新中,公眾號后臺回復(fù) "Echo" 即可免費獲取。
        • 另外,雖然現(xiàn)在本號仍然很小,不過我還是建了一個交流群『小牛肉和它的小伙伴們』,感興趣的各位可以下方掃碼加我微信回復(fù) "進群",我拉你進群:

        瀏覽 46
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            欧美成人三级在线播放 | 鲁一鲁啪一啪 | 日无码视频 | 国产欧美高清视频 | 欧美 在线 日韩 | 日本三级中文字幕 | 黄片无码在线观看 | 成人做爱在线 | 欧美日韩精品A∨一区二区三区电影 | 亚洲欧美日韩丝袜另类 |