php 三消map 生成算法,UGC三消 一个H5布局的虎牙直播故事
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布局的虎牙直播故事相关推荐
- php 实现的字典序排列算法,字典序的一个生成算法
字典序的一个生成算法. 最近在LeetCode刷题,刷到一个题,链接: https://leetcode-cn.com/problems/permutation-sequence/ 这个题要求得长度为 ...
- 三消游戏查找算法的原理和实现
本文首发于公众号: 小蚂蚁教你做游戏.欢迎关注领取更多学习做游戏的原创教程资料,每天学点儿游戏开发知识. 嗨!大家好,我是小蚂蚁. 今天这篇文章分享一下三消查找算法的原理和实现,其实三消的机制最早源于 ...
- 实验三:实现一个大素数生成算法
一.实验内容 掌进一步掌握大素数分解的一般原理和实现方法.能用间接方法实现大素数分解.用代码实现Solovay-Strassen素性测试法或Miller-Rabin素性测试法. 二.分实现一个大素数生 ...
- java自动红包_Java一个简单的红包生成算法
一个简单的红包生成算法,代码如下: /** * 红包 * @param n * @param money 单位:分 * @return **/ public static double[] redPa ...
- 一个伪随机数生成算法
一个伪随机数生成算法 这几天逛程序员论坛,发现了不少好帖子,增长了不少知识,现拿其中一则为例说明. 某人提出一个问题,说怎么样能生成一亿个不重复的随机数呢? 问题表述起来很简单,似乎只要弄明白什么叫随 ...
- bump map(凹凸贴图)的一个简单生成方法
用于渲染物体表面,增加真实感的bump map(凹凸贴图)的一个简单生成方法. 1. 在 Perlin Noise Map Generator - OpenProcessing 生成一个perlin ...
- ES批量索引写入时的ID自动生成算法
对bulk request的处理流程: 1.遍历所有的request,对其做一些加工,主要包括:获取routing(如果mapping里有的话).指定的timestamp(如果没有带timestamp ...
- 一种简单的2D Roguelike地图生成算法
前言 最近刚确定下来毕业设计要做的内容--一个2DRoguelike类型的游戏.因此研究了几天的地图生成算法,终于于如今成功制作了地图的生成.先放几张示意图感受一下: 是不是还蛮有感觉的呢! 一.核心 ...
- API接口签名生成算法和签名验证算法
1.参考网上资料和书本资料,实现了API接口签名生成算法和签名验证算法. (1)参考资料:https://www.jianshu.com/p/d47da77b6419 (2)参考书籍:高级软件架构师教 ...
最新文章
- 食品、快速消费品行业的ERP兄弟们来此跟帖交流,开发实施路上的点点滴滴
- 【职场经验】算法同学从学校到实习,需要改变什么
- 开源纯C#工控网关+组态软件(四)上下位机通讯原理
- 马斯克开始行动:下调Twitter Blue订阅费 禁止广告
- CCCC-GPLT L1-039. 古风排版 团体程序设计天梯赛
- 在托管 Windows 服务中承载 WCF 服务
- Centos7安装hive
- centos7修改ip(centos7修改时区)
- ctfmon.exe
- java 众数算法_众数的算法分析
- Java生成PDF文件(转)
- 将“闲置资源”重新利用,这家公司重组闲置市场
- 嘉兴 机器人仓库 菜鸟_双11前菜鸟网络升级智能仓库 浙江嘉兴仓担当大任
- 头同尾合十的算法_尾同头合十或头同尾合十等的速算方法word精品
- Swift开发 UIColor分类Hex颜色转换
- 直播svga礼物特效设计
- 常用电子器件 ——电感线圈
- 万方数据库高级索引方式
- 五险一金是包括什么?
- 联盟链开发 区块链联盟链开发