大家好,我要分享刚刚完成的东西:LockedIn,一个基于 Devvit Web 的预测应用。

这个想法很简单。 一名管理员发布一个问题,包含 2 到 4 个选项和倒计时。 在投票开放期间,每个成员锁定一个选项,而一旦锁定就不能再改变。 整个社区可以实时看到共识的形成过程,选项的投票百分比和计数会逐渐填充。 当计时器结束(或管理员提前关闭)时,管理员就会确定获胜者或取消该预测。

当前的功能包括:

  • 每个成员只能投一次票,并且锁定之后就不能更改,投票结果实时更新
  • 自动锁定在截止日期之前,管理员可以提前锁定、确定获胜者或取消预测,并且会显示最后的统计数据
  • 支持主题(体育、电影电视、游戏、其他)
  • 可选的避免剧透和根据用户的积分或账户年龄来控制谁可以投票
  • 支持 Reddit 的浅色和深色主题

这个应用是基于 Devvit Web 的,使用 React + Vite 的 webview 和 Hono 服务器。 我花了很长时间才发现一个问题:context.postId 不会传递到表单提交处理器,所以菜单处理器会将目标帖子存储在 Redis 中,而提交处理器会读取它。

你可以从应用目录中安装它:developers.reddit.com/apps/lockedin-app

我非常希望听到你的反馈。 我计划将其开源,但我需要了解一下相关的影响,并且需要一些流量之后才会做出决定。