最近国外的一款基于语音的社交软件clubhouse掀起了一股热潮,尤其是在Eleon Musk的带动下,整个互联网圈内人都在第一时间抢先体验。
不管它为什么会火,肯定不是技术上有什么特别的优势。随着整个互联网技术生态的不断发展,互联网基础建设的不断完善,想快速实现一个产品,还是有很多的方案可以选择。
而今天给大家带来的是Github上的一个clubhouse的开源实现。
NesHouse 是一个基于 Agora、LeanCloud 服务,使用 Alpine.js 、Bulma Css、NES.css 构建的前端项目,这个项目实现了一套基于 NES 风格的 clubhouse,你可以使用 NESHouse 来创建自己的线上直播间,也可以将其分享出去,邀请别人一起参与讨论。
特性
多聊天直播间支持
管理员权限
多主播同时发言
观众申请发言
管理员禁言主播
生成分享链接
界面
依赖服务
LeanCloud 国际版
Agora.io 声网 +(非必需)Vercel
如何使用
使用流程
注册一个 LeanCloud 国际账户,并创建一个项目,用于后续的项目配置
注册一个 Agora 声网账号,并创建一个项目,获取 AppID。创建项目时请选择调试模式,仅 APPID 鉴权。
从 LeanCloud 的应用后台 - 你使用的应用 - 设置 - 应用 Keys 中找到 AppID 和 AppKey,将其记录下来,以备后用。
从 LeanCloud 的应用后台 - 你使用的应用 - 存储 - 服务设置 中启用 Live Query
在 LeanCloud 的应用后台 - 你使用的应用 - 存储 - 结构化数据 ,并创建一个名为 RoomUser 的 Class。
将上面记录的声网的应用 AppID 和 LeanCloud 的 AppID 和 APPkey 填写到
js/config.js
顶部的配置中。将修改好的文件部署到你自己的服务器上,并配置域名指向。
配置说明
js/config.js
const AVAPPID = "" // LeanCloud AppID
const AVAPPKEY = "" // LeanCloud AppKey
const BASEURL = "" // 最终网页所在的路径,生成的分享链接会基于这个地址产生
const DEFAULT_TEXT = "Please contact <a href='mailto:bestony@linux.com'>bestony@linux.com</a> to Learn more" // 页面顶部展示的文字
const AGORAAPPID = "" // 声网服务的 AppID
Demo
创建房间: https://neshouse.com/admin.html
默认主页: https://neshouse.com/admin.html
Demo 使用流程
在 域名/admin.html 中输入房间名 & 用户昵称,创建一个新的房间
点击下方的 Log in to chat room as Administrator 以管理员身份登陆房间
复制输入框内的链接,分享给你的朋友,邀请他们加入房间。