# syncplayer **Repository Path**: stonelf/syncplayer ## Basic Information - **Project Name**: syncplayer - **Description**: 一个手机网页应用,可以在主持人端和参与者端准实时同步共同的阅读进度,方便参与者可以实时知道当前大家读到了哪一段哪一行从而跟上进度。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-13 - **Last Updated**: 2026-09-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SyncPlayer SyncPlayer(仪轨共修)是一个面向多人远程共修的实时同步跟读 Web 应用。 主持人正常滚动仪轨正文,所有参与者的页面会实时跟随到相同位置;参与者无需手动寻找进度,即可与主持人同步阅读。项目支持场次分享、段落高亮、参与者留言和仪轨素材管理,无需安装客户端,使用手机或电脑浏览器即可参与。 当前项目的线上访问地址:[https://syncplayer.sou.ac.cn/](https://syncplayer.sou.ac.cn/) ## 核心功能 - 实时视口同步:针对不同尺寸的屏幕,按正文块和屏幕中线进行对齐。 - 自动平滑跟随:参与端自动追赶主持人的阅读位置。 - 手动偏移:参与端可临时调整相对位置,之后继续自动跟随。 - 段落高亮:主持人单击段落,所有参与者同步看到高亮提示。 - 私信主持:参与者可向主持人发送短消息。 - 场次分享:通过链接或二维码邀请参与者加入。 - 多设备接管:主持人可在另一台设备继续控制同一场次。 - 仪轨管理:登录后可新建、编辑、删除和提交公开仪轨。 ## 快速开始 ### 主持人 1. 打开 [SyncPlayer 首页](https://syncplayer.sou.ac.cn/)。 2. 从仪轨列表中选择本次共修使用的仪轨。 3. 点击“新建共修场次”进入主持页。 4. 点击右上角“分享”,将参与链接或二维码发送给共修同伴。 5. 正常滚动仪轨正文;如需提示某个段落,单击该段即可高亮。 6. 共修结束后,点击右上角“结束共修”并确认。 ### 参与者 1. 打开主持人分享的链接,或扫描分享弹窗中的二维码。 2. 页面会自动加载当前仪轨并对齐主持人的阅读位置。 3. 保持“自动跟随:开”即可持续同步;需要自行查看时可临时关闭或手动滚动。 ## 详细使用说明 ### 首页与仪轨选择 首页会展示当前可用的仪轨: - “可用”表示公共仪轨,所有用户都可以选择并发起共修。 - “我的”表示登录用户的私有仪轨,仅本人可见和使用。 - 必须先将仪轨卡片选中,才能点击“新建共修场次”。 如果当前登录用户已经有一个未结束的场次,首页会显示“返回共修”,新建按钮会变为“结束共修”。可以先返回场次继续主持,也可以直接结束当前场次。 ### 主持端 进入主持页后,页面会根据主持人当前滚动位置持续同步给参与者。 #### 阅读与高亮 - 正常滚动正文,参与者会自动跟随。 - 单击任意正文段落,该段落会在主持端和参与端同步高亮。 - 刷新主持页后,会尽量恢复刷新前的阅读位置,避免参与者被拉回顶部。 #### 查看参与者消息 点击顶部“消息”可查看参与者发来的留言。有新消息时,按钮旁会显示未读数量。 #### 分享场次 点击顶部“分享”可以: - 展示本场共修的二维码。 - 复制参与端链接。 - 生成“在另一台设备继续主持”的专用链接。 参与端链接可以安全分享给共修同伴。主持权限保存在主持人当前浏览器中,普通参与者仅通过同一个链接打开时不会获得主持权限。 “在另一台设备继续主持”的链接包含主持凭证,只能在自己的设备上打开,不能转发给其他人。 #### 多设备冲突 如果同一场次被多个设备同时操控,主持端会出现冲突提示。确认当前设备应继续主持时,可点击“踢出其他设备”收回控制权。 #### 结束共修 点击“结束共修”并确认后,所有参与者会收到场次已结束的提示,当前场次随即关闭。 ### 参与端 #### 自动跟随 参与端默认开启自动跟随: - 主持人滚动后,参与端会平滑移动到相同阅读位置。 - 点击“自动跟随:开”可临时关闭或重新开启跟随。 - 手动滚动页面时,参与端会短暂暂停自动跟随;停止滚动后恢复。 #### 调整偏移 顶部“偏移”按钮用于控制参与端相对主持人的纵向位置: - “偏移 0”表示与主持人的目标位置完全对齐。 - 正值表示参与端相对主持人的位置向下偏移。 - 负值表示参与端相对主持人的位置向上偏移。 - 手动上滑或下滑会调整偏移量,松手后保持该相对位置继续跟随。 - 再次点击偏移按钮可以归零,重新与服务端位置完全对齐。 #### 私信主持 点击“私信主持”可以发送最多 120 字的留言。为防止骚扰,同一设备 10 秒内只能发送 1 条消息。主持人可以查看最近收到的消息,单个场次最多保留最近 20 条。 #### 分享场次 参与端也可以点击“分享”,复制本场共修链接或展示二维码,邀请其他同伴加入。 ### 登录与仪轨管理 发起私有仪轨共修或管理自己的仪轨前,需要先登录。首页和“仪轨共修空间”页面均提供“扫码登录”入口。微信扫码后进入小程序确认登录,确认成功后网页会自动登录;登录后可以退出当前账号。 进入“仪轨共修空间”后可使用以下功能: #### 我的仪轨 - 点击“+ 新建仪轨”创建仪轨。 - 填写仪轨名称和正文内容,保存后即成为个人私有仪轨。 - 编辑自己的仪轨名称和正文。 - 删除不再需要的私有仪轨。 - 将私有仪轨提交审核,申请发布到公共仪轨库。 仪轨正文保存时会进行白名单净化,允许使用常见的段落、标题、列表、换行、加粗、斜体和字号标签。 仪轨状态包括: - 私有:仅创建者本人可见和使用。 - 待审核:已提交,等待管理员审核。 - 已公开:已发布到公共仪轨库。 - 被驳回:未通过审核,可根据驳回原因修改后重新申请。 删除已经公开的仪轨时,公共仪轨库中的已发布版本仍会保留。 #### 公共仪轨 公共仪轨库展示经过审核发布的仪轨,所有用户都可以选择并发起共修。管理员可以编辑公共仪轨内容,或将其从公共仪轨库下架。 #### 法名与昵称 用户可以在“法名/昵称”页签设置用于审核列表等场景展示的名称。该名称可以修改或留空清除,不会公开微信账号信息。 #### 管理员功能 管理员账号会额外看到“审核”和“用户”页签: - 审核:预览待审核仪轨,选择“通过发布”或填写意见后驳回。 - 用户:查看已登录账号的昵称、公开 ID、管理员标记和注册时间。 - 公共仪轨管理:编辑或下架已发布的公共仪轨。 ## 页面入口 | 页面 | 地址 | 用途 | |------|------|------| | 首页 | `https://syncplayer.sou.ac.cn/index.html` | 选择仪轨、新建或返回共修、登录 | | 参与页 | `https://syncplayer.sou.ac.cn/join.html#j=` | 参与者自动跟随、留言 | | 主持页 | `https://syncplayer.sou.ac.cn/admin.html#a=` | 主持人控制同步和高亮 | | 仪轨空间 | `https://syncplayer.sou.ac.cn/superadmin.html` | 登录后管理仪轨、审核和用户 | | 使用帮助 | `https://syncplayer.sou.ac.cn/help.html` | 页面内快速操作说明 | 分享和邀请时推荐使用主持端或参与端生成的链接,不需要手动拼接地址。 ## 场次与使用限制 - 场次默认存活 24 小时,过期后自动结束。 - 单个场次最多保留最近 20 条参与者消息。 - 同一设备 10 秒内最多发送 1 条消息。 - 参与者消息最长为 120 字。 - 公共仪轨必须经过管理员审核后才能发布。 ## 常见问题 ### 参与端没有跟随主持人 先确认主持人已经开始滚动,并检查参与端“自动跟随”是否处于开启状态。参与端手动滚动时会短暂暂停跟随,停止滚动后会自动恢复。 ### 参与端和主持人的位置有偏差 点击“偏移”按钮可以归零并重新对齐。也可以手动上下滑动调整相对位置,松手后继续跟随。 ### 消息无法发送 消息有短时限流。等待 10 秒后再次尝试即可。 ### 找不到某个仪轨 私有仪轨只有创建者登录后才能看到;公共仪轨需要通过管理员审核并发布。未发布、被驳回或已下架的仪轨不会出现在公共列表中。 ### 打开链接后提示场次不存在或已结束 场次可能已被主持人结束,或已经超过 24 小时有效期。请联系主持人重新创建并分享新链接。 ### 直接把地址栏链接发给别人安全吗 可以。主持控制权保存在主持人浏览器本地,普通参与者打开同一个参与链接只会进入参与态。需要特别注意“在另一台设备继续主持”的专用链接,该链接不能转发。 ## 技术说明 - 前端使用浏览器原生 HTML、CSS 和 JavaScript。 - 动态 API 与实时事件通过 HTTPS 和 SSE 传输。 - 页面位置同步基于正文块级元素和文档高度比例,不依赖固定像素位置。 - 仪轨正文和用户输入会在服务端进行校验、净化或鉴权处理。 - 使用现代版 Chrome、Safari、微信内置浏览器或其他主流浏览器访问。