帮助与支持

appServer应用的主要功能是:

  • 记录渠道信息和应用信息, 如果这些信息保存在手机端, 会被人破解,产生安全问题

  • 调用openapi接口, 将充值, 互动, 购买等操作发送给互动直播平台, 作为对账依据

以下,为互动的appServer demo代码。其他接口可类似实现

@Controller
public class DemoController {
 
  String chId = "123456";  //渠道ID, 即渠道商在乐视云计算系统注册后的用户ID
 
 String secretKey = "Mypassword";  //渠道商在乐视云计算系统注册后的用户密钥
 
 String openapiUrl = "http://api.open.lecloud.com/ilive/execute";  //openapi的固定域名和路径
 
 String appGroupId = "11";  //当前应用ID
 
 
 /**
 * 用户进行互动操作
 * @param uid 用户在渠道内的唯一标识id (例如: 用户账号id)
 * @param channelId 频道ID, 此节目在展示的时候的分类信息
 * @param interactionId 互动ID, 此互动的唯一标识
 * @param optionId 互动选项ID, 用户进行的选项唯一标识
 * @param repeat 本次互动选项重复的次数
 * @param appGroupId 渠道应用组id
 * @param appId 渠道应用id
 * @param interactionType 互动类型
 * @param renderData 贴纸专用
 * @param platformType 应用app类型(android ios)
 * @return 提交成功, 返回httpCode=200, text={"success":true}
 *         提交失败或者产生异常, 返回httpCode=400, text={"success":false, "message":"失败原因"}
 */
 
@RequestMapping("/interact")
public ResponseEntity<String> interaction(
                                          String chId,
                                          String appGroupId,
                                                                                         String appId,
                                          String channelId,
                                          String uid,
                                          String interactionId,
                                          String optionId,
                                          String interactionType,
                                          String renderData,
                                          String repeat,
                                          String platformType) throws Exception {
 
    long timestamp = System.currentTimeMillis();
  //需要对参数进行校验和转换,以供openapi接口使用,(需补充校验)
    Assert.isTrue(!StringUtils.isEmpty(chId), "chId不能为空!");
    Assert.isTrue(!StringUtils.isEmpty(uid), "uid不能为空!");
    Assert.isTrue(!StringUtils.isEmpty(appGroupId), "appGroupId不能为空!");
    Assert.isTrue(!StringUtils.isEmpty(appId), "appId不能为空!");
    Assert.isTrue(!StringUtils.isEmpty(interactionId), "interactionId不能为空!");
    Assert.isTrue(!StringUtils.isEmpty(optionId), "optionId不能为空!");
    Assert.isTrue(!StringUtils.isEmpty(interactionType), "interactionType不能为空!");
   
    String uuid = generateUuid(uid, appGroupId);
 
}
 
 
    private String generateUuid(String uid, String appGroupId) {
        return appGroupId + "-" + uid;
    }
 
 
 
/**
*充值接口
*
**/
 @RequestMapping("/deposit")
public ResponseEntity<String> deposit(String chId,
                                      String appGroupId,
                                      String appId,
                                      String uid,
                                      String money,
                                      String platformType) throws Exception {
 
    Assert.hasLength(chId, "chId不能为空!");
    Assert.hasLength(appGroupId, "appGroupId不能为空!");
    Assert.hasLength(appId, "appId不能为空!");
    Assert.hasLength(uid, "uid不能为空!");
    Assert.hasLength(money, "money不能为空!");
    Assert.hasLength(platformType, "platformType不能为空!");
 
 
 
}
 
/**
 * 付费观看接口
 *
 * @param chId
 * @param channelId
 * @param appGroupId
 * @param appId
 * @param uid
 * @param programId
 * @return
 * @throws Exception
 */
@RequestMapping("/purchaseProgram")
public ResponseEntity<String> purchaseProgram(String chId,
                                              String channelId,
                                              String appGroupId,
                                              String appId,
                                              String uid,
                                              String programId,
                                              String platformType) throws Exception {
     Assert.hasLength(chId, "chId不能为空!");
    Assert.hasLength(channelId, "channelId不能为空!");
    Assert.hasLength(appGroupId, "appGroupId不能为空!");
    Assert.hasLength(appId, "appId不能为空!");
    Assert.hasLength(uid, "uid不能为空!");
    Assert.hasLength(programId, "programId不能为空!");
 
 
 
}