事件模块
事件模块提供前端获取各种事件活动的功能。事件对象根据不同类型包含不同的属性,前端需要匹配相应的处理动作来响应不同的事件。
Event 对象定义
Event 对象包含以下通用字段:
| 字段名 | 类型 | 说明 |
|---|---|---|
| id | string | 事件唯一标识符 |
| type | string | 事件类型(vote 或 click) |
| icon | string | 事件展示的图标URL |
| desc | string | 事件的描述信息 |
| reward_points | number | 完成事件可获得的积分奖励 |
Vote 事件
Vote 事件用于鼓励用户进行投票行为。客户端获取到此类事件时,应展示投票UI界面,并自行处理链上投票操作。
Vote 事件除了继承 Event 的通用属性外,没有额外的特有属性。
Click 事件
Click 事件用于鼓励用户进行点击行为,通常配合运营活动使用。此类事件一般会在新的浏览器标签页中打开站外链接。
Click 事件除了继承 Event 的通用属性外,还包含以下字段:
| 字段名 | 类型 | 说明 |
|---|---|---|
| action_url | string | 点击事件触发后跳转的目标URL |
接口说明
获取事件列表
路径: /api/events
方法: GET
认证: 需要认证(JWT Token)
请求字段
无需请求参数
响应字段
| 字段名 | 必需 | 类型 | 说明 |
|---|---|---|---|
| events | 是 | Event[] | 事件列表 |
事件完成回报
路径: /api/events/complete
方法: POST
认证: 需要认证(JWT Token)
请求字段
| 字段名 | 必需 | 类型 | 说明 |
|---|---|---|---|
| event_id | 是 | string | 已完成的事件ID |
响应字段
| 字段名 | 必需 | 类型 | 说明 |
|---|---|---|---|
| success | 是 | boolean | 操作是否成功 |
| message | 否 | string | 响应消息 |
| reward_points | 否 | number | 事件完成时获得的积分奖励(仅在事件成功完成时返回) |
使用说明
- 获取事件列表需要身份认证,因为每个用户的事件可能不同
- 返回当前用户可用的事件列表
- 前端根据事件的
type字段判断事件类型:vote类型:展示投票相关UI,处理投票逻辑click类型:创建点击处理,使用action_url进行页面跳转
- 用户完成事件后,前端需调用事件完成回报接口通知服务端
- 建议前端定期轮询获取事件列表接口以获取最新的事件信息