
tibordp/planning-pokerPlanning Poker是一款专为Scrum梳理会议设计的应用,旨在通过协作式估算避免点数估算中的锚定效应。作为自包含的有状态Node应用,它无需数据库支持,可快速部署并支持多种网络传输方式,适用于敏捷团队进行用户故事点数估算。
bashyarn dev
启动后,通过浏览器访问 http://localhost:3000 即可使用应用。
bash# 构建生产版本 yarn build # 启动生产服务器 yarn start
可参考项目中提供的 Kubernetes部署清单示例,将应用部署到Kubernetes集群。
Planning Poker提供浏览器内API,便于集成自定义用户脚本(例如与问题跟踪工具集成)。在活动会话中,应用会向window对象注入以下三个对象:
window.__PP_SESSION_NAME:包含当前会话名称window.__PP_STATE:包含当前会话状态window.__PP_DISPATCH:用于向状态机发送命令此外,每当看板状态发生变化时,会向window派发ppStateChanged自定义事件,示例如下:
javascriptwindow.addEventListener("ppStateChanged", function(evt) { const { previous, current } = evt.detail; if (previous.votesVisible !== current.votesVisible) { console.log(current.votesVisible ? "投票结果已显示" : "投票结果已隐藏" ); } });
javascriptconst dispatch = window.__PP_DISPATCH; // 设置会话参数 dispatch({ action: "setSettings", settings: { // 评分集 scoreSet: ["XS","S","M","L","XL","XXL","跳过"], // 允许所有参与者显示/隐藏/清除投票和控制计时器 allowParticipantControl:true, // 允许在投票结果可见时继续投票 allowOpenVoting:true, // 显示计时器 showTimer:true, // 允许非主持人参与者切换页面 allowParticipantPagination:true }}); // 基于导出的JSON导入会话 dispatch({ action: "importSession", sessionData }); // 创建新页面,可提供可选描述 dispatch({ action: "newPage", description }); // 删除当前页面 dispatch({ action: "deletePage" }); // 导航到指定索引的页面 dispatch({ action: "navigate", pageIndex }); // 设置当前页面的描述 dispatch({ action: "setDescription", description }); // 设置投票结果可见性 dispatch({ action: "setVotesVisible", votesVisible }); // 清除所有投票 dispatch({ action: "resetBoard" }); // 投出评分 dispatch({ action: "vote", score }); // 提醒指定clientId的客户端 dispatch({ action: "nudge", clientId }); // 将指定clientId的客户端提升为会话主持人 dispatch({ action: "setHost", clientId }); // 将指定clientId的用户重新加入为观察者并清除其投票 dispatch({ action: "kick", clientId }); // 清除具有指定显示名称的断开连接用户的投票 dispatch({ action: "kickDisconnected", name }); // 以指定显示名称加入为参与者 dispatch({ action: "join", name }); // 重新加入为观察者 dispatch({ action: "leave" }); // 启动会话计时器 dispatch({ action: "startTimer" }); // 暂停会话计时器 dispatch({ action: "pauseTimer" }); // 重置会话计时器 dispatch({ action: "resetTimer" }); // 结束会话 dispatch({ action: "finishSession" });
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务