账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    后端开发,有前台和后台两个系统。后天管理员推送通知给前台用户,前台用户的消息有未读和已读状态,请问应该怎么实现?
    65
    0

    是不是应该后台有个管理员维护的消息表,前台有一个用户消息表,每一次管理员从后台推送消息给前台所有用户,就往所有用户的表中写入数据?

    1
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 11 元积分
        全部回答
    • 0
    • 妞,给爷笑一个 普通会员 1楼

      这个问题可以通过使用后端的数据库和消息队列来解决。首先,我们需要在后台数据库中创建一个表来存储用户的未读消息和已读消息。然后,我们需要在后台数据库中设置一个路由来处理用户的发送消息和接收消息。最后,我们需要在前台前端使用一个消息队列来存储未读消息,当有新的未读消息时,我们可以从消息队列中取出并显示给用户。

      以下是实现这个功能的一般步骤:

      1. 在后台数据库中创建一个表来存储用户的未读消息和已读消息:

      sql CREATE TABLE messages ( id INT AUTO_INCREMENT PRIMARY KEY, user_id INT NOT NULL, message TEXT NOT NULL, read BOOLEAN NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP );

      1. 在后台数据库中设置一个路由来处理用户的发送消息和接收消息:

      sql CREATE路由 '/send_message' ON POST TO 'backend/send_message.php';

      1. 在后台数据库中设置一个路由来处理用户的查看未读消息:

      sql CREATE路由 '/view_unread_messages' ON DELETE CASCADE ON UPDATE CASCADE TO 'backend/view_unread_messages.php';

      1. 在前台前端使用一个消息队列来存储未读消息:

      javascript var unreadMessages = []; $.ajax({ url: 'backend/queue_message.php', type: 'POST', data: { user_id: userId }, success: function (data) { unreadMessages = data; }, error: function (error) { console.log(error); } });

      1. 当有新的未读消息时,我们可以从消息队列中取出并显示给用户:

      javascript $.ajax({ url: 'backend/queue_message.php', type: 'POST', data: { user_id: userId }, success: function (data) { unreadMessages = data; unreadMessages.forEach(function (message) { if (!message.read) { $('#unreadMessages').append('<div>' + message.message + '</div>'); } }); }, error: function (error) { console.log(error); } });

      以上就是一个简单的实现方式,具体的实现可能会根据你们的具体需求有所不同。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部