需要在 Flutter App with Hasura 中增加 30 天的试用期

Need to add trial period of 30 days in Flutter App with Hasura

我需要为我的 Flutter 应用程序提供 30 天的试用期,我正在使用 Hasura 和 Flutter。 例如,如果用户在 4 月 1 日注册,则 30 天后需要将他引导至购买页面。如何在 Flutter 和 Hasura 中实现这一点?谁能指导一下?

这可以通过多种方式实现,具体取决于应用所需的权限级别。

  1. 推荐(通过 _exists 权限检查)

在您应用的 users table 中,有一个名为 free_trial 的布尔列。该标志最初将为真。在您的权限检查中,您可以使用 _exists 检查用户是否仍在免费试用中。条件大致看起来像

{"_exists":{"_table":{"name":"users","schema":"public"},"_where":{"free_trial":{"_eq":true}}}}

现在您需要在超过 30 天后将 free_trial 列更新为 false。这可以通过每天运行的突变(作为角色管理员)来检查注册日期并更新后端中的标志来完成。

在Flutter应用中,您可以根据这个标志将用户重定向到支付页面。拥有付费用户后,您可以为他们分配不同的角色和不同的权限检查。

  1. 基于 JWT 声明:

创建一个名为“free_trial”的角色,并为其发布一个 JWT,它只能访问特定的 API。您可以根据此角色定义允许和禁止应用中某些操作的权限。