我正在寻找与stackoverflow徽章类似的东西。您也可以将它们等同于游戏中的成就。
但不确定如何为他们设计数据库/代码/跟踪。
我得到了我应该为徽章做的事情,例如:
利他者 × 1456 你在别人的问题上手动授予的第一个赏金
因为它们是一次性事件,但如何处理其他事件,例如:
分析 × 16389访问了常见问题解答的每个部分
ETC...
如何处理它们,如何跟踪每个人的进度等等......是否有教程或其他东西可以帮助我为他们找出设计模式?
我正在寻找与stackoverflow徽章类似的东西。您也可以将它们等同于游戏中的成就。
但不确定如何为他们设计数据库/代码/跟踪。
我得到了我应该为徽章做的事情,例如:
利他者 × 1456 你在别人的问题上手动授予的第一个赏金
因为它们是一次性事件,但如何处理其他事件,例如:
分析 × 16389访问了常见问题解答的每个部分
ETC...
如何处理它们,如何跟踪每个人的进度等等......是否有教程或其他东西可以帮助我为他们找出设计模式?
对于给定的示例,您基本上需要两种机制。
我不知道它是如何在 SO 上完成的,这只是一个解决方案的建议。
让我们先看看“分析”。当用户访问常见问题解答中的特定区域时,您将不得不通过一个简单的标志进行记录。让我们设想一个 DB 表,其中每个 FAQ 部分都有一个字段和一个用户 ID。这以“N”开始(或 0,或者您想代表您的标志)。当用户访问该区域时,您调用代码将该字段翻转为“Y”。当所有字段均为“Y”时,您可以授予该徽章。
至于“选民”和“直言不讳”,您可以通过对现有数据的查询来检索此信息,前提是这些查询不是太繁琐。您将需要考虑何时运行这些检查。这基本上归结为两种选择。
1)当执行可能获得徽章的操作时(即访问常见问题解答部分,对问题进行投票,由其他人加注星标的问题)
2) 定期(每小时、每天等)根据当前数据检查您的所有徽章。
请记住,徽章在 Stackoverflow 中是单向的,因此如果您想要等效,那么您不必考虑“取消授予”徽章的逻辑。