# 2.1 签名规则

签名规则

# 2.2 GAME-PLAN

# 2.2.1 通过id获取plan

  • GET
/api/v1/open/swan/game/plans/:id
  • PathVariable
字段 类型 描述 是否必须
Id string id
  • Success
HTTP/1.1 200 OK
{
    "id": "60d43f07ae7697000194ab39",
    "name": "624计划",
    "desc": "624计划",
    "groupIds": [
        "60d43eceae7697000194ab37"
    ],
    "createdAt": 1624522503185,
    "updater": "",
    "updatedAt": 1624870184698
}
HTTP/1.1 !=200 服务端异常

# 2.2.2 分页获取plan

  • GET
/api/v1/open/swan/game/plan/page
  • RequestParam
字段 类型 描述 是否必须
page Number 页数,默认0
size Number 一页的大小,默认20
  • Success
HTTP/1.1 200 OK
{
    "page": 0,
    "size": 10,
    "result": [
        {
            "id": "60dac8c7e84d1800013bd8ec",
            "name": "629等级任务10",
            "desc": "10",
            "planId": "60d43f07ae7697000194ab39",
            "useConstraint": false,
            "constraints": [],
            "constraintsExpression": "",
            "createdAt": 1624950983585,
            "updater": "",
            "updatedAt": 1624950983585
        },
        {
            "id": "60dac8c2e84d1800013bd8eb",
            "name": "629等级任务9",
            "desc": "629等级任务9",
            "planId": "60d43f07ae7697000194ab39",
            "useConstraint": false,
            "constraints": [],
            "constraintsExpression": "",
            "createdAt": 1624950978201,
            "updater": "",
            "updatedAt": 1624950978201
        }
    ],
    "total": 3
}
  • Error
HTTP/1.1 != 200 服务端异常

# 2.2.3 新增plan

  • POST
/api/v1/open/swan/game/plan
  • RequestBody
字段 类型 描述 是否必须
name string 名称
groupIds []string 人群的ids
desc String 描述
  • Request-Example
{
    "name": "test121",
    "desc": "test121",
    "groupIds": [
        "60d92a41eda24200015ccbc4"
    ]
}
  • Success
HTTP/1.1 200 OK
  • Error
HTTP/1.1 != 200 服务端异常

# 2.2.4 删除plan

  • DELETE
/api/v1/open/swan/game/plan/:id
  • PathVariable
字段 类型 描述 是否必须
id String plan id
  • Success
HTTP/1.1 200 OK
  • Error

HTTP/1.1 !=200 服务端异常

# 2.2.5 修改plan

  • PUT
/api/v1/open/swan/game/plan/:id
  • PathVariable
字段 类型 描述 是否必须
Id String plan id
  • RequestBody
字段 类型 描述 是否必须
name string 名称
groupIds []string 人群的ids
desc String 描述
  • Request example
{
    "id": "60e25f581723ce00017e0af4",
    "name": "test121",
    "desc": "test121",
    "groupIds": [
        "60d92a41eda24200015ccbc4"
    ]
}
  • Success
HTTP/1.1 200 OK
  • Error
HTTP/1.1 !=200 服务端异常

# 2.2.6 分页获取任务

  • GET
/api/v1/open/swan/game/event/page
  • RequestParam
字段 类型 描述 是否必须
planId String plan id
name string 名字
page Number 页数,默认0
size number 每页大小,默认20
  • Success
HTTP/1.1 200 OK
{
    "page": 0,
    "size": 10,
    "result": [
        {
            "id": "60d92a58eda24200015ccbc6",
            "name": "任务1",
            "desc": "定位hi任务号\n\n得无\n非业务\n党工委得一会我还f非国有未范围发黑we分为非因为分为符合武汉福未返回",
            "planId": "60d92a4ceda24200015ccbc5",
            "useConstraint": false,
            "constraints": [],
            "constraintsExpression": "",
            "createdAt": 1624844888287,
            "updater": "",
            "updatedAt": 1625194008978
        },
        {
            "id": "60d92a74eda24200015ccbca",
            "name": "任务5谷",
            "desc": "给他人会饿",
            "planId": "60d92a4ceda24200015ccbc5",
            "useConstraint": false,
            "constraints": [],
            "constraintsExpression": "",
            "createdAt": 1624844916199,
            "updater": "",
            "updatedAt": 1625121558270
        },
        {
            "id": "60d92a6eeda24200015ccbc9",
            "name": "任务4",
            "desc": "各个",
            "planId": "60d92a4ceda24200015ccbc5",
            "useConstraint": false,
            "constraints": [],
            "constraintsExpression": "",
            "createdAt": 1624844910277,
            "updater": "",
            "updatedAt": 1624844910277
        }
    ],
    "total": 3
}
  • Error
HTTP/1.1 !=200 服务端异常

# 2.2.7 通过id获取任务

  • GET
/api/v1/open/swan/game/events/:id
  • PathVariable
字段 类型 描述 是否必须
Id String event id
  • Success
HTTP/1.1 200 OK
{
    "id": "60e2644d1723ce00017e0af5",
    "name": "1212",
    "desc": "1212",
    "planId": "60e25f581723ce00017e0af4",
    "useConstraint": false,
    "constraints": [],
    "constraintsExpression": "",
    "createdAt": 1625449549155,
    "updater": "",
    "updatedAt": 1625449549155
}
  • Error
HTTP/1.1 !=200 服务端异常

# 2.2.8 新增任务

  • POST
/api/v1/open/swan/game/event
  • RequestBody
字段 类型 描述 是否必须
planId String plan id
name string 名字
desc String 描述
  • Success
HTTP/1.1 200 OK
  • Error
HTTP/1.1 !=200 服务端异常

# 2.2.9 修改任务

  • PUT
/api/v1/open/swan/game/event/:id
  • PathVariable
字段 类型 描述 是否必须
Id String plan id
  • RequestBody
字段 类型 描述
name string 名称
desc String 描述
  • Request example
{
    "name": "test121",
    "desc": "test121",
}
  • Success
HTTP/1.1 200 OK
  • Error
HTTP/1.1 !=200 服务端异常

# 2.2.10 删除任务

/api/v1/open/swan/game/event/:id
  • PathVariable
字段 类型 描述 是否必须
id String event id
  • Success
HTTP/1.1 200 OK
  • Error

HTTP/1.1 !=200 服务端异常

# 2.2.11 新增活动

  • POST
/api/v1/open/swan/game/activity/activity-save
  • RequestBody
字段 类型 描述 是否必须
planId String plan id
name string 名字
desc String 描述
startTime number 开始时间的毫秒数
endTime number 结束时间的毫秒数
type string TASK,RANKING,LEVEL,BADGE
  • Success
HTTP/1.1 200 OK
  • Error
HTTP/1.1 !=200 服务端异常

# 2.2.12 通过id获取活动

  • GET
/api/v1/open/swan/game/activity/:id
  • PathVariable
字段 类型 描述 是否必须
id String id
  • Success
HTTP/1.1 200 OK
{
    "id": "60efb8dcad35da00016f42d6",
    "name": "酷暑一下",
    "desc": "<p>每日步数最多的前10名</p>",
    "code": "RW20210715122604",
    "planId": "60efb397ad35da00016f42cd",
    "type": "RANKING",
    "startTime": 1626364800000,
    "endTime": 1627660800000,
    "periodValue": [
        7
    ],
    "showNumType": "TopN",
    "showNum": 10,
    "tasks": [
        {
            "taskId": "60efb905ad35da00016f42d7",
            "name": "健身打卡",
            "desc": "打卡",
            "eventId": "60efb611ad35da00016f42d3",
            "rankingTask": {
                "frequency": 1,
                "expPoint": 1,
                "dayMaxPoints": 1,
                "isDayLimit": 1,
                "maxPoints": 1,
                "isTotalLimit": 1
            }
        }
    ],
    "relatedRewards": [
        {
            "subType": "SPECIFY",
            "relatedId": "",
            "isAccumulate": false,
            "ranking": "1,2,3,4,5,6,7,8,9,10",
            "rewards": [
                {
                    "rewardId": "60bf1b19c71a10000113e044",
                    "rewardType": "PRIZE",
                    "name": "实体奖品1",
                    "icon": "60e66315ad35da00016f428b.png",
                    "defIcon": "",
                    "num": 1
                }
            ]
        },
        {
            "subType": "INTERVAL",
            "relatedId": "",
            "isAccumulate": false,
            "ranking": "11~200",
            "rewards": [
                {
                    "rewardId": "60efb9e4ad35da00016f42d8",
                    "rewardType": "LOTTERY",
                    "name": "夏日刮刮乐",
                    "icon": "",
                    "defIcon": "",
                    "num": 1
                }
            ]
        }
    ],
    "status": 1,
    "createdAt": 1626323164202,
    "updater": "",
    "updatedAt": 1626354548645
}
  • Error
HTTP/1.1 !=200 服务端异常

# 2.2.13 删除活动

  • DELETE
/api/v1/open/swan/game/activity/:id
  • PathVariable
字段 类型 描述 是否必须
id String event id
  • Success
HTTP/1.1 200 OK
  • Error
HTTP/1.1 !=200 服务端异常

# 2.2.14 修改活动

  • PUT
/api/v1/open/swan/game/activity/activity-update/:id
  • PathVariable
字段 类型 描述 是否必须
Id String plan id
  • RequestBody
字段 类型 描述 是否必须
planId String plan id
name string 名字
desc String 描述
startTime number 开始时间的毫秒数
endTime number 结束时间的毫秒数
  • Request example
{
    "name": "test121",
    "desc": "test121",
}
  • Success
HTTP/1.1 200 OK
  • Error
HTTP/1.1 !=200 服务端异常

# 2.2.15 活动任务新增

  • POST
/api/v1/open/swan/game/activity/task-save
  • RequestBody
字段 类型 描述 是否必须
type String TASK,RANKING,LEVEL,BADGE
activityId string 活动id
tasks []task 活动数组
task.name String 任务的名称
task.desc String 任务的描述
task.eventId string 事件id
task.taskCenterTask taskCenterTask 任务中心
task.taskCenterTask.dayMaxPoints number 任务中心每日上限,-1表示无上限
task.taskCenterTask.maxPoints number 任务中心活动期间上限,-1表示无上限
task.taskCenterTask.xp number 任务中心每次完成任务活动的xp值
task.taskCenterTask.isPoints number 任务中心是否积分比例换算,1兑换,0不兑换
task.taskCenterTask.points number 任务中心积分兑换数值
task.taskCenterTask.condition.day number 任务中心计分条件天数
task.taskCenterTask.condition.times number 任务中心计分条件次数
task.taskCenterTask.condition.allPeriod boolean 任务中心计分条件是否活动期间
task.rankingTask rankingTask 排行榜
task.rankingTask.maxPoints number 排行榜活动期间上限
task.rankingTask.frequency number 排行榜活动频次
task.rankingTask.isDayLimit number 排行榜活动是否设置每日上限
task.rankingTask.isTotalLimit number 排行榜活动是否设置活动期间上限
task.rankingTask.expPoint number 排行榜活动xp值
task.rankingTask.dayMaxPoints number 排行榜活动每日上限
task.levelTask levelTask 等级任务
task.levelTask.expPointEnd number 等级任务分值区间end
task.levelTask.expPointStart number 等级任务分值区间start
task.levelTask.isUnLimit boolean 等级任务是否无限分值
task.levelTask.icons icons 等级任务等级图片
task.levelTask.icons.icocn string 等级任务等级图片地址
task.levelTask.icons.state string 等级任务等级图片名称
task.levelTask.events []event 等级任务事件
task.levelTask.event.eventId string 等级任务事件id
task.levelTask.event.expPoint number 等级任务事件分值
task.badgeTask badgeTask 勋章任务
task.badgeTask.badgeId string 勋章任务勋章id
task.badgeTask.frequency number 勋章任务勋章频次
  • Request example
{
    "type": "BADGE",
    "activityId": "60e274e91723ce00017e0af8",
    "tasks": [
        {
            "taskId": "60e274f41723ce00017e0af9",
            "name": "勋章0",
            "desc": "勋章",
            "eventId": "60e264b255bd5a0001e456a0",
            "badgeTask": {
                "badgeId": "60cc5026b3ea00000129cd0f",
                "frequency": 1
            }
        }
    ]
}
  • Success
HTTP/1.1 200 OK
  • Error
HTTP/1.1 !=200 服务端异常

# 2.2.16 活动任务修改

  • PUT
/api/v1/open/swan/game/activity/task-update
  • RequestBody
字段 类型 描述 是否必须
type String TASK,RANKING,LEVEL,BADGE
activityId string 活动id
tasks []task 活动数组
task.name String 任务的名称
task.desc String 任务的描述
task.eventId string 事件id
task.taskCenterTask taskCenterTask 任务中心
task.taskCenterTask.dayMaxPoints number 任务中心每日上限,-1表示无上限
task.taskCenterTask.maxPoints number 任务中心活动期间上限,-1表示无上限
task.taskCenterTask.xp number 任务中心每次完成任务活动的xp值
task.taskCenterTask.isPoints number 任务中心是否积分比例换算,1兑换,0不兑换
task.taskCenterTask.points number 任务中心积分兑换数值
task.taskCenterTask.condition.day number 任务中心计分条件天数
task.taskCenterTask.condition.times number 任务中心计分条件次数
task.taskCenterTask.condition.allPeriod boolean 任务中心计分条件是否活动期间
task.rankingTask rankingTask 排行榜
task.rankingTask.maxPoints number 排行榜活动期间上限
task.rankingTask.frequency number 排行榜活动频次
task.rankingTask.isDayLimit number 排行榜活动是否设置每日上限
task.rankingTask.isTotalLimit number 排行榜活动是否设置活动期间上限
task.rankingTask.expPoint number 排行榜活动xp值
task.rankingTask.dayMaxPoints number 排行榜活动每日上限
task.levelTask levelTask 等级任务
task.levelTask.expPointEnd number 等级任务分值区间end
task.levelTask.expPointStart number 等级任务分值区间start
task.levelTask.isUnLimit boolean 等级任务是否无限分值
task.levelTask.icons icons 等级任务等级图片
task.levelTask.icons.icocn string 等级任务等级图片地址
task.levelTask.icons.state string 等级任务等级图片名称
task.levelTask.events []event 等级任务事件
task.levelTask.event.eventId string 等级任务事件id
task.levelTask.event.expPoint number 等级任务事件分值
task.badgeTask badgeTask 勋章任务
task.badgeTask.badgeId string 勋章任务勋章id
task.badgeTask.frequency number 勋章任务勋章频次
  • Request example
{
    "type": "BADGE",
    "activityId": "60e274e91723ce00017e0af8",
    "tasks": [
        {
            "taskId": "60e274f41723ce00017e0af9",
            "name": "勋章0",
            "desc": "勋章",
            "eventId": "60e264b255bd5a0001e456a0",
            "badgeTask": {
                "badgeId": "60cc5026b3ea00000129cd0f",
                "frequency": 1
            }
        }
    ]
}
  • Success
HTTP/1.1 200 OK
  • Error
HTTP/1.1 !=200 服务端异常

# 2.2.17 活动奖励修改

  • PUT
/api/v1/open/swan/game/activity/reward-update
  • RequestBody
字段 类型 描述 是否必须
type String TASK,RANKING,LEVEL,BADGE
activityId string 活动id
relatedRewards []relatedReward 关联奖励数组
relatedReward.relatedId String 关联奖励id
relatedReward.subType String 关联奖励子类型
relatedReward.isAccumulate boolean 关联奖励是否叠加奖励
relatedReward.rewards []rewards 奖励数组
relatedReward.rewards.rewardId string 关联奖励id
relatedReward.rewards.rewardType String 关联奖励类型
relatedReward.rewards.num number 关联奖励数量
  • Request example
{
    "type": "BADGE",
    "activityId": "60e274e91723ce00017e0af8",
    "tasks": [
        {
            "taskId": "60e274f41723ce00017e0af9",
            "name": "勋章0",
            "desc": "勋章",
            "eventId": "60e264b255bd5a0001e456a0",
            "badgeTask": {
                "badgeId": "60cc5026b3ea00000129cd0f",
                "frequency": 1
            }
        }
    ]
}
  • Success
HTTP/1.1 200 OK
  • Error
HTTP/1.1 !=200 服务端异常

# 2.2.18 新增奖励

  • POST
/api/v1/open/swan/game/reward
  • RequestBody
字段 类型 描述 是否必须
cover String 封面图片
name string 名字
desc String 描述
rewardType number Prize=0,Token=1,Points=2
Points number 积分类型的积分值
stateImage []image TASK,RANKING,LEVEL,BADGE
image.image string 图片地址
image.rewardState String 奖励状态id
  • request example
{
    "cover": "60e2a78955bd5a0001e456a6.jpg",
    "name": "test3",
    "desc": "",
    "rewardType": 2,
    "points": 1,
    "stateImage": [
        {
            "rewardState": "60d3f47b9649800001bbc478",
            "image": ""
        },
        {
            "rewardState": "60d3f4779649800001bbc477",
            "image": ""
        },
        {
            "rewardState": "60d3f4729649800001bbc476",
            "image": ""
        },
        {
            "rewardState": "60d3f46a9649800001bbc475",
            "image": ""
        },
        {
            "rewardState": "60d3f4669649800001bbc474",
            "image": ""
        },
        {
            "rewardState": "60d3f4619649800001bbc473",
            "image": ""
        },
        {
            "rewardState": "60d3f45c9649800001bbc472",
            "image": ""
        },
        {
            "rewardState": "60d143528ac72a0001a40142",
            "image": ""
        },
        {
            "rewardState": "60afaf8a86cc7700013f1a3e",
            "image": ""
        },
        {
            "rewardState": "60aeb2b591c55700019011f4",
            "image": ""
        }
    ]
}
  • Success
HTTP/1.1 200 OK
  • Error
HTTP/1.1 !=200 服务端异常

# 2.2.19 通过id获取奖励

  • GET
/api/v1/open/swan/game/rewards/:id
  • PathVariable
字段 类型 描述 是否必须
id String id
  • Success
HTTP/1.1 200 OK
{
    "id": "60e2a0491723ce00017e0aff",
    "name": "手机都会管理会计换地方",
    "desc": "是的房价高了可接单反馈",
    "rewardType": 1,
    "cover": "60e2a03e1723ce00017e0afd.png",
    "stateImage": [
        {
            "rewardState": "60d143498ac72a0001a40141",
            "image": "60e2a0451723ce00017e0afe.jpeg"
        },
        {
            "rewardState": "60b439a44c56810001f9986d",
            "image": ""
        },
        {
            "rewardState": "60b4399f4c56810001f9986c",
            "image": ""
        },
        {
            "rewardState": "60b4399a4c56810001f9986b",
            "image": ""
        },
        {
            "rewardState": "60b4398e4c56810001f9986a",
            "image": ""
        },
        {
            "rewardState": "60b439894c56810001f99869",
            "image": ""
        },
        {
            "rewardState": "60b439844c56810001f99868",
            "image": ""
        },
        {
            "rewardState": "60afaf7a86cc7700013f1a3d",
            "image": ""
        },
        {
            "rewardState": "60af726e86cc7700013f1a38",
            "image": ""
        }
    ],
    "points": 0,
    "createdAt": 1625464905245,
    "updater": "@staff_super_M00000:000000.finogeeks.com",
    "updatedAt": 1625464905245
}
  • Error
HTTP/1.1 !=200 服务端异常

# 2.2.20 分页获取奖励

  • GET
/api/v1/open/swan/game/reward/page
  • RequestParam
字段 类型 描述 是否必须
rewardType String Type
name String 名称
page number 页数,默认0
size number 每页数量,默认20
  • Success
HTTP/1.1 200 OK
{
    "page": 0,
    "size": 10,
    "result": [
        {
            "id": "60e2a78b55bd5a0001e456a7",
            "name": "test3",
            "desc": "",
            "rewardType": 2,
            "cover": "60e2a78955bd5a0001e456a6.jpg",
            "stateImage": [
                {
                    "rewardState": "60d3f47b9649800001bbc478",
                    "image": ""
                },
                {
                    "rewardState": "60d3f4779649800001bbc477",
                    "image": ""
                },
                {
                    "rewardState": "60d3f4729649800001bbc476",
                    "image": ""
                },
                {
                    "rewardState": "60d3f46a9649800001bbc475",
                    "image": ""
                },
                {
                    "rewardState": "60d3f4669649800001bbc474",
                    "image": ""
                },
                {
                    "rewardState": "60d3f4619649800001bbc473",
                    "image": ""
                },
                {
                    "rewardState": "60d3f45c9649800001bbc472",
                    "image": ""
                },
                {
                    "rewardState": "60d143528ac72a0001a40142",
                    "image": ""
                },
                {
                    "rewardState": "60afaf8a86cc7700013f1a3e",
                    "image": ""
                },
                {
                    "rewardState": "60aeb2b591c55700019011f4",
                    "image": ""
                }
            ],
            "points": 1,
            "createdAt": 1625466763940,
            "updater": "@staff_super_M00000:000000.finogeeks.com",
            "updatedAt": 1625466763940
        },
        {
            "id": "60e2a74e1723ce00017e0b01",
            "name": "test2",
            "desc": "",
            "rewardType": 2,
            "cover": "",
            "stateImage": [
                {
                    "rewardState": "60d3f47b9649800001bbc478",
                    "image": ""
                },
                {
                    "rewardState": "60d3f4779649800001bbc477",
                    "image": ""
                },
                {
                    "rewardState": "60d3f4729649800001bbc476",
                    "image": ""
                },
                {
                    "rewardState": "60d3f46a9649800001bbc475",
                    "image": ""
                },
                {
                    "rewardState": "60d3f4669649800001bbc474",
                    "image": ""
                },
                {
                    "rewardState": "60d3f4619649800001bbc473",
                    "image": ""
                },
                {
                    "rewardState": "60d3f45c9649800001bbc472",
                    "image": ""
                },
                {
                    "rewardState": "60d143528ac72a0001a40142",
                    "image": ""
                },
                {
                    "rewardState": "60afaf8a86cc7700013f1a3e",
                    "image": ""
                },
                {
                    "rewardState": "60aeb2b591c55700019011f4",
                    "image": ""
                }
            ],
            "points": 1,
            "createdAt": 1625466702376,
            "updater": "@staff_super_M00000:000000.finogeeks.com",
            "updatedAt": 1625466702376
        }
   
    ],
    "total": 2
}
  • Error
HTTP/1.1 !=200 服务端异常

# 2.2.21 修改奖励

  • PUT
/api/v1/open/swan/game/reward/:id
  • PathVariable
字段 类型 描述 是否必须
Id String plan id
  • RequestBody
字段 类型 描述 是否必须
cover String 封面图片
name string 名字
desc String 描述
rewardType number Prize=0,Token=1,Points=2
Points number 积分类型的积分值
stateImage []image TASK,RANKING,LEVEL,BADGE
image.image string 图片地址
image.rewardState String 奖励状态id
  • request example
{
    "cover": "60e2a78955bd5a0001e456a6.jpg",
    "name": "test3",
    "desc": "",
    "rewardType": 2,
    "points": 1,
    "stateImage": [
        {
            "rewardState": "60d3f47b9649800001bbc478",
            "image": ""
        },
        {
            "rewardState": "60d3f4779649800001bbc477",
            "image": ""
        },
        {
            "rewardState": "60d3f4729649800001bbc476",
            "image": ""
        },
        {
            "rewardState": "60d3f46a9649800001bbc475",
            "image": ""
        },
        {
            "rewardState": "60d3f4669649800001bbc474",
            "image": ""
        },
        {
            "rewardState": "60d3f4619649800001bbc473",
            "image": ""
        },
        {
            "rewardState": "60d3f45c9649800001bbc472",
            "image": ""
        },
        {
            "rewardState": "60d143528ac72a0001a40142",
            "image": ""
        },
        {
            "rewardState": "60afaf8a86cc7700013f1a3e",
            "image": ""
        },
        {
            "rewardState": "60aeb2b591c55700019011f4",
            "image": ""
        }
    ]
}
  • Success
HTTP/1.1 200 OK
  • Error
HTTP/1.1 !=200 服务端异常

# 2.2.22 删除奖励

/api/v1/open/swan/game/reward/:id
  • PathVariable
字段 类型 描述 是否必须
id String id
  • Success
HTTP/1.1 200 OK
  • Error

HTTP/1.1 !=200 服务端异常

# 2.2.23 新增奖励状态

  • POST
/api/v1/open/swan/game/rewardState
  • RequestBody
字段 类型 描述 是否必须
name string 名字
rewardType number Prize=0,Token=1,Points=2
  • request example
{"name":"test1","rewardType":0}
  • Success
HTTP/1.1 200 OK
  • Error
HTTP/1.1 !=200 服务端异常

# 2.2.24 通过id获取奖励状态

  • GET
/api/v1/open/swan/game/rewardStates/:id
  • PathVariable
字段 类型 描述 是否必须
id String id
  • Success
HTTP/1.1 200 OK
{
    "id": "60e2a0491723ce00017e0aff",
    "name": "手机都会管理会计换地方",
    "rewardType": 1,
    "createdAt": 1625464905245,
    "updater": "@staff_super_M00000:000000.finogeeks.com",
    "updatedAt": 1625464905245
}
  • Error
HTTP/1.1 !=200 服务端异常

# 2.2.25 分页获取奖励状态

  • GET
/api/v1/open/swan/game/rewardState/page
  • RequestParam
字段 类型 描述 是否必须
rewardType String Type
name String 名称
page number 页数,默认0
size number 每页数量,默认20
  • Success
HTTP/1.1 200 OK
{
    "page": 0,
    "size": 10,
    "result": [
        {
            "id": "60d143418ac72a0001a40140",
            "name": "实体奖品状态622001",
            "rewardType": 0,
            "createdAt": 1624326977048,
            "updater": "@staff_super_M00000:000000.finogeeks.com",
            "updatedAt": 1624326977048
        },
        {
            "id": "60c16c00938fbc0001548bc1",
            "name": "未获得",
            "rewardType": 0,
            "createdAt": 1623288832947,
            "updater": "@staff_super_M00000:000000.finogeeks.com",
            "updatedAt": 1623288832947
        }
    ],
    "total": 2
}

# 2.2.26 修改奖励状态

  • PUT
/api/v1/open/swan/game/rewardState/:id
  • PathVariable
字段 类型 描述 是否必须
id String plan id
  • RequestBody
字段 类型 描述 是否必须
name string 名字
  • request example
{
    "name": "test3"
}
  • Success
HTTP/1.1 200 OK
  • Error
HTTP/1.1 !=200 服务端异常

# 2.2.27 删除奖励状态

/api/v1/open/swan/game/rewardState/:id
  • PathVariable
字段 类型 描述 是否必须
id String id
  • Success
HTTP/1.1 200 OK
  • Error

HTTP/1.1 !=200 服务端异常

# 2.2.28 新增荣誉

  • POST
/api/v1/open/swan/game/honour
  • RequestBody
字段 类型 描述 是否必须
name string 名字
desc String 描述
honourType string CERTIFICATE,BADGE
gained string 荣誉获得图标图片
notGained string 荣誉未获得图标图片
  • request example
{"name":"test1","rewardType":0}
  • Success
HTTP/1.1 200 OK
  • Error
HTTP/1.1 !=200 服务端异常

# 2.2.29 通过id获取荣誉

  • GET
/api/v1/open/swan/game/honours/:id
  • PathVariable
字段 类型 描述 是否必须
id String id
  • Success
HTTP/1.1 200 OK
{
    "id": "60e2cadd55bd5a0001e456ad",
    "name": "ry3",
    "nameCn": "ry3",
    "desc": "1",
    "honourType": "CERTIFICATE",
    "gained": "60e2cad155bd5a0001e456ab.jpg",
    "notGained": "60e2cad555bd5a0001e456ac.jpg",
    "status": 1,
    "creater": "@staff_super_M00000:000000.finogeeks.com",
    "createdAt": 1625475805454,
    "updater": "@staff_super_M00000:000000.finogeeks.com",
    "updatedAt": 1625475805454,
    "getTime": 0
}
  • Error
HTTP/1.1 !=200 服务端异常

# 2.2.30 分页获取荣誉

  • GET
/api/v1/open/swan/game/honour/page
  • RequestParam
字段 类型 描述 是否必须
honourType String CERTIFICATE,BADGE
name String 名称
page number 页数,默认0
size number 每页数量,默认20
  • Success
HTTP/1.1 200 OK
{
    "page": 0,
    "size": 10,
    "result": [
        {
            "id": "60e2cadd55bd5a0001e456ad",
            "name": "ry3",
            "nameCn": "ry3",
            "desc": "1",
            "honourType": "CERTIFICATE",
            "gained": "60e2cad155bd5a0001e456ab.jpg",
            "notGained": "60e2cad555bd5a0001e456ac.jpg",
            "status": 1,
            "creater": "@staff_super_M00000:000000.finogeeks.com",
            "createdAt": 1625475805454,
            "updater": "@staff_super_M00000:000000.finogeeks.com",
            "updatedAt": 1625475805454,
            "getTime": 0
        },
        {
            "id": "60e2cab855bd5a0001e456aa",
            "name": "ry2",
            "nameCn": "ry2",
            "desc": "",
            "honourType": "BADGE",
            "gained": "",
            "notGained": "",
            "status": 1,
            "creater": "@staff_super_M00000:000000.finogeeks.com",
            "createdAt": 1625475768185,
            "updater": "@staff_super_M00000:000000.finogeeks.com",
            "updatedAt": 1625475768185,
            "getTime": 0
        }
    ],
    "total": 2
}

# 2.2.31 修改荣誉

  • PUT
/api/v1/open/swan/game/honour/:id
  • PathVariable
字段 类型 描述 是否必须
id String id
  • RequestBody
字段 类型 描述 是否必须
name string 名字
desc String 描述
gained string 荣誉获得图标图片
notGained string 荣誉未获得图标图片
  • request example
{
    "name": "ry2",
    "desc": "1",
    "honourType": "BADGE",
    "gained": "",
    "notGained": "",
}
  • Success
HTTP/1.1 200 OK
  • Error
HTTP/1.1 !=200 服务端异常

# 2.2.32 删除荣誉

  • DELETE
/api/v1/open/swan/game/honour/:id
  • PathVariable
字段 类型 描述 是否必须
id String id
  • Success
HTTP/1.1 200 OK
  • Error

HTTP/1.1 !=200 服务端异常

# 2.2.33 图片上传

  • POST
/api/v1/open/swan/game/file/upload
  • RequestBody
字段 类型 描述 是否必须
file File 文件
  • Success
HTTP/1.1 200 OK
  • Error

HTTP/1.1 !=200 服务端异常

# 2.2.34 图片下载

  • GET
/api/v1/open/swan/game/file/download/:id
  • PathVariable
字段 类型 描述 是否必须
Id string 文件id
  • Success
HTTP/1.1 200 OK
  • Error

HTTP/1.1 !=200 服务端异常

# 2.3 GAME-USER

# 2.3.1 分页获取用户

  • GET
/api/v1/open/swan/game-user/user/page
  • RequestParam
字段 类型 描述 是否必须
userId String 用户id
groupId String 人群id
page number 页数,默认0
size number 每页数量,默认20
startTime number 时间段开始时间
endTime number 时间段结束时间
pointMin number 积分最小值
pointMax number 积分最大值
activity string 活动id
level string levelId
badge string badgeId
  • Success
HTTP/1.1 200 OK
{
    "page": 0,
    "size": 10,
    "result": [
        {
            "userId": "702renwu001",
            "account": "702renwu001",
            "points": 0,
            "badges": [],
            "certs": [],
            "activities": [],
            "createdAt": 1625208175430,
            "updatedAt": 1625208175430,
            "levels": [],
            "groups": [
                {
                    "id": "60d43eceae7697000194ab37",
                    "name": "624计划人群",
                    "desc": "624计划人群",
                    "createdAt": 1624522446456,
                    "updater": "@staff_super_M00000:000000.finogeeks.com",
                    "updatedAt": 1624522446456
                }
            ]
        },
        {
            "userId": "naixue05",
            "account": "naixue05",
            "points": 0,
            "badges": [
                {
                    "BadgeId": "60d96931959e4c0001ed965e",
                    "CreateAt": 1625130613325
                }
            ],
            "certs": [
                {
                    "certId": "60cc38f0a78ac800019542a8",
                    "CreateAt": 1625151547153
                },
                {
                    "certId": "60cc4f2ab3ea00000129cd0b",
                    "CreateAt": 1625152142316
                },
                {
                    "certId": "60d148328ac72a0001a40154",
                    "CreateAt": 1625152142327
                },
                {
                    "certId": "60cc4fa7b3ea00000129cd0c",
                    "CreateAt": 1625152142333
                }
            ],
            "activities": [
                "60d92af6eda24200015ccbcc",
                "60dc1f52e84d1800013bdbe6"
            ],
            "createdAt": 1625130576632,
            "updatedAt": 1625130576632,
            "levels": [
                "60d92b95eda24200015ccbd3"
            ],
            "groups": [
                {
                    "id": "60d92a41eda24200015ccbc4",
                    "name": "奈雪人群",
                    "desc": "奈雪人群",
                    "createdAt": 1624844865302,
                    "updater": "@staff_super_M00000:000000.finogeeks.com",
                    "updatedAt": 1624844865302
                }
            ]
        }
    ],
    "total": 2
}

# 2.3.2 用户新增

  • POST
/api/v1/open/swan/game-user/user
  • requstBody
字段 类型 描述 是否必须
userId String 用户id,1-100个字符
account String 账号
groups []string 人群ids
  • Request example
{
    "userId":"uuu",
    "account":"uuu",
    "groups":["60d44b05ae7697000194ac43"]
}
  • Success
HTTP/1.1 200 OK
  • Error

HTTP/1.1 !=200 服务端异常

# 2.3.3 通过id获取用户

  • GET
/api/v1/open/swan/game-user/users/:id
  • PathVariable
字段 类型 描述 是否必须
id String id
  • Success
HTTP/1.1 200 OK
{
    "userId": "uuu",
    "account": "uuu",
    "points": 0,
    "createdAt": 1625478236409,
    "updatedAt": 1625478236409,
    "groups": [
        {
            "id": "60d44b05ae7697000194ac43",
            "name": "代理人",
            "desc": "代理人",
            "createdAt": 1624525573414,
            "updater": "@staff_super_M00000:000000.finogeeks.com",
            "updatedAt": 1624525573414
        }
    ],
    "activities": [],
    "levels": [],
    "badges": [],
    "certs": []
}
  • Error
HTTP/1.1 !=200 服务端异常

# 2.3.4 获取用户的奖励

  • GET
/api/v1/open/swan/game-user/users/:id/rewards
  • PathVariable
字段 类型 描述 是否必须
id String id
  • Success
HTTP/1.1 200 OK
[
    {
        "id": "60e2d4f4021ac30001cfeaae",
        "userId": "705dengji001",
        "rewardId": "60c16c1f938fbc0001548bc5",
        "rewardType": "PRIZE",
        "name": "",
        "num": 3,
        "planId": "",
        "activityId": "60dac921e84d1800013bd8ed",
        "taskId": "60dac935e84d1800013bd8ee",
        "status": 0,
        "updatedAt": 1625478388031
    }
]
  • Error
HTTP/1.1 !=200 服务端异常

# 2.3.5 修改用户

  • PUT
/api/v1/open/swan/game-user/user/:id
  • PathVariable
字段 类型 描述 是否必须
id String id
  • RequestBody
字段 类型 描述 是否必须
userId String 用户id,1-100个字符
account String 账号
groups []string 人群ids
  • request example
{
    "userId":"uuu",
    "account":"uuu",
    "groups":["60d44b05ae7697000194ac43"]
}
  • Success
HTTP/1.1 200 OK
  • Error
HTTP/1.1 !=200 服务端异常

# 2.3.6 删除用户

  • DELETE
/api/v1/open/swan/game-user/user/:id
  • PathVariable
字段 类型 描述 是否必须
id String id
  • Success
HTTP/1.1 200 OK
  • Error
HTTP/1.1 !=200 服务端异常

# 2.3.7 任务中心详情数据

  • GET
/api/v1/open/swan/game-user/users/:id/taskcenter/:activityId/detail
  • PathVariable
字段 类型 描述 是否必须
id String id
activityId string 活动id
  • Success
HTTP/1.1 200 OK
{
    "user": {
        "userId": "renwu6210008",
        "account": "renwu6210008",
        "points": 4098,
        "badges": [
            {
                "BadgeId": "60cc4e3eb3ea00000129cd07",
                "CreateAt": 1625153568966
            }
        ],
        "certs": [
            {
                "certId": "60cc4edeb3ea00000129cd0a",
                "CreateAt": 1625153568965
            }
        ],
        "activities": [
            "60dac921e84d1800013bd8ed",
            "60cfeb8833164f0001b3793f",
            "60d14f518ac72a0001a4015b",
            "60cc5a7bb3ea00000129cd31",
            "60d05387f195ee0001f9d8b4",
            "60d291df029ac100014dec9e",
            "60d42d70ae7697000194ab29"
        ],
        "createdAt": 1624263649409,
        "updatedAt": 1624953634591,
        "levels": [
            "60dac935e84d1800013bd8ee"
        ],
        "groups": [
            {
                "id": "60cc58e7b3ea00000129cd2d",
                "name": "618测试人群",
                "desc": "",
                "createdAt": 1624004839437,
                "updater": "@staff_super_M00000:000000.finogeeks.com",
                "updatedAt": 1624265393272
            },
            {
                "id": "60d43eceae7697000194ab37",
                "name": "624计划人群",
                "desc": "624计划人群",
                "createdAt": 1624522446456,
                "updater": "@staff_super_M00000:000000.finogeeks.com",
                "updatedAt": 1624522446456
            },
            {
                "id": "60d92a41eda24200015ccbc4",
                "name": "奈雪人群",
                "desc": "奈雪人群",
                "createdAt": 1624844865302,
                "updater": "@staff_super_M00000:000000.finogeeks.com",
                "updatedAt": 1624844865302
            }
        ]
    },
    "points": 60,
    "id": "60d14f518ac72a0001a4015b",
    "name": "activity-1",
    "desc": "<p>test</p>",
    "code": "",
    "planId": "",
    "type": "TASK",
    "startTime": 1624377600000,
    "endTime": 1624982400000,
    "periodValue": null,
    "showNumType": "",
    "showNum": 0,
    "task": [
        {
            "taskId": "60d14fb38ac72a0001a40162",
            "name": "task1",
            "desc": "task1",
            "eventId": "60d14f648ac72a0001a4015c",
            "taskCenterTask": {
                "maxPoints": 10000,
                "dayMaxPoints": 10000,
                "isPoint": 1,
                "points": 2,
                "xp": 10,
                "condition": {
                    "day": 2,
                    "times": 2,
                    "allPeriod": false
                }
            },
            "progress": 0
        }
    ]
}
  • Error
HTTP/1.1 !=200 服务端异常

# 2.3.8 任务中心用户积分xp流水

  • GET
/api/v1/open/swan/game-user/users/:id/taskcenter/:activityId/transaction
  • PathVariable
字段 类型 描述 是否必须
id String id
activityId string 活动id
page number 页数,默认0
size number 每页数量,默认20
  • Success
HTTP/1.1 200 OK
{
    "page": 0,
    "size": 10,
    "result": {
        "type": 1,
        "points": 60,
        "transactions": [
            {
                "name": "task1",
                "desc": "task1",
                "timestamp": 1624340214233,
                "point": 40,
                "xp": -20
            },
            {
                "name": "task1",
                "desc": "task1",
                "timestamp": 1624340168294,
                "point": 20,
                "xp": 0
            }
        ]
    },
    "total": 2
}
  • Error
HTTP/1.1 !=200 服务端异常

# 2.3.9 等级活动详情数据

  • GET
/api/v1/open/swan/game-user/users/:id/level/:activityId
  • PathVariable
字段 类型 描述 是否必须
id String id
activityId string 活动id
  • Success
HTTP/1.1 200 OK
{
    "id": "60d42d70ae7697000194ab29",
    "name": "dengji",
    "desc": "<p>dengji</p>",
    "code": "",
    "planId": "",
    "type": "LEVEL",
    "startTime": 1624519200000,
    "endTime": 1624982400000,
    "periodValue": null,
    "showNumType": "",
    "showNum": 0,
    "tasks": [
        {
            "taskId": "60d42d82ae7697000194ab2b",
            "name": "dengji1",
            "desc": "dengji1",
            "eventId": "",
            "levelTask": {
                "expPointStart": 0,
                "expPointEnd": -1,
                "isUnLimit": true,
                "icons": null,
                "events": [
                    {
                        "eventId": "60d42fb4ae7697000194ab2e",
                        "eventName": "event2",
                        "eventDesc": "event2",
                        "expPoint": 2
                    }
                ]
            }
        }
    ],
    "relatedRewards": [
        {
            "subType": "dengji1",
            "relatedId": "60d42d82ae7697000194ab2b",
            "isAccumulate": false,
            "ranking": "",
            "rewards": [
                {
                    "rewardId": "60cc4edeb3ea00000129cd0a",
                    "rewardType": "CERTIFICATE",
                    "name": "证书61801",
                    "icon": "",
                    "num": 1
                }
            ]
        }
    ],
    "status": 0,
    "createdAt": 0,
    "updater": "",
    "updatedAt": 0,
    "userId": "renwu6210008",
    "expPoint": 8,
    "levelId": "60d42d82ae7697000194ab2b"
}
  • Error
HTTP/1.1 !=200 服务端异常

# 2.3.10 等级活动用户XP流水

  • GET
/api/v1/open/swan/game-user/users/:id/level/:activityId/transaction
  • PathVariable
字段 类型 描述 是否必须
id String id
activityId string 活动id
page number 页数,默认0
size number 每页数量,默认20
  • Success
HTTP/1.1 200 OK
{
    "page": 0,
    "size": 10,
    "result": [
        {
            "userId": "renwu6210008",
            "activityId": "60d42d70ae7697000194ab29",
            "taskId": "60d42d82ae7697000194ab2b",
            "expPoint": 2,
            "info": "event2",
            "createAt": 1624519258697
        },
        {
            "userId": "renwu6210008",
            "activityId": "60d42d70ae7697000194ab29",
            "taskId": "60d42d82ae7697000194ab2b",
            "expPoint": 2,
            "info": "event2",
            "createAt": 1624519258296
        },
        {
            "userId": "renwu6210008",
            "activityId": "60d42d70ae7697000194ab29",
            "taskId": "60d42d82ae7697000194ab2b",
            "expPoint": 2,
            "info": "event2",
            "createAt": 1624519257632
        }
    ],
    "total": 3
}
  • Error
HTTP/1.1 !=200 服务端异常

# 2.3.11 排行活动详情数据

  • GET
/api/v1/open/swan/game-user/users/:id/ranking/:activityId
  • PathVariable
字段 类型 描述 是否必须
id String id
activityId string 活动id
page number 页数,默认0
size number 每页数量,默认20
period number 周期值,默认0
  • Success
HTTP/1.1 200 OK
{
    "result": null,
    "total": 0,
    "page": 0,
    "size": 10,
    "myRank": {
        "userId": "renwu6210008",
        "score": 0,
        "ranking": 0
    },
    "data": null
}
  • Error
HTTP/1.1 !=200 服务端异常

# 2.3.12 人群新增

  • POST
/api/v1/open/swan/game-user/group
  • requstBody
字段 类型 描述 是否必须
name String 名称
desc string 描述
  • Request example
{
    "name":"top1",
    "desc":"top1"
}
  • Success
HTTP/1.1 200 OK
  • Error

HTTP/1.1 !=200 服务端异常

# 2.3.13 通过id获取人群

  • GET
/api/v1/open/swan/game-user/groups/:id
  • PathVariable
字段 类型 描述 是否必须
id String id
  • Success
HTTP/1.1 200 OK
{
            "id": "60d44b05ae7697000194ac43",
            "name": "代理人",
            "desc": "代理人",
            "createdAt": 1624525573414,
            "updater": "@staff_super_M00000:000000.finogeeks.com",
            "updatedAt": 1624525573414
        }
  • Error
HTTP/1.1 !=200 服务端异常

# 2.3.14 分页获取人群

  • GET
/api/v1/open/swan/game-user/group/page
  • RequestParam
字段 类型 描述 是否必须
name String 人群名称
page number 页数,默认0
size number 每页数量,默认20
startTime number 时间段开始时间
endTime number 时间段结束时间
  • Success
HTTP/1.1 200 OK
{
    "page": 0,
    "size": 10,
    "result": [
        {
            "id": "60e2fe33021ac30001cfeab5",
            "name": "top1",
            "desc": "top1",
            "createdAt": 1625488947004,
            "updater": "@staff_super_M00000:000000.finogeeks.com",
            "updatedAt": 1625488947004
        },
        {
            "id": "60d92a41eda24200015ccbc4",
            "name": "奈雪人群",
            "desc": "奈雪人群",
            "createdAt": 1624844865302,
            "updater": "@staff_super_M00000:000000.finogeeks.com",
            "updatedAt": 1624844865302
        },
        {
            "id": "60d44b05ae7697000194ac43",
            "name": "代理人",
            "desc": "代理人",
            "createdAt": 1624525573414,
            "updater": "@staff_super_M00000:000000.finogeeks.com",
            "updatedAt": 1624525573414
        }
    ],
    "total": 3

# 2.3.15 修改人群

  • PUT
/api/v1/open/swan/game-user/group/:id
  • PathVariable
字段 类型 描述 是否必须
id string id
  • RequestBody
字段 类型 描述 是否必须
name string 名称
desc string 描述
  • request example
{
    "name":"uuu",
    "desc":"uuu",
}
  • Success
HTTP/1.1 200 OK
  • Error
HTTP/1.1 !=200 服务端异常

# 2.3.16 删除人群

  • DELETE
/api/v1/open/swan/game-user/group/:id
  • PathVariable
字段 类型 描述 是否必须
id String id
  • Success
HTTP/1.1 200 OK
  • Error
HTTP/1.1 !=200 服务端异常

# 2.4 GAME-ENGINE

# 2.4.1 事件上报

  • POST
/api/v1/open/swan/game-engine/event/signal
  • RequestBody
字段 类型 描述 是否必须
userId string userId
signal string 任务名称
persona []string 人群id数组
timestamp number 上报时间毫秒数
  • request example
{
    "userId": "renwu621000118",
    "signal": "event2",
    "persona": [
        "618测试人群"
    ],
    "timestamp": 1624757278000
}
  • Success
HTTP/1.1 200 OK
  • Error
HTTP/1.1 !=200 服务端异常

# 2.5 游戏化管理后台

# 2.5.1 页面路由

页面 路径 说明
游戏化计划 /gamingPlan
计划管理 /gamingPlanManageList 用于页面分组, 无显示页面
任务管理 /gamingPlanManageList/taskManage
新增/编辑任务 /gamingPlanManageList/taskManageCreate?eventId={eventId}
活动管理 /gamingPlanManageList/sceneManage
新增/编辑活动 gamingPlanManageList/sceneCreate?activityId={activityId}
抽奖管理 /gamingPlanManageList/lotteryManage
新增/编辑抽奖 /gamingPlanManageList/lotteryCreate?prizeId={prizedId}
计划人群管理 /gamingGroup
用户信息查询 /gamingUser?groupId={groupId} 默认为所有人群, 传入 groupId 则查询对应人群的用户
荣誉管理 /gamingHonor
新增/编辑荣誉 /gamingHonorEdit?id={id}
奖品管理 /prizesManage 用于页面分组, 无显示页面
奖品列表 /prizesManage/prizesList
奖品状态管理 /prizesManage/prizesStateList
编辑/新增奖品 /prizesManage/prizesEdit?id={id}

# 2.5.2 外部依赖

  • UI 组件: 凡泰定制版 iview
  • UI 库: Vue2
  • 网络库: Axios
  • 富文本: Quill editor
  • 工具库: Lodash
  • 日期: Dayjs

用户鉴权及路由权限需由宿主环境注入

# 2.5.3 游戏化用户端模板

页面路径 URL 参数 说明
任务中心 /gamification/task-center activityId, userId 积分流水 任务中心规则
勋章 /gamification/badges activityId, userId 勋章规则
排行 /gamification/game-plan-rank activityId, userId 排行规则
等级 /gamification/game-plan-level activityId, userId, template: TEMPLATE_ONE / TEMPLATE_TWO XP 流水, 所有奖励

*目前没有实现游戏化用户的登录, 暂时通过 URL 参数 (userId) 确定当前用户 ID.