实时应用程序如何与网站管理面板交互?

时间:2019-03-01 09:35:25

标签: php android database firebase infrastructure

我的问题是关于特定于API的逻辑。

如果我有一个包含2个单独组件的电子商务应用程序(一个组件用于卖方,另一个组件用于买方),并且我可以说有laravel php管理面板来提供客户支持(作为超级管理员),并且卖方的amdin面板可以使用Web浏览器来编辑其产品页面并实时回复客户。 (现在卖家有2个android应用和网页选项可以完成相同的工作)

根据我的理解,如何完成网站(管理页面)和android应用程序的托管:

1-管理面板(网页)将在托管Laravel和MySQL数据库的服务器上。

2- Android应用程序将从服务器的数据库中检索数据。

3-当卖家使用其android应用程序添加产品时。服务器上的数据库将更新。以便买家可以看到新添加的商品。

4-当买家在android应用程序中使用聊天界面时,该数据库将不会使用托管Laravel(或任何框架)管理页面的服务器。而是连接到实时平台(如firebase)。

这是我对这种类型的应用程序以及Web服务器和android应用程序之间的整体关系的理解。这种逻辑对吗?请任何建议会有所帮助。

1 个答案:

答案 0 :(得分:0)

我正在使用pusher进行实时聊天,您可以将消息存储在数据库中,并使用pusher广播MessageSent事件,在您的网站/应用程序的前面收听频道,并在聊天中添加来自pusher的信息。

您必须制作2个频道

Broadcast::channel('/user/chat/{userId}', function ($user) {
    return $user->id === $userId;
});

Broadcast::channel('/admin/chat', function () {
    return $user->isAdmin === 1;
});

并将广播的用户消息广播到/admin/chat并路由管理员回复/user/chat/{userId},希望对您有所帮助

阅读文档:https://laravel.com/docs/5.7/broadcasting