OneLink
全部案例游戏 · Telegram Mini App

带小游戏和任务系统的 Telegram Mini App

Telegram 内的应用,提供实时图表、奖励等级和推荐计划

项目简介

客户的产品面向生活在 Telegram 里的印度用户:游戏、钱包和任务需要在一个窗口中打开,无需安装,也无需单独注册。货币为卢比,付款由外部服务商处理。客户需要一个可用的基础,以便在其上持续增加游戏和玩法。

技术栈

ReactViteGoPostgreSQLRedisWebSocket

任务

为印度用户打造一款 Telegram 内的应用:免注册登录、卢比钱包、小游戏、实时图表、任务系统和推荐计划。

限制条件

应用运行在 Telegram 内部:只能通过 Telegram 签名数据登录,界面为手机设计。充值通过外部支付服务商完成,回调带有签名。价格图表不能在每个客户端分别生成:所有用户需要来自交易所的同一个共享数据流。游戏结果始终由服务器计算,客户端不做任何决定。

解决方案

前端使用 React 开发,服务器使用 Go、PostgreSQL 和 Redis。服务器与交易所保持一个对外连接,把一秒 K 线存入 Redis,并通过 WebSocket 推送给客户端。我们实现了小游戏、幸运转盘、60 个带奖励的任务等级以及推荐计划。Python 机器人通过按钮打开应用并接收推荐链接。所有服务都在 nginx 之后的 Docker Compose 中运行。

难点

任务和奖励有多种类型,因此我们用多态模型来描述它们,并支持自动升级。扣款、结果计算和任务进度更新在同一个事务中完成。

后续发展

游戏、任务和奖励以数据和独立模块定义,因此无需改动核心即可扩展游戏种类和等级条件。

成果

我们上线了 Mini App:通过 Telegram 登录、支持充值和兑换奖励币的钱包、小游戏、实时价格图表、60 个任务与奖励等级以及推荐计划。