UGC三消 一个H5布局的虎牙直播故事

一、官网直播的页面效果

二、虎牙的数据接口文档API

三、后台Controller提供主播及直播数据

package com.xmbl.ops.controller.huya;

import java.util.ArrayList;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.CrossOrigin;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RequestMethod;

import org.springframework.web.bind.annotation.ResponseBody;

import com.alibaba.fastjson.JSON;

import com.alibaba.fastjson.JSONArray;

import com.alibaba.fastjson.JSONObject;

import com.xmbl.ops.controller.base.BaseController;

import com.xmbl.ops.dto.ResponseResult;

import com.xmbl.ops.util.httpclientemailForXmbl.HttpClientUtil;

import com.xmbl.ops.web.api.bean.PageData;

import lombok.extern.slf4j.Slf4j;

@Slf4j

@Controller

@CrossOrigin(maxAge = 3000)

@RequestMapping(value = "api/video")

public class PTHuyaLiveVideoController extends BaseController{

/**

* 获取主播列表

*

* @return

*/

@RequestMapping(value = "/getAnchorList",method = RequestMethod.POST)

@ResponseBody

public ResponseResult getAnchorList() {

log.info("infoMsg:============================== 获取主播列表开始");

Map paramMap = new HashMap<>();

List pdList = new ArrayList<>();

try {

paramMap.put("data", "{\"gid\":4267}");

paramMap.put("appId", "huya_web_303");

paramMap.put("sign", "fbf1b6ad405c56b1efa4571e81ee4b1e");

String result = HttpClientUtil.send("http://open.huya.com/cache.php?m=LiveList&do=getLiveList", paramMap);

log.info("httpClientPost========,{}",result);

JSONObject jsonObject = JSON.parseObject(result);

String data = jsonObject.getString("data");

log.info("data========,{}",data);

JSONObject dataObject = JSON.parseObject(data);

String datas = dataObject.getString("datas");

JSONObject datasObject = JSON.parseObject(datas);

JSONArray array = datasObject.getJSONArray("4267");

log.info("array========,{}",array);

PageData pd = null;

for(Object direct : array) {

pd = new PageData();

JSONObject directInfo = JSON.parseObject(direct.toString());

String nick = directInfo.getString("nick");

String shareUrl = directInfo.getString("shareUrl");

pd.put("nick", nick);

pd.put("shareUrl", shareUrl);

pdList.add(pd);

}

// ResponseBodyResult httpClientPost = HttpClientPostUtil.httpClientPost("http://open.huya.com/cache.php?m=LiveList&do=getLiveList", paramMap);

log.info("infoMsg:============================== 获取主播列表结束");

return successJson(pdList);

} catch (Exception e) {

log.error("infoMsg:============================== 获取主播列表失败");

return errorJson(e.getMessage());

}

}

}

四、web界面的js函数

function getVedioInfolist(){

$.post("api/video/getAnchorList",{},function(data){

console.info(data);

var result = data.result;

var vHtml = "

全部主播

";

vHtml += "

  • ";

for(d in result){

vHtml += "

" + result[d].nick + "";

/* vHtml += "

" + result[d].nick + ""; */

}

vHtml += "

";

vHtml += "

" +

""

"

";

$("#table-Anchor").append(vHtml);

$(".videoZoom").attr("src",result[0].shareUrl);

var s = "assets/xmbl/css/anchor-onwer.png";

$("#table-Anchor ul li").eq(0).css("background-image","url(" + s + ")");

$("#table-Anchor ul li").eq(0).find("a").css("color","#9d6b3a");

});

}

function turnVideoZoom(index,url){

console.info(index,url);

//$("#table-Anchor").html("");

//getVedioInfolist();

var s = "assets/xmbl/css/anchor-onwer.png";

var s1 = "assets/xmbl/css/anchor-flow.png";

$("#table-Anchor ul li").not(index).css("background-image","url(" + s1 + ")");

$("#table-Anchor ul li").not(index).find("a").css("color","#FFF");

$("#table-Anchor ul li").eq(index).css("background-image","url(" + s + ")");

$("#table-Anchor ul li").eq(index).find("a").css("color","#9d6b3a");

$(".videoZoom").attr("src",url);

}

php 三消map 生成算法,UGC三消 一个H5布局的虎牙直播故事相关推荐

  1. php 实现的字典序排列算法,字典序的一个生成算法

    字典序的一个生成算法. 最近在LeetCode刷题,刷到一个题,链接: https://leetcode-cn.com/problems/permutation-sequence/ 这个题要求得长度为 ...

  2. 三消游戏查找算法的原理和实现

    本文首发于公众号: 小蚂蚁教你做游戏.欢迎关注领取更多学习做游戏的原创教程资料,每天学点儿游戏开发知识. 嗨!大家好,我是小蚂蚁. 今天这篇文章分享一下三消查找算法的原理和实现,其实三消的机制最早源于 ...

  3. 实验三:实现一个大素数生成算法

    一.实验内容 掌进一步掌握大素数分解的一般原理和实现方法.能用间接方法实现大素数分解.用代码实现Solovay-Strassen素性测试法或Miller-Rabin素性测试法. 二.分实现一个大素数生 ...

  4. java自动红包_Java一个简单的红包生成算法

    一个简单的红包生成算法,代码如下: /** * 红包 * @param n * @param money 单位:分 * @return **/ public static double[] redPa ...

  5. 一个伪随机数生成算法

    一个伪随机数生成算法 这几天逛程序员论坛,发现了不少好帖子,增长了不少知识,现拿其中一则为例说明. 某人提出一个问题,说怎么样能生成一亿个不重复的随机数呢? 问题表述起来很简单,似乎只要弄明白什么叫随 ...

  6. bump map(凹凸贴图)的一个简单生成方法

    用于渲染物体表面,增加真实感的bump map(凹凸贴图)的一个简单生成方法. 1. 在  Perlin Noise Map Generator - OpenProcessing 生成一个perlin ...

  7. ES批量索引写入时的ID自动生成算法

    对bulk request的处理流程: 1.遍历所有的request,对其做一些加工,主要包括:获取routing(如果mapping里有的话).指定的timestamp(如果没有带timestamp ...

  8. 一种简单的2D Roguelike地图生成算法

    前言 最近刚确定下来毕业设计要做的内容--一个2DRoguelike类型的游戏.因此研究了几天的地图生成算法,终于于如今成功制作了地图的生成.先放几张示意图感受一下: 是不是还蛮有感觉的呢! 一.核心 ...

  9. API接口签名生成算法和签名验证算法

    1.参考网上资料和书本资料,实现了API接口签名生成算法和签名验证算法. (1)参考资料:https://www.jianshu.com/p/d47da77b6419 (2)参考书籍:高级软件架构师教 ...

最新文章

  1. 食品、快速消费品行业的ERP兄弟们来此跟帖交流,开发实施路上的点点滴滴
  2. 【职场经验】算法同学从学校到实习,需要改变什么
  3. 开源纯C#工控网关+组态软件(四)上下位机通讯原理
  4. 马斯克开始行动:下调Twitter Blue订阅费 禁止广告
  5. CCCC-GPLT L1-039. 古风排版 团体程序设计天梯赛
  6. 在托管 Windows 服务中承载 WCF 服务
  7. Centos7安装hive
  8. centos7修改ip(centos7修改时区)
  9. ctfmon.exe
  10. java 众数算法_众数的算法分析
  11. Java生成PDF文件(转)
  12. 将“闲置资源”重新利用,这家公司重组闲置市场
  13. 嘉兴 机器人仓库 菜鸟_双11前菜鸟网络升级智能仓库 浙江嘉兴仓担当大任
  14. 头同尾合十的算法_尾同头合十或头同尾合十等的速算方法word精品
  15. Swift开发 UIColor分类Hex颜色转换
  16. 直播svga礼物特效设计
  17. 常用电子器件 ——电感线圈
  18. 万方数据库高级索引方式
  19. 五险一金是包括什么?
  20. 联盟链开发 区块链联盟链开发

热门文章

  1. Antd Charts 折线图(面积图)踩的坑
  2. MC中使用鼠标的坐标值(xmouse/ymouse)中出现的问题与解决
  3. vue element-ui 通过身份证获取年龄,出生日期
  4. Qt 界面上控制中英文显示切换
  5. 武汉工程大学计算机考研资料汇总
  6. CSP-S2021试题T1廊桥分配详讲
  7. 纳尼,世界上第一台无人机竟产自中国?
  8. iphone刷机各种错误
  9. PCB走线和过孔载流问题详解
  10. Khan公开课 - 统计学学习笔记 (四)泊松分布 大数定理