用途:在 Nuxt 应用中接入 Laravel Echo 与 WebSocket,实现实时更新。适用于订阅频道、监听事件、实现实时更新以及管理频道等场景。
主要能力:提供 useRealtime() 组合式函数,可获取 privateChannel、presenceChannel、leaveChannel 等方法;支持订阅私有频道与存在频道,监听单个或多个事件,并在组件卸载时清理订阅。
配置:在 nuxt.config.ts 中注册 nuxt-laravel-echo 模块,并通过 runtimeConfig.public.echo 配置 key、host、scheme、port,对应环境变量 NUXT_PUBLIC_ECHO_KEY、NUXT_PUBLIC_ECHO_HOST、NUXT_PUBLIC_ECHO_SCHEME、NUXT_PUBLIC_ECHO_PORT。
用法示例:const { privateChannel, presenceChannel, leaveChannel } = useRealtime();const channel = privateChannel('posts.{id}', postId);channel.on('PostUpdated', (event) => { refresh() });channel.on(['PostCreated', 'PostUpdated', 'PostDeleted'], refresh);onUnmounted(() => { leaveChannel('posts.{id}', postId) })。频道与事件常量可集中定义,如 app/constants/channels.ts 中的 Posts = 'posts'、Post = 'post.{post}',以及 app/constants/events.ts 中的 PostCreated、PostUpdated。
限制:资料未提供具体版本要求、服务端配置细节、错误处理与重连策略、鉴权方式及收费信息,暂未提供。