Skip to content

每日签到

每日签到小程序是一种奖励互动工具,允许会员每天签到一次并获得代币或礼券奖励。奖励按 7 天周期循环发放,其中第 7 天会提供“超级奖励”,鼓励持续参与。

访问方式

该小程序可从 VIO 会员端内部访问。用户必须先登录自己的 VIO 账号。管理员则通过专用的运营后台管理奖励和系统设置。


1. 如何进入

会员(PWA)

  1. 打开 VIO 会员端
  2. 进入小程序区域
  3. 点击 Daily Check-In 进入签到流程
  4. 应用会自动复用你的 VIO 会话完成鉴权,不需要额外登录

TIP

如果会话令牌缺失或已过期,会出现鉴权警告弹窗。你仍可以点击 “Continue Anyway” 继续进入,但签到功能可能会受到限制。

管理员(运营后台)

  1. 打开管理后台并登录。
  2. DashboardMini Apps 区域,打开 check in
  3. 签到管理界面在管理后台内部打开。

说明: Ops 后台访问权限由租户管理员在管理后台中配置。Ops 后台还要求该租户已配置 VIO External API Key —— 否则奖励无法发放给会员。保存 key 的方式参见第 3 节注册奖励 - VIO External API Key


2. 会员体验 - 每日签到

2.1 页面状态

签到页面会根据租户配置显示三种状态:

状态 A:Coming Soon

当租户尚未配置签到功能时,会员会看到:

  • 带火箭图标的标题 "Coming Soon"
  • 提示文案:"Daily check-in rewards are being prepared. Stay tuned!"

状态 B:Check-in Unavailable

当管理员已经配置过签到功能,但当前将其关闭时,会员会看到:

  • 带禁止图标的标题 "Check-in Unavailable"
  • 提示文案:"Daily check-in is not currently available. Please check back later."

状态 C:Active Check-In(正常可用)

当签到功能已启用且配置完整时,会显示完整的签到界面。


2.2 欢迎语与页头

在签到页顶部,会员会看到:

  • 欢迎文案:"Welcome back, {username}",其中 {username} 来自会员在 VIO 资料中的显示名称

2.3 七日进度卡片

页面的主视觉是一张展示 7 天奖励周期的进度卡片:

  • 布局:带有礼盒插图和背景装饰图的卡片
  • 状态行:显示 "Check-In now"(如果今天尚未签到)或 "Check-In completed"(如果今天已完成签到)
  • 进度格:分两行显示 Day 01 到 Day 07
    • 第 1 行:Day 01、Day 02、Day 03、Day 04
    • 第 2 行:Day 05、Day 06、Day 07

每日状态

每一天的格子会显示以下三种视觉状态之一:

状态外观含义
Completed已领取样式的礼盒这一天的奖励已经获得
Current带动画灯光高亮的礼盒今天可签到
Future灰化/弱化样式的礼盒尚未到达的后续天数

Day 07 - Super Reward

Day 07 使用特殊的加大版布局:

  • 更大的礼盒插图(独立设计)
  • 在日期数字下方显示 "Super reward"
  • 在网格中横跨两列,起到更强视觉强调

TIP

完成 Day 07 后,周期会重置回 Day 01。签到 streak 会持续存在,并按 7 天循环无限滚动。


2.4 签到按钮

在进度格下方,会有一个显著的签到按钮来控制签到动作:

按钮状态文案行为
Ready"Check In"可点击,执行当天签到
Loading"Check In"(带加载指示)正在处理
Completed"Checked in"(禁用)今天已经完成签到

签到成功后,按钮下方会出现一条提示信息:

"Great job! Come back tomorrow for more rewards."


2.5 成功弹窗

点击 "Check In" 后,页面会弹出一个结果弹窗。共有两种变体:

变体 A:奖励发放成功

  • 标题:"Congratulations!"(以带放射光效的装饰图片呈现)
  • 奖励展示
    • 对于 Token 奖励:显示两个叠放的代币圆形图,包含代币图标、代币名称(含 symbol)和获得数量
    • 对于 Voucher 奖励:显示礼券卡片,包含礼券图片、名称和有效期(例如 "Valid until May 15, 2026"
  • 提示文案"Hooray! You earned {reward name}!"
  • 按钮"Awesome!" - 关闭弹窗

变体 B:奖励未成功发放

如果签到记录已经写入,但奖励未能发出:

  • 标题"Reward not sent"(纯文本,无庆祝动画)
  • 提示文案:优先显示服务端返回的说明;否则显示默认文案:"Your visit was recorded, but this reward could not be sent. Please try again tomorrow, or contact support if the problem continues."
  • 按钮"Got it" - 关闭弹窗

WARNING

即使奖励发放失败,签到本身仍然会被记录。管理员可以在运营后台重新发送该奖励。


2.6 规则区块

如果管理员配置了签到规则内容,在进度卡下方会显示规则卡片:

  • 标题:"Rules"(带剪贴板图标)
  • 内容:管理员配置的富文本(HTML)或纯文本,通常用于说明周期规则、断签后如何处理,以及奖励条件

3. 运营后台 - Dashboard

Dashboard 是运营后台的落地首页,用于总览签到活动数据。

如何进入:

  1. 打开运营后台 URL
  2. Dashboard 会作为默认页 (/) 加载
  3. 右上角有一个 "Settings" 按钮,可跳转到设置页

3.1 页面头部

  • 标题:"Dashboard"
  • 副标题:"Daily Check-in performance overview - {today's date}"
  • 操作按钮:"Settings"(跳转到 /settings

3.2 KPI 卡片

页面会展示一个核心指标卡片:

指标说明
Today's Check-ins当天的签到次数,副标题会显示总注册用户数(例如 "12 total users")

3.3 签到记录表格

一个带分页的表格,展示所有签到记录:

说明
User会员显示名(或截断后的用户 ID)
Date本次签到的日历日期
Day当前奖励周期中的第几天(例如 "Day 3")
RewardBadge 显示 "Token" 或 "Voucher",下方显示奖励名称/数量
StatusBadge: "Sent"(绿色)、"Pending"(黄色)或 "Failed"(红色),失败时附带错误细节
Time完整签到时间戳
Actions(仅管理员)对于失败或待发送奖励显示 "Resend" 按钮

分页

  • 显示 "Page X of Y",并带有 "Previous""Next" 按钮
  • 默认每页 10 条记录
  • 表头有一个 "Refresh" 按钮,可重新加载当前数据

3.4 重发失败奖励

对管理员来说,当某条奖励状态为 "Failed" 或 "Pending" 时:

如何使用:

  1. 在表格中找到状态为 "Failed" 或 "Pending" 的记录
  2. 点击 Actions 列中的 "Resend" 按钮
  3. 按钮在处理中会变成 "Sending..."
  4. 成功时显示绿色提示:"Reward sent successfully."
  5. 失败时显示红色提示并附带错误信息

INFO

"Resend" 按钮仅对拥有管理员角色的运营人员显示。普通操作员可能看不到这一列。


4. 运营后台 - Settings

Settings 页面允许管理员配置签到奖励及系统行为。

如何进入:

  1. 在 Dashboard 右上角点击 "Settings"
  2. 或直接访问 /settings
  3. 顶部有返回箭头 "← Dashboard",可回到 Dashboard

4.1 标签页导航

Settings 页面包含两个标签页:

Tab标签用途
1Reward Configuration配置 7 天中每天的奖励
2System Management控制签到开关并配置规则

4.2 Reward Configuration 标签页

这个标签页会展示一个 7 天奖励网格,每一天都必须配置一个 Token 或 Voucher 奖励。

说明文案

"Assign a token or voucher for each streak day. Use the buttons to open the picker - all seven days must be filled before you can save to the server."

配置每日奖励

如何使用:

  1. 对于每一天(Day 1-7),选择奖励类型:
    • 点击 "Token" 打开 Token 选择弹窗
    • 点击 "Voucher" 打开 Voucher 选择弹窗
  2. Token 弹窗 中:从当前租户可用的代币里选择一个,并设置奖励数量
  3. Voucher 弹窗 中:从当前租户可用的礼券/活动中选择一个
  4. 选择完成后,当天卡片会显示奖励图标、名称和详细信息预览
  5. 如需修改或移除奖励,可在当天卡片中使用 "Clear" 选项

保存奖励

  • 所有 7 天都必须配置奖励后才能保存
  • 点击 "Save Rewards",将配置持久化到服务端
  • 如果保存失败(例如网络异常),当前工作会自动以 本地草稿 的形式保存在浏览器中

本地草稿机制

当服务端保存失败时,页面顶部会出现提示:

"Local draft saved at {timestamp} (not on server)."

可用操作:

  • "Restore draft" - 将之前保存的草稿重新载入编辑器
  • "Discard draft" - 删除本地草稿

4.3 System Management 标签页

这个标签页用于控制签到功能的运行设置。

Enable Check-in 开关

设置说明
Enable Check-in总开关 - "Allow users to perform daily check-ins"

如何使用:

  1. 切换开关以启用或禁用签到
  2. 系统会弹出确认框:
    • 启用时"If you continue and save system settings, daily check-in is turned on for your tenant. Users will be able to open and use check-in again, subject to your reward configuration."
    • 禁用时"If you continue and save system settings, daily check-in is turned off for your tenant immediately after that save. Users will no longer be able to access the check-in experience until you enable it again and save."
  3. 点击 "Enable""Disable" 确认,或点击 "Cancel" 取消
  4. 别忘了点击 "Save System Settings" 才会真正保存变更

WARNING

切换开关后不会立即生效,必须显式保存后才会作用到线上系统。只切换不保存不会对实际环境产生影响。

Calendar Boundary

开关下方会显示一条提示:

"Check-in days use midnight Asia/Shanghai as the calendar boundary."

这表示新的“签到日”以 Asia/Shanghai(UTC+8)的 00:00 为边界,不受用户本地时区影响。

Rules & Content Editor

这是一个富文本编辑器(TipTap),用于配置展示给会员的规则内容:

  • 标签:"Check-in Rules"
  • 格式:支持粗体、斜体、列表等富文本格式
  • 字符限制:最多 2,000 个字符(会显示计数器)
  • 默认内容:如果没有设置自定义规则,会提供一份预写好的英文模板

如何使用:

  1. 使用富文本工具栏编辑规则内容
  2. 内容支持标题、加粗、斜体、无序列表、有序列表等格式
  3. 留意字符数,确保不超过 2,000 字限制
  4. 完成后点击 "Save System Settings"

TIP

这段规则内容会显示在会员签到页的 "Rules" 区块中,并按配置保留格式。

保存按钮

  • "Save System Settings" - 当没有检测到改动或字符超限时会禁用
  • 保存过程中显示 "Saving..."
  • 通过 toast 提示保存成功或错误信息

4.4 VIO External API Key Gate

首次访问运营后台(或尚未配置 API Key)时,会先出现一个引导页,要求管理员设置 VIO External API Key。

如何使用:

  1. 从 VIO 管理后台获取当前租户的 API Key(位于 API Keys 区块)
  2. 在页面提供的输入框中填写该 API Key
  3. 提交后进入 Dashboard

WARNING

该 API Key 用于系统通过 VIO External API 向会员发送代币或礼券奖励。没有它时,签到仍会被记录,但奖励发放会失败。


5. 业务规则与说明

签到周期

  • 奖励周期为 7 天,无限循环(Day 8 对应 Day 1,Day 14 对应 Day 7,以此类推)
  • 每一天的奖励由管理员独立配置
  • 当前所处周期天数由会员的 连续签到 streak 数 决定

时区

  • 所有“天”的边界都基于 Asia/Shanghai(CST, UTC+8)
  • 每一天从 00:00 开始,到 23:59:59 结束
  • 会员在一个自然日(按 CST)内只能签到一次

奖励发放

  • 签到成功后,系统会通过 VIO External API 自动发送奖励
  • 如果发放失败,签到记录仍会保留,状态标记为 "Failed"
  • 管理员可在 Dashboard 中使用 "Resend" 按钮重试发放
  • 支持的奖励类型:Token(基于 ERC-20)与 Voucher(活动礼券)

访问控制

角色PWA(会员侧)运营后台
普通会员可查看并执行签到无权限
租户管理员可查看并执行签到完整权限(Dashboard、Settings、Resend)

VIO v4 平台文档