任务组件


用于实现“任务”玩法,支持拉新、促活

建议使用新版任务组件:《任务组件(新)》

任务组件说明

  • 系统任务:任务的完成、领取都是易企秀控制,系统任务的操作类型有

    • 浏览页面:访客点击任务按钮,会进行浏览指定页面,页面跳转,任务即为完成
    • 分享:访客点击按钮,调用指定js的方法,js回调successFn函数,任务完成
    • 登录:访客浏览当前活动页面,任务即为完成
  • 自定义任务:任务的完成是由制作者通过接口通知控制,任务的操作类型有

    • 浏览页面:访客点击任务按钮,会进行浏览指定页面,页面跳转
    • 分享:访客点击按钮,调用指定js的方法
    • 无:点击无任何动作
  • 刷新周期:指定任务有效期,分为每年以及自定义

    • 每天:每天任务重新计算,假如用户完成当日任务,未领取,第二天需要重新完成任务
    • 每周:按照当前所在周进行起止 有效期任务计算
    • 每月:按照当前所在月进行起止 有效期任务计算
    • 自定义:用户指定周期开始时间以及间隔。
属性名称 属性说明
任务名称 制作者定义,用于在任务统计中显示,不对外
任务Id 客户自定义任务标识,用来在自定义任务,接收通知,控制任务完成
完成奖励 任务完成时,用户领取到奖励,默认为当前活动的奖励增加次数
权益同步接口 任务领取时,服务端会以接口通知形式调用该接口,通知XX用户,领取了XX奖励
按钮设置 设置按钮在三种状态下的文案、颜色等属性

操作说明

新建h5作品

为了更适合适配多任务,建议,删除默认页面,新建长页面

选取任务组件,调整布局,例如:

编写分享js

参考内容格式如下:

var src = document.currentScript.src;
var param = getUrlParam('jsFile',src)
window[param] = function testJs(baseParams,taskParams,sucessFn,errorFn) {
    console.log( baseParams,taskParams,'调起外部js')
    if (typeof sucessFn == "function") {sucessFn()}
}

function parseUrl(url) {
    if (url.startsWith('//')) {
        url = location.protocol + url;
    }
    return new window.URL(url);
}
function getUrlParam(name, url) {
    return parseUrl(url).searchParams.get(name);
}

说明:在分享任务按钮点击去完成时,会调用具体的js,会执行testJs方法,该方法名称可以随意指定。具体参数有如下:
baseParams:基础参数,有用户授权信息。具体参数如下
encodeId:易企秀访客标识
thirdUserId:自定义授权用户标识
openId:公众号微信授权标识
mobile:手机号授权时手机号
taskParams:任务参数,分享任务的参数如下:
shareUrl: 任务中配置的分享url
shareTitle: 任务中配置的分享链接标题,
shareDesc: 任务中配置的分享链接描述,
shareImg: 任务中配置的分享链接封面,
sucessFn:成功回调函数,用户通知任务完成
errorFn:失败回调函数,暂时无用

配置对应js路径

1、企业自己配置,需要提供者解决跨域问题
2、交由易企秀技术负责同事,放到内容中台对象储存上,同一个js默认不存在跨域问题
通过上述两种方式得到对应的js路径,通过【应用管理】-【H5编辑器】配置,具体如下:

相关接口

自定义任务完成

  • 接口描述:自定义任务完成,如果任务未勾选【已完成】则状态直接变为【已领取】

  • 请求方式:GET

  • 数据格式:/api/v1/preview/comp/task/customer/outSideFinish?mixCreationId=&creationId=&thirdUserId=&outTaskCode=&token=TOKEN

  • 接口入参

    参数名 必须 参数类型 参数说明
    mixCreationId Long 活动ID。互动作品的ID 【互动作品ID】
    creationId Long 被嵌入作品ID,【h5作品ID】
    thirdUserId String 自定义用户,用户标示
    outTaskCode String 任务组件中填写的任务ID
    token String 服务端交互凭据token
    {
      "success": true,
      "code": 200,
      "msg": "操作成功",
      "obj": {
          "id": 779,
          "taskId": 143,
          "encodeId": "846674cdca7e20d878b15b837e554f92",
          "nickName": "testTry3901",
          "mixCreationId": 21771,
          "creationId": 21763,
          "elementId": 7755128463,
          "name": "任务组件id",
          "intervalType": 1,
          "status": 2,
          "rewardSyncUrl": "http://23c3-118-122-120-59.ngrok.io/test",
          "rewardType": 1,
          "rewardValue": 1,
          "rewardSyncStatus": null,
          "rewardSyncResponse": null,
          "finishDate": "2022-01-10 16:30:43",
          "rewardDate": null,
          "taskStartDate": "2022-01-10 00:00:00",
          "taskEndDate": "2022-01-11 00:00:00"
      },
      "map": null,
      "list": null
    }
    
  • 接口出参

    参数名 必须 参数类型 参数说明
    success 必填 boolean 请求状态
    code 必填 int 请求状态码,200成功,
    obj 必须 object 任务信息
    示例
    {
      "success": true,
      "code": "200",
      "msg": null,
      "obj": null,
      "map": null,
      "list": []
    }
    

自定义任务重置

  • 接口描述:自定义任务重置,将任务中台置为【未开始】

  • 请求方式:GET

  • 数据格式:/api/v1/preview/comp/task/customer/outSideReset?mixCreationId=&creationId=&thirdUserId=&outTaskCode=&token=TOKEN

  • 接口入参

    参数名 必须 参数类型 参数说明
    mixCreationId Long 活动ID。互动作品的ID 【互动作品ID】
    creationId Long 被嵌入作品ID,【h5作品ID】
    thirdUserId String 自定义用户,用户标示
    outTaskCode String 任务组件中填写的任务ID
    token String 服务端交互凭据token
    {
      "success": true,
      "code": 200,
      "msg": "操作成功",
      "obj": null,
      "map": null,
      "list": null
    }
    
  • 接口出参

    参数名 必须 参数类型 参数说明
    success 必填 boolean 请求状态
    code 必填 int 请求状态码,200成功,
    obj 必须 object 任务信息
    {
      "success": true,
      "code": "200",
      "msg": null,
      "obj": null,
      "map": null,
      "list": []
    }
    

权益同步

  • 接口描述:用户领取任务奖励

  • 请求方式:POST

  • 数据格式:json

  • 接口入参

    参数名 必须 参数类型 参数说明
    rewardType String 奖励类型:1、游戏次数,2、抽奖次数
    rewardValue String 奖励数值
    id String 活动ID
    code String 活动标题
    openId String 自定义授权时,此值为thirdUserId,微信授权时为微信openid
    mobile String 手机号授权时。为对应的授权手机号
    {
      "msgEncrypt": "qguoHOFLPNPuUBIMwd+DJXzZzU0npUmwsdNpOthzir8mbql0uPEuBps873GSIc6Z",
      "nonce": "8d1e06d655df433bb8363877ad35fc70",
      "signature": "f6f8b7088037ec7fa06c42965c0efaf8a19f9c14",
      "timestamp": "1625486567366"
    }
    
  • 接口出参

    参数名 必须 参数类型 参数说明
    success 必填 boolean 请求状态
    code 必填 int 请求状态码,200成功,
    obj string json 格式,返回其他信息
    示例
    {
      "success": true,
      "code": "200",
      "msg": null,
      "obj": null,
      "map": null,
      "list": []
    }
    

will 2024年1月18日 17:23 3596 收藏文档