Commit 64116a2d45822c90c85582bb339e7dec8ff305e4
Merge branch 'dev'
Showing
26 changed files
with
6423 additions
and
152 deletions
pom.xml
| ... | ... | @@ -62,6 +62,13 @@ |
| 62 | 62 | <artifactId>commons-lang3</artifactId> |
| 63 | 63 | <version>3.8</version> |
| 64 | 64 | </dependency> |
| 65 | + | |
| 66 | + <!-- https://mvnrepository.com/artifact/org.jsoup/jsoup --> | |
| 67 | + <dependency> | |
| 68 | + <groupId>org.jsoup</groupId> | |
| 69 | + <artifactId>jsoup</artifactId> | |
| 70 | + <version>1.11.3</version> | |
| 71 | + </dependency> | |
| 65 | 72 | |
| 66 | 73 | <dependency> |
| 67 | 74 | <groupId>org.mybatis.spring.boot</groupId> | ... | ... |
src/main/java/com/cnlive/shenhe/api/AvsampleCallBackControllerApi.java
| ... | ... | @@ -11,6 +11,7 @@ import org.slf4j.Logger; |
| 11 | 11 | import org.slf4j.LoggerFactory; |
| 12 | 12 | import org.springframework.beans.factory.annotation.Autowired; |
| 13 | 13 | import org.springframework.stereotype.Controller; |
| 14 | +import org.springframework.web.bind.annotation.GetMapping; | |
| 14 | 15 | import org.springframework.web.bind.annotation.PostMapping; |
| 15 | 16 | import org.springframework.web.bind.annotation.RequestBody; |
| 16 | 17 | import org.springframework.web.bind.annotation.RequestMapping; |
| ... | ... | @@ -67,4 +68,9 @@ public class AvsampleCallBackControllerApi { |
| 67 | 68 | } |
| 68 | 69 | return result; |
| 69 | 70 | } |
| 71 | + | |
| 72 | + @GetMapping("/getGame") | |
| 73 | + public String getGame(){ | |
| 74 | + return "html/game.html"; | |
| 75 | + } | |
| 70 | 76 | } | ... | ... |
src/main/java/com/cnlive/shenhe/api/LiveControllerApi.java
0 → 100644
| 1 | +package com.cnlive.shenhe.api; | |
| 2 | + | |
| 3 | +import com.alibaba.fastjson.JSON; | |
| 4 | +import com.alibaba.fastjson.JSONArray; | |
| 5 | +import com.alibaba.fastjson.JSONObject; | |
| 6 | +import com.cnlive.shenhe.bean.ErrorEnum; | |
| 7 | +import com.cnlive.shenhe.bean.ResponseBean; | |
| 8 | +import com.cnlive.shenhe.entity.ShyLive; | |
| 9 | +import com.cnlive.shenhe.entity.ShyVideos; | |
| 10 | +import com.cnlive.shenhe.serviceImpl.LiveServiceImpl; | |
| 11 | +import com.cnlive.shenhe.serviceImpl.VideosServiceImpl; | |
| 12 | +import com.cnlive.shenhe.utils.AntiFraudUtil; | |
| 13 | +import com.cnlive.shenhe.utils.CommonUtils; | |
| 14 | + | |
| 15 | +import java.sql.Timestamp; | |
| 16 | +import java.util.Date; | |
| 17 | +import java.util.HashMap; | |
| 18 | +import java.util.List; | |
| 19 | +import java.util.Map; | |
| 20 | +import java.util.UUID; | |
| 21 | + | |
| 22 | +import org.apache.commons.lang3.StringUtils; | |
| 23 | +import org.slf4j.Logger; | |
| 24 | +import org.slf4j.LoggerFactory; | |
| 25 | +import org.springframework.beans.factory.annotation.Autowired; | |
| 26 | +import org.springframework.stereotype.Controller; | |
| 27 | +import org.springframework.web.bind.annotation.PostMapping; | |
| 28 | +import org.springframework.web.bind.annotation.RequestBody; | |
| 29 | +import org.springframework.web.bind.annotation.RequestMapping; | |
| 30 | +import org.springframework.web.bind.annotation.RequestMethod; | |
| 31 | +import org.springframework.web.bind.annotation.ResponseBody; | |
| 32 | +import com.cnlive.shenhe.utils.AntiFraudUtil; | |
| 33 | + | |
| 34 | + | |
| 35 | +@SuppressWarnings("unused") | |
| 36 | +@Controller | |
| 37 | +@RequestMapping("/api/live") | |
| 38 | +public class LiveControllerApi { | |
| 39 | + private static Logger logger = LoggerFactory.getLogger(LiveControllerApi.class); | |
| 40 | + | |
| 41 | + @Autowired | |
| 42 | + LiveServiceImpl liveService; | |
| 43 | + | |
| 44 | + @PostMapping("/import") | |
| 45 | + @ResponseBody | |
| 46 | + public JSONObject impotVideo(String param) { | |
| 47 | + JSONObject map = new JSONObject(); | |
| 48 | + JSONObject result = new JSONObject(); | |
| 49 | + boolean YorN =true;//初始化一个请求数据库返回结果 | |
| 50 | + | |
| 51 | + logger.info("直播入库,param=====" + param); | |
| 52 | + JSONObject json = JSONObject.parseObject(param); | |
| 53 | + //获取所有参数 | |
| 54 | + String activityId = json.getString("activityId");//直播活动id | |
| 55 | + String activityName = json.getString("activityName");//直播活动名称 | |
| 56 | + Integer activityStatus = Integer.parseInt(json.getString("activityStatus"));//直播活动状态 | |
| 57 | + String channelId = json.getString("channelId");//直播频道id | |
| 58 | + String mp4Url = json.getString("mp4Url");//rtmp直播流 | |
| 59 | + String hlsUrl = json.getString("hlsUrl");//m3u8直播流 | |
| 60 | + Integer spId = Integer.parseInt(json.getString("spId"));//spid | |
| 61 | + String callback = json.getString("callback");//回调地址 | |
| 62 | + Integer is_hot = Integer.parseInt(json.getString("priority"));//优先级 | |
| 63 | + String coverImgUrl = json.getString("coverImgUrl");//封面 | |
| 64 | + String activityIntro = json.getString("activityIntro");//活动描述 | |
| 65 | + String playbackUrl = json.getString("playbackUrl");//回放地址 | |
| 66 | + String startTime = json.getString("startTime");//开始时间 | |
| 67 | + Date timestamp_start =null; | |
| 68 | + if (CommonUtils.isNotEmpty(startTime)) { | |
| 69 | + timestamp_start = new Timestamp(Long.valueOf(startTime)); | |
| 70 | + } | |
| 71 | + String endTime = json.getString("endTime");//结束时间 | |
| 72 | + Date timestamp_end =null; | |
| 73 | + if (CommonUtils.isNotEmpty(endTime)) { | |
| 74 | + timestamp_end = new Timestamp(Long.valueOf(endTime)); | |
| 75 | + } | |
| 76 | + | |
| 77 | + ShyLive shylive1 = new ShyLive(); | |
| 78 | + //得到直播活动id去查询是否已有 | |
| 79 | + shylive1.setActivity_id(activityId); | |
| 80 | + //查询一下 存在,更新 没有,插入 | |
| 81 | + List<ShyLive> listshyLive = liveService.findshyLive(shylive1); | |
| 82 | + | |
| 83 | + if (listshyLive.size() > 0) { | |
| 84 | + ShyLive shyLive = listshyLive.get(0); | |
| 85 | + //封装数据入库 | |
| 86 | + shylive1.setSp_id(spId);//设置spid | |
| 87 | + shyLive.setActivity_name(activityName);//设置直播活动名称 | |
| 88 | + shyLive.setActivity_status(activityStatus);//设置直播活动状态 | |
| 89 | + if(activityStatus==3){//发布直播 | |
| 90 | + shyLive.setActivity_start_time(timestamp_start); | |
| 91 | + shyLive.setActivity_end_time(timestamp_end); | |
| 92 | + shyLive.setIs_hot(2);//是否是热点: 1:不是 ,2: 是 | |
| 93 | + }else if(activityStatus==1){//启动直播 | |
| 94 | + shyLive.setActivity_start_time(CommonUtils.getCurrentTime()); | |
| 95 | + shyLive.setIs_hot(2);//是否是热点: 1:不是 ,2: 是 | |
| 96 | + }else if(activityStatus==2){//停止直播 | |
| 97 | + shyLive.setActivity_end_time(CommonUtils.getCurrentTime()); | |
| 98 | + shyLive.setPlayback_url(playbackUrl);//回放地址 | |
| 99 | + shyLive.setShenhe_state(2);//状态 0:未认领 1.已领未审,2:已审 | |
| 100 | + shyLive.setUpdater("自动通过");;//直播完成后自动通过 | |
| 101 | + shyLive.setIs_hot(1);//是否是热点: 1:不是 ,2: 是 | |
| 102 | + }else if(activityStatus==4){//审核强制下线 | |
| 103 | + shyLive.setActivity_end_time(CommonUtils.getCurrentTime()); | |
| 104 | + shyLive.setPlayback_url(playbackUrl);//回放地址 | |
| 105 | + shyLive.setIs_hot(1);//是否是热点: 1:不是 ,2: 是 | |
| 106 | + } | |
| 107 | + shyLive.setActivity_intro(activityIntro);//直播活动简介 | |
| 108 | + shyLive.setM3u8_url(hlsUrl);//m3u8直播流 | |
| 109 | + shyLive.setRtmp_url(mp4Url);//rtmp直播流 | |
| 110 | + shyLive.setCallback(callback);//回调地址 | |
| 111 | + shyLive.setCover_img_url(coverImgUrl);//封面 | |
| 112 | + shyLive.setShenhe_type(3);//审核类型,1:免审,2:机审,3:人工审 | |
| 113 | + shyLive.setAvsample_state(1);//抽帧状态 1:不抽帧 2:待抽帧 3:抽帧中 4:抽帧完成 5:抽帧失败 | |
| 114 | + if(activityStatus==0){//直播撤销 | |
| 115 | + shyLive.setIs_show(0);//是否显示 0:不显示 1:显示 | |
| 116 | + shyLive.setIs_hot(1);//是否是热点: 1:不是 ,2: 是 | |
| 117 | + }else{ | |
| 118 | + shyLive.setIs_show(1); | |
| 119 | + } | |
| 120 | + shyLive.setUpdated_at(CommonUtils.getCurrentTime());//更新时间 | |
| 121 | + | |
| 122 | + YorN = liveService.updateshyLive(shyLive); | |
| 123 | + }else{ | |
| 124 | + //查了,没有,直接插入数据库 | |
| 125 | + shylive1.setActivity_id(activityId);//设置直播活动id | |
| 126 | + shylive1.setActivity_name(activityName);//设置直播活动名称 | |
| 127 | + shylive1.setActivity_status(activityStatus);//设置直播活动状态 | |
| 128 | + shylive1.setChannel_id(channelId);//设置直播频道 | |
| 129 | + shylive1.setSp_id(spId);//设置spid | |
| 130 | + shylive1.setShenhe_state(0); //状态 0:未认领 1.已领未审,2:已审 | |
| 131 | + shylive1.setIs_hot(2);//是否是热点: 1:不是 ,2: 是 | |
| 132 | + if(activityStatus==3){//发布直播 | |
| 133 | + shylive1.setActivity_start_time(timestamp_start); | |
| 134 | + shylive1.setActivity_end_time(timestamp_end); | |
| 135 | + }else if(activityStatus==1){//启动直播 | |
| 136 | + shylive1.setActivity_start_time(CommonUtils.getCurrentTime()); | |
| 137 | + shylive1.setActivity_end_time(timestamp_end); | |
| 138 | + }else if(activityStatus==2){//停止直播 | |
| 139 | + shylive1.setActivity_start_time(timestamp_start); | |
| 140 | + shylive1.setActivity_end_time(CommonUtils.getCurrentTime()); | |
| 141 | + shylive1.setPlayback_url(playbackUrl);//回放地址 | |
| 142 | + shylive1.setShenhe_state(2); //状态 0:未认领 1.已领未审,2:已审 | |
| 143 | + shylive1.setUpdater("自动通过");;//直播完成后自动通过 | |
| 144 | + shylive1.setIs_hot(1);//是否是热点: 1:不是 ,2: 是 | |
| 145 | + }else if(activityStatus==4){//审核强制下线 | |
| 146 | + shylive1.setActivity_start_time(timestamp_start); | |
| 147 | + shylive1.setActivity_end_time(CommonUtils.getCurrentTime()); | |
| 148 | + shylive1.setPlayback_url(playbackUrl);//回放地址 | |
| 149 | + shylive1.setShenhe_state(2); //状态 0:未认领 1.已领未审,2:已审 | |
| 150 | + shylive1.setIs_hot(1);//是否是热点: 1:不是 ,2: 是 | |
| 151 | + } | |
| 152 | + shylive1.setActivity_intro(activityIntro);//直播活动简介 | |
| 153 | + shylive1.setM3u8_url(hlsUrl);//m3u8直播流 | |
| 154 | + shylive1.setRtmp_url(mp4Url);//rtmp直播流 | |
| 155 | + shylive1.setCallback(callback);//回调地址 | |
| 156 | + shylive1.setCover_img_url(coverImgUrl);//封面 | |
| 157 | + shylive1.setShenhe_type(3);//审核类型,1:免审,2:机审,3:人工审 | |
| 158 | + shylive1.setAvsample_state(1);//抽帧状态 1:不抽帧 2:待抽帧 3:抽帧中 4:抽帧完成 5:抽帧失败 | |
| 159 | + if(activityStatus==0){//直播撤销 | |
| 160 | + shylive1.setIs_show(0);//是否显示 0:不显示 1:显示 | |
| 161 | + shylive1.setIs_hot(1);//是否是热点: 1:不是 ,2: 是 | |
| 162 | + }else{ | |
| 163 | + shylive1.setIs_show(1); | |
| 164 | + } | |
| 165 | + | |
| 166 | + shylive1.setCreated_at(CommonUtils.getCurrentTime());//创建时间 | |
| 167 | + shylive1.setUpdated_at(CommonUtils.getCurrentTime());//更新时间 | |
| 168 | + | |
| 169 | + YorN = liveService.impotVideo(shylive1); | |
| 170 | + } | |
| 171 | + | |
| 172 | + if (YorN == true) { | |
| 173 | + result.put("errorCode", "0"); | |
| 174 | + result.put("errorMessage", "直播审核请求收到成功"); | |
| 175 | + map.put("statusCode", "200"); | |
| 176 | + map.put("result", result); | |
| 177 | + } else { | |
| 178 | + result.put("errorCode", "-1"); | |
| 179 | + result.put("errorMessage", "直播审核入库失败"); | |
| 180 | + map.put("statusCode", "300"); | |
| 181 | + map.put("result", result); | |
| 182 | + } | |
| 183 | + return map; | |
| 184 | + } | |
| 185 | + | |
| 186 | + | |
| 187 | + @RequestMapping(value = "callbackLiveResult", method = RequestMethod.POST) | |
| 188 | + @ResponseBody | |
| 189 | + public void getFilterVideoResult(@RequestBody String json) { | |
| 190 | + logger.info("数美视频过滤回调,json:{}", json); | |
| 191 | + if (StringUtils.isNotEmpty(json)) { | |
| 192 | + JSONObject jsonObj = JSON.parseObject(json); | |
| 193 | + JSONObject resultObj = jsonObj.getJSONObject("result"); | |
| 194 | + Integer code = resultObj.getInteger("code"); | |
| 195 | + if (code != null && code == 1100) { | |
| 196 | + String riskLevel = resultObj.getString("riskLevel"); | |
| 197 | + if ("PASS".equals(riskLevel)) { | |
| 198 | + | |
| 199 | + } | |
| 200 | + if ("REJECT".equals(riskLevel)) { | |
| 201 | + JSONObject detail = resultObj.getJSONObject("detail"); | |
| 202 | + logger.info("数美视频回调--REJECT,detail:{}", detail); | |
| 203 | +// resultObj.put("desc", | |
| 204 | +// String.format("(%s-%s)", detail.getString("description"), detail.getString("matchedItem"))); | |
| 205 | + } | |
| 206 | + | |
| 207 | + if ("REVIEW".equals(riskLevel)) { | |
| 208 | + } | |
| 209 | + }else{ | |
| 210 | + //数美请求结果code为失败状态 | |
| 211 | +// jsonObj.put("type", "REJECT"); | |
| 212 | +// jsonObj.put("desc","code:"+code+",message:"+resultObj.getString("message") ); | |
| 213 | + } | |
| 214 | + } | |
| 215 | + } | |
| 216 | + | |
| 217 | + /** | |
| 218 | + * 测试视频流 | |
| 219 | + * @param videoStream | |
| 220 | + */ | |
| 221 | + @RequestMapping(value="ceshiVideo") | |
| 222 | + @ResponseBody | |
| 223 | + public void ceshiVideo(String videoStream){ | |
| 224 | + //调用数美接口 | |
| 225 | + JSONObject result = AntiFraudUtil.filterVideoStream(videoStream, UUID.randomUUID().toString(), "测试流的名称", ""); | |
| 226 | + logger.info("code="+result.getString("code")); | |
| 227 | + logger.info("requestId="+result.getString("requestId")); | |
| 228 | + logger.error("直播流开始测试,result:{}", result); | |
| 229 | + } | |
| 230 | + | |
| 231 | + /** | |
| 232 | + * 测试视频流 | |
| 233 | + * @param videoStream | |
| 234 | + */ | |
| 235 | + @RequestMapping(value="ceshiFinishVideo") | |
| 236 | + @ResponseBody | |
| 237 | + public void ceshiFinishVideo(String url,String requestId){ | |
| 238 | + //调用数美接口 | |
| 239 | + JSONObject result = AntiFraudUtil.finishVideoStream(url,requestId); | |
| 240 | + logger.info("code="+result.getString("code")); | |
| 241 | + logger.info("requestId="+result.getString("requestId")); | |
| 242 | + logger.error("直播流结束测试,result:{}", result); | |
| 243 | + } | |
| 244 | + | |
| 245 | + /** | |
| 246 | + * 测试视频流 | |
| 247 | + * @param videoStream | |
| 248 | + */ | |
| 249 | + @RequestMapping(value="queryVideo") | |
| 250 | + @ResponseBody | |
| 251 | + public void queryVideo(){ | |
| 252 | + //调用数美接口 | |
| 253 | + JSONObject result = AntiFraudUtil.queryVideoStreamResult(); | |
| 254 | + logger.info("code="+result.getString("code")); | |
| 255 | + logger.info("requestId="+result.getString("requestId")); | |
| 256 | + logger.error("直播流查询,result:{}", result); | |
| 257 | + } | |
| 258 | + | |
| 259 | + | |
| 260 | +} | ... | ... |
src/main/java/com/cnlive/shenhe/api/VideoStreamCallbackApi.java deleted
100644 → 0
| 1 | -package com.cnlive.shenhe.api; | |
| 2 | - | |
| 3 | -import com.alibaba.fastjson.JSON; | |
| 4 | -import com.alibaba.fastjson.JSONArray; | |
| 5 | -import com.alibaba.fastjson.JSONObject; | |
| 6 | -import com.cnlive.shenhe.utils.AntiFraudUtil; | |
| 7 | - | |
| 8 | -import java.util.UUID; | |
| 9 | - | |
| 10 | -import org.apache.commons.lang3.StringUtils; | |
| 11 | -import org.slf4j.Logger; | |
| 12 | -import org.slf4j.LoggerFactory; | |
| 13 | -import org.springframework.stereotype.Controller; | |
| 14 | -import org.springframework.web.bind.annotation.RequestBody; | |
| 15 | -import org.springframework.web.bind.annotation.RequestMapping; | |
| 16 | -import org.springframework.web.bind.annotation.RequestMethod; | |
| 17 | -import org.springframework.web.bind.annotation.ResponseBody; | |
| 18 | -import com.cnlive.shenhe.utils.AntiFraudUtil; | |
| 19 | - | |
| 20 | - | |
| 21 | -@SuppressWarnings("unused") | |
| 22 | -@Controller | |
| 23 | -@RequestMapping("/api/videoStream") | |
| 24 | -public class VideoStreamCallbackApi { | |
| 25 | - private static Logger logger = LoggerFactory.getLogger(VideoStreamCallbackApi.class); | |
| 26 | - | |
| 27 | - @RequestMapping(value = "callbackVideoStreamResult", method = RequestMethod.POST) | |
| 28 | - @ResponseBody | |
| 29 | - public void getFilterVideoResult(@RequestBody String json) { | |
| 30 | - logger.info("数美视频过滤回调,json:{}", json); | |
| 31 | - if (StringUtils.isNotEmpty(json)) { | |
| 32 | - JSONObject jsonObj = JSON.parseObject(json); | |
| 33 | - JSONObject resultObj = jsonObj.getJSONObject("result"); | |
| 34 | - Integer code = resultObj.getInteger("code"); | |
| 35 | - if (code != null && code == 1100) { | |
| 36 | - String riskLevel = resultObj.getString("riskLevel"); | |
| 37 | - if ("PASS".equals(riskLevel)) { | |
| 38 | - | |
| 39 | - } | |
| 40 | - if ("REJECT".equals(riskLevel)) { | |
| 41 | - JSONObject detail = resultObj.getJSONObject("detail"); | |
| 42 | - logger.info("数美视频回调--REJECT,detail:{}", detail); | |
| 43 | -// resultObj.put("desc", | |
| 44 | -// String.format("(%s-%s)", detail.getString("description"), detail.getString("matchedItem"))); | |
| 45 | - } | |
| 46 | - | |
| 47 | - if ("REVIEW".equals(riskLevel)) { | |
| 48 | - } | |
| 49 | - }else{ | |
| 50 | - //数美请求结果code为失败状态 | |
| 51 | -// jsonObj.put("type", "REJECT"); | |
| 52 | -// jsonObj.put("desc","code:"+code+",message:"+resultObj.getString("message") ); | |
| 53 | - } | |
| 54 | - } | |
| 55 | - } | |
| 56 | - | |
| 57 | - /** | |
| 58 | - * 测试视频流 | |
| 59 | - * @param videoStream | |
| 60 | - */ | |
| 61 | - @RequestMapping(value="ceshiVideo") | |
| 62 | - @ResponseBody | |
| 63 | - public void ceshiVideo(String videoStream){ | |
| 64 | - //调用数美接口 | |
| 65 | - JSONObject result = AntiFraudUtil.filterVideoStream(videoStream, UUID.randomUUID().toString(), "测试流的名称", ""); | |
| 66 | - logger.info("code="+result.getString("code")); | |
| 67 | - logger.info("requestId="+result.getString("requestId")); | |
| 68 | - logger.error("直播流开始测试,result:{}", result); | |
| 69 | - } | |
| 70 | - | |
| 71 | - /** | |
| 72 | - * 测试视频流 | |
| 73 | - * @param videoStream | |
| 74 | - */ | |
| 75 | - @RequestMapping(value="ceshiFinishVideo") | |
| 76 | - @ResponseBody | |
| 77 | - public void ceshiFinishVideo(String url,String requestId){ | |
| 78 | - //调用数美接口 | |
| 79 | - JSONObject result = AntiFraudUtil.finishVideoStream(url,requestId); | |
| 80 | - logger.info("code="+result.getString("code")); | |
| 81 | - logger.info("requestId="+result.getString("requestId")); | |
| 82 | - logger.error("直播流结束测试,result:{}", result); | |
| 83 | - } | |
| 84 | - | |
| 85 | - /** | |
| 86 | - * 测试视频流 | |
| 87 | - * @param videoStream | |
| 88 | - */ | |
| 89 | - @RequestMapping(value="queryVideo") | |
| 90 | - @ResponseBody | |
| 91 | - public void queryVideo(){ | |
| 92 | - //调用数美接口 | |
| 93 | - JSONObject result = AntiFraudUtil.queryVideoStreamResult(); | |
| 94 | - logger.info("code="+result.getString("code")); | |
| 95 | - logger.info("requestId="+result.getString("requestId")); | |
| 96 | - logger.error("直播流查询,result:{}", result); | |
| 97 | - } | |
| 98 | - | |
| 99 | - | |
| 100 | -} |
src/main/java/com/cnlive/shenhe/controller/ContentController.java
| ... | ... | @@ -6,6 +6,7 @@ import com.cnlive.shenhe.bean.ResponseBean; |
| 6 | 6 | import com.cnlive.shenhe.bean.SessionUser; |
| 7 | 7 | import com.cnlive.shenhe.entity.ShyComments; |
| 8 | 8 | import com.cnlive.shenhe.entity.ShyContent; |
| 9 | +import com.cnlive.shenhe.entity.ShyLive; | |
| 9 | 10 | import com.cnlive.shenhe.entity.ShySites; |
| 10 | 11 | import com.cnlive.shenhe.entity.ShyUsers; |
| 11 | 12 | import com.cnlive.shenhe.entity.ShyVideos; |
| ... | ... | @@ -17,6 +18,11 @@ import com.cnlive.shenhe.utils.AuditPass; |
| 17 | 18 | import com.cnlive.shenhe.utils.CommonConst; |
| 18 | 19 | import com.cnlive.shenhe.utils.CommonUtils; |
| 19 | 20 | import com.github.pagehelper.PageInfo; |
| 21 | + | |
| 22 | +import org.apache.poi.xssf.usermodel.XSSFCell; | |
| 23 | +import org.apache.poi.xssf.usermodel.XSSFRow; | |
| 24 | +import org.apache.poi.xssf.usermodel.XSSFSheet; | |
| 25 | +import org.apache.poi.xssf.usermodel.XSSFWorkbook; | |
| 20 | 26 | import org.slf4j.Logger; |
| 21 | 27 | import org.slf4j.LoggerFactory; |
| 22 | 28 | import org.springframework.beans.factory.annotation.Autowired; |
| ... | ... | @@ -24,7 +30,15 @@ import org.springframework.stereotype.Controller; |
| 24 | 30 | import org.springframework.ui.Model; |
| 25 | 31 | import org.springframework.web.bind.annotation.*; |
| 26 | 32 | |
| 33 | +import javax.servlet.ServletOutputStream; | |
| 34 | +import javax.servlet.http.HttpServletResponse; | |
| 27 | 35 | import javax.servlet.http.HttpSession; |
| 36 | + | |
| 37 | +import java.io.BufferedInputStream; | |
| 38 | +import java.io.BufferedOutputStream; | |
| 39 | +import java.io.ByteArrayInputStream; | |
| 40 | +import java.io.ByteArrayOutputStream; | |
| 41 | +import java.io.InputStream; | |
| 28 | 42 | import java.util.Date; |
| 29 | 43 | import java.util.List; |
| 30 | 44 | |
| ... | ... | @@ -206,5 +220,202 @@ public class ContentController { |
| 206 | 220 | return new ResponseBean(ErrorEnum.SUCCESS.getErrorCode(), "退领了" + n + "条内容"); |
| 207 | 221 | } |
| 208 | 222 | |
| 209 | - | |
| 223 | + /** | |
| 224 | + * 根据条件导出excel | |
| 225 | + */ | |
| 226 | + @GetMapping("excel") | |
| 227 | + public void getExcel( String title,String contentId, | |
| 228 | + String start_date, String end_date, Integer receive_status, String sp_desc, | |
| 229 | + Integer page, Integer pageSize, String orderByClause, HttpSession session,HttpServletResponse response) { | |
| 230 | + SessionUser sessionUser = (SessionUser) session.getAttribute(SessionUser.getSessionKey()); | |
| 231 | + Integer spid = sessionUser.getSpid(); | |
| 232 | + String userId = sessionUser.getUserId(); | |
| 233 | + if (CommonUtils.isNotEmpty(sp_desc) && spid == 0) { | |
| 234 | + ShySites shySite=sitesService.findspidBySpdesc(sp_desc); | |
| 235 | + if(CommonUtils.isNotNull(shySite)){ | |
| 236 | + spid = shySite.getSpid(); | |
| 237 | + } | |
| 238 | + }else if (CommonUtils.isEmpty(sp_desc) && spid == 0) { | |
| 239 | + spid = null; | |
| 240 | + } | |
| 241 | + Date sDate = null; | |
| 242 | + Date eDate = null; | |
| 243 | + | |
| 244 | + if (CommonUtils.isNotEmpty(start_date)) { | |
| 245 | + try { | |
| 246 | + sDate = CommonUtils.parseDate(start_date, "yyyy-MM-dd"); | |
| 247 | + } catch (Exception e) { | |
| 248 | + } | |
| 249 | + } | |
| 250 | + if (CommonUtils.isNotEmpty(end_date)) { | |
| 251 | + try { | |
| 252 | + eDate = CommonUtils.parseDate(end_date, "yyyy-MM-dd"); | |
| 253 | + } catch (Exception e) { | |
| 254 | + } | |
| 255 | + } | |
| 256 | + List<ShyContent> contentList = contentService.findByCondition(title,contentId, sDate, eDate, receive_status, page, pageSize, orderByClause, spid); | |
| 257 | + | |
| 258 | + String fileName = "图文数据"; | |
| 259 | + | |
| 260 | + XSSFWorkbook wb = new XSSFWorkbook(); | |
| 261 | + ServletOutputStream out = null; | |
| 262 | + BufferedInputStream bis = null; | |
| 263 | + BufferedOutputStream bos = null; | |
| 264 | + try { | |
| 265 | + XSSFSheet sheetlist = wb.createSheet(fileName); | |
| 266 | + XSSFRow row = sheetlist.createRow(0);//行 | |
| 267 | + XSSFCell cell = row.createCell(0);//列 | |
| 268 | + cell.setCellValue("id"); | |
| 269 | + cell = row.createCell(1);//列 | |
| 270 | + cell.setCellValue("sp昵称"); | |
| 271 | + cell = row.createCell(2);//列 | |
| 272 | + cell.setCellValue("发布云id"); | |
| 273 | + cell = row.createCell(3);//列 | |
| 274 | + cell.setCellValue("内容标题"); | |
| 275 | + cell = row.createCell(4);//列 | |
| 276 | + cell.setCellValue("图文标签"); | |
| 277 | + cell = row.createCell(5);//列 | |
| 278 | + cell.setCellValue("审核类型"); | |
| 279 | + cell = row.createCell(6);//列 | |
| 280 | + cell.setCellValue("内容状态"); | |
| 281 | + cell = row.createCell(7);//列 | |
| 282 | + cell.setCellValue("图文创建时间"); | |
| 283 | + cell = row.createCell(8);//列 | |
| 284 | + cell.setCellValue("图文送审时间"); | |
| 285 | + cell = row.createCell(9);//列 | |
| 286 | + cell.setCellValue("领取状态"); | |
| 287 | + cell = row.createCell(10);//列 | |
| 288 | + cell.setCellValue("审核人"); | |
| 289 | + cell = row.createCell(11);//列 | |
| 290 | + cell.setCellValue("审核意见"); | |
| 291 | + cell = row.createCell(12);//列 | |
| 292 | + cell.setCellValue("来源"); | |
| 293 | + cell = row.createCell(13);//列 | |
| 294 | + cell.setCellValue("作者"); | |
| 295 | + cell = row.createCell(14);//列 | |
| 296 | + cell.setCellValue("图文url"); | |
| 297 | + | |
| 298 | + for (int i = 0; i < contentList.size(); i++) { | |
| 299 | + row = sheetlist.createRow((short) (i + 1));//行 | |
| 300 | + cell = row.createCell(0);//列 | |
| 301 | + cell.setCellValue(contentList.get(i).getId()); | |
| 302 | + cell = row.createCell(1);//列 | |
| 303 | + cell.setCellValue(sitesService.findspidDescByspid(contentList.get(i).getSp_id()).getName()); | |
| 304 | + cell = row.createCell(2);//列 | |
| 305 | + cell.setCellValue(contentList.get(i).getContent_id()); | |
| 306 | + cell = row.createCell(3);//列 | |
| 307 | + cell.setCellValue(contentList.get(i).getTitle()); | |
| 308 | + cell = row.createCell(4);//列 | |
| 309 | + cell.setCellValue(contentList.get(i).getContent_tag()); | |
| 310 | + | |
| 311 | + /*状态需要处理成用户可读*/ | |
| 312 | + String shenheType = "";//审核类型,1:免审,2:机审,3:人工审 | |
| 313 | + if (contentList.get(i).getShenhe_type() == 1) { | |
| 314 | + shenheType = "免审"; | |
| 315 | + } else if (contentList.get(i).getShenhe_type() == 2) { | |
| 316 | + shenheType = "机审"; | |
| 317 | + } else { | |
| 318 | + shenheType = "人工审"; | |
| 319 | + } | |
| 320 | + cell = row.createCell(5);//列 | |
| 321 | + cell.setCellValue(shenheType); | |
| 322 | + | |
| 323 | + /*状态需要处理成用户可读*/ | |
| 324 | + String contentStatus = "";//内容状态:0:待发布,1:已发布,2:已下线,3:已删除 | |
| 325 | + if (contentList.get(i).getContent_status() == 0) { | |
| 326 | + contentStatus = "待发布"; | |
| 327 | + } else if (contentList.get(i).getContent_status() == 1) { | |
| 328 | + contentStatus = "已发布"; | |
| 329 | + } else if(contentList.get(i).getContent_status() == 2){ | |
| 330 | + contentStatus = "已下线"; | |
| 331 | + }else if(contentList.get(i).getContent_status() == 3){ | |
| 332 | + contentStatus = "已删除"; | |
| 333 | + } | |
| 334 | + | |
| 335 | + cell = row.createCell(6);//列 | |
| 336 | + cell.setCellValue(contentStatus); | |
| 337 | + cell = row.createCell(7);//列 | |
| 338 | + cell.setCellValue(CommonUtils.formatDate(contentList.get(i).getContent_time(), "yyyy-MM-dd HH:mm:ss")); | |
| 339 | + cell = row.createCell(8);//列 | |
| 340 | + cell.setCellValue(CommonUtils.formatDate(contentList.get(i).getCreate_date(), "yyyy-MM-dd HH:mm:ss")); | |
| 341 | + | |
| 342 | + /*状态需要处理成用户可读*/ | |
| 343 | + String receiveStatus = "";//领取状态。0:未领取;1:已领取,2:已审核 | |
| 344 | + if (contentList.get(i).getReceive_status() == 1) { | |
| 345 | + receiveStatus = "已领取"; | |
| 346 | + } else if (contentList.get(i).getReceive_status() == 2) { | |
| 347 | + receiveStatus = "已审核"; | |
| 348 | + } else { | |
| 349 | + receiveStatus = "未领取"; | |
| 350 | + } | |
| 351 | + | |
| 352 | + cell = row.createCell(9);//列 | |
| 353 | + cell.setCellValue(receiveStatus); | |
| 354 | + | |
| 355 | + /* 审核员需要做处理*/ | |
| 356 | + String updater = "";//审核员名字 | |
| 357 | + if (contentList.get(i).getReceive_status() != CommonConst.RECEIVE_BEFORE) { | |
| 358 | + updater = CommonUtils.isEmpty(contentList.get(i).getUpdater()) || "null".equals(contentList.get(i).getUpdater())? "自动通过":contentList.get(i).getUpdater(); | |
| 359 | + String auditor_id = contentList.get(i).getAuditor_id(); | |
| 360 | + if (CommonUtils.isNotEmpty(auditor_id)) { | |
| 361 | + ShyUsers user = new ShyUsers(); | |
| 362 | + user.setUser_id(auditor_id); | |
| 363 | + user = usersService.select(user); | |
| 364 | + if (CommonUtils.isNotNull(user)) { | |
| 365 | + String email = CommonUtils.isEmpty(user.getEmail()) || "null".equals(user.getEmail()) ? "" : user.getEmail(); | |
| 366 | + String userName = CommonUtils.isEmpty(user.getUsername()) ? email : user.getUsername(); | |
| 367 | + updater = userName ; | |
| 368 | + } | |
| 369 | + } | |
| 370 | + } | |
| 371 | + cell = row.createCell(10);//列 | |
| 372 | + cell.setCellValue(updater); | |
| 373 | + | |
| 374 | + | |
| 375 | + | |
| 376 | + cell = row.createCell(11);//列 | |
| 377 | + cell.setCellValue(contentList.get(i).getShenhe_msg()); | |
| 378 | + cell = row.createCell(12);//列 | |
| 379 | + cell.setCellValue(contentList.get(i).getSource()); | |
| 380 | + cell = row.createCell(13);//列 | |
| 381 | + cell.setCellValue(contentList.get(i).getAuthor()); | |
| 382 | + cell = row.createCell(14);//列 | |
| 383 | + cell.setCellValue(contentList.get(i).getContent_url()); | |
| 384 | + } | |
| 385 | + | |
| 386 | + ByteArrayOutputStream os = new ByteArrayOutputStream(); | |
| 387 | + wb.write(os); | |
| 388 | + byte[] content = os.toByteArray(); | |
| 389 | + InputStream is = new ByteArrayInputStream(content); | |
| 390 | + response.setContentType("application/vnd.ms-excel;charset=utf-8"); | |
| 391 | + response.setHeader("Content-Disposition", "attachment;filename=" + new String((fileName + ".xlsx").getBytes(), "iso-8859-1")); | |
| 392 | + out = response.getOutputStream(); | |
| 393 | + bis = new BufferedInputStream(is); | |
| 394 | + bos = new BufferedOutputStream(out); | |
| 395 | + byte[] buff = new byte[2048]; | |
| 396 | + int bytesRead; | |
| 397 | + while (-1 != (bytesRead = bis.read(buff, 0, buff.length))) { | |
| 398 | + bos.write(buff, 0, bytesRead); | |
| 399 | + } | |
| 400 | + } catch (final Exception e) { | |
| 401 | + e.printStackTrace(); | |
| 402 | + try { | |
| 403 | + if (bis != null) | |
| 404 | + bis.close(); | |
| 405 | + if (bos != null) | |
| 406 | + bos.close(); | |
| 407 | + } catch (Exception e1) { | |
| 408 | + e1.printStackTrace(); | |
| 409 | + } | |
| 410 | + } finally { | |
| 411 | + try { | |
| 412 | + if (bis != null) | |
| 413 | + bis.close(); | |
| 414 | + if (bos != null) | |
| 415 | + bos.close(); | |
| 416 | + } catch (Exception e2) { | |
| 417 | + e2.printStackTrace(); | |
| 418 | + } | |
| 419 | + } | |
| 420 | + } | |
| 210 | 421 | } | ... | ... |
src/main/java/com/cnlive/shenhe/controller/LiveController.java
0 → 100644
| 1 | +package com.cnlive.shenhe.controller; | |
| 2 | + | |
| 3 | +import org.apache.poi.xssf.usermodel.XSSFCell; | |
| 4 | +import org.apache.poi.xssf.usermodel.XSSFRow; | |
| 5 | +import org.apache.poi.xssf.usermodel.XSSFSheet; | |
| 6 | +import org.apache.poi.xssf.usermodel.XSSFWorkbook; | |
| 7 | +import com.alibaba.fastjson.JSON; | |
| 8 | +import com.alibaba.fastjson.JSONObject; | |
| 9 | +import com.cnlive.shenhe.bean.ErrorEnum; | |
| 10 | +import com.cnlive.shenhe.bean.ResponseBean; | |
| 11 | +import com.cnlive.shenhe.bean.SessionUser; | |
| 12 | +import com.cnlive.shenhe.entity.ShyLive; | |
| 13 | +import com.cnlive.shenhe.entity.ShySites; | |
| 14 | +import com.cnlive.shenhe.entity.ShyUsers; | |
| 15 | +import com.cnlive.shenhe.entity.ShyVideos; | |
| 16 | +import com.cnlive.shenhe.serviceImpl.LiveServiceImpl; | |
| 17 | +import com.cnlive.shenhe.serviceImpl.SitesServiceImpl; | |
| 18 | +import com.cnlive.shenhe.serviceImpl.UsersServiceImpl; | |
| 19 | +import com.cnlive.shenhe.serviceImpl.VideosServiceImpl; | |
| 20 | +import com.cnlive.shenhe.utils.AuditPass; | |
| 21 | +import com.cnlive.shenhe.utils.CommonConst; | |
| 22 | +import com.cnlive.shenhe.utils.CommonUtils; | |
| 23 | +import com.github.pagehelper.PageInfo; | |
| 24 | +import org.slf4j.Logger; | |
| 25 | +import org.slf4j.LoggerFactory; | |
| 26 | +import org.springframework.beans.factory.annotation.Autowired; | |
| 27 | +import org.springframework.beans.factory.annotation.Value; | |
| 28 | +import org.springframework.stereotype.Controller; | |
| 29 | +import org.springframework.ui.Model; | |
| 30 | +import org.springframework.web.bind.annotation.GetMapping; | |
| 31 | +import org.springframework.web.bind.annotation.PostMapping; | |
| 32 | +import org.springframework.web.bind.annotation.RequestMapping; | |
| 33 | +import org.springframework.web.bind.annotation.ResponseBody; | |
| 34 | + | |
| 35 | +import javax.servlet.ServletOutputStream; | |
| 36 | +import javax.servlet.http.HttpServletResponse; | |
| 37 | +import javax.servlet.http.HttpSession; | |
| 38 | +import java.io.*; | |
| 39 | +import java.util.List; | |
| 40 | + | |
| 41 | +@Controller | |
| 42 | +@RequestMapping("/live") | |
| 43 | +public class LiveController { | |
| 44 | + private static Logger logger = LoggerFactory.getLogger(LiveController.class); | |
| 45 | + @Autowired | |
| 46 | + AuditPass Pass; | |
| 47 | + @Autowired | |
| 48 | + VideosServiceImpl videosService; | |
| 49 | + @Autowired | |
| 50 | + UsersServiceImpl usersService; | |
| 51 | + @Autowired | |
| 52 | + SitesServiceImpl sitesService; | |
| 53 | + @Autowired | |
| 54 | + LiveServiceImpl liveService; | |
| 55 | + | |
| 56 | + @Value("${qn_domain}") | |
| 57 | + String qn_domain; | |
| 58 | + | |
| 59 | + @Value("${ks_domain}") | |
| 60 | + String ks_domain; | |
| 61 | + | |
| 62 | + /** | |
| 63 | + * 审核信息返回接口 | |
| 64 | + * | |
| 65 | + * @param activity_id 视频id | |
| 66 | + * @param state 状态码 | |
| 67 | + * @param attr_tags 标签 | |
| 68 | + * @param msg 备注信息 | |
| 69 | + * @return | |
| 70 | + */ | |
| 71 | + @PostMapping("/shenheVideo") | |
| 72 | + @ResponseBody | |
| 73 | + public ResponseBean shenheInfo(Integer id, String activity_id, Integer state, String attr_tags, String msg, String callback, HttpSession session) { | |
| 74 | + SessionUser sessionUser = (SessionUser) session.getAttribute(SessionUser.getSessionKey()); | |
| 75 | + String userId = sessionUser.getUserId(); | |
| 76 | +// ShyVideos shyVideos = videosService.selectByPrimaryKey(id); | |
| 77 | +// if (shyVideos.getReceive() && CommonUtils.isNotEmpty(shyVideos.getReceive_user_id()) && userId.equals(shyVideos.getReceive_user_id())) { | |
| 78 | + JSONObject result = null; | |
| 79 | + try { | |
| 80 | + result = Pass.auditPass(activity_id, state, attr_tags, msg, callback); | |
| 81 | + } catch (Exception e) { | |
| 82 | + e.printStackTrace(); | |
| 83 | + System.out.println("视频审核失败"); | |
| 84 | + return new ResponseBean(ErrorEnum.ERROR); | |
| 85 | + } | |
| 86 | + if (result == null) { | |
| 87 | + System.out.println("视频审核失败且接口错误没有返回信息"); | |
| 88 | + return new ResponseBean(ErrorEnum.ERROR); | |
| 89 | + } | |
| 90 | + Integer code = result.getInteger("code"); | |
| 91 | + if (code != 0) { | |
| 92 | + System.out.println("审核失败,code==" + code); | |
| 93 | + return new ResponseBean(code, result.getString("msg")); | |
| 94 | + } | |
| 95 | + state = state == 4 ? 2 : 1; | |
| 96 | + int i = videosService.updateVideo(id, userId,null,attr_tags, state, msg); | |
| 97 | + if (i == 0) { | |
| 98 | + return new ResponseBean(ErrorEnum.ERROR); | |
| 99 | + } | |
| 100 | + return new ResponseBean(ErrorEnum.SUCCESS); | |
| 101 | +// } | |
| 102 | +// logger.error("领取逻辑不符,不能审核,Video_id:{}", shyVideos.getVideo_id()); | |
| 103 | +// return new ResponseBean(ErrorEnum.ERROR.getErrorCode(), "领取逻辑不符,不能审核"); | |
| 104 | + } | |
| 105 | + | |
| 106 | + /** | |
| 107 | + * 内容分页列表接口 | |
| 108 | + * | |
| 109 | + * @param video_title | |
| 110 | + * @param start_date | |
| 111 | + * @param end_date | |
| 112 | + * @param state | |
| 113 | + * @param page | |
| 114 | + * @param pageSize | |
| 115 | + * @param orderByClause | |
| 116 | + * @return | |
| 117 | + */ | |
| 118 | + @GetMapping("/page") | |
| 119 | + public Object getListVideos(Model model,String activity_id,String start_date,String end_date, | |
| 120 | + String activity_name, Integer activity_status, Integer page,Integer pageSize, | |
| 121 | + Integer shenhe_state, String orderByClause, String sp_desc, HttpSession session) { | |
| 122 | + SessionUser sessionUser = (SessionUser) session.getAttribute(SessionUser.getSessionKey()); | |
| 123 | + if(CommonUtils.isNull(sessionUser)){ | |
| 124 | + return "redirect:/users/login"; | |
| 125 | + } | |
| 126 | + Integer spid = sessionUser.getSpid(); | |
| 127 | + String userId = sessionUser.getUserId(); | |
| 128 | + if (CommonUtils.isNull(page)) page = 1; | |
| 129 | + if (CommonUtils.isNull(pageSize)) pageSize = 30; | |
| 130 | + if (CommonUtils.isNotEmpty(sp_desc) && spid == 0) { | |
| 131 | + ShySites shySite=sitesService.findspidBySpdesc(sp_desc); | |
| 132 | + if(CommonUtils.isNotNull(shySite)){ | |
| 133 | + spid = shySite.getSpid(); | |
| 134 | + }else{ | |
| 135 | + return "page/sitesError.html"; | |
| 136 | + } | |
| 137 | + } else if (CommonUtils.isEmpty(sp_desc) && spid == 0) { | |
| 138 | + spid = null; | |
| 139 | + } | |
| 140 | + PageInfo<ShyLive> livePage = liveService.getListContent(activity_name, start_date,end_date, | |
| 141 | + activity_id, activity_status, page, pageSize, shenhe_state, orderByClause, spid, userId); | |
| 142 | + List<ShyLive> list = livePage.getList(); | |
| 143 | + if (!list.isEmpty()) { | |
| 144 | + for (ShyLive live : list) { | |
| 145 | + //显示spid简称 | |
| 146 | + ShySites shySites = sitesService.findspidDescByspid(live.getSp_id()); | |
| 147 | + if (CommonUtils.isNotNull(shySites)) { | |
| 148 | + live.setSpid_desc(shySites.getName()); | |
| 149 | + } | |
| 150 | + } | |
| 151 | + } | |
| 152 | + model.addAttribute("livePage", livePage); | |
| 153 | + return "page/live.html"; | |
| 154 | + } | |
| 155 | + | |
| 156 | + /** | |
| 157 | + * 内容详情页接口(查看) | |
| 158 | + * | |
| 159 | + * @param id | |
| 160 | + * @return | |
| 161 | + */ | |
| 162 | + @GetMapping("/details") | |
| 163 | + public Object getDetailsLive(Model model, Integer id) { | |
| 164 | + ShyLive live = liveService.getDetailsLive(id); | |
| 165 | + | |
| 166 | + //显示spid简称 | |
| 167 | + ShySites shySites = sitesService.findspidDescByspid(live.getSp_id()); | |
| 168 | + if (CommonUtils.isNotNull(shySites)) { | |
| 169 | + live.setSpid_desc(shySites.getName()); | |
| 170 | + } | |
| 171 | + | |
| 172 | + model.addAttribute("live", live); | |
| 173 | + | |
| 174 | + return "page/liveDetail.html"; | |
| 175 | + } | |
| 176 | + | |
| 177 | + /** | |
| 178 | + * 认领 | |
| 179 | + * | |
| 180 | + * @param ids 根据id认领 | |
| 181 | + * @param num 认领条数 | |
| 182 | + * @param session | |
| 183 | + * @return | |
| 184 | + */ | |
| 185 | + @PostMapping("/receive") | |
| 186 | + @ResponseBody | |
| 187 | + public ResponseBean receive(String ids, Integer num, HttpSession session) { | |
| 188 | + SessionUser sessionUser = (SessionUser) session.getAttribute(SessionUser.getSessionKey()); | |
| 189 | + String userId = sessionUser.getUserId(); | |
| 190 | + Integer spid = sessionUser.getSpid(); | |
| 191 | + //领取时要检查领取的数据是否可以领 | |
| 192 | + if (CommonUtils.isNotEmpty(ids)) { | |
| 193 | + String[] cids = ids.split(","); | |
| 194 | + for (String cid : cids) { | |
| 195 | + ShyLive shyLive = liveService.selectByPrimaryKey(Integer.parseInt(cid)); | |
| 196 | + if (CommonUtils.isNotNull(shyLive)) { | |
| 197 | + if (shyLive.getShenhe_state() != CommonConst.RECEIVE_BEFORE ) { | |
| 198 | + return new ResponseBean(ErrorEnum.ERROR.getErrorCode(), "您领取的内容中有已被领取或者已经被审核,请检查并重试"); | |
| 199 | + } | |
| 200 | + } else { | |
| 201 | + return new ResponseBean(ErrorEnum.ERROR.getErrorCode(), "您领取的内容不存在,请检查并重试"); | |
| 202 | + | |
| 203 | + } | |
| 204 | + } | |
| 205 | + } | |
| 206 | + Integer n = liveService.receive(ids, num, userId, spid); | |
| 207 | + return new ResponseBean(ErrorEnum.SUCCESS.getErrorCode(), "认领到" + n + "条内容"); | |
| 208 | + } | |
| 209 | + | |
| 210 | + | |
| 211 | + /** | |
| 212 | + * 退领 | |
| 213 | + * @param ids | |
| 214 | + * @param session | |
| 215 | + * @return | |
| 216 | + */ | |
| 217 | + @PostMapping("/retReceive") | |
| 218 | + @ResponseBody | |
| 219 | + public ResponseBean retReceive(String ids, HttpSession session) { | |
| 220 | + SessionUser sessionUser = (SessionUser) session.getAttribute(SessionUser.getSessionKey()); | |
| 221 | + String userId = sessionUser.getUserId(); | |
| 222 | + //在退领操作前先判断是否包含已退领或者已经审核的数据,有则退回检查并重新退领 | |
| 223 | + String[] cids = ids.split(","); | |
| 224 | + for (String cid : cids) { | |
| 225 | + ShyLive shyLive = liveService.selectByPrimaryKey(Integer.parseInt(cid)); | |
| 226 | + if (shyLive.getShenhe_state() != CommonConst.RECEIVE_AFTER || !shyLive.getAuditor().equals(userId)) { | |
| 227 | + return new ResponseBean(ErrorEnum.ERROR.getErrorCode(), "退领失败,您选中的内容包含已退领的或已经审核的"); | |
| 228 | + } | |
| 229 | + } | |
| 230 | + return liveService.retReceive(ids, userId); | |
| 231 | + } | |
| 232 | + | |
| 233 | + /** | |
| 234 | + * 打回(审核拒绝) | |
| 235 | + * | |
| 236 | + * @param ids | |
| 237 | + * @param msg | |
| 238 | + * @param session | |
| 239 | + * @return | |
| 240 | + */ | |
| 241 | + @PostMapping("/repulse") | |
| 242 | + @ResponseBody | |
| 243 | + public ResponseBean repulse(String ids, String msg, HttpSession session) { | |
| 244 | + SessionUser sessionUser = (SessionUser) session.getAttribute(SessionUser.getSessionKey()); | |
| 245 | + String userId = sessionUser.getUserId(); | |
| 246 | + ResponseBean responseBean = new ResponseBean(); | |
| 247 | + String[] shyLiveIds = ids.split(","); | |
| 248 | + String showMsg = ""; | |
| 249 | + for (String shyLiveId : shyLiveIds) { | |
| 250 | + ShyLive shyLive = liveService.selectByPrimaryKey(Integer.parseInt(shyLiveId)); | |
| 251 | + JSONObject result = null; | |
| 252 | + try { | |
| 253 | + result = Pass.livePass(shyLive.getActivity_id(), 6, msg, msg, shyLive.getCallback()); | |
| 254 | + } catch (Exception e) { | |
| 255 | + logger.error("直播视频审核失败,id==" + shyLiveId, e); | |
| 256 | + showMsg = showMsg + "," + shyLive.getActivity_id() + " 拒绝请求失败"; | |
| 257 | + break; | |
| 258 | + } | |
| 259 | + if (result == null) { | |
| 260 | + logger.error("直播视频审核失败且接口错误没有返回信息,id==" + shyLiveId); | |
| 261 | + showMsg = showMsg + "," + shyLive.getActivity_id() + " 拒绝请求失败"; | |
| 262 | + break; | |
| 263 | + } | |
| 264 | + Integer code = result.getInteger("errorCode"); | |
| 265 | + if (code != 0) { | |
| 266 | + logger.error("直播视频审核失败,id:{},code:{}", shyLiveId, code); | |
| 267 | + showMsg = showMsg + "," + shyLive.getActivity_id() + " " + result.getString(" errorMessage"); | |
| 268 | + break; | |
| 269 | + } | |
| 270 | + int i = liveService.updateLive(Integer.parseInt(shyLiveId), userId,"", 4, msg); | |
| 271 | + if (i == 0) { | |
| 272 | + showMsg = showMsg + "," + shyLive.getActivity_id() + " 更新失败"; | |
| 273 | + break; | |
| 274 | + } | |
| 275 | + } | |
| 276 | + if (CommonUtils.isNotEmpty(showMsg)) { | |
| 277 | + responseBean.setErrorCode(ErrorEnum.ERROR.getErrorCode()); | |
| 278 | + responseBean.setErrorMessage(showMsg); | |
| 279 | + } | |
| 280 | + return responseBean; | |
| 281 | + } | |
| 282 | + | |
| 283 | + /** | |
| 284 | + * 根据条件导出excel | |
| 285 | + */ | |
| 286 | + @GetMapping("excel") | |
| 287 | + public void getExcel(String activity_id,String start_date,String end_date, | |
| 288 | + String activity_name, Integer activity_status, Integer page,Integer pageSize, | |
| 289 | + Integer shenhe_state, String orderByClause, String sp_desc, HttpSession session,HttpServletResponse response) { | |
| 290 | + SessionUser sessionUser = (SessionUser) session.getAttribute(SessionUser.getSessionKey()); | |
| 291 | + Integer spid = sessionUser.getSpid(); | |
| 292 | + String userId = sessionUser.getUserId(); | |
| 293 | + if (CommonUtils.isNotEmpty(sp_desc) && spid == 0) { | |
| 294 | + ShySites shySite=sitesService.findspidBySpdesc(sp_desc); | |
| 295 | + if(CommonUtils.isNotNull(shySite)){ | |
| 296 | + spid = shySite.getSpid(); | |
| 297 | + } | |
| 298 | + }else if (CommonUtils.isEmpty(sp_desc) && spid == 0) { | |
| 299 | + spid = null; | |
| 300 | + } | |
| 301 | + List<ShyLive> liveList = liveService.findByCondition(activity_name, start_date,end_date, | |
| 302 | + activity_id, activity_status, page, pageSize, shenhe_state, orderByClause, spid); | |
| 303 | + | |
| 304 | + String fileName = "直播数据"; | |
| 305 | + | |
| 306 | + XSSFWorkbook wb = new XSSFWorkbook(); | |
| 307 | + ServletOutputStream out = null; | |
| 308 | + BufferedInputStream bis = null; | |
| 309 | + BufferedOutputStream bos = null; | |
| 310 | + try { | |
| 311 | + XSSFSheet sheetlist = wb.createSheet(fileName); | |
| 312 | + XSSFRow row = sheetlist.createRow(0);//行 | |
| 313 | + XSSFCell cell = row.createCell(0);//列 | |
| 314 | + cell.setCellValue("id"); | |
| 315 | + cell = row.createCell(1);//列 | |
| 316 | + cell.setCellValue("sp昵称"); | |
| 317 | + cell = row.createCell(2);//列 | |
| 318 | + cell.setCellValue("频道_id"); | |
| 319 | + cell = row.createCell(3);//列 | |
| 320 | + cell.setCellValue("直播活动id"); | |
| 321 | + cell = row.createCell(4);//列 | |
| 322 | + cell.setCellValue("直播活动名称"); | |
| 323 | + cell = row.createCell(5);//列 | |
| 324 | + cell.setCellValue("直播活动状态"); | |
| 325 | + cell = row.createCell(6);//列 | |
| 326 | + cell.setCellValue("直播活动开始时间"); | |
| 327 | + cell = row.createCell(7);//列 | |
| 328 | + cell.setCellValue("直播活动结束时间"); | |
| 329 | + cell = row.createCell(8);//列 | |
| 330 | + cell.setCellValue("直播活动简介"); | |
| 331 | + cell = row.createCell(9);//列 | |
| 332 | + cell.setCellValue("审核类型"); | |
| 333 | + cell = row.createCell(10);//列 | |
| 334 | + cell.setCellValue("审核状态"); | |
| 335 | + cell = row.createCell(11);//列 | |
| 336 | + cell.setCellValue("审核员"); | |
| 337 | + cell = row.createCell(12);//列 | |
| 338 | + cell.setCellValue("审核信息"); | |
| 339 | + cell = row.createCell(13);//列 | |
| 340 | + cell.setCellValue("创建时间"); | |
| 341 | + cell = row.createCell(14);//列 | |
| 342 | + cell.setCellValue("最后更新时间"); | |
| 343 | + | |
| 344 | + for (int i = 0; i < liveList.size(); i++) { | |
| 345 | + row = sheetlist.createRow((short) (i + 1));//行 | |
| 346 | + cell = row.createCell(0);//列 | |
| 347 | + cell.setCellValue(liveList.get(i).getId()); | |
| 348 | + cell = row.createCell(1);//列 | |
| 349 | + cell.setCellValue(sitesService.findspidDescByspid(liveList.get(i).getSp_id()).getName()); | |
| 350 | + cell = row.createCell(2);//列 | |
| 351 | + cell.setCellValue(liveList.get(i).getChannel_id()); | |
| 352 | + cell = row.createCell(3);//列 | |
| 353 | + cell.setCellValue(liveList.get(i).getActivity_id()); | |
| 354 | + cell = row.createCell(4);//列 | |
| 355 | + cell.setCellValue(liveList.get(i).getActivity_name()); | |
| 356 | + /*状态需要处理成用户可读*/ | |
| 357 | + String activityStatus = "";//直播活动状态,1:直播中,2:直播完成,3:待直播,0:直播撤销(手动),4:直播下线(强制) | |
| 358 | + if (liveList.get(i).getActivity_status() == 0) { | |
| 359 | + activityStatus = "直播撤销(手动)"; | |
| 360 | + } else if (liveList.get(i).getActivity_status() == 1) { | |
| 361 | + activityStatus = "正在直播"; | |
| 362 | + } else if(liveList.get(i).getActivity_status() == 2){ | |
| 363 | + activityStatus = "直播完成"; | |
| 364 | + }else if(liveList.get(i).getActivity_status() == 3){ | |
| 365 | + activityStatus = "等待直播"; | |
| 366 | + }else if(liveList.get(i).getActivity_status() == 4){ | |
| 367 | + activityStatus = "直播下线(强制)"; | |
| 368 | + } | |
| 369 | + cell = row.createCell(5);//列 | |
| 370 | + cell.setCellValue(activityStatus); | |
| 371 | + cell = row.createCell(6);//列 | |
| 372 | + cell.setCellValue(CommonUtils.formatDate(liveList.get(i).getActivity_start_time(), "yyyy-MM-dd HH:mm:ss")); | |
| 373 | + cell = row.createCell(7);//列 | |
| 374 | + cell.setCellValue(CommonUtils.formatDate(liveList.get(i).getActivity_end_time(), "yyyy-MM-dd HH:mm:ss")); | |
| 375 | + cell = row.createCell(8);//列 | |
| 376 | + cell.setCellValue(liveList.get(i).getActivity_intro()); | |
| 377 | + | |
| 378 | + /*状态需要处理成用户可读*/ | |
| 379 | + String shenheType = "";//审核类型,1:免审,2:机审,3:人工审 | |
| 380 | + if (liveList.get(i).getShenhe_type() == 1) { | |
| 381 | + shenheType = "免审"; | |
| 382 | + } else if (liveList.get(i).getShenhe_type() == 2) { | |
| 383 | + shenheType = "机审"; | |
| 384 | + } else { | |
| 385 | + shenheType = "人工审"; | |
| 386 | + } | |
| 387 | + | |
| 388 | + cell = row.createCell(9);//列 | |
| 389 | + cell.setCellValue(shenheType); | |
| 390 | + | |
| 391 | + /*状态需要处理成用户可读*/ | |
| 392 | + String shenheState = "";//审核状态 0:未认领 1.已认领,2:已审核 | |
| 393 | + if (liveList.get(i).getShenhe_type() == 1) { | |
| 394 | + shenheState = "已认领"; | |
| 395 | + } else if (liveList.get(i).getShenhe_type() == 2) { | |
| 396 | + shenheState = "已审核"; | |
| 397 | + } else { | |
| 398 | + shenheState = "未认领"; | |
| 399 | + } | |
| 400 | + | |
| 401 | + cell = row.createCell(10);//列 | |
| 402 | + cell.setCellValue(shenheState); | |
| 403 | + | |
| 404 | + /* 审核员需要做处理*/ | |
| 405 | + String updater = "";//审核员名字 | |
| 406 | + if (liveList.get(i).getShenhe_state() != CommonConst.RECEIVE_BEFORE) { | |
| 407 | + updater = CommonUtils.isEmpty(liveList.get(i).getUpdater()) || "null".equals(liveList.get(i).getUpdater())? "自动通过":liveList.get(i).getUpdater(); | |
| 408 | + String auditor_id = liveList.get(i).getAuditor(); | |
| 409 | + if (CommonUtils.isNotEmpty(auditor_id)) { | |
| 410 | + ShyUsers user = new ShyUsers(); | |
| 411 | + user.setUser_id(auditor_id); | |
| 412 | + user = usersService.select(user); | |
| 413 | + if (CommonUtils.isNotNull(user)) { | |
| 414 | + String email = CommonUtils.isEmpty(user.getEmail()) || "null".equals(user.getEmail()) ? "" : user.getEmail(); | |
| 415 | + String userName = CommonUtils.isEmpty(user.getUsername()) ? email : user.getUsername(); | |
| 416 | + updater = userName ; | |
| 417 | + } | |
| 418 | + } | |
| 419 | + } | |
| 420 | + | |
| 421 | + cell = row.createCell(11);//列 | |
| 422 | + cell.setCellValue(updater); | |
| 423 | + cell = row.createCell(12);//列 | |
| 424 | + cell.setCellValue(liveList.get(i).getShenhe_msg()); | |
| 425 | + cell = row.createCell(13);//列 | |
| 426 | + cell.setCellValue(CommonUtils.formatDate(liveList.get(i).getCreated_at(), "yyyy-MM-dd HH:mm:ss")); | |
| 427 | + cell = row.createCell(14);//列 | |
| 428 | + cell.setCellValue(CommonUtils.formatDate(liveList.get(i).getUpdated_at(), "yyyy-MM-dd HH:mm:ss")); | |
| 429 | + } | |
| 430 | + | |
| 431 | + ByteArrayOutputStream os = new ByteArrayOutputStream(); | |
| 432 | + wb.write(os); | |
| 433 | + byte[] content = os.toByteArray(); | |
| 434 | + InputStream is = new ByteArrayInputStream(content); | |
| 435 | + response.setContentType("application/vnd.ms-excel;charset=utf-8"); | |
| 436 | + response.setHeader("Content-Disposition", "attachment;filename=" + new String((fileName + ".xlsx").getBytes(), "iso-8859-1")); | |
| 437 | + out = response.getOutputStream(); | |
| 438 | + bis = new BufferedInputStream(is); | |
| 439 | + bos = new BufferedOutputStream(out); | |
| 440 | + byte[] buff = new byte[2048]; | |
| 441 | + int bytesRead; | |
| 442 | + while (-1 != (bytesRead = bis.read(buff, 0, buff.length))) { | |
| 443 | + bos.write(buff, 0, bytesRead); | |
| 444 | + } | |
| 445 | + } catch (final Exception e) { | |
| 446 | + e.printStackTrace(); | |
| 447 | + try { | |
| 448 | + if (bis != null) | |
| 449 | + bis.close(); | |
| 450 | + if (bos != null) | |
| 451 | + bos.close(); | |
| 452 | + } catch (Exception e1) { | |
| 453 | + e1.printStackTrace(); | |
| 454 | + } | |
| 455 | + } finally { | |
| 456 | + try { | |
| 457 | + if (bis != null) | |
| 458 | + bis.close(); | |
| 459 | + if (bos != null) | |
| 460 | + bos.close(); | |
| 461 | + } catch (Exception e2) { | |
| 462 | + e2.printStackTrace(); | |
| 463 | + } | |
| 464 | + } | |
| 465 | + } | |
| 466 | + | |
| 467 | + @PostMapping("/ceshi") | |
| 468 | + @ResponseBody | |
| 469 | + public static String ceshi(String name) { | |
| 470 | + | |
| 471 | + | |
| 472 | + return name; | |
| 473 | + } | |
| 474 | + | |
| 475 | +} | ... | ... |
src/main/java/com/cnlive/shenhe/entity/ShyLive.java
0 → 100644
| 1 | +package com.cnlive.shenhe.entity; | |
| 2 | + | |
| 3 | +import java.util.Date; | |
| 4 | +import javax.persistence.*; | |
| 5 | + | |
| 6 | +@Table(name = "shy_live") | |
| 7 | +public class ShyLive { | |
| 8 | + @Id | |
| 9 | + private Integer id; | |
| 10 | + | |
| 11 | + /** | |
| 12 | + * spId | |
| 13 | + */ | |
| 14 | + private Integer sp_id; | |
| 15 | + | |
| 16 | + /** | |
| 17 | + * 主播资质标识 | |
| 18 | + */ | |
| 19 | + private String channel_id; | |
| 20 | + | |
| 21 | + /** | |
| 22 | + * 直播活动id | |
| 23 | + */ | |
| 24 | + private String activity_id; | |
| 25 | + | |
| 26 | + /** | |
| 27 | + * 直播活动名称 | |
| 28 | + */ | |
| 29 | + private String activity_name; | |
| 30 | + | |
| 31 | + /** | |
| 32 | + * 直播活动状态,1:直播中,2:直播完成,3:待直播,0:直播撤销(手动),4:直播下线(强制) | |
| 33 | + */ | |
| 34 | + private Integer activity_status; | |
| 35 | + | |
| 36 | + /** | |
| 37 | + * 直播活动开始时间 | |
| 38 | + */ | |
| 39 | + private Date activity_start_time; | |
| 40 | + | |
| 41 | + /** | |
| 42 | + * 直播活动结束时间 | |
| 43 | + */ | |
| 44 | + private Date activity_end_time; | |
| 45 | + | |
| 46 | + /** | |
| 47 | + * 直播活动简介 | |
| 48 | + */ | |
| 49 | + private String activity_intro; | |
| 50 | + | |
| 51 | + /** | |
| 52 | + * m3u8直播流 | |
| 53 | + */ | |
| 54 | + private String m3u8_url; | |
| 55 | + | |
| 56 | + /** | |
| 57 | + * rtmp直播流 | |
| 58 | + */ | |
| 59 | + private String rtmp_url; | |
| 60 | + | |
| 61 | + /** | |
| 62 | + * 回调函数 | |
| 63 | + */ | |
| 64 | + private String callback; | |
| 65 | + | |
| 66 | + /** | |
| 67 | + * 直播封面图 | |
| 68 | + */ | |
| 69 | + private String cover_img_url; | |
| 70 | + | |
| 71 | + /** | |
| 72 | + * 直播回放的url | |
| 73 | + */ | |
| 74 | + private String playback_url; | |
| 75 | + | |
| 76 | + /** | |
| 77 | + * 是否是热点: 0:全部 ,1:不是 ,2: 是 | |
| 78 | + */ | |
| 79 | + private Integer is_hot; | |
| 80 | + | |
| 81 | + /** | |
| 82 | + * 审核类型,1:免审,2:机审,3:人工审 | |
| 83 | + */ | |
| 84 | + private Integer shenhe_type; | |
| 85 | + | |
| 86 | + /** | |
| 87 | + * 状态 0:未认领 1.已认领,2:已审核 | |
| 88 | + */ | |
| 89 | + private Integer shenhe_state; | |
| 90 | + | |
| 91 | + /** | |
| 92 | + * 更新者 | |
| 93 | + */ | |
| 94 | + private String updater; | |
| 95 | + | |
| 96 | + /** | |
| 97 | + * 审核员 | |
| 98 | + */ | |
| 99 | + private String auditor; | |
| 100 | + | |
| 101 | + /** | |
| 102 | + * 审核信息 | |
| 103 | + */ | |
| 104 | + private String shenhe_msg; | |
| 105 | + | |
| 106 | + /** | |
| 107 | + * 抽帧状态 1:不抽帧 2:待抽帧 3:抽帧中 4:抽帧完成 5:抽帧失败 | |
| 108 | + */ | |
| 109 | + private Integer avsample_state; | |
| 110 | + | |
| 111 | + /** | |
| 112 | + * 抽帧开始时间 | |
| 113 | + */ | |
| 114 | + private Date avsample_start_time; | |
| 115 | + | |
| 116 | + /** | |
| 117 | + * 抽帧结束时间 | |
| 118 | + */ | |
| 119 | + private Date avsample_end_time; | |
| 120 | + | |
| 121 | + /** | |
| 122 | + * 是否显示 0:不显示 1:显示 | |
| 123 | + */ | |
| 124 | + private Integer is_show; | |
| 125 | + | |
| 126 | + private Date created_at; | |
| 127 | + | |
| 128 | + private Date updated_at; | |
| 129 | + | |
| 130 | + /** | |
| 131 | + * 抽帧图片地址 | |
| 132 | + */ | |
| 133 | + private String avsample_imgs; | |
| 134 | + | |
| 135 | + /** | |
| 136 | + * 抽帧返回信息(主要找问题时使用) | |
| 137 | + */ | |
| 138 | + private String avsample_msg; | |
| 139 | + | |
| 140 | + @Transient | |
| 141 | + private String spid_desc; | |
| 142 | + | |
| 143 | + /** | |
| 144 | + * @return id | |
| 145 | + */ | |
| 146 | + public Integer getId() { | |
| 147 | + return id; | |
| 148 | + } | |
| 149 | + | |
| 150 | + /** | |
| 151 | + * @param id | |
| 152 | + */ | |
| 153 | + public void setId(Integer id) { | |
| 154 | + this.id = id; | |
| 155 | + } | |
| 156 | + | |
| 157 | + /** | |
| 158 | + * 获取spId | |
| 159 | + * | |
| 160 | + * @return sp_id - spId | |
| 161 | + */ | |
| 162 | + public Integer getSp_id() { | |
| 163 | + return sp_id; | |
| 164 | + } | |
| 165 | + | |
| 166 | + /** | |
| 167 | + * 设置spId | |
| 168 | + * | |
| 169 | + * @param sp_id spId | |
| 170 | + */ | |
| 171 | + public void setSp_id(Integer sp_id) { | |
| 172 | + this.sp_id = sp_id; | |
| 173 | + } | |
| 174 | + | |
| 175 | + /** | |
| 176 | + * 获取主播资质标识 | |
| 177 | + * | |
| 178 | + * @return channel_id - 主播资质标识 | |
| 179 | + */ | |
| 180 | + public String getChannel_id() { | |
| 181 | + return channel_id; | |
| 182 | + } | |
| 183 | + | |
| 184 | + /** | |
| 185 | + * 设置主播资质标识 | |
| 186 | + * | |
| 187 | + * @param channel_id 主播资质标识 | |
| 188 | + */ | |
| 189 | + public void setChannel_id(String channel_id) { | |
| 190 | + this.channel_id = channel_id; | |
| 191 | + } | |
| 192 | + | |
| 193 | + /** | |
| 194 | + * 获取直播活动id | |
| 195 | + * | |
| 196 | + * @return activity_id - 直播活动id | |
| 197 | + */ | |
| 198 | + public String getActivity_id() { | |
| 199 | + return activity_id; | |
| 200 | + } | |
| 201 | + | |
| 202 | + /** | |
| 203 | + * 设置直播活动id | |
| 204 | + * | |
| 205 | + * @param activity_id 直播活动id | |
| 206 | + */ | |
| 207 | + public void setActivity_id(String activity_id) { | |
| 208 | + this.activity_id = activity_id; | |
| 209 | + } | |
| 210 | + | |
| 211 | + /** | |
| 212 | + * 获取直播活动名称 | |
| 213 | + * | |
| 214 | + * @return activity_name - 直播活动名称 | |
| 215 | + */ | |
| 216 | + public String getActivity_name() { | |
| 217 | + return activity_name; | |
| 218 | + } | |
| 219 | + | |
| 220 | + /** | |
| 221 | + * 设置直播活动名称 | |
| 222 | + * | |
| 223 | + * @param activity_name 直播活动名称 | |
| 224 | + */ | |
| 225 | + public void setActivity_name(String activity_name) { | |
| 226 | + this.activity_name = activity_name; | |
| 227 | + } | |
| 228 | + | |
| 229 | + /** | |
| 230 | + * 获取直播活动状态,1:直播中,2:直播完成,3:待直播,0:直播撤销(手动),4:直播下线(强制) | |
| 231 | + * | |
| 232 | + * @return activity_status - 直播活动状态,1:直播中,2:直播完成,3:待直播,0:直播撤销(手动),4:直播下线(强制) | |
| 233 | + */ | |
| 234 | + public Integer getActivity_status() { | |
| 235 | + return activity_status; | |
| 236 | + } | |
| 237 | + | |
| 238 | + /** | |
| 239 | + * 设置直播活动状态,1:直播中,2:直播完成,3:待直播,0:直播撤销(手动),4:直播下线(强制) | |
| 240 | + * | |
| 241 | + * @param activity_status 直播活动状态,1:直播中,2:直播完成,3:待直播,0:直播撤销(手动),4:直播下线(强制) | |
| 242 | + */ | |
| 243 | + public void setActivity_status(Integer activity_status) { | |
| 244 | + this.activity_status = activity_status; | |
| 245 | + } | |
| 246 | + | |
| 247 | + /** | |
| 248 | + * 获取直播活动开始时间 | |
| 249 | + * | |
| 250 | + * @return activity_start_time - 直播活动开始时间 | |
| 251 | + */ | |
| 252 | + public Date getActivity_start_time() { | |
| 253 | + return activity_start_time; | |
| 254 | + } | |
| 255 | + | |
| 256 | + /** | |
| 257 | + * 设置直播活动开始时间 | |
| 258 | + * | |
| 259 | + * @param activity_start_time 直播活动开始时间 | |
| 260 | + */ | |
| 261 | + public void setActivity_start_time(Date activity_start_time) { | |
| 262 | + this.activity_start_time = activity_start_time; | |
| 263 | + } | |
| 264 | + | |
| 265 | + /** | |
| 266 | + * 获取直播活动结束时间 | |
| 267 | + * | |
| 268 | + * @return activity_end_time - 直播活动结束时间 | |
| 269 | + */ | |
| 270 | + public Date getActivity_end_time() { | |
| 271 | + return activity_end_time; | |
| 272 | + } | |
| 273 | + | |
| 274 | + /** | |
| 275 | + * 设置直播活动结束时间 | |
| 276 | + * | |
| 277 | + * @param activity_end_time 直播活动结束时间 | |
| 278 | + */ | |
| 279 | + public void setActivity_end_time(Date activity_end_time) { | |
| 280 | + this.activity_end_time = activity_end_time; | |
| 281 | + } | |
| 282 | + | |
| 283 | + /** | |
| 284 | + * 获取直播活动简介 | |
| 285 | + * | |
| 286 | + * @return activity_intro - 直播活动简介 | |
| 287 | + */ | |
| 288 | + public String getActivity_intro() { | |
| 289 | + return activity_intro; | |
| 290 | + } | |
| 291 | + | |
| 292 | + /** | |
| 293 | + * 设置直播活动简介 | |
| 294 | + * | |
| 295 | + * @param activity_intro 直播活动简介 | |
| 296 | + */ | |
| 297 | + public void setActivity_intro(String activity_intro) { | |
| 298 | + this.activity_intro = activity_intro; | |
| 299 | + } | |
| 300 | + | |
| 301 | + /** | |
| 302 | + * 获取m3u8直播流 | |
| 303 | + * | |
| 304 | + * @return m3u8_url - m3u8直播流 | |
| 305 | + */ | |
| 306 | + public String getM3u8_url() { | |
| 307 | + return m3u8_url; | |
| 308 | + } | |
| 309 | + | |
| 310 | + /** | |
| 311 | + * 设置m3u8直播流 | |
| 312 | + * | |
| 313 | + * @param m3u8_url m3u8直播流 | |
| 314 | + */ | |
| 315 | + public void setM3u8_url(String m3u8_url) { | |
| 316 | + this.m3u8_url = m3u8_url; | |
| 317 | + } | |
| 318 | + | |
| 319 | + /** | |
| 320 | + * 获取rtmp直播流 | |
| 321 | + * | |
| 322 | + * @return rtmp_url - rtmp直播流 | |
| 323 | + */ | |
| 324 | + public String getRtmp_url() { | |
| 325 | + return rtmp_url; | |
| 326 | + } | |
| 327 | + | |
| 328 | + /** | |
| 329 | + * 设置rtmp直播流 | |
| 330 | + * | |
| 331 | + * @param rtmp_url rtmp直播流 | |
| 332 | + */ | |
| 333 | + public void setRtmp_url(String rtmp_url) { | |
| 334 | + this.rtmp_url = rtmp_url; | |
| 335 | + } | |
| 336 | + | |
| 337 | + /** | |
| 338 | + * 获取回调函数 | |
| 339 | + * | |
| 340 | + * @return callback - 回调函数 | |
| 341 | + */ | |
| 342 | + public String getCallback() { | |
| 343 | + return callback; | |
| 344 | + } | |
| 345 | + | |
| 346 | + /** | |
| 347 | + * 设置回调函数 | |
| 348 | + * | |
| 349 | + * @param callback 回调函数 | |
| 350 | + */ | |
| 351 | + public void setCallback(String callback) { | |
| 352 | + this.callback = callback; | |
| 353 | + } | |
| 354 | + | |
| 355 | + /** | |
| 356 | + * 获取直播封面图 | |
| 357 | + * | |
| 358 | + * @return cover_img_url - 直播封面图 | |
| 359 | + */ | |
| 360 | + public String getCover_img_url() { | |
| 361 | + return cover_img_url; | |
| 362 | + } | |
| 363 | + | |
| 364 | + /** | |
| 365 | + * 设置直播封面图 | |
| 366 | + * | |
| 367 | + * @param cover_img_url 直播封面图 | |
| 368 | + */ | |
| 369 | + public void setCover_img_url(String cover_img_url) { | |
| 370 | + this.cover_img_url = cover_img_url; | |
| 371 | + } | |
| 372 | + | |
| 373 | + /** | |
| 374 | + * 获取直播回放的url | |
| 375 | + * | |
| 376 | + * @return playback_url - 直播回放的url | |
| 377 | + */ | |
| 378 | + public String getPlayback_url() { | |
| 379 | + return playback_url; | |
| 380 | + } | |
| 381 | + | |
| 382 | + /** | |
| 383 | + * 设置直播回放的url | |
| 384 | + * | |
| 385 | + * @param playback_url 直播回放的url | |
| 386 | + */ | |
| 387 | + public void setPlayback_url(String playback_url) { | |
| 388 | + this.playback_url = playback_url; | |
| 389 | + } | |
| 390 | + | |
| 391 | + /** | |
| 392 | + * 获取是否是热点: 0:全部 ,1:不是 ,2: 是 | |
| 393 | + * | |
| 394 | + * @return is_hot - 是否是热点: 0:全部 ,1:不是 ,2: 是 | |
| 395 | + */ | |
| 396 | + public Integer getIs_hot() { | |
| 397 | + return is_hot; | |
| 398 | + } | |
| 399 | + | |
| 400 | + /** | |
| 401 | + * 设置是否是热点: 0:全部 ,1:不是 ,2: 是 | |
| 402 | + * | |
| 403 | + * @param is_hot 是否是热点: 0:全部 ,1:不是 ,2: 是 | |
| 404 | + */ | |
| 405 | + public void setIs_hot(Integer is_hot) { | |
| 406 | + this.is_hot = is_hot; | |
| 407 | + } | |
| 408 | + | |
| 409 | + /** | |
| 410 | + * 获取审核类型,1:免审,2:机审,3:人工审 | |
| 411 | + * | |
| 412 | + * @return shenhe_type - 审核类型,1:免审,2:机审,3:人工审 | |
| 413 | + */ | |
| 414 | + public Integer getShenhe_type() { | |
| 415 | + return shenhe_type; | |
| 416 | + } | |
| 417 | + | |
| 418 | + /** | |
| 419 | + * 设置审核类型,1:免审,2:机审,3:人工审 | |
| 420 | + * | |
| 421 | + * @param shenhe_type 审核类型,1:免审,2:机审,3:人工审 | |
| 422 | + */ | |
| 423 | + public void setShenhe_type(Integer shenhe_type) { | |
| 424 | + this.shenhe_type = shenhe_type; | |
| 425 | + } | |
| 426 | + | |
| 427 | + /** | |
| 428 | + * 获取状态 1:未认领 2.已认领,3:已审核 | |
| 429 | + * | |
| 430 | + * @return shenhe_state - 状态 1:未认领 2.已认领,3:已审核 | |
| 431 | + */ | |
| 432 | + public Integer getShenhe_state() { | |
| 433 | + return shenhe_state; | |
| 434 | + } | |
| 435 | + | |
| 436 | + /** | |
| 437 | + * 设置状态 1:未认领 2.已认领,3:已审核 | |
| 438 | + * | |
| 439 | + * @param shenhe_state 状态 1:未认领 2.已认领,3:已审核 | |
| 440 | + */ | |
| 441 | + public void setShenhe_state(Integer shenhe_state) { | |
| 442 | + this.shenhe_state = shenhe_state; | |
| 443 | + } | |
| 444 | + | |
| 445 | + /** | |
| 446 | + * 获取更新者 | |
| 447 | + * | |
| 448 | + * @return updater - 更新者 | |
| 449 | + */ | |
| 450 | + public String getUpdater() { | |
| 451 | + return updater; | |
| 452 | + } | |
| 453 | + | |
| 454 | + /** | |
| 455 | + * 设置更新者 | |
| 456 | + * | |
| 457 | + * @param updater 更新者 | |
| 458 | + */ | |
| 459 | + public void setUpdater(String updater) { | |
| 460 | + this.updater = updater; | |
| 461 | + } | |
| 462 | + | |
| 463 | + /** | |
| 464 | + * 获取审核员 | |
| 465 | + * | |
| 466 | + * @return auditor - 审核员 | |
| 467 | + */ | |
| 468 | + public String getAuditor() { | |
| 469 | + return auditor; | |
| 470 | + } | |
| 471 | + | |
| 472 | + /** | |
| 473 | + * 设置审核员 | |
| 474 | + * | |
| 475 | + * @param auditor 审核员 | |
| 476 | + */ | |
| 477 | + public void setAuditor(String auditor) { | |
| 478 | + this.auditor = auditor; | |
| 479 | + } | |
| 480 | + | |
| 481 | + /** | |
| 482 | + * 获取审核信息 | |
| 483 | + * | |
| 484 | + * @return shenhe_msg - 审核信息 | |
| 485 | + */ | |
| 486 | + public String getShenhe_msg() { | |
| 487 | + return shenhe_msg; | |
| 488 | + } | |
| 489 | + | |
| 490 | + /** | |
| 491 | + * 设置审核信息 | |
| 492 | + * | |
| 493 | + * @param shenhe_msg 审核信息 | |
| 494 | + */ | |
| 495 | + public void setShenhe_msg(String shenhe_msg) { | |
| 496 | + this.shenhe_msg = shenhe_msg; | |
| 497 | + } | |
| 498 | + | |
| 499 | + /** | |
| 500 | + * 获取抽帧状态 1:不抽帧 2:待抽帧 3:抽帧中 4:抽帧完成 5:抽帧失败 | |
| 501 | + * | |
| 502 | + * @return avsample_state - 抽帧状态 1:不抽帧 2:待抽帧 3:抽帧中 4:抽帧完成 5:抽帧失败 | |
| 503 | + */ | |
| 504 | + public Integer getAvsample_state() { | |
| 505 | + return avsample_state; | |
| 506 | + } | |
| 507 | + | |
| 508 | + /** | |
| 509 | + * 设置抽帧状态 1:不抽帧 2:待抽帧 3:抽帧中 4:抽帧完成 5:抽帧失败 | |
| 510 | + * | |
| 511 | + * @param avsample_state 抽帧状态 1:不抽帧 2:待抽帧 3:抽帧中 4:抽帧完成 5:抽帧失败 | |
| 512 | + */ | |
| 513 | + public void setAvsample_state(Integer avsample_state) { | |
| 514 | + this.avsample_state = avsample_state; | |
| 515 | + } | |
| 516 | + | |
| 517 | + /** | |
| 518 | + * 获取抽帧开始时间 | |
| 519 | + * | |
| 520 | + * @return avsample_start_time - 抽帧开始时间 | |
| 521 | + */ | |
| 522 | + public Date getAvsample_start_time() { | |
| 523 | + return avsample_start_time; | |
| 524 | + } | |
| 525 | + | |
| 526 | + /** | |
| 527 | + * 设置抽帧开始时间 | |
| 528 | + * | |
| 529 | + * @param avsample_start_time 抽帧开始时间 | |
| 530 | + */ | |
| 531 | + public void setAvsample_start_time(Date avsample_start_time) { | |
| 532 | + this.avsample_start_time = avsample_start_time; | |
| 533 | + } | |
| 534 | + | |
| 535 | + /** | |
| 536 | + * 获取抽帧结束时间 | |
| 537 | + * | |
| 538 | + * @return avsample_end_time - 抽帧结束时间 | |
| 539 | + */ | |
| 540 | + public Date getAvsample_end_time() { | |
| 541 | + return avsample_end_time; | |
| 542 | + } | |
| 543 | + | |
| 544 | + /** | |
| 545 | + * 设置抽帧结束时间 | |
| 546 | + * | |
| 547 | + * @param avsample_end_time 抽帧结束时间 | |
| 548 | + */ | |
| 549 | + public void setAvsample_end_time(Date avsample_end_time) { | |
| 550 | + this.avsample_end_time = avsample_end_time; | |
| 551 | + } | |
| 552 | + | |
| 553 | + /** | |
| 554 | + * 获取是否显示 0:不显示 1:显示 | |
| 555 | + * | |
| 556 | + * @return is_show - 是否显示 0:不显示 1:显示 | |
| 557 | + */ | |
| 558 | + public Integer getIs_show() { | |
| 559 | + return is_show; | |
| 560 | + } | |
| 561 | + | |
| 562 | + /** | |
| 563 | + * 设置是否显示 0:不显示 1:显示 | |
| 564 | + * | |
| 565 | + * @param is_show 是否显示 0:不显示 1:显示 | |
| 566 | + */ | |
| 567 | + public void setIs_show(Integer is_show) { | |
| 568 | + this.is_show = is_show; | |
| 569 | + } | |
| 570 | + | |
| 571 | + /** | |
| 572 | + * @return created_at | |
| 573 | + */ | |
| 574 | + public Date getCreated_at() { | |
| 575 | + return created_at; | |
| 576 | + } | |
| 577 | + | |
| 578 | + /** | |
| 579 | + * @param created_at | |
| 580 | + */ | |
| 581 | + public void setCreated_at(Date created_at) { | |
| 582 | + this.created_at = created_at; | |
| 583 | + } | |
| 584 | + | |
| 585 | + /** | |
| 586 | + * @return updated_at | |
| 587 | + */ | |
| 588 | + public Date getUpdated_at() { | |
| 589 | + return updated_at; | |
| 590 | + } | |
| 591 | + | |
| 592 | + /** | |
| 593 | + * @param updated_at | |
| 594 | + */ | |
| 595 | + public void setUpdated_at(Date updated_at) { | |
| 596 | + this.updated_at = updated_at; | |
| 597 | + } | |
| 598 | + | |
| 599 | + /** | |
| 600 | + * 获取抽帧图片地址 | |
| 601 | + * | |
| 602 | + * @return avsample_imgs - 抽帧图片地址 | |
| 603 | + */ | |
| 604 | + public String getAvsample_imgs() { | |
| 605 | + return avsample_imgs; | |
| 606 | + } | |
| 607 | + | |
| 608 | + /** | |
| 609 | + * 设置抽帧图片地址 | |
| 610 | + * | |
| 611 | + * @param avsample_imgs 抽帧图片地址 | |
| 612 | + */ | |
| 613 | + public void setAvsample_imgs(String avsample_imgs) { | |
| 614 | + this.avsample_imgs = avsample_imgs; | |
| 615 | + } | |
| 616 | + | |
| 617 | + /** | |
| 618 | + * 获取抽帧返回信息(主要找问题时使用) | |
| 619 | + * | |
| 620 | + * @return avsample_msg - 抽帧返回信息(主要找问题时使用) | |
| 621 | + */ | |
| 622 | + public String getAvsample_msg() { | |
| 623 | + return avsample_msg; | |
| 624 | + } | |
| 625 | + | |
| 626 | + /** | |
| 627 | + * 设置抽帧返回信息(主要找问题时使用) | |
| 628 | + * | |
| 629 | + * @param avsample_msg 抽帧返回信息(主要找问题时使用) | |
| 630 | + */ | |
| 631 | + public void setAvsample_msg(String avsample_msg) { | |
| 632 | + this.avsample_msg = avsample_msg; | |
| 633 | + } | |
| 634 | + | |
| 635 | + public String getSpid_desc() { | |
| 636 | + return spid_desc; | |
| 637 | + } | |
| 638 | + | |
| 639 | + public void setSpid_desc(String spid_desc) { | |
| 640 | + this.spid_desc = spid_desc; | |
| 641 | + } | |
| 642 | + | |
| 643 | +} | |
| 0 | 644 | \ No newline at end of file | ... | ... |
src/main/java/com/cnlive/shenhe/jsoup/GetData.java
0 → 100644
| 1 | +package com.cnlive.shenhe.jsoup; | |
| 2 | + | |
| 3 | +import org.jsoup.Jsoup; | |
| 4 | +import org.jsoup.nodes.Document; | |
| 5 | +import org.jsoup.nodes.Element; | |
| 6 | +import org.jsoup.select.Elements; | |
| 7 | + | |
| 8 | +import java.net.URL; | |
| 9 | +import java.util.ArrayList; | |
| 10 | +import java.util.List; | |
| 11 | + | |
| 12 | +/** | |
| 13 | + * @Auther: 陈浩 | |
| 14 | + * @Date: 2019/6/21 14:31 | |
| 15 | + * @Description: | |
| 16 | + */ | |
| 17 | +public class GetData { | |
| 18 | + public static void main(String[] args) { | |
| 19 | + String url = "http://www.chinanews.com/society.shtml"; | |
| 20 | + Document document = getDocument(url); | |
| 21 | + while (true) { | |
| 22 | + List<String> jobList = getJobList(document); | |
| 23 | + for (String joburl : jobList) { | |
| 24 | + System.out.println(joburl); | |
| 25 | + try { | |
| 26 | + new newCrawl().abc(joburl); | |
| 27 | + } catch (Exception e) { | |
| 28 | + e.printStackTrace(); | |
| 29 | + } | |
| 30 | + } | |
| 31 | + try { | |
| 32 | + Thread.sleep(1000); | |
| 33 | + } catch (Exception e) { | |
| 34 | + e.printStackTrace(); | |
| 35 | + } | |
| 36 | + } | |
| 37 | + } | |
| 38 | + | |
| 39 | + | |
| 40 | + /** | |
| 41 | + * 通过document获取具体的岗位数据 | |
| 42 | + */ | |
| 43 | + private static List<String> getJobList(Document dom) { | |
| 44 | + String URL ="http://www.chinanews.com"; | |
| 45 | + ArrayList<String> list = new ArrayList<>(); | |
| 46 | + Elements select = dom.select(".content_list ul li");//获取到整个列表数据 | |
| 47 | + for (Element element : select) { | |
| 48 | + /* 处理个别li标签是空格问题,直接跳过不处理*/ | |
| 49 | + if (element.attr("id") != "" && !element.attr("id").equals("")){ | |
| 50 | + continue; | |
| 51 | + } | |
| 52 | + Elements elementa = element.select(".dd_bt a");//得到带连接的a标签 | |
| 53 | + String href = elementa.attr("href");//从a标签里面获取到他的相对路径 | |
| 54 | + href = URL+href; | |
| 55 | +// String jobName = select1.text(); | |
| 56 | +// Elements select2 = element.select(".t2 a"); | |
| 57 | +// String addr = element.select(".t3").text(); | |
| 58 | +// String salary = element.select(".t4").text(); | |
| 59 | +// String date = element.select(".t5").text(); | |
| 60 | +// JobBean jobBean = new JobBean(); | |
| 61 | +// jobBean.set(jobName, companyName, addr, salary, date); | |
| 62 | + list.add(href); | |
| 63 | + } | |
| 64 | + return list; | |
| 65 | + } | |
| 66 | + | |
| 67 | + /** | |
| 68 | + * 获取document | |
| 69 | + * | |
| 70 | + * @param url | |
| 71 | + * @return | |
| 72 | + */ | |
| 73 | + private static Document getDocument(String url) { | |
| 74 | + try { | |
| 75 | + Document document = Jsoup.parse(new URL(url), 4000); | |
| 76 | + return document; | |
| 77 | + } catch (Exception e) { | |
| 78 | + e.printStackTrace(); | |
| 79 | + } | |
| 80 | + return null; | |
| 81 | + | |
| 82 | + } | |
| 83 | +} | ... | ... |
src/main/java/com/cnlive/shenhe/jsoup/newCrawl.java
0 → 100644
| 1 | +package com.cnlive.shenhe.jsoup; | |
| 2 | + | |
| 3 | +import java.io.IOException; | |
| 4 | +import java.net.URL; | |
| 5 | +import java.util.LinkedList; | |
| 6 | +import java.util.regex.Matcher; | |
| 7 | +import java.util.regex.Pattern; | |
| 8 | + | |
| 9 | +import org.jsoup.Jsoup; | |
| 10 | +import org.jsoup.nodes.Document; | |
| 11 | +import org.jsoup.nodes.Element; | |
| 12 | +import org.jsoup.select.Elements; | |
| 13 | + | |
| 14 | +public class newCrawl { | |
| 15 | + public void abc(String url) throws Exception { | |
| 16 | + newCrawl newCl = new newCrawl(); | |
| 17 | + //String url = "http://www.chinanews.com/sh/2019/06-21/8871343.shtml"; | |
| 18 | + //Document doc = Jsoup.connect(url).get(); | |
| 19 | + Document doc = Jsoup.parse(new URL(url), 4000); | |
| 20 | + String title = newCl.getnewTitle(doc);//获取新闻标题 | |
| 21 | + String time = newCl.getTime(doc);//获取新闻发布时间 | |
| 22 | + String text = newCl.getNewtext(doc);//获取新闻内容 | |
| 23 | + String imgurl = newCl.getImgurl(doc);//获取标题图片链接 | |
| 24 | + String source = newCl.getSource(doc);//获取来源 | |
| 25 | + System.out.println("新闻Url:" + url); | |
| 26 | + System.out.println("新闻标题:" + title); | |
| 27 | + System.out.println("新闻标题图片url:" + imgurl); | |
| 28 | + System.out.println("新闻发布时间:" + time); | |
| 29 | + System.out.println("新闻来源:" + source); | |
| 30 | + System.out.println("新闻内容:" + text); | |
| 31 | + } | |
| 32 | + | |
| 33 | + public String getnewTitle(Document doc) { | |
| 34 | + //获取网页的标题 | |
| 35 | + String title = doc.title(); | |
| 36 | + return title; | |
| 37 | + } | |
| 38 | + | |
| 39 | + public String getImgurl(Document doc) throws IOException { | |
| 40 | + //获取图片地址,并保存在ImgUrls链表中 | |
| 41 | + Elements pngs = doc.select(".left_ph img"); | |
| 42 | + String imageUrl = pngs.attr("src"); | |
| 43 | + return imageUrl; | |
| 44 | + } | |
| 45 | + | |
| 46 | + public String getSource(Document doc) throws IOException { | |
| 47 | + //获取新闻来源 | |
| 48 | + String source = ""; | |
| 49 | + Elements pngs = doc.select(".left-t a:first-child"); | |
| 50 | + source = pngs.text(); | |
| 51 | + return source; | |
| 52 | + } | |
| 53 | + | |
| 54 | + public String getNewtext(Document doc) { | |
| 55 | + //获取新闻内容 | |
| 56 | + String text = doc.select(".left_zw").text(); | |
| 57 | + return text; | |
| 58 | + } | |
| 59 | + | |
| 60 | + public String getTime(Document doc) { | |
| 61 | + //获取新闻发布的时间 | |
| 62 | + String time = null; | |
| 63 | + Elements element = doc.select(".left-t"); | |
| 64 | + String text = element.text(); | |
| 65 | + String s1 = text.replaceAll(" ", "");//完全清除,空格 | |
| 66 | + time = s1.substring(0, 17); | |
| 67 | + return time; | |
| 68 | + } | |
| 69 | + | |
| 70 | +} | |
| 71 | + | ... | ... |
src/main/java/com/cnlive/shenhe/mapper/ShyLiveMapper.java
0 → 100644
src/main/java/com/cnlive/shenhe/serviceImpl/ContentServiceImpl.java
| ... | ... | @@ -3,6 +3,7 @@ package com.cnlive.shenhe.serviceImpl; |
| 3 | 3 | import com.alibaba.fastjson.JSONObject; |
| 4 | 4 | import com.cnlive.shenhe.entity.ShyComments; |
| 5 | 5 | import com.cnlive.shenhe.entity.ShyContent; |
| 6 | +import com.cnlive.shenhe.entity.ShyLive; | |
| 6 | 7 | import com.cnlive.shenhe.entity.ShySites; |
| 7 | 8 | import com.cnlive.shenhe.entity.ShyUsers; |
| 8 | 9 | import com.cnlive.shenhe.entity.ShyVideos; |
| ... | ... | @@ -22,6 +23,8 @@ import org.springframework.beans.factory.annotation.Autowired; |
| 22 | 23 | import org.springframework.stereotype.Service; |
| 23 | 24 | import tk.mybatis.mapper.entity.Example; |
| 24 | 25 | |
| 26 | +import java.sql.Timestamp; | |
| 27 | +import java.text.ParseException; | |
| 25 | 28 | import java.util.Date; |
| 26 | 29 | import java.util.List; |
| 27 | 30 | |
| ... | ... | @@ -91,9 +94,11 @@ public class ContentServiceImpl { |
| 91 | 94 | } else { |
| 92 | 95 | example.setOrderByClause("create_date desc"); |
| 93 | 96 | } |
| 94 | - if (CommonUtils.isNotNull(start_date) && CommonUtils.isNotNull(end_date)) { | |
| 97 | + if (CommonUtils.isNotNull(start_date) ) { | |
| 95 | 98 | criteria.andGreaterThanOrEqualTo("create_date", start_date); |
| 96 | - criteria.andLessThanOrEqualTo("create_date", end_date); | |
| 99 | + } | |
| 100 | + if ( CommonUtils.isNotNull(end_date)) { | |
| 101 | + criteria.andLessThanOrEqualTo("create_date", end_date); | |
| 97 | 102 | } |
| 98 | 103 | if (CommonUtils.isNotEmpty(title)) { |
| 99 | 104 | criteria.andLike("title", "%" + title + "%"); |
| ... | ... | @@ -104,15 +109,9 @@ public class ContentServiceImpl { |
| 104 | 109 | if (CommonUtils.isNotNull(spid)) { |
| 105 | 110 | criteria.andEqualTo("sp_id", spid); |
| 106 | 111 | } |
| 107 | - if (CommonUtils.isNotNull(contentId)) { | |
| 112 | + if (CommonUtils.isNotEmpty(contentId)) { | |
| 108 | 113 | criteria.andEqualTo("content_id", contentId); |
| 109 | 114 | } |
| 110 | -// if (CommonUtils.isNotNull(is_hot)) { | |
| 111 | -// criteria.andEqualTo("is_hot", is_hot); | |
| 112 | -// } | |
| 113 | -// if (CommonUtils.isNotEmpty(activity_id)) { | |
| 114 | -// criteria.andLike("auditor_id", "%" + activity_id + "%"); | |
| 115 | -// } | |
| 116 | 115 | if (CommonUtils.isNotNull(receive_status)) { |
| 117 | 116 | criteria.andEqualTo("receive_status", receive_status); |
| 118 | 117 | if (receive_status!=CommonConst.RECEIVE_BEFORE) { |
| ... | ... | @@ -120,20 +119,49 @@ public class ContentServiceImpl { |
| 120 | 119 | } |
| 121 | 120 | } |
| 122 | 121 | |
| 123 | -// if (CommonUtils.isNotEmpty(states)) { | |
| 124 | -// Example.Criteria criteria1 = example.createCriteria(); | |
| 125 | -// String[] stas = states.split(","); | |
| 126 | -// for (String s : stas) { | |
| 127 | -// criteria1.orEqualTo("state", Integer.parseInt(s)); | |
| 128 | -// } | |
| 129 | -// example.and(criteria1); | |
| 130 | -// } | |
| 131 | - | |
| 132 | 122 | PageHelper.startPage(page, pageSize, true); |
| 133 | 123 | List<ShyContent> contentList = shyContentMapper.selectByExample(example); |
| 134 | 124 | PageInfo<ShyContent> pageInfo = new PageInfo<>(contentList); |
| 135 | 125 | return pageInfo; |
| 136 | 126 | } |
| 127 | + | |
| 128 | + /** | |
| 129 | + * 根据条件导出数据excel | |
| 130 | + * @return | |
| 131 | + */ | |
| 132 | + public List<ShyContent> findByCondition(String title,String contentId, Date start_date, | |
| 133 | + Date end_date,Integer receive_status, Integer page, | |
| 134 | + Integer pageSize, String orderByClause, Integer spid) { | |
| 135 | + | |
| 136 | + Example example = new Example(ShyContent.class); | |
| 137 | + Example.Criteria criteria = example.createCriteria(); | |
| 138 | + if (CommonUtils.isNotEmpty(orderByClause)) { | |
| 139 | + example.setOrderByClause(orderByClause); | |
| 140 | + } else { | |
| 141 | + example.setOrderByClause("create_date desc"); | |
| 142 | + } | |
| 143 | + if (CommonUtils.isNotNull(start_date) ) { | |
| 144 | + criteria.andGreaterThanOrEqualTo("create_date", start_date); | |
| 145 | + } | |
| 146 | + if ( CommonUtils.isNotNull(end_date)) { | |
| 147 | + criteria.andLessThanOrEqualTo("create_date", end_date); | |
| 148 | + } | |
| 149 | + if (CommonUtils.isNotEmpty(title)) { | |
| 150 | + criteria.andLike("title", "%" + title + "%"); | |
| 151 | + } | |
| 152 | + if (CommonUtils.isNotNull(spid)) { | |
| 153 | + criteria.andEqualTo("sp_id", spid); | |
| 154 | + } | |
| 155 | + if (CommonUtils.isNotEmpty(contentId)) { | |
| 156 | + criteria.andEqualTo("content_id", contentId); | |
| 157 | + } | |
| 158 | + if (CommonUtils.isNotNull(receive_status)) { | |
| 159 | + criteria.andEqualTo("receive_status", receive_status); | |
| 160 | + } | |
| 161 | + List<ShyContent> shyContentList = shyContentMapper.selectByExample(example); | |
| 162 | + return shyContentList; | |
| 163 | + } | |
| 164 | + | |
| 137 | 165 | |
| 138 | 166 | //****************************** |
| 139 | 167 | public ShyContent getDetailsContent(Integer id) { | ... | ... |
src/main/java/com/cnlive/shenhe/serviceImpl/LiveServiceImpl.java
0 → 100644
| 1 | +package com.cnlive.shenhe.serviceImpl; | |
| 2 | + | |
| 3 | +import com.alibaba.fastjson.JSON; | |
| 4 | +import com.alibaba.fastjson.JSONArray; | |
| 5 | +import com.alibaba.fastjson.JSONObject; | |
| 6 | +import com.cnlive.shenhe.bean.ErrorEnum; | |
| 7 | +import com.cnlive.shenhe.bean.ResponseBean; | |
| 8 | +import com.cnlive.shenhe.entity.ShyLive; | |
| 9 | +import com.cnlive.shenhe.entity.ShySites; | |
| 10 | +import com.cnlive.shenhe.entity.ShyUsers; | |
| 11 | +import com.cnlive.shenhe.entity.ShyUsersfree; | |
| 12 | +import com.cnlive.shenhe.entity.ShyVideofilter; | |
| 13 | +import com.cnlive.shenhe.entity.ShyVideos; | |
| 14 | +import com.cnlive.shenhe.job.VideosJob; | |
| 15 | +import com.cnlive.shenhe.mapper.ShyLiveMapper; | |
| 16 | +import com.cnlive.shenhe.mapper.ShySitesMapper; | |
| 17 | +import com.cnlive.shenhe.mapper.ShyUsersMapper; | |
| 18 | +import com.cnlive.shenhe.mapper.ShyVideosMapper; | |
| 19 | +import com.cnlive.shenhe.utils.AntiFraudUtil; | |
| 20 | +import com.cnlive.shenhe.utils.AuditPass; | |
| 21 | +import com.cnlive.shenhe.utils.CommonConst; | |
| 22 | +import com.cnlive.shenhe.utils.CommonUtils; | |
| 23 | +import com.github.pagehelper.PageHelper; | |
| 24 | +import com.github.pagehelper.PageInfo; | |
| 25 | + | |
| 26 | + | |
| 27 | +import org.apache.ibatis.session.RowBounds; | |
| 28 | +import org.slf4j.Logger; | |
| 29 | +import org.slf4j.LoggerFactory; | |
| 30 | +import org.springframework.beans.factory.annotation.Autowired; | |
| 31 | +import org.springframework.beans.factory.annotation.Value; | |
| 32 | +import org.springframework.stereotype.Service; | |
| 33 | +import tk.mybatis.mapper.entity.Example; | |
| 34 | + | |
| 35 | +import java.sql.Timestamp; | |
| 36 | +import java.text.ParseException; | |
| 37 | +import java.util.ArrayList; | |
| 38 | +import java.util.Arrays; | |
| 39 | +import java.util.HashMap; | |
| 40 | +import java.util.List; | |
| 41 | +import java.util.Map; | |
| 42 | + | |
| 43 | +/** | |
| 44 | + * @Auther: chenhao | |
| 45 | + * @Date: 2018/11/30 14:23 | |
| 46 | + * @Description: | |
| 47 | + */ | |
| 48 | +@Service | |
| 49 | +public class LiveServiceImpl { | |
| 50 | + private static Logger logger = LoggerFactory.getLogger(LiveServiceImpl.class); | |
| 51 | + @Autowired | |
| 52 | + ShyVideosMapper shyVideosMapper; | |
| 53 | + @Autowired | |
| 54 | + ShyLiveMapper shyLiveMapper; | |
| 55 | + @Autowired | |
| 56 | + ShySitesMapper shySitesMapper; | |
| 57 | + @Autowired | |
| 58 | + ShyUsersMapper shyUsersMapper; | |
| 59 | + | |
| 60 | + @Autowired | |
| 61 | + LiveServiceImpl videosService; | |
| 62 | + @Autowired | |
| 63 | + SitesServiceImpl sitesService; | |
| 64 | + | |
| 65 | + @Autowired | |
| 66 | + UsersfreeServiceImpl usersfreeServiceImpl; | |
| 67 | + | |
| 68 | + @Autowired | |
| 69 | + VideofilterServiceImpl videofilterServiceImpl; | |
| 70 | + | |
| 71 | + @Value("${qn_domain}") | |
| 72 | + String qn_domain; | |
| 73 | + | |
| 74 | + @Value("${ks_domain}") | |
| 75 | + String ks_domain; | |
| 76 | + | |
| 77 | + @Autowired | |
| 78 | + AuditPass Pass; | |
| 79 | + | |
| 80 | + //============== | |
| 81 | + public boolean impotVideo(ShyLive shyLive) { | |
| 82 | + int result = shyLiveMapper.insertSelective(shyLive); | |
| 83 | + if (result == 0) { | |
| 84 | + return false; | |
| 85 | + } | |
| 86 | + return true; | |
| 87 | + } | |
| 88 | + | |
| 89 | + //============== | |
| 90 | + public ShyLive selectByPrimaryKey(Integer id) { | |
| 91 | + ShyLive shyLive = shyLiveMapper.selectByPrimaryKey(id); | |
| 92 | + return shyLive; | |
| 93 | + } | |
| 94 | + | |
| 95 | + //============= | |
| 96 | + public List<ShyLive> findshyLive(ShyLive shyLive) { | |
| 97 | + List<ShyLive> shyLivelist = shyLiveMapper.selectByRowBounds(shyLive, new RowBounds(0, 100)); | |
| 98 | + return shyLivelist; | |
| 99 | + } | |
| 100 | + | |
| 101 | + //============== | |
| 102 | + public boolean updateshyLive(ShyLive shyLive) { | |
| 103 | + int i = shyLiveMapper.updateByPrimaryKey(shyLive); | |
| 104 | + if (i == 0) { | |
| 105 | + return false; | |
| 106 | + } | |
| 107 | + return true; | |
| 108 | + } | |
| 109 | + | |
| 110 | + //============== | |
| 111 | + public int updateLive(Integer id, String auditor_id,String updater, Integer activity_status, String msg) { | |
| 112 | + ShyLive shyLive = shyLiveMapper.selectByPrimaryKey(id); | |
| 113 | + shyLive.setAuditor(auditor_id); | |
| 114 | + shyLive.setShenhe_state(CommonConst.RECEIVE_AUDIT); | |
| 115 | + shyLive.setActivity_status(activity_status); | |
| 116 | + shyLive.setShenhe_msg(msg); | |
| 117 | + shyLive.setUpdater(updater); | |
| 118 | + return shyLiveMapper.updateByPrimaryKey(shyLive); | |
| 119 | + } | |
| 120 | + | |
| 121 | + //=============== | |
| 122 | + public PageInfo<ShyLive> getListContent(String activity_name, String start_date, String end_date, | |
| 123 | + String activity_id, Integer activity_status, Integer page, Integer pageSize, | |
| 124 | + Integer shenhe_state, String orderByClause, Integer spid, String userId) { | |
| 125 | + Example example = new Example(ShyLive.class); | |
| 126 | + Example.Criteria criteria = example.createCriteria(); | |
| 127 | +// Example.Criteria criteria2 = example.createCriteria(); | |
| 128 | + if (CommonUtils.isNotEmpty(orderByClause)) { | |
| 129 | + example.setOrderByClause(orderByClause); | |
| 130 | + } | |
| 131 | + if (CommonUtils.isNotEmpty(start_date)) { | |
| 132 | + Timestamp startdate = null; | |
| 133 | + try { | |
| 134 | + startdate = CommonUtils.parseDate(start_date, "yyyy-MM-dd HH:mm"); | |
| 135 | + } catch (ParseException e) { | |
| 136 | + e.printStackTrace(); | |
| 137 | + } | |
| 138 | + criteria.andGreaterThanOrEqualTo("activity_start_time", startdate); | |
| 139 | +// criteria2.andGreaterThanOrEqualTo("activity_start_time", startdate); | |
| 140 | + } | |
| 141 | + if ( CommonUtils.isNotEmpty(end_date)) { | |
| 142 | + Timestamp enddate = null; | |
| 143 | + try { | |
| 144 | + enddate = CommonUtils.parseDate(end_date, "yyyy-MM-dd HH:mm"); | |
| 145 | + } catch (ParseException e) { | |
| 146 | + e.printStackTrace(); | |
| 147 | + } | |
| 148 | + criteria.andLessThanOrEqualTo("activity_end_time", enddate); | |
| 149 | +// criteria2.andLessThanOrEqualTo("activity_end_time", enddate); | |
| 150 | + } | |
| 151 | + if (CommonUtils.isNotEmpty(activity_name)) { | |
| 152 | + criteria.andLike("activity_name", "%" + activity_name + "%"); | |
| 153 | +// criteria2.andLike("activity_name", "%" + activity_name + "%"); | |
| 154 | + } | |
| 155 | + | |
| 156 | + if (CommonUtils.isNotEmpty(activity_id)) { | |
| 157 | + criteria.andEqualTo("activity_id", activity_id); | |
| 158 | +// criteria2.andEqualTo("activity_id", activity_id); | |
| 159 | + } | |
| 160 | + if (CommonUtils.isNotNull(spid)) { | |
| 161 | + criteria.andEqualTo("spid", spid); | |
| 162 | +// criteria2.andEqualTo("spid", spid); | |
| 163 | + } | |
| 164 | + if (CommonUtils.isNotNull(shenhe_state)) { | |
| 165 | + criteria.andEqualTo("shenhe_state", shenhe_state); | |
| 166 | +// criteria2.andEqualTo("shenhe_state", shenhe_state); | |
| 167 | + if (shenhe_state != CommonConst.RECEIVE_BEFORE) { | |
| 168 | + criteria.andEqualTo("auditor", userId); | |
| 169 | +// criteria2.andEqualTo("auditor", userId); | |
| 170 | + } | |
| 171 | + } | |
| 172 | + if (CommonUtils.isNotNull(activity_status) ) { | |
| 173 | + criteria.andEqualTo("activity_status", activity_status); | |
| 174 | + } | |
| 175 | + criteria.andEqualTo("is_show", 1); | |
| 176 | + //排序 | |
| 177 | + example.setOrderByClause("is_hot desc, activity_start_time asc"); | |
| 178 | + PageHelper.startPage(page, pageSize, true); | |
| 179 | + List<ShyLive> shyLiveList = shyLiveMapper.selectByExample(example); | |
| 180 | + PageInfo<ShyLive> pageInfo = new PageInfo<>(shyLiveList); | |
| 181 | + return pageInfo; | |
| 182 | + } | |
| 183 | + | |
| 184 | + //====================== | |
| 185 | + public ShyLive getDetailsLive(Integer id) { | |
| 186 | + ShyLive shyLive = shyLiveMapper.selectByPrimaryKey(id); | |
| 187 | + if (shyLive.getShenhe_state() != CommonConst.RECEIVE_BEFORE) { | |
| 188 | + String updater = CommonUtils.isEmpty(shyLive.getUpdater()) || "null".equals(shyLive.getUpdater())? "自动通过":shyLive.getUpdater(); | |
| 189 | + String auditor_id = shyLive.getAuditor(); | |
| 190 | + if (CommonUtils.isNotEmpty(auditor_id)) { | |
| 191 | + ShyUsers user = new ShyUsers(); | |
| 192 | + user.setUser_id(auditor_id); | |
| 193 | + user = shyUsersMapper.selectOne(user); | |
| 194 | + String email = CommonUtils.isEmpty(user.getEmail()) || "null".equals(user.getEmail())? "" : user.getEmail(); | |
| 195 | + String userName = CommonUtils.isEmpty(user.getUsername()) ? email: user.getUsername(); | |
| 196 | + updater = userName; | |
| 197 | + } | |
| 198 | + shyLive.setUpdater(updater); | |
| 199 | + } | |
| 200 | + return shyLive; | |
| 201 | + } | |
| 202 | + | |
| 203 | + //==================== | |
| 204 | + public Integer receive(String ids, Integer num, String userId, Integer spid) { | |
| 205 | + Integer n = 0; | |
| 206 | + if (CommonUtils.isNotEmpty(ids)) { | |
| 207 | + String[] cids = ids.split(","); | |
| 208 | + for (String cid : cids) { | |
| 209 | + ShyLive shyLive = shyLiveMapper.selectByPrimaryKey(Integer.parseInt(cid)); | |
| 210 | + if (CommonUtils.isNotNull(shyLive) && shyLive.getShenhe_state() == CommonConst.RECEIVE_BEFORE ) { | |
| 211 | + shyLive.setAuditor(userId);; | |
| 212 | + shyLive.setShenhe_state(CommonConst.RECEIVE_AFTER); | |
| 213 | + shyLiveMapper.updateByPrimaryKeySelective(shyLive); | |
| 214 | + n++; | |
| 215 | + } | |
| 216 | + } | |
| 217 | + } else if (CommonUtils.isNotNull(num) && num > 0) { | |
| 218 | + Example example = new Example(ShyLive.class); | |
| 219 | + example.setOrderByClause("is_hot desc, activity_start_time asc"); | |
| 220 | + example.and().andEqualTo("shenhe_state", CommonConst.RECEIVE_BEFORE); | |
| 221 | + if (CommonUtils.isNotNull(spid) && spid != 0) example.and().andEqualTo("spid", spid); | |
| 222 | + List<ShyLive> shyLiveList = shyLiveMapper.selectByExampleAndRowBounds(example, new RowBounds(0, num)); | |
| 223 | + if (!shyLiveList.isEmpty()) { | |
| 224 | + for (ShyLive shyLive : shyLiveList) { | |
| 225 | + shyLive.setAuditor(userId); | |
| 226 | + shyLive.setShenhe_state(CommonConst.RECEIVE_AFTER); | |
| 227 | + shyLiveMapper.updateByPrimaryKeySelective(shyLive); | |
| 228 | + n++; | |
| 229 | + } | |
| 230 | + } | |
| 231 | + } | |
| 232 | + return n; | |
| 233 | + } | |
| 234 | + | |
| 235 | + //================ | |
| 236 | + public ResponseBean retReceive(String ids, String userId) { | |
| 237 | + String[] cids = ids.split(","); | |
| 238 | + for (String cid : cids) { | |
| 239 | + ShyLive shyLive = shyLiveMapper.selectByPrimaryKey(Integer.parseInt(cid)); | |
| 240 | + if (shyLive.getShenhe_state() == CommonConst.RECEIVE_AFTER && shyLive.getAuditor().equals(userId)) { | |
| 241 | + shyLive.setShenhe_state(CommonConst.RECEIVE_BEFORE); | |
| 242 | + shyLive.setAuditor(null); | |
| 243 | + int i = shyLiveMapper.updateByPrimaryKey(shyLive); | |
| 244 | + if (i != 1) { | |
| 245 | + return new ResponseBean(ErrorEnum.ERROR.getErrorCode(), "退领失败,请重试"); | |
| 246 | + } | |
| 247 | + } else { | |
| 248 | + return new ResponseBean(ErrorEnum.ERROR.getErrorCode(), "退领失败,您选中的内容包含已退领的或已经审核的"); | |
| 249 | + } | |
| 250 | + } | |
| 251 | + return new ResponseBean(ErrorEnum.SUCCESS.getErrorCode(), "已退领"); | |
| 252 | + } | |
| 253 | + | |
| 254 | + /** | |
| 255 | + * 根据条件导出数据excel | |
| 256 | + * @return | |
| 257 | + */ | |
| 258 | + public List<ShyLive> findByCondition(String activity_id,String start_date,String end_date, | |
| 259 | + String activity_name, Integer activity_status, Integer page,Integer pageSize, | |
| 260 | + Integer shenhe_state, String orderByClause, Integer spid) { | |
| 261 | + Example example = new Example(ShyLive.class); | |
| 262 | + Example.Criteria criteria = example.createCriteria(); | |
| 263 | + if (CommonUtils.isNotEmpty(orderByClause)) { | |
| 264 | + example.setOrderByClause(orderByClause); | |
| 265 | + }else{ | |
| 266 | + //默认排序 | |
| 267 | + example.setOrderByClause("activity_start_time asc"); | |
| 268 | + } | |
| 269 | + if (CommonUtils.isNotEmpty(start_date)) { | |
| 270 | + Timestamp startdate = null; | |
| 271 | + try { | |
| 272 | + startdate = CommonUtils.parseDate(start_date, "yyyy-MM-dd HH:mm"); | |
| 273 | + } catch (ParseException e) { | |
| 274 | + e.printStackTrace(); | |
| 275 | + } | |
| 276 | + criteria.andGreaterThanOrEqualTo("activity_start_time", startdate); | |
| 277 | + } | |
| 278 | + if ( CommonUtils.isNotEmpty(end_date)) { | |
| 279 | + Timestamp enddate = null; | |
| 280 | + try { | |
| 281 | + enddate = CommonUtils.parseDate(end_date, "yyyy-MM-dd HH:mm"); | |
| 282 | + } catch (ParseException e) { | |
| 283 | + e.printStackTrace(); | |
| 284 | + } | |
| 285 | + criteria.andLessThanOrEqualTo("activity_end_time", enddate); | |
| 286 | + } | |
| 287 | + if (CommonUtils.isNotEmpty(activity_name)) { | |
| 288 | + criteria.andLike("activity_name", "%" + activity_name + "%"); | |
| 289 | + } | |
| 290 | + if (CommonUtils.isNotNull(activity_status) ) { | |
| 291 | + criteria.andEqualTo("activity_status", activity_status); | |
| 292 | + } | |
| 293 | + if (CommonUtils.isNotEmpty(activity_id)) { | |
| 294 | + criteria.andEqualTo("activity_id", activity_id); | |
| 295 | + } | |
| 296 | + if (CommonUtils.isNotNull(spid)) { | |
| 297 | + criteria.andEqualTo("spid", spid); | |
| 298 | + } | |
| 299 | + if (CommonUtils.isNotNull(shenhe_state)) { | |
| 300 | + criteria.andEqualTo("shenhe_state", shenhe_state); | |
| 301 | + } | |
| 302 | + | |
| 303 | + List<ShyLive> shyLiveList = shyLiveMapper.selectByExample(example); | |
| 304 | + return shyLiveList; | |
| 305 | + } | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
| 309 | + | |
| 310 | +} | ... | ... |
src/main/java/com/cnlive/shenhe/utils/AuditPass.java
| ... | ... | @@ -56,6 +56,27 @@ public class AuditPass { |
| 56 | 56 | Map<String, String> post = httpUtil.post(URL); |
| 57 | 57 | return JSONObject.parseObject(post.get("result")); |
| 58 | 58 | } |
| 59 | + /** | |
| 60 | + * 直播视频回调 | |
| 61 | + * | |
| 62 | + * @param activity_id | |
| 63 | + * @param state | |
| 64 | + * @param attr_tags | |
| 65 | + * @param msg | |
| 66 | + * @return | |
| 67 | + */ | |
| 68 | + public JSONObject livePass(String activity_id, int state, String attr_tags, String msg, String callBack) { | |
| 69 | + logger.info("直播回调:id:{},state:{},attr_tags:{},exceptionMessage:{}", activity_id, state, attr_tags, msg); | |
| 70 | + JSONObject params = new JSONObject(); | |
| 71 | + params.put("id", activity_id); | |
| 72 | + params.put("state", state); | |
| 73 | + params.put("attr_tags", attr_tags); | |
| 74 | + params.put("exceptionMessage", msg); | |
| 75 | + HttpUtil httpUtil = HttpUtil.init(); | |
| 76 | + httpUtil.setParam("param", params.toJSONString()); | |
| 77 | + Map<String, String> post = httpUtil.post(callBack); | |
| 78 | + return JSONObject.parseObject(post.get("result")); | |
| 79 | + } | |
| 59 | 80 | |
| 60 | 81 | /** |
| 61 | 82 | * 评论打回回调 | ... | ... |
src/main/resources/mapper/ShyCommentsMapper.xml
| ... | ... | @@ -16,6 +16,7 @@ |
| 16 | 16 | <result column="spid" jdbcType="INTEGER" property="spid" /> |
| 17 | 17 | <result column="app_id" jdbcType="VARCHAR" property="app_id" /> |
| 18 | 18 | <result column="comment_original_url" jdbcType="VARCHAR" property="comment_original_url" /> |
| 19 | + <result column="shenhe_type" jdbcType="INTEGER" property="shenhe_type" /> | |
| 19 | 20 | <result column="updater" jdbcType="VARCHAR" property="updater" /> |
| 20 | 21 | <result column="auditor_id" jdbcType="VARCHAR" property="auditor_id" /> |
| 21 | 22 | <result column="callback" jdbcType="VARCHAR" property="callback" /> |
| ... | ... | @@ -27,7 +28,7 @@ |
| 27 | 28 | <result column="comment_user_ip" jdbcType="CHAR" property="comment_user_ip" /> |
| 28 | 29 | <result column="created_at" jdbcType="TIMESTAMP" property="created_at" /> |
| 29 | 30 | <result column="updated_at" jdbcType="TIMESTAMP" property="updated_at" /> |
| 30 | - <result column="receive" jdbcType="BIT" property="receive" /> | |
| 31 | + <result column="receive" jdbcType="INTEGER" property="receive" /> | |
| 31 | 32 | <result column="receive_user_id" jdbcType="VARCHAR" property="receive_user_id" /> |
| 32 | 33 | </resultMap> |
| 33 | 34 | </mapper> |
| 34 | 35 | \ No newline at end of file | ... | ... |
src/main/resources/mapper/ShyContentMapper.xml
| ... | ... | @@ -17,6 +17,7 @@ |
| 17 | 17 | <result column="callback" jdbcType="VARCHAR" property="callback" /> |
| 18 | 18 | <result column="source" jdbcType="VARCHAR" property="source" /> |
| 19 | 19 | <result column="author" jdbcType="VARCHAR" property="author" /> |
| 20 | + <result column="content_time" jdbcType="TIMESTAMP" property="content_time" /> | |
| 20 | 21 | <result column="create_date" jdbcType="TIMESTAMP" property="create_date" /> |
| 21 | 22 | <result column="last_update" jdbcType="TIMESTAMP" property="last_update" /> |
| 22 | 23 | <result column="receive_status" jdbcType="INTEGER" property="receive_status" /> | ... | ... |
src/main/resources/mapper/ShyLiveMapper.xml
0 → 100644
| 1 | +<?xml version="1.0" encoding="UTF-8"?> | |
| 2 | +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> | |
| 3 | +<mapper namespace="com.cnlive.shenhe.mapper.ShyLiveMapper"> | |
| 4 | + <resultMap id="BaseResultMap" type="com.cnlive.shenhe.entity.ShyLive"> | |
| 5 | + <!-- | |
| 6 | + WARNING - @mbg.generated | |
| 7 | + --> | |
| 8 | + <id column="id" jdbcType="INTEGER" property="id" /> | |
| 9 | + <result column="sp_id" jdbcType="INTEGER" property="sp_id" /> | |
| 10 | + <result column="channel_id" jdbcType="VARCHAR" property="channel_id" /> | |
| 11 | + <result column="activity_id" jdbcType="VARCHAR" property="activity_id" /> | |
| 12 | + <result column="activity_name" jdbcType="VARCHAR" property="activity_name" /> | |
| 13 | + <result column="activity_status" jdbcType="INTEGER" property="activity_status" /> | |
| 14 | + <result column="activity_start_time" jdbcType="TIMESTAMP" property="activity_start_time" /> | |
| 15 | + <result column="activity_end_time" jdbcType="TIMESTAMP" property="activity_end_time" /> | |
| 16 | + <result column="activity_intro" jdbcType="VARCHAR" property="activity_intro" /> | |
| 17 | + <result column="m3u8_url" jdbcType="VARCHAR" property="m3u8_url" /> | |
| 18 | + <result column="rtmp_url" jdbcType="VARCHAR" property="rtmp_url" /> | |
| 19 | + <result column="callback" jdbcType="VARCHAR" property="callback" /> | |
| 20 | + <result column="cover_img_url" jdbcType="VARCHAR" property="cover_img_url" /> | |
| 21 | + <result column="playback_url" jdbcType="VARCHAR" property="playback_url" /> | |
| 22 | + <result column="is_hot" jdbcType="INTEGER" property="is_hot" /> | |
| 23 | + <result column="shenhe_type" jdbcType="INTEGER" property="shenhe_type" /> | |
| 24 | + <result column="shenhe_state" jdbcType="INTEGER" property="shenhe_state" /> | |
| 25 | + <result column="updater" jdbcType="VARCHAR" property="updater" /> | |
| 26 | + <result column="auditor" jdbcType="VARCHAR" property="auditor" /> | |
| 27 | + <result column="shenhe_msg" jdbcType="VARCHAR" property="shenhe_msg" /> | |
| 28 | + <result column="avsample_state" jdbcType="INTEGER" property="avsample_state" /> | |
| 29 | + <result column="avsample_start_time" jdbcType="TIMESTAMP" property="avsample_start_time" /> | |
| 30 | + <result column="avsample_end_time" jdbcType="TIMESTAMP" property="avsample_end_time" /> | |
| 31 | + <result column="is_show" jdbcType="INTEGER" property="is_show" /> | |
| 32 | + <result column="created_at" jdbcType="TIMESTAMP" property="created_at" /> | |
| 33 | + <result column="updated_at" jdbcType="TIMESTAMP" property="updated_at" /> | |
| 34 | + <result column="avsample_imgs" jdbcType="LONGVARCHAR" property="avsample_imgs" /> | |
| 35 | + <result column="avsample_msg" jdbcType="LONGVARCHAR" property="avsample_msg" /> | |
| 36 | + </resultMap> | |
| 37 | +</mapper> | |
| 0 | 38 | \ No newline at end of file | ... | ... |
src/main/resources/mapper/ShyVideosMapper.xml
| ... | ... | @@ -16,6 +16,7 @@ |
| 16 | 16 | <result column="auditor_id" jdbcType="VARCHAR" property="auditor_id" /> |
| 17 | 17 | <result column="callback" jdbcType="VARCHAR" property="callback" /> |
| 18 | 18 | <result column="video_priority" jdbcType="VARCHAR" property="video_priority" /> |
| 19 | + <result column="attr_tags" jdbcType="VARCHAR" property="attr_tags" /> | |
| 19 | 20 | <result column="msg" jdbcType="VARCHAR" property="msg" /> |
| 20 | 21 | <result column="shenhe_type" jdbcType="INTEGER" property="shenhe_type" /> |
| 21 | 22 | <result column="state" jdbcType="INTEGER" property="state" /> |
| ... | ... | @@ -25,7 +26,7 @@ |
| 25 | 26 | <result column="video_id" jdbcType="VARCHAR" property="video_id" /> |
| 26 | 27 | <result column="created_at" jdbcType="TIMESTAMP" property="created_at" /> |
| 27 | 28 | <result column="updated_at" jdbcType="TIMESTAMP" property="updated_at" /> |
| 28 | - <result column="receive" jdbcType="BIT" property="receive" /> | |
| 29 | + <result column="receive" jdbcType="INTEGER" property="receive" /> | |
| 29 | 30 | <result column="receive_user_id" jdbcType="VARCHAR" property="receive_user_id" /> |
| 30 | 31 | <result column="avsample" jdbcType="INTEGER" property="avsample" /> |
| 31 | 32 | <result column="task_id" jdbcType="VARCHAR" property="task_id" /> | ... | ... |
src/main/resources/templates/common/frame.html
| ... | ... | @@ -60,8 +60,8 @@ line-height: 2em; margin: 0 auto;font-size: 2em" th:text="${session.sessionUser. |
| 60 | 60 | <span class="menu-item-top">审核云</span> |
| 61 | 61 | </a> |
| 62 | 62 | <ul class="treeview-menu"> |
| 63 | - <li class="active"><a href="/videos/page?state=0&receive=0" id="/videos/page"></i> 点播审核</a></li> | |
| 64 | -<!-- <li><a href="/live/page?receive_status=0" id="/live/page"> 直播审核</a></li> --> | |
| 63 | + <li class="active"><a href="/videos/page?state=0&receive=0" id="/videos/page">点播审核</a></li> | |
| 64 | +<!-- <li><a href="/live/page?shenhe_state=0" id="/live/page"> 直播审核</a></li> --> | |
| 65 | 65 | <li><a href="/comments/page?state=0&receive=0" id="/comments/page"> 评论审核</a></li> |
| 66 | 66 | <!-- <li><a href="/content/page?receive_status=0" id="/content/page"> 图文审核</a></li> --> |
| 67 | 67 | </ul> | ... | ... |
src/main/resources/templates/common/head.html
| ... | ... | @@ -79,5 +79,10 @@ |
| 79 | 79 | |
| 80 | 80 | <link href="../../static/css/app.css" rel="stylesheet"> |
| 81 | 81 | <script src="../../static/js/app.js"></script> |
| 82 | + | |
| 83 | + <!-- 最新的 Bootstrap 核心 JavaScript 文件 --> | |
| 84 | + <script src="https://cdn.bootcss.com/bootstrap/3.3.7/js/bootstrap.min.js" | |
| 85 | + integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" | |
| 86 | + crossorigin="anonymous"></script> | |
| 82 | 87 | </head> |
| 83 | 88 | </html> |
| 84 | 89 | \ No newline at end of file | ... | ... |
src/main/resources/templates/html/game.html
0 → 100644
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> | |
| 5 | +<html xmlns="http://www.w3.org/1999/xhtml"> | |
| 6 | +<head> | |
| 7 | +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> | |
| 8 | +<title>游戏专区</title> | |
| 9 | +<script src="http://y1.cnliveimg.com:8080/icms/game/js/jquery1.42.min.js" type="text/javascript"></script> | |
| 10 | +<link href="http://y1.cnliveimg.com:8080/icms/game/css/shouye.css" rel="stylesheet" type="text/css" /> | |
| 11 | +<link rel="stylesheet" type="text/css" href="http://y1.cnliveimg.com:8080/icms/game/css/lrtk.css"> | |
| 12 | +<link href="http://www.cnlive.com/css/2012.css" rel="stylesheet" type="text/css" /> | |
| 13 | +<script src="http://y1.cnliveimg.com:8080/icms/game/js/jquery.superslide.2.1.1.js" type="text/javascript"></script> | |
| 14 | + <script type="text/javascript"> | |
| 15 | + | |
| 16 | +function logout(){ | |
| 17 | + $.ajax({ | |
| 18 | + dataType:'json', | |
| 19 | + url:"/handler/user/delcookie.do", | |
| 20 | + success:function(data){ | |
| 21 | + var flag = data.flag; | |
| 22 | + if(flag == "1"){ | |
| 23 | + window.location.href="http://www.ikol.cn/yxzq/index1.html"; | |
| 24 | + } | |
| 25 | + | |
| 26 | + | |
| 27 | + } | |
| 28 | + }) | |
| 29 | + | |
| 30 | +} | |
| 31 | +</script> | |
| 32 | + <script> | |
| 33 | +(function(){ | |
| 34 | + var bp = document.createElement('script'); | |
| 35 | + var curProtocol = window.location.protocol.split(':')[0]; | |
| 36 | + if (curProtocol === 'https') { | |
| 37 | + bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; | |
| 38 | + } | |
| 39 | + else { | |
| 40 | + bp.src = 'http://push.zhanzhang.baidu.com/push.js'; | |
| 41 | + } | |
| 42 | + var s = document.getElementsByTagName("script")[0]; | |
| 43 | + s.parentNode.insertBefore(bp, s); | |
| 44 | +})(); | |
| 45 | +</script> | |
| 46 | + <script> | |
| 47 | + var _hmt = _hmt || []; | |
| 48 | + (function() { | |
| 49 | + var hm = document.createElement("script"); | |
| 50 | + hm.src = "//hm.baidu.com/hm.js?4627425aed488d04175e70d4539c8e72"; | |
| 51 | + var s = document.getElementsByTagName("script")[0]; | |
| 52 | + s.parentNode.insertBefore(hm, s); | |
| 53 | + })(); | |
| 54 | + </script> | |
| 55 | +<style> | |
| 56 | + .com { | |
| 57 | + background-image: url(http://y1.cnliveimg.com:8080/icms/game/images_detail/bg.gif); | |
| 58 | + background-repeat: repeat-x; | |
| 59 | + background-position: bottom; | |
| 60 | + } | |
| 61 | + | |
| 62 | + .com .content-12 { | |
| 63 | + font-family: "微软雅黑", "宋体", Helvetica, Arial, Helvetica, sans-serif; | |
| 64 | + color: #636363; | |
| 65 | + font-size: 12px; | |
| 66 | + line-height: 20px; | |
| 67 | + padding-bottom: 20px; | |
| 68 | + padding-left: 35px; | |
| 69 | + padding-right: 20px; | |
| 70 | + padding-top: 30px; | |
| 71 | + text-align: left; | |
| 72 | + } | |
| 73 | +</style> | |
| 74 | +</head> | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | +<body bgcolor="#f1f1f1" > | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | +<!-- content --> | |
| 83 | +<div class="content-1" > | |
| 84 | + <table width="708" border="0" cellspacing="0" cellpadding="0" align="left"> | |
| 85 | + <!-- 左侧-有奖游戏 --> | |
| 86 | + <tr> | |
| 87 | + <td> | |
| 88 | + <div id="menucontainer1" > | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | +<div> | |
| 98 | + | |
| 99 | + | |
| 100 | + <table border="0" cellspacing="0" cellpadding="0" class="content-2"> | |
| 101 | + <tr> | |
| 102 | + <td class="content-10"><img src="http://y1.cnliveimg.com:8080/icms/game/images/content-1.gif" /> 有奖游戏</td> | |
| 103 | + </tr> | |
| 104 | + <tr> | |
| 105 | + <td ><table align="center"> | |
| 106 | + <tr> | |
| 107 | + <td class="content-7" > | |
| 108 | + | |
| 109 | + <ul class="content-5"> | |
| 110 | + | |
| 111 | + | |
| 112 | + <li class="content-6" > | |
| 113 | + <table > | |
| 114 | + <tr> | |
| 115 | + <td ><a href="#" target="_blank"><img src="http://sxzg.vods1.cnlive.com/82/games/base.png" style="width:78px;height:78px;" border="0" /></a> </td> | |
| 116 | + </tr> | |
| 117 | + <tr> | |
| 118 | + <td ><a href="#" target="_blank">泡泡消除 </a> </td> | |
| 119 | + </tr> | |
| 120 | + <tr> | |
| 121 | + <td><span style="color:#d0d0d0;font-family:'微软雅黑','宋体';font-size:12px;">29万次下载</span> </td> | |
| 122 | + </tr> | |
| 123 | + <tr> | |
| 124 | + <td><a href="http://sxzg.vods1.cnlive.com/82/games/base.apk" ><img src="http://y1.cnliveimg.com:8080/icms/game/images/down-1.gif" border="0" /></a> </td> | |
| 125 | + </tr> | |
| 126 | + </table> | |
| 127 | + </li> | |
| 128 | + <li class="content-6" > | |
| 129 | + <table > | |
| 130 | + <tr> | |
| 131 | + <td ><a href="#" target="_blank"><img src="http://sxzg.vods1.cnlive.com/82/games/leiting.png" style="width:78px;height:78px;" border="0" /></a> </td> | |
| 132 | + </tr> | |
| 133 | + <tr> | |
| 134 | + <td ><a href="#" target="_blank">雷霆战机 </a> </td> | |
| 135 | + </tr> | |
| 136 | + <tr> | |
| 137 | + <td><span style="color:#d0d0d0;font-family:'微软雅黑','宋体';font-size:12px;">35万次下载</span> </td> | |
| 138 | + </tr> | |
| 139 | + <tr> | |
| 140 | + <td><a href="http://sxzg.vods1.cnlive.com/82/games/leiting.apk" ><img src="http://y1.cnliveimg.com:8080/icms/game/images/down-1.gif" border="0" /></a> </td> | |
| 141 | + </tr> | |
| 142 | + </table> | |
| 143 | + </li> | |
| 144 | + <li class="content-6" > | |
| 145 | + <table > | |
| 146 | + <tr> | |
| 147 | + <td ><a href="#" target="_blank"><img src="http://sxzg.vods1.cnlive.com/82/games/mofa.png" style="width:78px;height:78px;" border="0" /></a> </td> | |
| 148 | + </tr> | |
| 149 | + <tr> | |
| 150 | + <td ><a href="#" target="_blank">魔法消除 </a> </td> | |
| 151 | + </tr> | |
| 152 | + <tr> | |
| 153 | + <td><span style="color:#d0d0d0;font-family:'微软雅黑','宋体';font-size:12px;">43万次下载</span> </td> | |
| 154 | + </tr> | |
| 155 | + <tr> | |
| 156 | + <td><a href="http://sxzg.vods1.cnlive.com/82/games/mofa.apk" ><img src="http://y1.cnliveimg.com:8080/icms/game/images/down-1.gif" border="0" /></a> </td> | |
| 157 | + </tr> | |
| 158 | + </table> | |
| 159 | + </li> | |
| 160 | + <li class="content-6" > | |
| 161 | + <table > | |
| 162 | + <tr> | |
| 163 | + <td ><a href="#" target="_blank"><img src="http://sxzg.vods1.cnlive.com/82/games/momv.jpg" style="width:78px;height:78px;" border="0" /></a> </td> | |
| 164 | + </tr> | |
| 165 | + <tr> | |
| 166 | + <td ><a href="#" target="_blank">魔女酷跑 </a> </td> | |
| 167 | + </tr> | |
| 168 | + <tr> | |
| 169 | + <td><span style="color:#d0d0d0;font-family:'微软雅黑','宋体';font-size:12px;">29万次下载</span> </td> | |
| 170 | + </tr> | |
| 171 | + <tr> | |
| 172 | + <td><a href="http://sxzg.vods1.cnlive.com/82/games/monv.apk" ><img src="http://y1.cnliveimg.com:8080/icms/game/images/down-1.gif" border="0" /></a> </td> | |
| 173 | + </tr> | |
| 174 | + </table> | |
| 175 | + </li> | |
| 176 | + <li class="content-6" > | |
| 177 | + <table > | |
| 178 | + <tr> | |
| 179 | + <td ><a href="#" target="_blank"><img src="http://sxzg.vods1.cnlive.com/82/games/zhanshen.png" style="width:78px;height:78px;" border="0" /></a> </td> | |
| 180 | + </tr> | |
| 181 | + <tr> | |
| 182 | + <td ><a href="#" target="_blank">战神机甲出击 </a> </td> | |
| 183 | + </tr> | |
| 184 | + <tr> | |
| 185 | + <td><span style="color:#d0d0d0;font-family:'微软雅黑','宋体';font-size:12px;">60万次下载</span> </td> | |
| 186 | + </tr> | |
| 187 | + <tr> | |
| 188 | + <td><a href="http://sxzg.vods1.cnlive.com/82/games/zhanshen.apk" ><img src="http://y1.cnliveimg.com:8080/icms/game/images/down-1.gif" border="0" /></a> </td> | |
| 189 | + </tr> | |
| 190 | + </table> | |
| 191 | + </li> | |
| 192 | + <li class="content-6" > | |
| 193 | + <table > | |
| 194 | + <tr> | |
| 195 | + <td ><a href="http://www.ikol.cn/yxzq/view1.html?id=721754" target="_blank"><img src="http://yweb2.cnliveimg.com/cnlive/public/170303135004827_081.png" style="width:78px;height:78px;" border="0" /></a> </td> | |
| 196 | + </tr> | |
| 197 | + <tr> | |
| 198 | + <td ><a href="http://www.ikol.cn/yxzq/view1.html?id=721754" target="_blank">干掉僵尸 </a> </td> | |
| 199 | + </tr> | |
| 200 | + <tr> | |
| 201 | + <td><span style="color:#d0d0d0;font-family:'微软雅黑','宋体';font-size:12px;">29万次下载</span> </td> | |
| 202 | + </tr> | |
| 203 | + <tr> | |
| 204 | + <td><a href="http://resweb.cnliveimg.com/icms/file/2017/03/03/170303135401564_404.apk" ><img src="http://y1.cnliveimg.com:8080/icms/game/images/down-1.gif" border="0" /></a> </td> | |
| 205 | + </tr> | |
| 206 | + </table> | |
| 207 | + </li> | |
| 208 | + | |
| 209 | + <li class="content-6" > | |
| 210 | + <table > | |
| 211 | + <tr> | |
| 212 | + <td ><a href="http://www.ikol.cn/yxzq/view1.html?id=721753" target="_blank"><img src="http://yweb2.cnliveimg.com/cnlive/public/170303134123648_480.png" style="width:78px;height:78px;" border="0" /></a> </td> | |
| 213 | + </tr> | |
| 214 | + <tr> | |
| 215 | + <td ><a href="http://www.ikol.cn/yxzq/view1.html?id=721753" target="_blank">麻将消除乐 </a> </td> | |
| 216 | + </tr> | |
| 217 | + <tr> | |
| 218 | + <td><span style="color:#d0d0d0;font-family:'微软雅黑','宋体';font-size:12px;">0万次下载</span> </td> | |
| 219 | + </tr> | |
| 220 | + <tr> | |
| 221 | + <td><a href="http://resweb.cnliveimg.com/icms/file/2017/03/03/170303134700302_062.apk" ><img src="http://y1.cnliveimg.com:8080/icms/game/images/down-1.gif" border="0" /></a> </td> | |
| 222 | + </tr> | |
| 223 | + </table> | |
| 224 | + </li> | |
| 225 | + | |
| 226 | + <li class="content-6" > | |
| 227 | + <table > | |
| 228 | + <tr> | |
| 229 | + <td ><a href="http://www.ikol.cn/yxzq/view1.html?id=721751" target="_blank"><img src="http://yweb1.cnliveimg.com/cnlive/public/170302152814499_814.jpg" style="width:78px;height:78px;" border="0" /></a> </td> | |
| 230 | + </tr> | |
| 231 | + <tr> | |
| 232 | + <td ><a href="http://www.ikol.cn/yxzq/view1.html?id=721751" target="_blank">乐动达人全民 </a> </td> | |
| 233 | + </tr> | |
| 234 | + <tr> | |
| 235 | + <td><span style="color:#d0d0d0;font-family:'微软雅黑','宋体';font-size:12px;">0万次下载</span> </td> | |
| 236 | + </tr> | |
| 237 | + <tr> | |
| 238 | + <td><a href="http://resweb.cnliveimg.com/icms/file/2017/03/02/170302153332333_970.apk" ><img src="http://y1.cnliveimg.com:8080/icms/game/images/down-1.gif" border="0" /></a> </td> | |
| 239 | + </tr> | |
| 240 | + </table> | |
| 241 | + </li> | |
| 242 | + | |
| 243 | + <li class="content-6" > | |
| 244 | + <table > | |
| 245 | + <tr> | |
| 246 | + <td ><a href="http://www.ikol.cn/yxzq/view1.html?id=416602" target="_blank"><img src="http://yweb3.cnliveimg.com/img/cnlive/public/141205153040204_506.jpg" style="width:78px;height:78px;" border="0" /></a> </td> | |
| 247 | + </tr> | |
| 248 | + <tr> | |
| 249 | + <td ><a href="http://www.ikol.cn/yxzq/view1.html?id=416602" target="_blank">萌宠爱跳跃 </a> </td> | |
| 250 | + </tr> | |
| 251 | + <tr> | |
| 252 | + <td><span style="color:#d0d0d0;font-family:'微软雅黑','宋体';font-size:12px;">35万次下载</span> </td> | |
| 253 | + </tr> | |
| 254 | + <tr> | |
| 255 | + <td><a href="http://media4.cnlive.com:8080/icms/file/2014/12/05/141205153056054_241.apk" ><img src="http://y1.cnliveimg.com:8080/icms/game/images/down-1.gif" border="0" /></a> </td> | |
| 256 | + </tr> | |
| 257 | + </table> | |
| 258 | + </li> | |
| 259 | + | |
| 260 | + <li class="content-6" > | |
| 261 | + <table > | |
| 262 | + <tr> | |
| 263 | + <td ><a href="http://www.ikol.cn/yxzq/view1.html?id=415491" target="_blank"><img src="http://yweb0.cnliveimg.com/img/cnlive/public/141127171157374_570.jpg" style="width:78px;height:78px;" border="0" /></a> </td> | |
| 264 | + </tr> | |
| 265 | + <tr> | |
| 266 | + <td ><a href="http://www.ikol.cn/yxzq/view1.html?id=415491" target="_blank">银河空战 </a> </td> | |
| 267 | + </tr> | |
| 268 | + <tr> | |
| 269 | + <td><span style="color:#d0d0d0;font-family:'微软雅黑','宋体';font-size:12px;">57万次下载</span> </td> | |
| 270 | + </tr> | |
| 271 | + <tr> | |
| 272 | + <td><a href="http://media4.cnlive.com:8080/icms/file/2014/11/27/141127171237246_236.apk" ><img src="http://y1.cnliveimg.com:8080/icms/game/images/down-1.gif" border="0" /></a> </td> | |
| 273 | + </tr> | |
| 274 | + </table> | |
| 275 | + </li> | |
| 276 | + | |
| 277 | + <li class="content-6" > | |
| 278 | + <table > | |
| 279 | + <tr> | |
| 280 | + <td ><a href="http://www.ikol.cn/yxzq/view1.html?id=282816" target="_blank"><img src="http://y1.cnliveimg.com:8080/picture/cnlive/public/1409587479043.png" style="width:78px;height:78px;" border="0" /></a> </td> | |
| 281 | + </tr> | |
| 282 | + <tr> | |
| 283 | + <td ><a href="http://www.ikol.cn/yxzq/view1.html?id=282816" target="_blank">剑雨 </a> </td> | |
| 284 | + </tr> | |
| 285 | + <tr> | |
| 286 | + <td><span style="color:#d0d0d0;font-family:'微软雅黑','宋体';font-size:12px;">46万次下载</span> </td> | |
| 287 | + </tr> | |
| 288 | + <tr> | |
| 289 | + <td><a href="http://dl.m.duoku.com/game/67000/67745/20140822094925_DuoKu.apk" ><img src="http://y1.cnliveimg.com:8080/icms/game/images/down-1.gif" border="0" /></a> </td> | |
| 290 | + </tr> | |
| 291 | + </table> | |
| 292 | + </li> | |
| 293 | + | |
| 294 | + <li class="content-6" > | |
| 295 | + <table > | |
| 296 | + <tr> | |
| 297 | + <td ><a href="http://www.ikol.cn/yxzq/view1.html?id=285517" target="_blank"><img src="http://y1.cnliveimg.com:8080/picture/cnlive/public/1410451235430.png" style="width:78px;height:78px;" border="0" /></a> </td> | |
| 298 | + </tr> | |
| 299 | + <tr> | |
| 300 | + <td ><a href="http://www.ikol.cn/yxzq/view1.html?id=285517" target="_blank">无极剑圣 </a> </td> | |
| 301 | + </tr> | |
| 302 | + <tr> | |
| 303 | + <td><span style="color:#d0d0d0;font-family:'微软雅黑','宋体';font-size:12px;">33万次下载</span> </td> | |
| 304 | + </tr> | |
| 305 | + <tr> | |
| 306 | + <td><a href="http://dl.m.duoku.com/game/72000/72264/20140911162127_DuoKu.apk" ><img src="http://y1.cnliveimg.com:8080/icms/game/images/down-1.gif" border="0" /></a> </td> | |
| 307 | + </tr> | |
| 308 | + </table> | |
| 309 | + </li> | |
| 310 | + | |
| 311 | + <li class="content-6" > | |
| 312 | + <table > | |
| 313 | + <tr> | |
| 314 | + <td ><a href="http://www.ikol.cn/yxzq/view1.html?id=285514" target="_blank"><img src="http://y1.cnliveimg.com:8080/picture/cnlive/public/1410451231418.png" style="width:78px;height:78px;" border="0" /></a> </td> | |
| 315 | + </tr> | |
| 316 | + <tr> | |
| 317 | + <td ><a href="http://www.ikol.cn/yxzq/view1.html?id=285514" target="_blank">疯狂冒险岛 </a> </td> | |
| 318 | + </tr> | |
| 319 | + <tr> | |
| 320 | + <td><span style="color:#d0d0d0;font-family:'微软雅黑','宋体';font-size:12px;">64万次下载</span> </td> | |
| 321 | + </tr> | |
| 322 | + <tr> | |
| 323 | + <td><a href="http://dl.m.duoku.com/game/72000/72267/20140911174645_DuoKu.apk" ><img src="http://y1.cnliveimg.com:8080/icms/game/images/down-1.gif" border="0" /></a> </td> | |
| 324 | + </tr> | |
| 325 | + </table> | |
| 326 | + </li> | |
| 327 | + | |
| 328 | + <li class="content-6" > | |
| 329 | + <table > | |
| 330 | + <tr> | |
| 331 | + <td ><a href="http://www.ikol.cn/yxzq/view1.html?id=281793" target="_blank"><img src="http://y1.cnliveimg.com:8080/picture/cnlive/public/1409587435863.png" style="width:78px;height:78px;" border="0" /></a> </td> | |
| 332 | + </tr> | |
| 333 | + <tr> | |
| 334 | + <td ><a href="http://www.ikol.cn/yxzq/view1.html?id=281793" target="_blank">全民挂机 </a> </td> | |
| 335 | + </tr> | |
| 336 | + <tr> | |
| 337 | + <td><span style="color:#d0d0d0;font-family:'微软雅黑','宋体';font-size:12px;">26万次下载</span> </td> | |
| 338 | + </tr> | |
| 339 | + <tr> | |
| 340 | + <td><a href="http://dl.m.duoku.com/game/67000/67710/20140916143558_DuoKu.apk" ><img src="http://y1.cnliveimg.com:8080/icms/game/images/down-1.gif" border="0" /></a> </td> | |
| 341 | + </tr> | |
| 342 | + </table> | |
| 343 | + </li> | |
| 344 | + | |
| 345 | + <li class="content-6" > | |
| 346 | + <table > | |
| 347 | + <tr> | |
| 348 | + <td ><a href="http://www.ikol.cn/yxzq/view1.html?id=281792" target="_blank"><img src="http://y1.cnliveimg.com:8080/picture/cnlive/public/1409587443477.png" style="width:78px;height:78px;" border="0" /></a> </td> | |
| 349 | + </tr> | |
| 350 | + <tr> | |
| 351 | + <td ><a href="http://www.ikol.cn/yxzq/view1.html?id=281792" target="_blank">斗萌西游 </a> </td> | |
| 352 | + </tr> | |
| 353 | + <tr> | |
| 354 | + <td><span style="color:#d0d0d0;font-family:'微软雅黑','宋体';font-size:12px;">86万次下载</span> </td> | |
| 355 | + </tr> | |
| 356 | + <tr> | |
| 357 | + <td><a href="http://dl.m.duoku.com/game/67000/67707/20140815110017_DuoKu.apk" ><img src="http://y1.cnliveimg.com:8080/icms/game/images/down-1.gif" border="0" /></a> </td> | |
| 358 | + </tr> | |
| 359 | + </table> | |
| 360 | + </li> | |
| 361 | + | |
| 362 | + <li class="content-6" > | |
| 363 | + <table > | |
| 364 | + <tr> | |
| 365 | + <td ><a href="http://www.ikol.cn/yxzq/view1.html?id=280229" target="_blank"><img src="http://y1.cnliveimg.com:8080/picture/cnlive/public/1409587429318.png" style="width:78px;height:78px;" border="0" /></a> </td> | |
| 366 | + </tr> | |
| 367 | + <tr> | |
| 368 | + <td ><a href="http://www.ikol.cn/yxzq/view1.html?id=280229" target="_blank">冰火战魂 </a> </td> | |
| 369 | + </tr> | |
| 370 | + <tr> | |
| 371 | + <td><span style="color:#d0d0d0;font-family:'微软雅黑','宋体';font-size:12px;">93万次下载</span> </td> | |
| 372 | + </tr> | |
| 373 | + <tr> | |
| 374 | + <td><a href="http://dl.m.duoku.com/game/67000/67642/20140806203113_DuoKu.apk" ><img src="http://y1.cnliveimg.com:8080/icms/game/images/down-1.gif" border="0" /></a> </td> | |
| 375 | + </tr> | |
| 376 | + </table> | |
| 377 | + </li> | |
| 378 | + | |
| 379 | + <li class="content-6" > | |
| 380 | + <table > | |
| 381 | + <tr> | |
| 382 | + <td ><a href="http://www.ikol.cn/yxzq/view1.html?id=286224" target="_blank"><img src="http://y1.cnliveimg.com:8080/picture/cnlive/public/1410969629641.png" style="width:78px;height:78px;" border="0" /></a> </td> | |
| 383 | + </tr> | |
| 384 | + <tr> | |
| 385 | + <td ><a href="http://www.ikol.cn/yxzq/view1.html?id=286224" target="_blank">我是圣斗士 </a> </td> | |
| 386 | + </tr> | |
| 387 | + <tr> | |
| 388 | + <td><span style="color:#d0d0d0;font-family:'微软雅黑','宋体';font-size:12px;">25万次下载</span> </td> | |
| 389 | + </tr> | |
| 390 | + <tr> | |
| 391 | + <td><a href="http://dl.m.duoku.com/game/72000/72374/20140917163719_DuoKu.apk" ><img src="http://y1.cnliveimg.com:8080/icms/game/images/down-1.gif" border="0" /></a> </td> | |
| 392 | + </tr> | |
| 393 | + </table> | |
| 394 | + </li> | |
| 395 | + | |
| 396 | + <li class="content-6" > | |
| 397 | + <table > | |
| 398 | + <tr> | |
| 399 | + <td ><a href="http://www.ikol.cn/yxzq/view1.html?id=281793" target="_blank"><img src="http://y1.cnliveimg.com:8080/picture/cnlive/public/1409587435863.png" style="width:78px;height:78px;" border="0" /></a> </td> | |
| 400 | + </tr> | |
| 401 | + <tr> | |
| 402 | + <td ><a href="http://www.ikol.cn/yxzq/view1.html?id=281793" target="_blank">全民挂机 </a> </td> | |
| 403 | + </tr> | |
| 404 | + <tr> | |
| 405 | + <td><span style="color:#d0d0d0;font-family:'微软雅黑','宋体';font-size:12px;">26万次下载</span> </td> | |
| 406 | + </tr> | |
| 407 | + <tr> | |
| 408 | + <td><a href="http://dl.m.duoku.com/game/67000/67710/20140916143558_DuoKu.apk" ><img src="http://y1.cnliveimg.com:8080/icms/game/images/down-1.gif" border="0" /></a> </td> | |
| 409 | + </tr> | |
| 410 | + </table> | |
| 411 | + </li> | |
| 412 | + | |
| 413 | + <li class="content-6" > | |
| 414 | + <table > | |
| 415 | + <tr> | |
| 416 | + <td ><a href="http://www.ikol.cn/yxzq/view1.html?id=281361" target="_blank"><img src="http://y1.cnliveimg.com:8080/picture/cnlive/public/1409587455727.png" style="width:78px;height:78px;" border="0" /></a> </td> | |
| 417 | + </tr> | |
| 418 | + <tr> | |
| 419 | + <td ><a href="http://www.ikol.cn/yxzq/view1.html?id=281361" target="_blank">超级经纪人 </a> </td> | |
| 420 | + </tr> | |
| 421 | + <tr> | |
| 422 | + <td><span style="color:#d0d0d0;font-family:'微软雅黑','宋体';font-size:12px;">89万次下载</span> </td> | |
| 423 | + </tr> | |
| 424 | + <tr> | |
| 425 | + <td><a href="http://dl.m.duoku.com/game/67000/67685/20140822183712_DuoKu.apk" ><img src="http://y1.cnliveimg.com:8080/icms/game/images/down-1.gif" border="0" /></a> </td> | |
| 426 | + </tr> | |
| 427 | + </table> | |
| 428 | + </li> | |
| 429 | + | |
| 430 | + <li class="content-6" > | |
| 431 | + <table > | |
| 432 | + <tr> | |
| 433 | + <td ><a href="http://www.ikol.cn/yxzq/view1.html?id=413425" target="_blank"><img src="http://y1.cnliveimg.com:8080/img/cnlive/public/141114103331407_937.jpg" style="width:78px;height:78px;" border="0" /></a> </td> | |
| 434 | + </tr> | |
| 435 | + <tr> | |
| 436 | + <td ><a href="http://www.ikol.cn/yxzq/view1.html?id=413425" target="_blank">布偶大逃亡 </a> </td> | |
| 437 | + </tr> | |
| 438 | + <tr> | |
| 439 | + <td><span style="color:#d0d0d0;font-family:'微软雅黑','宋体';font-size:12px;">76万次下载</span> </td> | |
| 440 | + </tr> | |
| 441 | + <tr> | |
| 442 | + <td><a href="http://media4.cnlive.com:8080/icms/file/2014/11/14/141114103530246_480.apk" ><img src="http://y1.cnliveimg.com:8080/icms/game/images/down-1.gif" border="0" /></a> </td> | |
| 443 | + </tr> | |
| 444 | + </table> | |
| 445 | + </li> | |
| 446 | + | |
| 447 | + <li class="content-6" > | |
| 448 | + <table > | |
| 449 | + <tr> | |
| 450 | + <td ><a href="http://www.ikol.cn/yxzq/view1.html?id=415490" target="_blank"><img src="http://yweb0.cnliveimg.com/img/cnlive/public/141127170821446_983.jpg" style="width:78px;height:78px;" border="0" /></a> </td> | |
| 451 | + </tr> | |
| 452 | + <tr> | |
| 453 | + <td ><a href="http://www.ikol.cn/yxzq/view1.html?id=415490" target="_blank">音符消除 </a> </td> | |
| 454 | + </tr> | |
| 455 | + <tr> | |
| 456 | + <td><span style="color:#d0d0d0;font-family:'微软雅黑','宋体';font-size:12px;">93万次下载</span> </td> | |
| 457 | + </tr> | |
| 458 | + <tr> | |
| 459 | + <td><a href="http://media4.cnlive.com:8080/icms/file/2014/11/27/141127170949132_019.apk" ><img src="http://y1.cnliveimg.com:8080/icms/game/images/down-1.gif" border="0" /></a> </td> | |
| 460 | + </tr> | |
| 461 | + </table> | |
| 462 | + </li> | |
| 463 | + | |
| 464 | + <li class="content-6" > | |
| 465 | + <table > | |
| 466 | + <tr> | |
| 467 | + <td ><a href="http://www.ikol.cn/yxzq/view1.html?id=281360" target="_blank"><img src="http://y1.cnliveimg.com:8080/picture/cnlive/public/1409587446007.png" style="width:78px;height:78px;" border="0" /></a> </td> | |
| 468 | + </tr> | |
| 469 | + <tr> | |
| 470 | + <td ><a href="http://www.ikol.cn/yxzq/view1.html?id=281360" target="_blank">全民西游 </a> </td> | |
| 471 | + </tr> | |
| 472 | + <tr> | |
| 473 | + <td><span style="color:#d0d0d0;font-family:'微软雅黑','宋体';font-size:12px;">61万次下载</span> </td> | |
| 474 | + </tr> | |
| 475 | + <tr> | |
| 476 | + <td><a href="http://dl.m.duoku.com/game/67000/67681/20140813163121_DuoKu.apk" ><img src="http://y1.cnliveimg.com:8080/icms/game/images/down-1.gif" border="0" /></a> </td> | |
| 477 | + </tr> | |
| 478 | + </table> | |
| 479 | + </li> | |
| 480 | + | |
| 481 | + <li class="content-6" > | |
| 482 | + <table > | |
| 483 | + <tr> | |
| 484 | + <td ><a href="http://www.ikol.cn/yxzq/view1.html?id=286229" target="_blank"><img src="http://y1.cnliveimg.com:8080/picture/cnlive/public/1410969637749.png" style="width:78px;height:78px;" border="0" /></a> </td> | |
| 485 | + </tr> | |
| 486 | + <tr> | |
| 487 | + <td ><a href="http://www.ikol.cn/yxzq/view1.html?id=286229" target="_blank">塔王之王 </a> </td> | |
| 488 | + </tr> | |
| 489 | + <tr> | |
| 490 | + <td><span style="color:#d0d0d0;font-family:'微软雅黑','宋体';font-size:12px;">91万次下载</span> </td> | |
| 491 | + </tr> | |
| 492 | + <tr> | |
| 493 | + <td><a href="http://dl.m.duoku.com/game/72000/72380/20140917183912_DuoKu.apk" ><img src="http://y1.cnliveimg.com:8080/icms/game/images/down-1.gif" border="0" /></a> </td> | |
| 494 | + </tr> | |
| 495 | + </table> | |
| 496 | + </li> | |
| 497 | + | |
| 498 | + <li class="content-6" > | |
| 499 | + <table > | |
| 500 | + <tr> | |
| 501 | + <td ><a href="http://www.ikol.cn/yxzq/view1.html?id=285289" target="_blank"><img src="http://y1.cnliveimg.com:8080/picture/cnlive/public/1410364847556.png" style="width:78px;height:78px;" border="0" /></a> </td> | |
| 502 | + </tr> | |
| 503 | + <tr> | |
| 504 | + <td ><a href="http://www.ikol.cn/yxzq/view1.html?id=285289" target="_blank">齐天大圣3D </a> </td> | |
| 505 | + </tr> | |
| 506 | + <tr> | |
| 507 | + <td><span style="color:#d0d0d0;font-family:'微软雅黑','宋体';font-size:12px;">54万次下载</span> </td> | |
| 508 | + </tr> | |
| 509 | + <tr> | |
| 510 | + <td><a href="http://dl.m.duoku.com/game/72000/72207/20140910180005_DuoKu.apk" ><img src="http://y1.cnliveimg.com:8080/icms/game/images/down-1.gif" border="0" /></a> </td> | |
| 511 | + </tr> | |
| 512 | + </table> | |
| 513 | + </li> | |
| 514 | + | |
| 515 | + <li class="content-6" > | |
| 516 | + <table > | |
| 517 | + <tr> | |
| 518 | + <td ><a href="http://www.ikol.cn/yxzq/view1.html?id=284287" target="_blank"><img src="http://y1.cnliveimg.com:8080/picture/cnlive/public/1409673595124.png" style="width:78px;height:78px;" border="0" /></a> </td> | |
| 519 | + </tr> | |
| 520 | + <tr> | |
| 521 | + <td ><a href="http://www.ikol.cn/yxzq/view1.html?id=284287" target="_blank">新森林舞会 </a> </td> | |
| 522 | + </tr> | |
| 523 | + <tr> | |
| 524 | + <td><span style="color:#d0d0d0;font-family:'微软雅黑','宋体';font-size:12px;">83万次下载</span> </td> | |
| 525 | + </tr> | |
| 526 | + <tr> | |
| 527 | + <td><a href="http://dl.m.duoku.com/game/72000/72134/20140902162203_DuoKu.apk" ><img src="http://y1.cnliveimg.com:8080/icms/game/images/down-1.gif" border="0" /></a> </td> | |
| 528 | + </tr> | |
| 529 | + </table> | |
| 530 | + </li> | |
| 531 | + | |
| 532 | + <li class="content-6" > | |
| 533 | + <table > | |
| 534 | + <tr> | |
| 535 | + <td ><a href="http://www.ikol.cn/yxzq/view1.html?id=415479" target="_blank"><img src="http://yweb3.cnliveimg.com/img/cnlive/public/141127170346292_122.jpg" style="width:78px;height:78px;" border="0" /></a> </td> | |
| 536 | + </tr> | |
| 537 | + <tr> | |
| 538 | + <td ><a href="http://www.ikol.cn/yxzq/view1.html?id=415479" target="_blank">兔子围堵战 </a> </td> | |
| 539 | + </tr> | |
| 540 | + <tr> | |
| 541 | + <td><span style="color:#d0d0d0;font-family:'微软雅黑','宋体';font-size:12px;">70万次下载</span> </td> | |
| 542 | + </tr> | |
| 543 | + <tr> | |
| 544 | + <td><a href="http://media4.cnlive.com:8080/icms/file/2014/11/27/141127170510204_433.apk" ><img src="http://y1.cnliveimg.com:8080/icms/game/images/down-1.gif" border="0" /></a> </td> | |
| 545 | + </tr> | |
| 546 | + </table> | |
| 547 | + </li> | |
| 548 | + | |
| 549 | + </ul> | |
| 550 | + </td> | |
| 551 | + </tr> | |
| 552 | + </table></td> | |
| 553 | + </tr> | |
| 554 | + | |
| 555 | + </table> | |
| 556 | + | |
| 557 | +</div> | |
| 558 | + | |
| 559 | + | |
| 560 | + | |
| 561 | + | |
| 562 | +</div> | |
| 563 | + </td> | |
| 564 | + </tr> | |
| 565 | + <!-- 左侧--安卓精选游戏 --> | |
| 566 | + <tr> | |
| 567 | + <td> | |
| 568 | + <div id="menucontainer10" > | |
| 569 | + | |
| 570 | + | |
| 571 | + | |
| 572 | + | |
| 573 | + | |
| 574 | + | |
| 575 | + | |
| 576 | +<div > | |
| 577 | + <table border="0" cellspacing="0" cellpadding="0" class="content-2"> | |
| 578 | + <tr> | |
| 579 | + <td class="content-3"><img src="http://y1.cnliveimg.com:8080/icms/game/images/content-1.gif"/> 安卓精选游戏</td> | |
| 580 | + </tr> | |
| 581 | + | |
| 582 | + <tr> | |
| 583 | + <td ><table align="center"> | |
| 584 | + <tr> | |
| 585 | + <td class="content-7" > | |
| 586 | + | |
| 587 | + <ul class="content-5"> | |
| 588 | + | |
| 589 | + | |
| 590 | + <li class="content-6" > | |
| 591 | + <table > | |
| 592 | + <tr> | |
| 593 | + <td ><a href="#" target="_blank"><img src="http://sxzg.vods1.cnlive.com/82/games/base.png" style="width:78px;height:78px;" border="0" /></a> </td> | |
| 594 | + </tr> | |
| 595 | + <tr> | |
| 596 | + <td ><a href="#" target="_blank">泡泡消除 </a> </td> | |
| 597 | + </tr> | |
| 598 | + <tr> | |
| 599 | + <td><span style="color:#d0d0d0;font-family:'微软雅黑','宋体';font-size:12px;">29万次下载</span> </td> | |
| 600 | + </tr> | |
| 601 | + <tr> | |
| 602 | + <td><a href="http://sxzg.vods1.cnlive.com/82/games/base.apk" ><img src="http://y1.cnliveimg.com:8080/icms/game/images/down-1.gif" border="0" /></a> </td> | |
| 603 | + </tr> | |
| 604 | + </table> | |
| 605 | + </li> | |
| 606 | + <li class="content-6" > | |
| 607 | + <table > | |
| 608 | + <tr> | |
| 609 | + <td ><a href="#" target="_blank"><img src="http://sxzg.vods1.cnlive.com/82/games/leiting.png" style="width:78px;height:78px;" border="0" /></a> </td> | |
| 610 | + </tr> | |
| 611 | + <tr> | |
| 612 | + <td ><a href="#" target="_blank">雷霆战机 </a> </td> | |
| 613 | + </tr> | |
| 614 | + <tr> | |
| 615 | + <td><span style="color:#d0d0d0;font-family:'微软雅黑','宋体';font-size:12px;">35万次下载</span> </td> | |
| 616 | + </tr> | |
| 617 | + <tr> | |
| 618 | + <td><a href="http://sxzg.vods1.cnlive.com/82/games/leiting.apk" ><img src="http://y1.cnliveimg.com:8080/icms/game/images/down-1.gif" border="0" /></a> </td> | |
| 619 | + </tr> | |
| 620 | + </table> | |
| 621 | + </li> | |
| 622 | + <li class="content-6" > | |
| 623 | + <table > | |
| 624 | + <tr> | |
| 625 | + <td ><a href="#" target="_blank"><img src="http://sxzg.vods1.cnlive.com/82/games/mofa.png" style="width:78px;height:78px;" border="0" /></a> </td> | |
| 626 | + </tr> | |
| 627 | + <tr> | |
| 628 | + <td ><a href="#" target="_blank">魔法消除 </a> </td> | |
| 629 | + </tr> | |
| 630 | + <tr> | |
| 631 | + <td><span style="color:#d0d0d0;font-family:'微软雅黑','宋体';font-size:12px;">43万次下载</span> </td> | |
| 632 | + </tr> | |
| 633 | + <tr> | |
| 634 | + <td><a href="http://sxzg.vods1.cnlive.com/82/games/mofa.apk" ><img src="http://y1.cnliveimg.com:8080/icms/game/images/down-1.gif" border="0" /></a> </td> | |
| 635 | + </tr> | |
| 636 | + </table> | |
| 637 | + </li> | |
| 638 | + <li class="content-6" > | |
| 639 | + <table > | |
| 640 | + <tr> | |
| 641 | + <td ><a href="#" target="_blank"><img src="http://sxzg.vods1.cnlive.com/82/games/momv.jpg" style="width:78px;height:78px;" border="0" /></a> </td> | |
| 642 | + </tr> | |
| 643 | + <tr> | |
| 644 | + <td ><a href="#" target="_blank">魔女酷跑 </a> </td> | |
| 645 | + </tr> | |
| 646 | + <tr> | |
| 647 | + <td><span style="color:#d0d0d0;font-family:'微软雅黑','宋体';font-size:12px;">29万次下载</span> </td> | |
| 648 | + </tr> | |
| 649 | + <tr> | |
| 650 | + <td><a href="http://sxzg.vods1.cnlive.com/82/games/monv.apk" ><img src="http://y1.cnliveimg.com:8080/icms/game/images/down-1.gif" border="0" /></a> </td> | |
| 651 | + </tr> | |
| 652 | + </table> | |
| 653 | + </li> | |
| 654 | + <li class="content-6" > | |
| 655 | + <table > | |
| 656 | + <tr> | |
| 657 | + <td ><a href="#" target="_blank"><img src="http://sxzg.vods1.cnlive.com/82/games/zhanshen.png" style="width:78px;height:78px;" border="0" /></a> </td> | |
| 658 | + </tr> | |
| 659 | + <tr> | |
| 660 | + <td ><a href="#" target="_blank">战神机甲出击 </a> </td> | |
| 661 | + </tr> | |
| 662 | + <tr> | |
| 663 | + <td><span style="color:#d0d0d0;font-family:'微软雅黑','宋体';font-size:12px;">60万次下载</span> </td> | |
| 664 | + </tr> | |
| 665 | + <tr> | |
| 666 | + <td><a href="http://sxzg.vods1.cnlive.com/82/games/zhanshen.apk" ><img src="http://y1.cnliveimg.com:8080/icms/game/images/down-1.gif" border="0" /></a> </td> | |
| 667 | + </tr> | |
| 668 | + </table> | |
| 669 | + </li> | |
| 670 | + <li class="content-6" > | |
| 671 | + <table > | |
| 672 | + <tr> | |
| 673 | + <td ><a href="http://www.ikol.cn/yxzq/view1.html?id=721754" target="_blank"><img src="http://yweb2.cnliveimg.com/cnlive/public/170303135004827_081.png" style="width:78px;height:78px;" border="0" /></a> </td> | |
| 674 | + </tr> | |
| 675 | + <tr> | |
| 676 | + <td ><a href="http://www.ikol.cn/yxzq/view1.html?id=721754" target="_blank">干掉僵尸 </a> </td> | |
| 677 | + </tr> | |
| 678 | + <tr> | |
| 679 | + <td><span style="color:#d0d0d0;font-family:'微软雅黑','宋体';font-size:12px;">29万次下载</span> </td> | |
| 680 | + </tr> | |
| 681 | + <tr> | |
| 682 | + <td><a href="http://resweb.cnliveimg.com/icms/file/2017/03/03/170303135401564_404.apk" ><img src="http://y1.cnliveimg.com:8080/icms/game/images/down-1.gif" border="0" /></a> </td> | |
| 683 | + </tr> | |
| 684 | + </table> | |
| 685 | + </li> | |
| 686 | + | |
| 687 | + <li class="content-6" > | |
| 688 | + <table > | |
| 689 | + <tr> | |
| 690 | + <td ><a href="http://www.ikol.cn/yxzq/view1.html?id=721753" target="_blank"><img src="http://yweb2.cnliveimg.com/cnlive/public/170303134123648_480.png" style="width:78px;height:78px;" border="0" /></a> </td> | |
| 691 | + </tr> | |
| 692 | + <tr> | |
| 693 | + <td ><a href="http://www.ikol.cn/yxzq/view1.html?id=721753" target="_blank">麻将消除乐 </a> </td> | |
| 694 | + </tr> | |
| 695 | + <tr> | |
| 696 | + <td><span style="color:#d0d0d0;font-family:'微软雅黑','宋体';font-size:12px;">0万次下载</span> </td> | |
| 697 | + </tr> | |
| 698 | + <tr> | |
| 699 | + <td><a href="http://resweb.cnliveimg.com/icms/file/2017/03/03/170303134700302_062.apk" ><img src="http://y1.cnliveimg.com:8080/icms/game/images/down-1.gif" border="0" /></a> </td> | |
| 700 | + </tr> | |
| 701 | + </table> | |
| 702 | + </li> | |
| 703 | + | |
| 704 | + <li class="content-6" > | |
| 705 | + <table > | |
| 706 | + <tr> | |
| 707 | + <td ><a href="http://www.ikol.cn/yxzq/view1.html?id=721751" target="_blank"><img src="http://yweb1.cnliveimg.com/cnlive/public/170302152814499_814.jpg" style="width:78px;height:78px;" border="0" /></a> </td> | |
| 708 | + </tr> | |
| 709 | + <tr> | |
| 710 | + <td ><a href="http://www.ikol.cn/yxzq/view1.html?id=721751" target="_blank">乐动达人全民 </a> </td> | |
| 711 | + </tr> | |
| 712 | + <tr> | |
| 713 | + <td><span style="color:#d0d0d0;font-family:'微软雅黑','宋体';font-size:12px;">0万次下载</span> </td> | |
| 714 | + </tr> | |
| 715 | + <tr> | |
| 716 | + <td><a href="http://resweb.cnliveimg.com/icms/file/2017/03/02/170302153332333_970.apk" ><img src="http://y1.cnliveimg.com:8080/icms/game/images/down-1.gif" border="0" /></a> </td> | |
| 717 | + </tr> | |
| 718 | + </table> | |
| 719 | + </li> | |
| 720 | + | |
| 721 | + <li class="content-6" > | |
| 722 | + <table > | |
| 723 | + <tr> | |
| 724 | + <td ><a href="http://www.ikol.cn/yxzq/view1.html?id=417186" target="_blank"><img src="http://yweb2.cnliveimg.com/img/cnlive/public/141210094644721_697.jpg" style="width:78px;height:78px;" border="0" /></a> </td> | |
| 725 | + </tr> | |
| 726 | + <tr> | |
| 727 | + <td ><a href="http://www.ikol.cn/yxzq/view1.html?id=417186" target="_blank">奇缘连萌 </a> </td> | |
| 728 | + </tr> | |
| 729 | + <tr> | |
| 730 | + <td><span style="color:#d0d0d0;font-family:'微软雅黑','宋体';font-size:12px;">77万次下载</span> </td> | |
| 731 | + </tr> | |
| 732 | + <tr> | |
| 733 | + <td><a href="http://media4.cnlive.com:8080/icms/file/2014/12/10/141210094704593_508.apk" ><img src="http://y1.cnliveimg.com:8080/icms/game/images/down-1.gif" border="0" /></a> </td> | |
| 734 | + </tr> | |
| 735 | + </table> | |
| 736 | + </li> | |
| 737 | + | |
| 738 | + <li class="content-6" > | |
| 739 | + <table > | |
| 740 | + <tr> | |
| 741 | + <td ><a href="http://www.ikol.cn/yxzq/view1.html?id=413288" target="_blank"><img src="http://y1.cnliveimg.com:8080/img/cnlive/public/141113165335498_246.jpg" style="width:78px;height:78px;" border="0" /></a> </td> | |
| 742 | + </tr> | |
| 743 | + <tr> | |
| 744 | + <td ><a href="http://www.ikol.cn/yxzq/view1.html?id=413288" target="_blank">宇宙大碰撞 </a> </td> | |
| 745 | + </tr> | |
| 746 | + <tr> | |
| 747 | + <td><span style="color:#d0d0d0;font-family:'微软雅黑','宋体';font-size:12px;">50万次下载</span> </td> | |
| 748 | + </tr> | |
| 749 | + <tr> | |
| 750 | + <td><a href="http://media4.cnlive.com:8080/icms/file/2014/11/13/141113171347721_931.apk" ><img src="http://y1.cnliveimg.com:8080/icms/game/images/down-1.gif" border="0" /></a> </td> | |
| 751 | + </tr> | |
| 752 | + </table> | |
| 753 | + </li> | |
| 754 | + | |
| 755 | + <li class="content-6" > | |
| 756 | + <table > | |
| 757 | + <tr> | |
| 758 | + <td ><a href="http://www.ikol.cn/yxzq/view1.html?id=286111" target="_blank"><img src="http://y1.cnliveimg.com:8080/picture/cnlive/public/1410883235015.png" style="width:78px;height:78px;" border="0" /></a> </td> | |
| 759 | + </tr> | |
| 760 | + <tr> | |
| 761 | + <td ><a href="http://www.ikol.cn/yxzq/view1.html?id=286111" target="_blank">嘿嘿三国 </a> </td> | |
| 762 | + </tr> | |
| 763 | + <tr> | |
| 764 | + <td><span style="color:#d0d0d0;font-family:'微软雅黑','宋体';font-size:12px;">37万次下载</span> </td> | |
| 765 | + </tr> | |
| 766 | + <tr> | |
| 767 | + <td><a href="http://dl.m.duoku.com/game/72000/72361/20140916174319_DuoKu.apk" ><img src="http://y1.cnliveimg.com:8080/icms/game/images/down-1.gif" border="0" /></a> </td> | |
| 768 | + </tr> | |
| 769 | + </table> | |
| 770 | + </li> | |
| 771 | + | |
| 772 | + <li class="content-6" > | |
| 773 | + <table > | |
| 774 | + <tr> | |
| 775 | + <td ><a href="http://www.ikol.cn/yxzq/view1.html?id=286229" target="_blank"><img src="http://y1.cnliveimg.com:8080/picture/cnlive/public/1410969637749.png" style="width:78px;height:78px;" border="0" /></a> </td> | |
| 776 | + </tr> | |
| 777 | + <tr> | |
| 778 | + <td ><a href="http://www.ikol.cn/yxzq/view1.html?id=286229" target="_blank">塔王之王 </a> </td> | |
| 779 | + </tr> | |
| 780 | + <tr> | |
| 781 | + <td><span style="color:#d0d0d0;font-family:'微软雅黑','宋体';font-size:12px;">91万次下载</span> </td> | |
| 782 | + </tr> | |
| 783 | + <tr> | |
| 784 | + <td><a href="http://dl.m.duoku.com/game/72000/72380/20140917183912_DuoKu.apk" ><img src="http://y1.cnliveimg.com:8080/icms/game/images/down-1.gif" border="0" /></a> </td> | |
| 785 | + </tr> | |
| 786 | + </table> | |
| 787 | + </li> | |
| 788 | + | |
| 789 | + <li class="content-6" > | |
| 790 | + <table > | |
| 791 | + <tr> | |
| 792 | + <td ><a href="http://www.ikol.cn/yxzq/view1.html?id=415477" target="_blank"><img src="http://yweb3.cnliveimg.com/img/cnlive/public/141127165215289_416.jpg" style="width:78px;height:78px;" border="0" /></a> </td> | |
| 793 | + </tr> | |
| 794 | + <tr> | |
| 795 | + <td ><a href="http://www.ikol.cn/yxzq/view1.html?id=415477" target="_blank">魔法传奇 </a> </td> | |
| 796 | + </tr> | |
| 797 | + <tr> | |
| 798 | + <td><span style="color:#d0d0d0;font-family:'微软雅黑','宋体';font-size:12px;">68万次下载</span> </td> | |
| 799 | + </tr> | |
| 800 | + <tr> | |
| 801 | + <td><a href="http://media4.cnlive.com:8080/icms/file/2014/11/27/141127165418184_896.apk" ><img src="http://y1.cnliveimg.com:8080/icms/game/images/down-1.gif" border="0" /></a> </td> | |
| 802 | + </tr> | |
| 803 | + </table> | |
| 804 | + </li> | |
| 805 | + | |
| 806 | + <li class="content-6" > | |
| 807 | + <table > | |
| 808 | + <tr> | |
| 809 | + <td ><a href="http://www.ikol.cn/yxzq/view1.html?id=416602" target="_blank"><img src="http://yweb3.cnliveimg.com/img/cnlive/public/141205153040204_506.jpg" style="width:78px;height:78px;" border="0" /></a> </td> | |
| 810 | + </tr> | |
| 811 | + <tr> | |
| 812 | + <td ><a href="http://www.ikol.cn/yxzq/view1.html?id=416602" target="_blank">萌宠爱跳跃 </a> </td> | |
| 813 | + </tr> | |
| 814 | + <tr> | |
| 815 | + <td><span style="color:#d0d0d0;font-family:'微软雅黑','宋体';font-size:12px;">35万次下载</span> </td> | |
| 816 | + </tr> | |
| 817 | + <tr> | |
| 818 | + <td><a href="http://media4.cnlive.com:8080/icms/file/2014/12/05/141205153056054_241.apk" ><img src="http://y1.cnliveimg.com:8080/icms/game/images/down-1.gif" border="0" /></a> </td> | |
| 819 | + </tr> | |
| 820 | + </table> | |
| 821 | + </li> | |
| 822 | + | |
| 823 | + <li class="content-6" > | |
| 824 | + <table > | |
| 825 | + <tr> | |
| 826 | + <td ><a href="http://www.ikol.cn/yxzq/view1.html?id=284287" target="_blank"><img src="http://y1.cnliveimg.com:8080/picture/cnlive/public/1409673595124.png" style="width:78px;height:78px;" border="0" /></a> </td> | |
| 827 | + </tr> | |
| 828 | + <tr> | |
| 829 | + <td ><a href="http://www.ikol.cn/yxzq/view1.html?id=284287" target="_blank">新森林舞会 </a> </td> | |
| 830 | + </tr> | |
| 831 | + <tr> | |
| 832 | + <td><span style="color:#d0d0d0;font-family:'微软雅黑','宋体';font-size:12px;">83万次下载</span> </td> | |
| 833 | + </tr> | |
| 834 | + <tr> | |
| 835 | + <td><a href="http://dl.m.duoku.com/game/72000/72134/20140902162203_DuoKu.apk" ><img src="http://y1.cnliveimg.com:8080/icms/game/images/down-1.gif" border="0" /></a> </td> | |
| 836 | + </tr> | |
| 837 | + </table> | |
| 838 | + </li> | |
| 839 | + | |
| 840 | + <li class="content-6" > | |
| 841 | + <table > | |
| 842 | + <tr> | |
| 843 | + <td ><a href="http://www.ikol.cn/yxzq/view1.html?id=282816" target="_blank"><img src="http://y1.cnliveimg.com:8080/picture/cnlive/public/1409587479043.png" style="width:78px;height:78px;" border="0" /></a> </td> | |
| 844 | + </tr> | |
| 845 | + <tr> | |
| 846 | + <td ><a href="http://www.ikol.cn/yxzq/view1.html?id=282816" target="_blank">剑雨 </a> </td> | |
| 847 | + </tr> | |
| 848 | + <tr> | |
| 849 | + <td><span style="color:#d0d0d0;font-family:'微软雅黑','宋体';font-size:12px;">46万次下载</span> </td> | |
| 850 | + </tr> | |
| 851 | + <tr> | |
| 852 | + <td><a href="http://dl.m.duoku.com/game/67000/67745/20140822094925_DuoKu.apk" ><img src="http://y1.cnliveimg.com:8080/icms/game/images/down-1.gif" border="0" /></a> </td> | |
| 853 | + </tr> | |
| 854 | + </table> | |
| 855 | + </li> | |
| 856 | + | |
| 857 | + <li class="content-6" > | |
| 858 | + <table > | |
| 859 | + <tr> | |
| 860 | + <td ><a href="http://www.ikol.cn/yxzq/view1.html?id=283843" target="_blank"><img src="http://y1.cnliveimg.com:8080/picture/cnlive/public/1409587489149.png" style="width:78px;height:78px;" border="0" /></a> </td> | |
| 861 | + </tr> | |
| 862 | + <tr> | |
| 863 | + <td ><a href="http://www.ikol.cn/yxzq/view1.html?id=283843" target="_blank">众神之光 </a> </td> | |
| 864 | + </tr> | |
| 865 | + <tr> | |
| 866 | + <td><span style="color:#d0d0d0;font-family:'微软雅黑','宋体';font-size:12px;">36万次下载</span> </td> | |
| 867 | + </tr> | |
| 868 | + <tr> | |
| 869 | + <td><a href="http://dl.m.duoku.com/game/72000/72121/20140829204025_DuoKu.apk" ><img src="http://y1.cnliveimg.com:8080/icms/game/images/down-1.gif" border="0" /></a> </td> | |
| 870 | + </tr> | |
| 871 | + </table> | |
| 872 | + </li> | |
| 873 | + | |
| 874 | + <li class="content-6" > | |
| 875 | + <table > | |
| 876 | + <tr> | |
| 877 | + <td ><a href="http://www.ikol.cn/yxzq/view1.html?id=284495" target="_blank"><img src="http://y1.cnliveimg.com:8080/picture/cnlive/public/1409846440370.png" style="width:78px;height:78px;" border="0" /></a> </td> | |
| 878 | + </tr> | |
| 879 | + <tr> | |
| 880 | + <td ><a href="http://www.ikol.cn/yxzq/view1.html?id=284495" target="_blank">群雄割据 </a> </td> | |
| 881 | + </tr> | |
| 882 | + <tr> | |
| 883 | + <td><span style="color:#d0d0d0;font-family:'微软雅黑','宋体';font-size:12px;">71万次下载</span> </td> | |
| 884 | + </tr> | |
| 885 | + <tr> | |
| 886 | + <td><a href="http://dl.m.duoku.com/game/72000/72163/20140904172024_DuoKu.apk" ><img src="http://y1.cnliveimg.com:8080/icms/game/images/down-1.gif" border="0" /></a> </td> | |
| 887 | + </tr> | |
| 888 | + </table> | |
| 889 | + </li> | |
| 890 | + | |
| 891 | + <li class="content-6" > | |
| 892 | + <table > | |
| 893 | + <tr> | |
| 894 | + <td ><a href="http://www.ikol.cn/yxzq/view1.html?id=415479" target="_blank"><img src="http://yweb3.cnliveimg.com/img/cnlive/public/141127170346292_122.jpg" style="width:78px;height:78px;" border="0" /></a> </td> | |
| 895 | + </tr> | |
| 896 | + <tr> | |
| 897 | + <td ><a href="http://www.ikol.cn/yxzq/view1.html?id=415479" target="_blank">兔子围堵战 </a> </td> | |
| 898 | + </tr> | |
| 899 | + <tr> | |
| 900 | + <td><span style="color:#d0d0d0;font-family:'微软雅黑','宋体';font-size:12px;">70万次下载</span> </td> | |
| 901 | + </tr> | |
| 902 | + <tr> | |
| 903 | + <td><a href="http://media4.cnlive.com:8080/icms/file/2014/11/27/141127170510204_433.apk" ><img src="http://y1.cnliveimg.com:8080/icms/game/images/down-1.gif" border="0" /></a> </td> | |
| 904 | + </tr> | |
| 905 | + </table> | |
| 906 | + </li> | |
| 907 | + | |
| 908 | + <li class="content-6" > | |
| 909 | + <table > | |
| 910 | + <tr> | |
| 911 | + <td ><a href="http://www.ikol.cn/yxzq/view1.html?id=415490" target="_blank"><img src="http://yweb0.cnliveimg.com/img/cnlive/public/141127170821446_983.jpg" style="width:78px;height:78px;" border="0" /></a> </td> | |
| 912 | + </tr> | |
| 913 | + <tr> | |
| 914 | + <td ><a href="http://www.ikol.cn/yxzq/view1.html?id=415490" target="_blank">音符消除 </a> </td> | |
| 915 | + </tr> | |
| 916 | + <tr> | |
| 917 | + <td><span style="color:#d0d0d0;font-family:'微软雅黑','宋体';font-size:12px;">93万次下载</span> </td> | |
| 918 | + </tr> | |
| 919 | + <tr> | |
| 920 | + <td><a href="http://media4.cnlive.com:8080/icms/file/2014/11/27/141127170949132_019.apk" ><img src="http://y1.cnliveimg.com:8080/icms/game/images/down-1.gif" border="0" /></a> </td> | |
| 921 | + </tr> | |
| 922 | + </table> | |
| 923 | + </li> | |
| 924 | + | |
| 925 | + </ul> | |
| 926 | + </td> | |
| 927 | + </tr> | |
| 928 | + </table></td> | |
| 929 | + </tr> | |
| 930 | + </table> | |
| 931 | + | |
| 932 | +</div> | |
| 933 | + | |
| 934 | + | |
| 935 | + | |
| 936 | + | |
| 937 | +</div> | |
| 938 | + </td> | |
| 939 | + </tr> | |
| 940 | + </tbody> | |
| 941 | + </table> | |
| 942 | + </td> | |
| 943 | + </tr> | |
| 944 | + | |
| 945 | + </table> | |
| 946 | + </td> | |
| 947 | + </tr> | |
| 948 | + | |
| 949 | + </table> | |
| 950 | + <!-- 右侧-- --> | |
| 951 | + | |
| 952 | +<script> | |
| 953 | + function tabChange(id) { | |
| 954 | + if (id=='tab_1') { | |
| 955 | + $("#tab_2").css("display","none"); | |
| 956 | + $("#tab_1").css("display","block"); | |
| 957 | + } else { | |
| 958 | + $("#tab_1").css("display","none"); | |
| 959 | + $("#tab_2").css("display","block"); | |
| 960 | + } | |
| 961 | + } | |
| 962 | + | |
| 963 | +</script> | |
| 964 | + | |
| 965 | +<table border="0" cellspacing="0" cellpadding="0" class="content-10a" align="left" > | |
| 966 | + <tr> | |
| 967 | + | |
| 968 | + <td> | |
| 969 | + | |
| 970 | + <table class="content-25"> | |
| 971 | + <tr> | |
| 972 | + <td class="content-29"> | |
| 973 | + <ul> | |
| 974 | + <li> | |
| 975 | + <a href="javascript:tabChange('tab_1')">排行</a> | |
| 976 | + </li> | |
| 977 | + <li> | |
| 978 | + <a href="javascript:tabChange('tab_2')">下载排行</a> | |
| 979 | + </li> | |
| 980 | + </ul> | |
| 981 | + </td> | |
| 982 | + </tr> | |
| 983 | + <tr> | |
| 984 | + <td class="content-32" > | |
| 985 | + <div id="tab_1"> | |
| 986 | + <div id="menucontainer2" > | |
| 987 | + | |
| 988 | + | |
| 989 | + | |
| 990 | + | |
| 991 | + | |
| 992 | + | |
| 993 | + | |
| 994 | + | |
| 995 | +<div> | |
| 996 | +<table cellspacing="15" > | |
| 997 | +<tbody> | |
| 998 | + | |
| 999 | + <tr> | |
| 1000 | + <td class="content-31"><p>1</p></td> | |
| 1001 | + <td><h2 class="h2"><a href="http://sxzg.vods1.cnlive.com/82/games/base.apk" target="_blank">泡泡消除</a></h2></td> | |
| 1002 | + </tr> | |
| 1003 | + | |
| 1004 | + | |
| 1005 | + <tr> | |
| 1006 | + <td class="content-31"><p>2</p></td> | |
| 1007 | + <td><h2 class="h2"><a href="http://sxzg.vods1.cnlive.com/82/games/leiting.apk" target="_blank">雷霆战机</a></h2></td> | |
| 1008 | + </tr> | |
| 1009 | + | |
| 1010 | + | |
| 1011 | + <tr> | |
| 1012 | + <td class="content-31"><p>3</p></td> | |
| 1013 | + <td><h2 class="h2"><a href="http://sxzg.vods1.cnlive.com/82/games/mofa.apk" target="_blank">魔法消除</a></h2></td> | |
| 1014 | + </tr> | |
| 1015 | + | |
| 1016 | + | |
| 1017 | + <tr> | |
| 1018 | + <td class="content-31-1"><p>4</p></td> | |
| 1019 | + <td><h2 class="h2"><a href="http://sxzg.vods1.cnlive.com/82/games/monv.apk" target="_blank">魔女酷跑</a></h2></td> | |
| 1020 | + </tr> | |
| 1021 | + | |
| 1022 | + | |
| 1023 | + <tr> | |
| 1024 | + <td class="content-31-1"><p>5</p></td> | |
| 1025 | + <td><h2 class="h2"><a href="http://sxzg.vods1.cnlive.com/82/games/zhanshen.apk" target="_blank">战神机甲出击</a></h2></td> | |
| 1026 | + </tr> | |
| 1027 | + | |
| 1028 | + | |
| 1029 | + <tr> | |
| 1030 | + <td class="content-31-1"><p>6</p></td> | |
| 1031 | + <td><h2 class="h2"><a href="http://www.ikol.cn/yxzq/view1.html?id=407801" target="_blank">小呀小飞机</a></h2></td> | |
| 1032 | + </tr> | |
| 1033 | + | |
| 1034 | + | |
| 1035 | + <tr> | |
| 1036 | + <td class="content-31-1"><p>7</p></td> | |
| 1037 | + <td><h2 class="h2"><a href="http://www.ikol.cn/yxzq/view1.html?id=413288" target="_blank">宇宙大碰撞</a></h2></td> | |
| 1038 | + </tr> | |
| 1039 | + | |
| 1040 | + | |
| 1041 | + <tr> | |
| 1042 | + <td class="content-31-1"><p>8</p></td> | |
| 1043 | + <td><h2 class="h2"><a href="http://www.ikol.cn/yxzq/view1.html?id=415490" target="_blank">音符消除</a></h2></td> | |
| 1044 | + </tr> | |
| 1045 | + | |
| 1046 | + | |
| 1047 | +</tbody> | |
| 1048 | +</table> | |
| 1049 | +</div> | |
| 1050 | + | |
| 1051 | + | |
| 1052 | + | |
| 1053 | + | |
| 1054 | +</div> | |
| 1055 | + </div> | |
| 1056 | + <div id="tab_2" style="display:none;"> | |
| 1057 | + <div id="menucontainer2_1" > | |
| 1058 | + | |
| 1059 | + | |
| 1060 | + | |
| 1061 | + | |
| 1062 | + | |
| 1063 | + | |
| 1064 | + | |
| 1065 | + | |
| 1066 | +<div> | |
| 1067 | +<table cellspacing="15" > | |
| 1068 | +<tbody> | |
| 1069 | + | |
| 1070 | + <tr> | |
| 1071 | + <td class="content-31"><p>1</p></td> | |
| 1072 | + <td><h2 class="h2"><a href="http://www.ikol.cn/yxzq/view1.html?id=417186" target="_blank">奇缘连萌</a></h2></td> | |
| 1073 | + </tr> | |
| 1074 | + | |
| 1075 | + <tr> | |
| 1076 | + <td class="content-31"><p>2</p></td> | |
| 1077 | + <td><h2 class="h2"><a href="http://www.ikol.cn/yxzq/view1.html?id=416602" target="_blank">萌宠爱跳跃</a></h2></td> | |
| 1078 | + </tr> | |
| 1079 | + | |
| 1080 | + <tr> | |
| 1081 | + <td class="content-31"><p>3</p></td> | |
| 1082 | + <td><h2 class="h2"><a href="http://www.ikol.cn/yxzq/view1.html?id=415893" target="_blank">豪门德州扑克</a></h2></td> | |
| 1083 | + </tr> | |
| 1084 | + | |
| 1085 | + <tr> | |
| 1086 | + <td class="content-31-1"><p>4</p></td> | |
| 1087 | + <td><h2 class="h2"><a href="http://www.ikol.cn/yxzq/view1.html?id=413425" target="_blank">布偶大逃亡</a></h2></td> | |
| 1088 | + </tr> | |
| 1089 | + | |
| 1090 | + <tr> | |
| 1091 | + <td class="content-31-1"><p>5</p></td> | |
| 1092 | + <td><h2 class="h2"><a href="http://www.ikol.cn/yxzq/view1.html?id=415490" target="_blank">音符消除</a></h2></td> | |
| 1093 | + </tr> | |
| 1094 | + | |
| 1095 | + <tr> | |
| 1096 | + <td class="content-31-1"><p>6</p></td> | |
| 1097 | + <td><h2 class="h2"><a href="http://www.ikol.cn/yxzq/view1.html?id=415479" target="_blank">兔子围堵战</a></h2></td> | |
| 1098 | + </tr> | |
| 1099 | + | |
| 1100 | + <tr> | |
| 1101 | + <td class="content-31-1"><p>7</p></td> | |
| 1102 | + <td><h2 class="h2"><a href="http://www.ikol.cn/yxzq/view1.html?id=415491" target="_blank">银河空战</a></h2></td> | |
| 1103 | + </tr> | |
| 1104 | + | |
| 1105 | + <tr> | |
| 1106 | + <td class="content-31-1"><p>8</p></td> | |
| 1107 | + <td><h2 class="h2"><a href="http://www.ikol.cn/yxzq/view1.html?id=415894" target="_blank">萌喵斗地主</a></h2></td> | |
| 1108 | + </tr> | |
| 1109 | + | |
| 1110 | +</tbody> | |
| 1111 | +</table> | |
| 1112 | +</div> | |
| 1113 | + | |
| 1114 | + | |
| 1115 | + | |
| 1116 | + | |
| 1117 | +</div> | |
| 1118 | + </div> | |
| 1119 | + </td> | |
| 1120 | + </tr> | |
| 1121 | +</table> | |
| 1122 | + </td> | |
| 1123 | + </tr> | |
| 1124 | + <tr> | |
| 1125 | + <td> | |
| 1126 | + <div> | |
| 1127 | + <div id="menucontainer3" > | |
| 1128 | + | |
| 1129 | + | |
| 1130 | + | |
| 1131 | + | |
| 1132 | + | |
| 1133 | + | |
| 1134 | + | |
| 1135 | + | |
| 1136 | +<table cellspacing="0" cellpadding="0" border="0" class="content-25"> | |
| 1137 | + <tbody><tr> | |
| 1138 | + <td class="content-10" colspan="2"><img src="http://y1.cnliveimg.com:8080/icms/game/images/content-1.gif"> 活动专区</td> | |
| 1139 | + </tr> | |
| 1140 | + <tr> | |
| 1141 | + <td> | |
| 1142 | + <table> | |
| 1143 | + <tbody> | |
| 1144 | + | |
| 1145 | + <tr> | |
| 1146 | + <td class="content-26"><a href="http://www.ikol.cn/yxzq/view1.html?id=415491" target="_blank"><img width="60" height="54" src="http://yweb0.cnliveimg.com/img/cnlive/public/141127171157374_570.jpg"></a></td> | |
| 1147 | + <td><h1 class="h1"><a target="_blank" href="http://www.ikol.cn/yxzq/view1.html?id=415491">银河空战</a></h1> | |
| 1148 | + <p class="p">《银河空战》是一款射击类的游戏,精致的游戏画面</p></td> | |
| 1149 | + </tr> | |
| 1150 | + | |
| 1151 | + </tbody> | |
| 1152 | + </table></td> | |
| 1153 | + </tr> | |
| 1154 | + <tr> | |
| 1155 | + <td align="center"><img src="http://y1.cnliveimg.com:8080/icms/game/images/huodong-2.gif"></td> | |
| 1156 | + </tr> | |
| 1157 | + <tr> | |
| 1158 | + <td><table> | |
| 1159 | + <tbody><tr> | |
| 1160 | + <td class="content-28"> | |
| 1161 | + <ul> | |
| 1162 | + | |
| 1163 | + <li><a target="_blank" href="http://www.ikol.cn/yxzq/view1.html?id=415490">音符消除</a> </li> | |
| 1164 | + | |
| 1165 | + <li><a target="_blank" href="http://www.ikol.cn/yxzq/view1.html?id=419347">佰果连萌</a> </li> | |
| 1166 | + | |
| 1167 | + </ul></td> | |
| 1168 | + </tr> | |
| 1169 | + </tbody></table></td> | |
| 1170 | + </tr> | |
| 1171 | + </tbody></table> | |
| 1172 | + | |
| 1173 | + | |
| 1174 | + | |
| 1175 | + | |
| 1176 | + | |
| 1177 | +</div> | |
| 1178 | + </div> | |
| 1179 | + </td> | |
| 1180 | + </tr> | |
| 1181 | + </table> | |
| 1182 | +</div> | |
| 1183 | + <script type="text/javascript" src="http://yweb3.cnliveimg.com/js/page_stadig.min.js"></script> | |
| 1184 | +</body> | |
| 1185 | +</html> | |
| 1186 | + | |
| 1187 | + | |
| 1188 | + | |
| 1189 | + | |
| 1190 | + | ... | ... |
src/main/resources/templates/page/content.html
| ... | ... | @@ -53,10 +53,9 @@ |
| 53 | 53 | |
| 54 | 54 | |
| 55 | 55 | <div class="btn-group margin-bottom pull-right"> |
| 56 | -<!-- <button type="button" class="btn btn-success btn-sm margin-r-5 filter " --> | |
| 57 | -<!-- th:onclick="'javascript:daochu()'" value="" id="excel"> --> | |
| 58 | -<!-- 导出excel --> | |
| 59 | -<!-- </button> --> | |
| 56 | + <button type="button" class="btn btn-success btn-sm margin-r-5 filter " | |
| 57 | + th:onclick="'javascript:daochu()'" value="" id="excel">导出excel | |
| 58 | + </button> | |
| 60 | 59 | <button type="button" class="btn btn-sm margin-r-5 filter " |
| 61 | 60 | th:onclick="'javascript:quanbu()'" value="" id="quanbu"> |
| 62 | 61 | 全部 |
| ... | ... | @@ -562,6 +561,13 @@ |
| 562 | 561 | } |
| 563 | 562 | }) |
| 564 | 563 | } |
| 564 | + | |
| 565 | + | |
| 566 | + //导出excel | |
| 567 | + function daochu() { | |
| 568 | + var param = location.search; | |
| 569 | + window.location.href = "/content/excel" + param; | |
| 570 | + } | |
| 565 | 571 | </script> |
| 566 | 572 | <!-- 模态框(Modal) --> |
| 567 | 573 | <div class="modal fade" id="msgModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> | ... | ... |
src/main/resources/templates/page/live.html
0 → 100644
| 1 | +<!DOCTYPE html> | |
| 2 | +<html lang="zh" xmlns:th="http://www.thymeleaf.org"> | |
| 3 | + | |
| 4 | +<head th:replace="../templates/common/head::head"> | |
| 5 | +<!-- 最新版本的 Bootstrap 核心 CSS 文件 --> | |
| 6 | +<!-- <link rel="stylesheet" --> | |
| 7 | +<!-- href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" --> | |
| 8 | +<!-- integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" --> | |
| 9 | +<!-- crossorigin="anonymous"> --> | |
| 10 | +</head> | |
| 11 | + | |
| 12 | +<body class="hold-transition skin-blue sidebar-mini"> | |
| 13 | + | |
| 14 | + <div class="wrapper"> | |
| 15 | + <div th:replace="../templates/common/frame::frame"></div> | |
| 16 | + <div class="content-wrapper" style="min-height: 788px;"> | |
| 17 | + <section class="content-header"> | |
| 18 | + <h1>直播审核</h1> | |
| 19 | + <ol class="breadcrumb"> | |
| 20 | + <li><a href="/"><i class="fa fa-dashboard"></i> 首页</a></li> | |
| 21 | + <li class="active"><a href="/live/page?activity_status=1">直播审核</a></li> | |
| 22 | + </ol> | |
| 23 | + </section> | |
| 24 | + <section class="content"> | |
| 25 | + <div class="row"> | |
| 26 | + <div class="col-md-12"> | |
| 27 | + <div class="box box-info"> | |
| 28 | + <div class="box-body"> | |
| 29 | + <div class="clearfix"> | |
| 30 | + <div class="btn-group margin-bottom" id="hide_select_area_2"> | |
| 31 | + <div class="cb-toolbar"> | |
| 32 | + <input type="checkbox" id="select_all">全选 | |
| 33 | + </div> | |
| 34 | + <div class="btn-group margin-bottom pull-left" style=> | |
| 35 | + <input type="hidden" name="state" id="state" value="" /> | |
| 36 | + | |
| 37 | + <button type="button" | |
| 38 | + class="btn btn-success btn-sm margin-r-5 action claim" | |
| 39 | + value="2" data="claim" id="claim" data-toggle="modal" | |
| 40 | + data-target="#modal" onclick="receive(0);">认领</button> | |
| 41 | + <button type="button" | |
| 42 | + class="btn btn-success btn-sm margin-r-5 action claim" | |
| 43 | + value="2" data="claim10" id="claim10" data-toggle="modal" | |
| 44 | + data-target="#modal" onclick="receive(10);">认领10条</button> | |
| 45 | + <button type="button" | |
| 46 | + class="btn btn-success btn-sm margin-r-5 action claim" | |
| 47 | + value="2" data="claim100" id="claim100" | |
| 48 | + data-toggle="modal" data-target="#modal" onclick="receive(100);">认领100条</button> | |
| 49 | + </div> | |
| 50 | + </div> | |
| 51 | + | |
| 52 | + <div class="btn-group margin-bottom pull-right"> | |
| 53 | + <button type="button" class="btn btn-success btn-sm margin-r-5 filter " | |
| 54 | + th:onclick="'javascript:daochu()'" value="" id="excel">导出excel | |
| 55 | + </button> | |
| 56 | + <button type="button" class="btn btn-sm margin-r-5 filter >" | |
| 57 | + value="0" th:onclick="'javascript:quanbu()'" id="quanbu">全部</button> | |
| 58 | + <button type="button" | |
| 59 | + class="btn btn-sm margin-r-5 filter " id="daishen" value="0">全部待领 | |
| 60 | + </button> | |
| 61 | + <button type="button" | |
| 62 | + class="btn btn-sm margin-r-5 filter " id="Mydaishen" value="0">我的待审 | |
| 63 | + </button> | |
| 64 | + <button type="button" | |
| 65 | + class="btn btn-sm margin-r-5 filter " id="yishen" value="1">我的已审 | |
| 66 | + </button> | |
| 67 | + <button type="button" | |
| 68 | + class="btn btn-primary btn-sm margin-r-5" id="query" | |
| 69 | + onclick="openOrClose('forms')"> | |
| 70 | + 查询 <span id="a_up">▼</span><span id="a_down">▲</span> | |
| 71 | + </button> | |
| 72 | + </div> | |
| 73 | + | |
| 74 | + </div> | |
| 75 | + | |
| 76 | + <div class="clearfix"> | |
| 77 | + <div class="form-horizontal form-group-sm" id="forms" | |
| 78 | + style="display: none;"> | |
| 79 | + <div class="btn-group margin-bottom col-md-7" | |
| 80 | + style="padding: 0;"> | |
| 81 | + <div class="col-md-3" style="padding: 0"> | |
| 82 | + <label for="activity_id" class="control-label cb-toolbar">直播id:</label> | |
| 83 | + <div class="col-sm-7" style="padding: 0;"> | |
| 84 | + <input class="form-control" name="activity_id" type="text" | |
| 85 | + id="activity_id"> | |
| 86 | + </div> | |
| 87 | + </div> | |
| 88 | + <div class="col-md-3" style="padding: 0"> | |
| 89 | + <label for="activity_name" class="control-label cb-toolbar">直播名称:</label> | |
| 90 | + <div class="col-sm-7" style="padding: 0;"> | |
| 91 | + <input class="form-control col-sm-2" name="activity_name" | |
| 92 | + type="text" id="activity_name"> | |
| 93 | + </div> | |
| 94 | + </div> | |
| 95 | + | |
| 96 | +<!-- <div class="col-md-3" style="padding: 0"> --> | |
| 97 | +<!-- <label for="is_hot" class="control-label cb-toolbar">是否热点:</label> --> | |
| 98 | +<!-- <div class="col-sm-6" style="padding: 0;"> --> | |
| 99 | +<!-- <select class="form-control" id="is_hot" name="is_hot"><option --> | |
| 100 | +<!-- value="0">全部</option> --> | |
| 101 | +<!-- <option value="2">是</option> --> | |
| 102 | +<!-- <option value="1">否</option></select> --> | |
| 103 | +<!-- </div> --> | |
| 104 | +<!-- </div> --> | |
| 105 | + | |
| 106 | + <div class="col-md-6" style="padding: 0;width: 25%;" th:if="${session.sessionUser.spid==0}"> | |
| 107 | + <label for="sp_desc" class="control-label cb-toolbar">sp简称:</label> | |
| 108 | + <div class="col-sm-8" style="padding: 0;"> | |
| 109 | + <input class="form-control" type="text" value="" id="sp_desc"> | |
| 110 | + </div> | |
| 111 | + </div> | |
| 112 | + <div class="col-md-3" style="padding: 0"> | |
| 113 | + <label for="activity_status" | |
| 114 | + class="control-label cb-toolbar">直播状态:</label> | |
| 115 | + <div class="col-sm-6" style="padding: 0;"> | |
| 116 | + <select class="form-control col-sm-2" id="activity_status" | |
| 117 | + name="activity_status"><option value="">全部</option> | |
| 118 | + <option value="3">等待直播</option> | |
| 119 | + <option value="1">正在直播</option> | |
| 120 | + <option value="2">直播结束</option> | |
| 121 | + <option value="0">直播撤销</option> | |
| 122 | + <option value="4">直播下线</option></select> | |
| 123 | + </div> | |
| 124 | + </div> | |
| 125 | + | |
| 126 | + </div> | |
| 127 | + | |
| 128 | + <div class="btn-group margin-bottom col-md-5 pull-right" | |
| 129 | + style="padding: 0"> | |
| 130 | + <div class="col-md-11" style="width: 88%; padding: 0;"> | |
| 131 | + <div class="col-md-5" style="padding: 0"> | |
| 132 | + <label for="start_date" class="control-label cb-toolbar">时间:</label> | |
| 133 | + <div class='input-group col-md-9 date'> | |
| 134 | + <input class="form-control date" name="start_date" | |
| 135 | + type="text" id="start_date"> <span | |
| 136 | + class="input-group-addon"> <span | |
| 137 | + class="glyphicon glyphicon-calendar"></span> | |
| 138 | + </span> | |
| 139 | + </div> | |
| 140 | + </div> | |
| 141 | + <div class="col-md-5" style="padding: 0"> | |
| 142 | + <label for="start_date" class="control-label cb-toolbar">至</label> | |
| 143 | + <div class='input-group col-md-9 date'> | |
| 144 | + <input class="form-control date" name="end_date" | |
| 145 | + type="text" id="end_date"> <span class="input-group-addon"> | |
| 146 | + <span class="glyphicon glyphicon-calendar"></span> | |
| 147 | + </span> | |
| 148 | + </div> | |
| 149 | + </div> | |
| 150 | + </div> | |
| 151 | + | |
| 152 | +<!-- <div class="col-md-1 text-center" --> | |
| 153 | +<!-- style="width: 12%; padding: 0"> --> | |
| 154 | +<!-- <button type="button" class="btn btn-primary btn-sm" --> | |
| 155 | +<!-- id="live_query" onclick="query()">查 询</button> --> | |
| 156 | +<!-- </div> --> | |
| 157 | + | |
| 158 | + </div> | |
| 159 | + | |
| 160 | + <div class="btn-group margin-bottom col-md-6" | |
| 161 | + style="padding: 0;"></div> | |
| 162 | + </div> | |
| 163 | + </div> | |
| 164 | + | |
| 165 | + <div class="modal fade common" id="modal_remove" tabindex="-1" | |
| 166 | + role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> | |
| 167 | + <div class="modal-dialog"> | |
| 168 | + <div class="modal-content"> | |
| 169 | + <div class="modal-header"> | |
| 170 | + <button type="button" class="close" data-dismiss="modal" | |
| 171 | + aria-hidden="true">×</button> | |
| 172 | + <h4 class="modal-title" id="modal_title"></h4> | |
| 173 | + </div> | |
| 174 | + <div class="modal-body"> | |
| 175 | + <div class="alert alert-danger" id="window_msg" | |
| 176 | + style="display: none;"> | |
| 177 | + <p></p> | |
| 178 | + </div> | |
| 179 | + <div id="contents"></div> | |
| 180 | + </div> | |
| 181 | + </div> | |
| 182 | + </div> | |
| 183 | + </div> | |
| 184 | + | |
| 185 | + <div class="fixed-table-container" style="padding-bottom: 0px;"> | |
| 186 | + <div class="fixed-table-body"> | |
| 187 | + <table id="table"> | |
| 188 | + <div> | |
| 189 | + <div class="col-xs-2 col-lg-2 margin-bottom action" th:each="live : ${livePage.list}"> | |
| 190 | + <a href="#" class="thumbnail margin-bottom" | |
| 191 | + th:onclick="@{'preview(\''+${live.rtmp_url}+'\')'}"> | |
| 192 | + <div style="text-align: center"> | |
| 193 | + <img th:src='@{${live.cover_img_url}}' | |
| 194 | + alt="封面图" width="134px" height="100px"> | |
| 195 | + </div> | |
| 196 | + | |
| 197 | + </a> | |
| 198 | + <div> | |
| 199 | + <p style="line-height: 0"> | |
| 200 | + <span class="text-success" th:text="${live.shenhe_state==2?'已审':'待审'}">待审</span> | |
| 201 | + <span class="text-primary pull-right" | |
| 202 | + th:text="${#dates.format(live.activity_start_time, 'yyyy-MM-dd HH:mm:ss')}">2019-06-26 14:56:33</span> | |
| 203 | + </p> | |
| 204 | + <p class="info-box-text"> | |
| 205 | + <input type="checkbox" class="check" th:value="${live.id}" name="btSelectItem"> | |
| 206 | + <span th:text="${live.activity_name}">国新办举行新时代人民满意公务员代表中外记者见面会</span> | |
| 207 | + </p> | |
| 208 | + <p class="info-box-text"> | |
| 209 | + <span style="float: left;">id:<span th:text="${live.id}">10225</span></span> | |
| 210 | + <span style="float: right;"> <span style="margin-left: 40px;"> | |
| 211 | + <span th:if="${live.activity_status==0}">直播撤销</span> | |
| 212 | + <span th:if="${live.activity_status==1}">正在直播</span> | |
| 213 | + <span th:if="${live.activity_status==2}">直播完成</span> | |
| 214 | + <span th:if="${live.activity_status==3}">等待直播</span> | |
| 215 | + <span th:if="${live.activity_status==4}">直播下线</span> | |
| 216 | + </span><span></span> | |
| 217 | + </span> | |
| 218 | + </p> | |
| 219 | + <p class="info-box-text"> | |
| 220 | + <span style="float: left;"> <span>SP简称:</span> | |
| 221 | + </span> <span style="float: right;"> <span th:text="${live.spid_desc}">国新客户端</span> | |
| 222 | + </span> | |
| 223 | + </p> | |
| 224 | + | |
| 225 | + </div> | |
| 226 | + <div class="width-10p pull-left padding-r-5" | |
| 227 | + th:if="${live.shenhe_state==0}"> | |
| 228 | + <button class="btn btn-primary btn-xs btn-block" title="认领" | |
| 229 | + th:onclick="'applyReceive('+${live.id}+')'" data-field="action" | |
| 230 | + data-formatter="actionFormatter" data-events="actionEvents" | |
| 231 | + data-toggle="tooltip" data-placement="top" value="2" | |
| 232 | + th:id="'claim_'+${live.id}"> | |
| 233 | + <i class="fa fa-hand-pointer-o"></i> | |
| 234 | + </button> | |
| 235 | + </div> | |
| 236 | + | |
| 237 | + <div class="width-10p pull-left padding-r-5"> | |
| 238 | + <button class="btn btn-success btn-xs btn-block " | |
| 239 | + title="查看" | |
| 240 | + th:onclick="'detail('+${live.id}+')'" | |
| 241 | + data-toggle="tooltip" data-placement="top" | |
| 242 | + > | |
| 243 | + <i class="fa fa-eye"></i> | |
| 244 | + </button> | |
| 245 | + </div> | |
| 246 | + <div class="width-10p pull-left padding-r-5" | |
| 247 | + th:if="${live.activity_status!=4 and live.activity_status!=2 and live.shenhe_state==1 and session.sessionUser.userId==live.auditor}"> | |
| 248 | + <button class="btn btn-danger btn-xs btn-block" | |
| 249 | + title="退领" th:onclick="'applyRetReceive('+${live.id}+')'" | |
| 250 | + data-toggle="tooltip" data-placement="top"> | |
| 251 | + <i class="fa fa-mail-reply"></i> | |
| 252 | + </button> | |
| 253 | + </div> | |
| 254 | + | |
| 255 | +<!-- <div class="width-10p pull-right padding-r-5"> --> | |
| 256 | +<!-- <button class="btn btn-primary btn-xs btn-block" --> | |
| 257 | +<!-- disabled="disabled" title="日志" --> | |
| 258 | +<!-- onclick="reject('38_09471046aa7f4835a734f1d6208249fc')"> --> | |
| 259 | +<!-- <i class="fa fa-bullseye"></i> --> | |
| 260 | +<!-- </button> --> | |
| 261 | +<!-- </div> --> | |
| 262 | + | |
| 263 | + <div class="width-10p pull-right padding-r-5"> | |
| 264 | + <button class="btn btn-danger btn-xs btn-block" title="下线直播" | |
| 265 | + th:onclick="'offline_live('+${live.id}+')'" data-toggle="tooltip" | |
| 266 | + data-placement="top" | |
| 267 | + data-target="#modal"> | |
| 268 | + <i class="fa fa-arrow-down"></i> | |
| 269 | + </button> | |
| 270 | + </div> | |
| 271 | + | |
| 272 | + <div class="width-10p pull-right padding-r-5"> | |
| 273 | + <button class="btn btn-danger btn-xs btn-block" title="下线主播" | |
| 274 | + th:onclick="'offline_anchor('+${live.id}+')'" data-toggle="tooltip" | |
| 275 | + data-placement="top"> | |
| 276 | + <i class="glyphicon glyphicon-user"></i> | |
| 277 | + </button> | |
| 278 | + </div> | |
| 279 | + </div> | |
| 280 | + | |
| 281 | + </div> | |
| 282 | + </table> | |
| 283 | + </div> | |
| 284 | + | |
| 285 | + | |
| 286 | + <!--分页处理--> | |
| 287 | + <div class="fixed-table-pagination" style="display: block;"> | |
| 288 | + <div class="pull-left pagination-detail"><span class="pagination-info" | |
| 289 | + th:text="'共 '+${livePage.total}+' 条记录'">共 0 条记录</span> | |
| 290 | + </div> | |
| 291 | + <div class="pull-right pagination"> | |
| 292 | + <ul class="pagination" th:if="${livePage.pages>1}"> | |
| 293 | + <li class="page-pre"><a th:href="'javascript:fanye(1);'">‹‹</a></li> | |
| 294 | + <li class="page-pre" th:if="${!livePage.isFirstPage}"><a | |
| 295 | + th:onclick="'javascript:fanye(\''+${livePage.pageNum-1}+'\');'">‹</a> | |
| 296 | + </li> | |
| 297 | + | |
| 298 | + <li class="page-number" th:if="${livePage.pageNum-3>=1}"><a | |
| 299 | + th:onclick="'javascript:fanye(\''+${livePage.pageNum-3}+'\');'" | |
| 300 | + th:text="${livePage.pageNum-3}">2</a></li> | |
| 301 | + <li class="page-number" th:if="${livePage.pageNum-2>=1}"><a | |
| 302 | + th:onclick="'javascript:fanye(\''+${livePage.pageNum-2}+'\');'" | |
| 303 | + th:text="${livePage.pageNum-2}">2</a></li> | |
| 304 | + <li class="page-number" th:if="${livePage.pageNum-1>=1}"><a | |
| 305 | + th:onclick="'javascript:fanye(\''+${livePage.pageNum-1}+'\');'" | |
| 306 | + th:text="${livePage.pageNum-1}">2</a></li> | |
| 307 | + <li class="page-number active"><a href="javaScript:void(0);" | |
| 308 | + th:text="${livePage.pageNum}">2</a></li> | |
| 309 | + <li class="page-number" th:if="${livePage.pageNum+1<=livePage.pages}"><a | |
| 310 | + th:onclick="'javascript:fanye(\''+${livePage.pageNum+1}+'\');'" | |
| 311 | + th:text="${livePage.pageNum+1}">2</a></li> | |
| 312 | + <li class="page-number" th:if="${livePage.pageNum+2<=livePage.pages}"><a | |
| 313 | + th:onclick="'javascript:fanye(\''+${livePage.pageNum+2}+'\');'" | |
| 314 | + th:text="${livePage.pageNum+2}">2</a></li> | |
| 315 | + <li class="page-number" th:if="${livePage.pageNum+3<=livePage.pages}"><a | |
| 316 | + th:onclick="'javascript:fanye(\''+${livePage.pageNum+3}+'\');'" | |
| 317 | + th:text="${livePage.pageNum+3}">2</a></li> | |
| 318 | + | |
| 319 | + <li class="page-next" th:if="${!livePage.isLastPage}"><a | |
| 320 | + th:onclick="'javascript:fanye(\''+${livePage.pageNum+1}+'\');'">›</a> | |
| 321 | + </li> | |
| 322 | + <li class="page-next"><a | |
| 323 | + th:onclick="'javascript:fanye(\''+${livePage.pages}+'\');'">››</a> | |
| 324 | + </li> | |
| 325 | + </ul> | |
| 326 | + </div> | |
| 327 | + </div> | |
| 328 | + </div> | |
| 329 | + </div> | |
| 330 | + </div> | |
| 331 | + </div> | |
| 332 | + </div> | |
| 333 | + </section> | |
| 334 | + <!-- /.content --> | |
| 335 | +<!-- <div class="box-footer"> --> | |
| 336 | +<!-- <div class="pull-right"></div> --> | |
| 337 | +<!-- </div> --> | |
| 338 | + </div> | |
| 339 | + <!-- /.content-wrapper --> | |
| 340 | + | |
| 341 | + <!-- 预览对话框 --> | |
| 342 | + <div class="modal fade" id="preview" role="dialog" aria-hidden="true"> | |
| 343 | + <div class="modal-dialog" style="width: 670px;"> | |
| 344 | + <div class="modal-content"> | |
| 345 | + <div class="modal-header"> | |
| 346 | + <button type="button" class="close" data-dismiss="modal" | |
| 347 | + aria-hidden="true">×</button> | |
| 348 | + <h5 class="modal-title" id="myModalLabel">视频预览</h5> | |
| 349 | + </div> | |
| 350 | + <div class="modal-body"> | |
| 351 | + <embed name="cnlive" width="640" height="450" id="cnlive" volume="0" | |
| 352 | + src="http://data.cnlive.com/export/UuidPlayerMain.swf" | |
| 353 | + flashVars="" type="application/x-shockwave-flash" wmode="window" | |
| 354 | + quility="high" allowscriptaccess="always" allowfullscreen="true"> | |
| 355 | + </div> | |
| 356 | + </div> | |
| 357 | + <!-- /.modal-content --> | |
| 358 | + </div> | |
| 359 | + <!-- /.modal --> | |
| 360 | + </div> | |
| 361 | + | |
| 362 | + <!-- 确认直播下线,直播下线 --> | |
| 363 | + <div class="modal" id="action_note" role="dialog" | |
| 364 | + aria-labelledby="myModalLabel"> | |
| 365 | + <div class="modal-dialog"> | |
| 366 | + <div class="modal-content"> | |
| 367 | + <div class="modal-header"> | |
| 368 | + <h4 class="modal-title">温馨提示</h4> | |
| 369 | + </div> | |
| 370 | + <div class="modal-body" id="msg2"></div> | |
| 371 | + | |
| 372 | + <div class="modal-footer"> | |
| 373 | + <button type="button" class="btn btn-default " | |
| 374 | + data-dismiss="modal" id="action_note_no">取消</button> | |
| 375 | + <button type="button" class="btn btn-primary" id="action_note_yes">确认</button> | |
| 376 | + <input type="hidden" name="action_note_type" id="action_note_type" | |
| 377 | + value="" /> <input type="hidden" name="action_note_id" | |
| 378 | + id="action_note_id" value="" /> | |
| 379 | + </div> | |
| 380 | + </div> | |
| 381 | + </div> | |
| 382 | + </div> | |
| 383 | + <!-- 模态框(Modal) --> | |
| 384 | + <div class="modal fade" id="msgModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> | |
| 385 | + <div class="modal-dialog"> | |
| 386 | + <div class="modal-content" style="margin-top: 30%;"> | |
| 387 | + <div class="modal-header"> | |
| 388 | + <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> | |
| 389 | + <h4 class="modal-title" id="myModalLabel">审核意见</h4> | |
| 390 | + </div> | |
| 391 | + <div class="modal-body"> | |
| 392 | + <div class="form-group" style="margin-bottom: 0;"> | |
| 393 | + <textarea id="reviewMsg" style="width: 100%;height: 80px;"></textarea> | |
| 394 | + </div> | |
| 395 | + <div class="form-group"> | |
| 396 | + </div> | |
| 397 | + </div> | |
| 398 | + <div class="modal-footer"> | |
| 399 | + <button type="button" class="btn btn-default" data-dismiss="modal">取消</button> | |
| 400 | + <button type="button" class="btn btn-primary" onclick="javascript:repulseSubmit();">提交</button> | |
| 401 | + </div> | |
| 402 | + </div><!-- /.modal-content --> | |
| 403 | + </div><!-- /.modal-dialog --> | |
| 404 | + </div> | |
| 405 | + <!-- /.modal --> | |
| 406 | + | |
| 407 | + | |
| 408 | + <script th:inline="javascript"> | |
| 409 | + | |
| 410 | + var activity_id ="";//直播id | |
| 411 | + var activity_name = "";//直播名称 | |
| 412 | + var is_hot ="";//是否热点 | |
| 413 | + var activity_status ="";//直播状态 | |
| 414 | + var start_date ="";//开始时间 | |
| 415 | + var end_date = "";//结束时间 | |
| 416 | + var sp_desc = ""; | |
| 417 | + var count = ""; | |
| 418 | + var shenhe_state ="";//审核状态 | |
| 419 | + | |
| 420 | + function query(){ | |
| 421 | + activity_id = $("#activity_id").val(); | |
| 422 | + activity_name = $("#activity_name").val(); | |
| 423 | + activity_status = $("#activity_status").val(); | |
| 424 | + start_date = $("#start_date").val(); | |
| 425 | + end_date = $("#end_date").val(); | |
| 426 | + var spId=[[${session.sessionUser.spid}]]; | |
| 427 | + if(spId==0){ | |
| 428 | + sp_desc = $("#sp_desc").val(); | |
| 429 | + } | |
| 430 | + window.location.href = "/live/page?activity_status="+activity_status+"&activity_id=" + activity_id + "&start_date=" + start_date + "&end_date=" + end_date + "&activity_name=" + activity_name + "&sp_desc=" + sp_desc+"&pageSize="+count+"&shenhe_state="+shenhe_state; | |
| 431 | + } | |
| 432 | + | |
| 433 | + //全部 | |
| 434 | + function quanbu() { | |
| 435 | + query(); | |
| 436 | + } | |
| 437 | + | |
| 438 | + //全部待领 | |
| 439 | + $('#daishen').click(function () { | |
| 440 | + shenhe_state=0; | |
| 441 | + query(); | |
| 442 | + }); | |
| 443 | + //我的待审核 | |
| 444 | + $('#Mydaishen').click(function () { | |
| 445 | + shenhe_state=1; | |
| 446 | + query(); | |
| 447 | + }); | |
| 448 | + //我的已审核 | |
| 449 | + $('#yishen').click(function () { | |
| 450 | + shenhe_state=2; | |
| 451 | + query(); | |
| 452 | + }); | |
| 453 | + | |
| 454 | + | |
| 455 | + /*全选的操作*/ | |
| 456 | + $('#select_all').click(function () { | |
| 457 | + if ($("[name=btSelectItem]:checkbox:not(:checked)").length > 0) { | |
| 458 | + $("#select_all").prop('checked', true); | |
| 459 | + $("[name=btSelectItem]:checkbox").each(function () { | |
| 460 | + $(this).prop('checked', true); | |
| 461 | + }); | |
| 462 | + } else { | |
| 463 | + $("#select_all").prop('checked', false); | |
| 464 | + $("[name=btSelectItem]:checkbox").each(function () { | |
| 465 | + $(this).prop('checked', false); | |
| 466 | + }); | |
| 467 | + } | |
| 468 | + }); | |
| 469 | + | |
| 470 | + /** | |
| 471 | + * 认领 | |
| 472 | + */ | |
| 473 | + function receive(n) { | |
| 474 | + if (n > 0) { | |
| 475 | + applyReceiveNum(n); | |
| 476 | + } else { | |
| 477 | + var rows = $("[name=btSelectItem]:checkbox:checked"); | |
| 478 | + if (rows.length > 0) { | |
| 479 | + var ids = ""; | |
| 480 | + rows.each(function (i, e) { | |
| 481 | + ids = ids + "," + e.value; | |
| 482 | + }) | |
| 483 | + ids = ids.substring(1); | |
| 484 | + applyReceive(ids); | |
| 485 | + } else { | |
| 486 | + alert("请选择要认领的内容!"); | |
| 487 | + } | |
| 488 | + } | |
| 489 | + } | |
| 490 | + | |
| 491 | + //认领选中请求 | |
| 492 | + function applyReceive(ids) { | |
| 493 | + $.post("/live/receive?ids=" + ids, function (data) { | |
| 494 | + if (data.errorCode == 0) { | |
| 495 | + alert(data.errorMessage); | |
| 496 | + location.href = location.href; | |
| 497 | + } else { | |
| 498 | + alert(data.errorMessage); | |
| 499 | + } | |
| 500 | + }) | |
| 501 | + } | |
| 502 | + | |
| 503 | + //认领多条请求 | |
| 504 | + function applyReceiveNum(num) { | |
| 505 | + $.post("/live/receive?num=" + num, function (data) { | |
| 506 | + if (data.errorCode == 0) { | |
| 507 | + alert(data.errorMessage); | |
| 508 | + location.href = location.href; | |
| 509 | + } else { | |
| 510 | + alert(data.errorMessage); | |
| 511 | + } | |
| 512 | + }) | |
| 513 | + } | |
| 514 | + | |
| 515 | + //退领选中内容 | |
| 516 | + function retReceive() { | |
| 517 | + var rows = $("[name=btSelectItem]:checkbox:checked"); | |
| 518 | + if (rows.length > 0) { | |
| 519 | + var r = confirm("您确定退领选中的" + rows.length + "条内容吗?"); | |
| 520 | + if (r == true) { | |
| 521 | + var ids = ""; | |
| 522 | + rows.each(function (i, e) { | |
| 523 | + ids = ids + "," + e.value; | |
| 524 | + }) | |
| 525 | + ids = ids.substring(1); | |
| 526 | + applyRetReceive(ids); | |
| 527 | + } | |
| 528 | + } else { | |
| 529 | + alert("没有选中的数据!"); | |
| 530 | + } | |
| 531 | + } | |
| 532 | + | |
| 533 | + //退领 | |
| 534 | + function applyRetReceive(ids) { | |
| 535 | + $.post("/live/retReceive?ids=" + ids, function (data) { | |
| 536 | + if (data.errorCode == 0) { | |
| 537 | + alert(data.errorMessage); | |
| 538 | + location.href = location.href; | |
| 539 | + } else { | |
| 540 | + alert(data.errorMessage); | |
| 541 | + } | |
| 542 | + }) | |
| 543 | + } | |
| 544 | + | |
| 545 | + //导出excel | |
| 546 | + function daochu() { | |
| 547 | + var param = location.search; | |
| 548 | + window.location.href = "/live/excel" + param; | |
| 549 | + } | |
| 550 | + | |
| 551 | + //详情页 | |
| 552 | + function detail(ids) { | |
| 553 | + location.href ="/live/details?id=" + ids; | |
| 554 | + } | |
| 555 | + | |
| 556 | + /*下线主播*/ | |
| 557 | + function offline_anchor(id) { | |
| 558 | + $('#msg2').html('您确认下线该主播吗?'); | |
| 559 | + $('#action_note').show(); | |
| 560 | + $("#action_note_type").val('offline_anchor'); | |
| 561 | + $("#action_note_id").val(id); | |
| 562 | + } | |
| 563 | + | |
| 564 | + /*下线直播*/ | |
| 565 | + function offline_live(id) { | |
| 566 | + | |
| 567 | + $('#msg2').html('您确认下线该直播吗?'); | |
| 568 | + $('#action_note').show(); | |
| 569 | + $("#action_note_type").val('offline_live'); | |
| 570 | + $("#action_note_id").val(id); | |
| 571 | + $('#modal_remove').attr('claim', 'claim'); | |
| 572 | + } | |
| 573 | + | |
| 574 | + $("#action_note_no").click(function() { | |
| 575 | + $("#action_note").hide(); | |
| 576 | + }); | |
| 577 | + | |
| 578 | + $("#action_note_yes").click(function() { | |
| 579 | + $("#action_note").hide(); | |
| 580 | + $('#msgModal').modal('show'); | |
| 581 | + }) | |
| 582 | + | |
| 583 | + //提交打回 | |
| 584 | + function repulseSubmit() { | |
| 585 | + var action_note_type = $("#action_note_type").val(); | |
| 586 | + var ids = $("#action_note_id").val(); | |
| 587 | + var msg = $("#reviewMsg").val(); | |
| 588 | + if (action_note_type == 'offline_live') { | |
| 589 | + $.post("/live/repulse?ids=" + ids + "&msg=" + msg, function (data) { | |
| 590 | + if (data.errorCode == 0) { | |
| 591 | + alert(data.errorMessage); | |
| 592 | + location.href = location.href; | |
| 593 | + } else { | |
| 594 | + alert(data.errorMessage); | |
| 595 | + } | |
| 596 | + }) | |
| 597 | + } else if (action_note_type == 'offline_anchor') { | |
| 598 | + $.post("/anchor/repulse?ids=" + ids + "&msg=" + msg, function (data) { | |
| 599 | + if (data.errorCode == 0) { | |
| 600 | + alert(data.errorMessage); | |
| 601 | + location.href = location.href; | |
| 602 | + } else { | |
| 603 | + alert(data.errorMessage); | |
| 604 | + } | |
| 605 | + }) | |
| 606 | + } else if (action_note_type = 'reject') { | |
| 607 | + | |
| 608 | + } | |
| 609 | + } | |
| 610 | + | |
| 611 | + | |
| 612 | + /*时间插件*/ | |
| 613 | + $('.date').datetimepicker({ | |
| 614 | + format : 'YYYY-MM-DD HH:mm', | |
| 615 | + locale : "zh-CN", | |
| 616 | + toolbarPlacement : 'bottom', | |
| 617 | + showClear : true, | |
| 618 | + }); | |
| 619 | + | |
| 620 | + | |
| 621 | + $('#a_down').hide(); | |
| 622 | + | |
| 623 | + /*查询样式*/ | |
| 624 | + function openOrClose(id_name_str) { | |
| 625 | + var id_name = '#' + id_name_str; | |
| 626 | + if ($(id_name).css('display') == 'block') { | |
| 627 | + $(id_name).slideUp(350); | |
| 628 | + $('#a_up').show(); | |
| 629 | + $('#a_down').hide(); | |
| 630 | + } else { | |
| 631 | + $(id_name).slideDown(350); | |
| 632 | + $('#a_up').hide(); | |
| 633 | + $('#a_down').show(); | |
| 634 | + } | |
| 635 | + } | |
| 636 | + | |
| 637 | + | |
| 638 | + $(function () { | |
| 639 | + //按钮颜色设置 | |
| 640 | + var shenhe_state = [[${param.shenhe_state}]] ? [[${param.shenhe_state}]][0] : null; | |
| 641 | + var stateIsNull = $.trim(shenhe_state) == ""; | |
| 642 | + if (stateIsNull ) { | |
| 643 | + $("#quanbu").addClass("btn-info"); | |
| 644 | + } else if (shenhe_state == '0' ) { | |
| 645 | + $("#daishen").addClass("btn-warning"); | |
| 646 | + } else if (shenhe_state == '1' ) { | |
| 647 | + $("#Mydaishen").addClass("btn-success"); | |
| 648 | + } else if ( shenhe_state == '2') { | |
| 649 | + $("#yishen").addClass("btn-danger"); | |
| 650 | + } | |
| 651 | + | |
| 652 | + }) | |
| 653 | + | |
| 654 | + //翻页函数 | |
| 655 | + function fanye(page) { | |
| 656 | + var param = location.search; | |
| 657 | + if (param.indexOf("page=") != -1) { | |
| 658 | + if (page < 10) { | |
| 659 | + param = param.substring(1, param.length - 7); | |
| 660 | + } else if (page < 100) { | |
| 661 | + param = param.substring(1, param.length - 8); | |
| 662 | + } else if (page < 1000) { | |
| 663 | + param = param.substring(1, param.length - 9); | |
| 664 | + } else if (page < 10000) { | |
| 665 | + param = param.substring(1, param.length - 10); | |
| 666 | + } | |
| 667 | + window.location.href = "/live/page?" + param + "&page=" + page; | |
| 668 | + } else { | |
| 669 | + param = param.substring(1, param.length); | |
| 670 | + window.location.href = "/live/page?" + param + "&page=" + page; | |
| 671 | + } | |
| 672 | + } | |
| 673 | + | |
| 674 | + | |
| 675 | + | |
| 676 | + | |
| 677 | + | |
| 678 | + //弹窗播放操作 ---预览,审核,查看,退领 | |
| 679 | + function preview(url) { | |
| 680 | + $('#cnlive').attr('flashVars', | |
| 681 | + "hasBorder=false&appid=82_irej0pbo53&type=live&model=2&videoURL=" | |
| 682 | + + url); | |
| 683 | + $('#preview').modal('show'); | |
| 684 | + $('.close').click(function() { | |
| 685 | + $('.preview').attr('display', 'none'); | |
| 686 | + }) | |
| 687 | + } | |
| 688 | + | |
| 689 | + </script> | |
| 690 | + <script> | |
| 691 | + $(function() { | |
| 692 | + $("[data-toggle='tooltip']").tooltip(); | |
| 693 | + }); | |
| 694 | + </script> | |
| 695 | + | |
| 696 | + | |
| 697 | + | |
| 698 | + <footer th:replace="../templates/common/foot::foot"></footer> | |
| 699 | + | |
| 700 | + | |
| 701 | + <!-- Control Sidebar --> | |
| 702 | + <aside class="control-sidebar control-sidebar-dark"> | |
| 703 | + <!-- Create the tabs --> | |
| 704 | + <ul class="nav nav-tabs nav-justified control-sidebar-tabs"> | |
| 705 | + <li><a href="#control-sidebar-home-tab" data-toggle="tab"><i | |
| 706 | + class="fa fa-home"></i></a></li> | |
| 707 | + <li><a href="#control-sidebar-settings-tab" data-toggle="tab"><i | |
| 708 | + class="fa fa-gears"></i></a></li> | |
| 709 | + </ul> | |
| 710 | + <!-- Tab panes --> | |
| 711 | + <div class="tab-content"> | |
| 712 | + <!-- Home tab content --> | |
| 713 | + <div class="tab-pane" id="control-sidebar-home-tab"></div> | |
| 714 | + <!-- /.tab-pane --> | |
| 715 | + </div> | |
| 716 | + </aside> | |
| 717 | + <!-- /.control-sidebar --> | |
| 718 | + <!-- Add the sidebar's background. This div must be placed | |
| 719 | + immediately after the control sidebar --> | |
| 720 | + <div class="control-sidebar-bg"></div> | |
| 721 | + | |
| 722 | + </div> | |
| 723 | + <!-- ./wrapper --> | |
| 724 | +</body> | |
| 725 | + | |
| 726 | + | |
| 727 | +<!-- Resolve conflict in jQuery UI tooltip with Bootstrap tooltip --> | |
| 728 | +<script type="text/javascript"> | |
| 729 | + $('div.alert').not('.alert-danger').delay(3000).slideUp(300); | |
| 730 | +</script> | |
| 731 | + | |
| 732 | +<!-- AdminLTE App --> | |
| 733 | +<script src="./../../static/js/app.min.js"></script> | |
| 734 | +<!-- AdminLTE for demo purposes --> | |
| 735 | +<script src="./../../static/js/sidebar.js"></script> | |
| 736 | + | |
| 737 | +</html> | ... | ... |
src/main/resources/templates/page/liveDetail.html
0 → 100644
| 1 | +<!DOCTYPE html> | |
| 2 | +<html lang="zh" xmlns:th="http://www.thymeleaf.org"> | |
| 3 | +<head th:replace="../templates/common/head::head"></head> | |
| 4 | + | |
| 5 | +<body class="skin-blue sidebar-mini"> | |
| 6 | + | |
| 7 | +<div class="wrapper"> | |
| 8 | + | |
| 9 | + <div th:replace="../templates/common/frame::frame"></div> | |
| 10 | + | |
| 11 | + <div class="content-wrapper" style="min-height: 788px;"> | |
| 12 | + <section class="content-header"> | |
| 13 | + <h1> | |
| 14 | + 直播详情 | |
| 15 | + </h1> | |
| 16 | + <ol class="breadcrumb"> | |
| 17 | + <li> 首页</li> | |
| 18 | + <li class="active">直播审核</li> | |
| 19 | + </ol> | |
| 20 | + </section> | |
| 21 | + | |
| 22 | + <section class="content"> | |
| 23 | + <div class="row"> | |
| 24 | + <div class="col-xs-12"> | |
| 25 | + <div class="box box-info"> | |
| 26 | + <div class="box-body form-horizontal"> | |
| 27 | + <div id="tabContents" class="tab-content"> | |
| 28 | + | |
| 29 | + <div id="tabHome" class="tab-pane fade in active padding-t-15 "> | |
| 30 | + <!-- 左侧列表展示 --> | |
| 31 | + <div class="col-sm-6"> | |
| 32 | + <div class="form-group"> | |
| 33 | + <label for="live_title" class="control-label col-sm-2">直播id:</label> | |
| 34 | + <div class="col-sm-10"> | |
| 35 | + <h5 style=" font-weight: bold;" th:text="${live.id}"></h5> | |
| 36 | + </div> | |
| 37 | + </div> | |
| 38 | + <div class="form-group"> | |
| 39 | + <label for="live_title" class="control-label col-sm-2">直播标题:</label> | |
| 40 | + <div class="col-sm-10"> | |
| 41 | + <h5 style="font-size:1.5em; font-weight: bold;" | |
| 42 | + th:text="${live.activity_name}"></h5> | |
| 43 | + </div> | |
| 44 | + </div> | |
| 45 | + <div class="form-group "> | |
| 46 | + <label for="username" class="control-label col-sm-2">直播状态:</label> | |
| 47 | + <div class="col-sm-10 "> | |
| 48 | + <h5 class="status" th:if="${live.activity_status==0}">直播撤销</h5> | |
| 49 | + <h5 class="status" th:if="${live.activity_status==1}">正在直播</h5> | |
| 50 | + <h5 class="status" th:if="${live.activity_status==2}">直播完成</h5> | |
| 51 | + <h5 class="status" th:if="${live.activity_status==3}">等待直播</h5> | |
| 52 | + <h5 class="status" th:if="${live.activity_status==4}">直播下线</h5> | |
| 53 | + </div> | |
| 54 | + </div> | |
| 55 | + <div class="form-group" > | |
| 56 | + <label for="claimed_at" class="control-label col-sm-2">直播开始时间:</label> | |
| 57 | + <div class="col-sm-10"> | |
| 58 | + <h5 th:text="${#dates.format(live.activity_start_time, 'yyyy-MM-dd HH:mm:ss')}"> | |
| 59 | + 2018-11-29 10:04:35</h5> | |
| 60 | + </div> | |
| 61 | + </div> | |
| 62 | + <div class="form-group" > | |
| 63 | + <label for="claimed_at" class="control-label col-sm-2">直播结束时间:</label> | |
| 64 | + <div class="col-sm-10"> | |
| 65 | + <h5 th:text="${#dates.format(live.activity_end_time, 'yyyy-MM-dd HH:mm:ss')}"> | |
| 66 | + 2018-11-29 10:04:35</h5> | |
| 67 | + </div> | |
| 68 | + </div> | |
| 69 | + <div class="form-group"> | |
| 70 | + <label for="live_title" class="control-label col-sm-2">直播简介</label> | |
| 71 | + <div class="col-sm-8"> | |
| 72 | + <h5 style="font-size:1.5em; " | |
| 73 | + th:text="${live.activity_intro}"></h5> | |
| 74 | + </div> | |
| 75 | + </div> | |
| 76 | + <div class="form-group" th:if="${live.activity_status== 4 or live.activity_status== 2}"> | |
| 77 | + <div class="col-sm-10"> | |
| 78 | + <div class="modal-body" id="videoBox" style="height:400px"> | |
| 79 | + <script type="text/javascript" | |
| 80 | + src="//resweb.cnliveimg.com/sites/common/cnlive_video.min.js"></script> | |
| 81 | + <script th:inline="javascript"> | |
| 82 | + var videoUrl = [[${live.playback_url}]]; | |
| 83 | + var cover = [[${live.cover_img_url}]]; | |
| 84 | + cnliveVideo.init({ | |
| 85 | + "eleId": "videoBox", | |
| 86 | + "width": 450,//指定放入指定ID元素内 | |
| 87 | + "height": 400, | |
| 88 | + "model": 3, | |
| 89 | + "autoplay": 1, | |
| 90 | + "currRate": 3, | |
| 91 | + "cover": cover, | |
| 92 | + "videoUrl_3": videoUrl | |
| 93 | + }); | |
| 94 | + </script> | |
| 95 | + | |
| 96 | + </div> | |
| 97 | + </div> | |
| 98 | + </div> | |
| 99 | + | |
| 100 | + <div class="form-group" th:if="${live.activity_status!= 4 and live.activity_status!= 2}"> | |
| 101 | + <div class="col-sm-10"> | |
| 102 | + <div class="modal-body" style="height: 400px"> | |
| 103 | + <embed name="cnlive" width="450" height="100%" id="cnlive" | |
| 104 | + src="http://data.cnlive.com/export/UuidPlayerMain.swf" | |
| 105 | + th:flashVars="@{'hasBorder=false&appid=82_irej0pbo53&type=live&model=2&videoURL='+${live.rtmp_url}}" | |
| 106 | + type="application/x-shockwave-flash" wmode="window" | |
| 107 | + quility="high" allowscriptaccess="always" | |
| 108 | + allowfullscreen="true"> | |
| 109 | + </div> | |
| 110 | + | |
| 111 | + </div> | |
| 112 | + </div> | |
| 113 | + | |
| 114 | + | |
| 115 | + </div> | |
| 116 | + | |
| 117 | + <!-- 右侧列表展示 --> | |
| 118 | + <div class="col-sm-6"> | |
| 119 | + <div class="form-group"> | |
| 120 | + <label for="program_id" class="control-label col-sm-2">直播活动id:</label> | |
| 121 | + <div class="col-sm-10"> | |
| 122 | + <h5 th:text="${live.activity_id}">604</h5> | |
| 123 | + </div> | |
| 124 | + </div> | |
| 125 | + <div class="form-group"> | |
| 126 | + <label for="live_user_id" class="control-label col-sm-2">sp_id:</label> | |
| 127 | + <div class="col-sm-10"> | |
| 128 | + <h5 th:text="${live.sp_id}">821403</h5> | |
| 129 | + </div> | |
| 130 | + </div> | |
| 131 | + | |
| 132 | + | |
| 133 | + <div class="form-group"> | |
| 134 | + <label for="activity_id" class="control-label col-sm-2">sp昵称:</label> | |
| 135 | + <div class="col-sm-10"> | |
| 136 | + <h5 th:text="${live.spid_desc}"> | |
| 137 | + 769:video:comets:604_902dce9848ac482eb433f15c2cb0c401#3025</h5> | |
| 138 | + </div> | |
| 139 | + </div> | |
| 140 | + | |
| 141 | + | |
| 142 | + <div class="form-group"> | |
| 143 | + <label for="live_user_avatar" | |
| 144 | + class="control-label col-sm-2">封面图:</label> | |
| 145 | + <div class="col-sm-10"> | |
| 146 | + <h5><img width="160px" th:src="@{${live.cover_img_url}}" | |
| 147 | + alt=""></h5> | |
| 148 | + | |
| 149 | + </div> | |
| 150 | + </div> | |
| 151 | + <div class="form-group"> | |
| 152 | + <label for="live_user_name" class="control-label col-sm-2">审核类型:</label> | |
| 153 | + <div class="col-sm-10"> | |
| 154 | + <h5 class="status" th:if="${live.shenhe_type==1}">免审</h5> | |
| 155 | + <h5 class="status" th:if="${live.shenhe_type==2}">机审</h5> | |
| 156 | + <h5 class="status" th:if="${live.shenhe_type==3}">人工审</h5> | |
| 157 | + </div> | |
| 158 | + </div> | |
| 159 | + | |
| 160 | + <div class="form-group"> | |
| 161 | + <label for="live_user_ip" | |
| 162 | + class="control-label col-sm-2">审核状态:</label> | |
| 163 | + <div class="col-sm-10"> | |
| 164 | + <h5 class="status" th:if="${live.shenhe_state==0}">未认领</h5> | |
| 165 | + <h5 class="status" th:if="${live.shenhe_state==1}">已认领</h5> | |
| 166 | + <h5 class="status" th:if="${live.shenhe_state==2}">已审核</h5> | |
| 167 | + </div> | |
| 168 | + </div> | |
| 169 | + | |
| 170 | + <div class="form-group" th:if="${live.shenhe_state!=0}"> | |
| 171 | + <label for="app_id" class="control-label col-sm-2">审核员:</label> | |
| 172 | + <div class="col-sm-10"> | |
| 173 | + <h5 th:text="${live.updater}">769_jetj7bq525</h5> | |
| 174 | + </div> | |
| 175 | + </div> | |
| 176 | + | |
| 177 | + <div class="form-group"> | |
| 178 | + <label for="msg" class="control-label col-sm-2">审核信息:</label> | |
| 179 | + <div class="col-sm-8"> | |
| 180 | + <textarea class="form-control" name="msg" cols="50" rows="8" | |
| 181 | + id="msg" th:text="${live.shenhe_msg}">审核信息</textarea> | |
| 182 | + </div> | |
| 183 | + </div> | |
| 184 | + | |
| 185 | + <div class="form-group" > | |
| 186 | + <label for="claimed_at" class="control-label col-sm-2">创建时间:</label> | |
| 187 | + <div class="col-sm-10"> | |
| 188 | + <h5 th:text="${#dates.format(live.created_at, 'yyyy-MM-dd HH:mm:ss')}"> | |
| 189 | + 2018-11-29 10:04:35</h5> | |
| 190 | + </div> | |
| 191 | + </div> | |
| 192 | + <div class="form-group" > | |
| 193 | + <label for="claimed_at" class="control-label col-sm-2">最后更新时间:</label> | |
| 194 | + <div class="col-sm-10"> | |
| 195 | + <h5 th:text="${#dates.format(live.updated_at, 'yyyy-MM-dd HH:mm:ss')}"> | |
| 196 | + 2018-11-29 10:04:35</h5> | |
| 197 | + </div> | |
| 198 | + </div> | |
| 199 | + </div> | |
| 200 | + | |
| 201 | + </div> | |
| 202 | + <hr> | |
| 203 | + </div> | |
| 204 | + | |
| 205 | + <div class="form-group"> | |
| 206 | + <input type="text" hidden="hidden" id="live_id" th:value="${live.id}"> | |
| 207 | + </div> | |
| 208 | + | |
| 209 | + | |
| 210 | + <div class="box-footer"> | |
| 211 | +<!-- <div class="col-sm-5"> --> | |
| 212 | +<!-- <button type="button" class="btn btn-danger pull-right" onclick="live(2);">拒 绝 --> | |
| 213 | +<!-- </button> --> | |
| 214 | +<!-- </div> --> | |
| 215 | + | |
| 216 | +<!-- <div class="col-sm-1" style="margin-right:26px;"> --> | |
| 217 | +<!-- <button type="button" class="btn btn-primary pull-right" onclick="live(1);">通 过 --> | |
| 218 | +<!-- </button> --> | |
| 219 | +<!-- </div> --> | |
| 220 | + | |
| 221 | + <div class="col-sm-6"> | |
| 222 | + <button type="button" class="btn btn-info pull-right" | |
| 223 | + onclick="self.location=document.referrer;">返回列表 | |
| 224 | + </button> | |
| 225 | + </div> | |
| 226 | + </div> | |
| 227 | + <script th:inline="javascript"> | |
| 228 | + var liveId = [[${live.id}]]; | |
| 229 | + | |
| 230 | + //审核操作,status=1为通过 | |
| 231 | + function live(status) { | |
| 232 | + if (status == 1) { | |
| 233 | + $.post("/live/pass?ids=" + liveId, function (data) { | |
| 234 | + if (data.errorCode == 0) { | |
| 235 | + //location.href = history.back(); | |
| 236 | + self.location = document.referrer; | |
| 237 | + } else { | |
| 238 | + alert(data.errorMessage); | |
| 239 | + } | |
| 240 | + }) | |
| 241 | + } else { | |
| 242 | + $.post("/live/refuse?ids=" + liveId, function (data) { | |
| 243 | + if (data.errorCode == 0) { | |
| 244 | + //location.href = history.back(); | |
| 245 | + self.location = document.referrer; | |
| 246 | + } else { | |
| 247 | + alert(data.errorMessage); | |
| 248 | + } | |
| 249 | + }) | |
| 250 | + } | |
| 251 | + } | |
| 252 | + | |
| 253 | + </script> | |
| 254 | + | |
| 255 | + </div> | |
| 256 | + </div> | |
| 257 | + </div> | |
| 258 | + </div> | |
| 259 | + | |
| 260 | + </section> | |
| 261 | + </div> | |
| 262 | + | |
| 263 | + | |
| 264 | + <footer th:replace="../templates/common/foot::foot"></footer> | |
| 265 | + | |
| 266 | + <div class="control-sidebar-bg" style="position: fixed; height: auto;"></div> | |
| 267 | + | |
| 268 | +</div><!-- ./wrapper --> | |
| 269 | + | |
| 270 | +<script type="text/javascript"> | |
| 271 | + $('div.alert').not('.alert-danger').delay(3000).slideUp(300); | |
| 272 | +</script> | |
| 273 | + | |
| 274 | +<script src="../../static/js/app.min.js"></script> | |
| 275 | +<script src="../../static/js/sidebar.js"></script> | |
| 276 | + | |
| 277 | + | |
| 278 | +</body> | |
| 279 | +</html> | |
| 0 | 280 | \ No newline at end of file | ... | ... |
src/main/resources/templates/page/liveDetail2.html
0 → 100644
| 1 | +<!DOCTYPE html> | |
| 2 | +<html lang="zh" xmlns:th="http://www.thymeleaf.org"> | |
| 3 | +<head th:replace="../templates/common/head::head"></head> | |
| 4 | +<body class="hold-transition skin-blue sidebar-mini"> | |
| 5 | + | |
| 6 | + <div class="wrapper"> | |
| 7 | + <div th:replace="../templates/common/frame::frame"></div> | |
| 8 | + | |
| 9 | +<div class="content-wrapper"> | |
| 10 | + <section class="content-header"> | |
| 11 | + <h1> 直播详情</h1> | |
| 12 | + <ol class="breadcrumb"> | |
| 13 | + <li><a href="/"><i class="fa fa-dashboard"></i> 首页</a></li> | |
| 14 | + <li class="active"><a href="/live">直播审核</a></li> | |
| 15 | + </ol> | |
| 16 | + </section> | |
| 17 | + | |
| 18 | + <section class="content"> | |
| 19 | + <div class="row"> | |
| 20 | + <div class="col-xs-12"> | |
| 21 | + <div class="box box-info"> | |
| 22 | + <div class="box-body form-horizontal"> | |
| 23 | + | |
| 24 | + <div class="form-group" style="margin-bottom: 6px;"> | |
| 25 | + <label for="activity_id" class="control-label col-sm-2">直播id:</label> | |
| 26 | + <div class="col-sm-2"> | |
| 27 | + <h5>223_b9c79a010ff84d07a34bfec67d3b3f1a</h5> | |
| 28 | + </div> | |
| 29 | + | |
| 30 | + <label for="channel_name" class="control-label col-sm-2">主播昵称:</label> | |
| 31 | + <div class="col-sm-2"> | |
| 32 | + <h5>非凡娱乐1-无logo</h5> | |
| 33 | + </div> | |
| 34 | + | |
| 35 | + <label for="partner_id" class="control-label col-sm-2">spId简称:</label> | |
| 36 | + <div class="col-sm-2"> | |
| 37 | + <h5>非凡娱乐</h5> | |
| 38 | + </div> | |
| 39 | + | |
| 40 | + <label for="mark" class="control-label col-sm-2">是否白名单:</label> | |
| 41 | + <div class="col-sm-2"> | |
| 42 | + <h5>否</h5> | |
| 43 | + </div> | |
| 44 | + | |
| 45 | + <label for="frame_start_time" class="control-label col-sm-2">直播开始时间:</label> | |
| 46 | + <div class="col-sm-2"> | |
| 47 | + <h5 id="frame_start_time">2019-07-09 12:31:29</h5> | |
| 48 | + </div> | |
| 49 | + | |
| 50 | + <label for="frame_end_time" class="control-label col-sm-2">直播结束时间:</label> | |
| 51 | + <div class="col-sm-2"> | |
| 52 | + <h5 id="frame_end_time">2019-07-09 13:23:18</h5> | |
| 53 | + </div> | |
| 54 | +</div> | |
| 55 | +<hr> | |
| 56 | + | |
| 57 | +<div id="tabContents" class="tab-content"> | |
| 58 | + | |
| 59 | + <div id="tabHome" class="tab-pane fade in active padding-t-15 "> | |
| 60 | + <div class="col-sm-5"> | |
| 61 | + <div class="form-group" style="margin-bottom: 6px;"> | |
| 62 | + <label for="activity_status" class="control-label col-sm-3">直播状态:</label> | |
| 63 | + <div class="col-sm-9 "> | |
| 64 | + <h5>已结束--直播时长:0天 0小时51分49秒 </h5> | |
| 65 | + </div> | |
| 66 | + </div> | |
| 67 | + <hr> | |
| 68 | + <div class="form-group"> | |
| 69 | + <label for="cover_img_url1" class="control-label col-sm-3">封面图:</label> | |
| 70 | + <div class="col-sm-9 popover-options"> | |
| 71 | + <a href="Javascript:void(0);" title="" | |
| 72 | + data-container="body" data-toggle="popover" | |
| 73 | + data-content='<img src="http://yweb0.cnliveimg.com/bc/223/2019/0709/1562636742524_6367.jpg" width="400px" alt="封面图">'> | |
| 74 | + <img src='http://yweb0.cnliveimg.com/bc/223/2019/0709/1562636742524_6367.jpg' width="160px" alt="封面图"> | |
| 75 | + </a> | |
| 76 | + | |
| 77 | + </div> | |
| 78 | + </div> | |
| 79 | + <div class="form-group" style="margin-bottom: 6px;"> | |
| 80 | + <label for="activity_name" class="control-label col-sm-3">直播标题:</label> | |
| 81 | + <div class="col-sm-9"> | |
| 82 | + <h5 style="font-size:1.5em; font-weight: bold;">黄龄新专辑分享会 无logo</h5> | |
| 83 | + </div> | |
| 84 | + </div> | |
| 85 | + <div class="form-group intro" style="margin-bottom: 6px;"> | |
| 86 | + <label for="activity_intro" class="control-label col-sm-3">直播简介:</label> | |
| 87 | + <div class="col-sm-9"> | |
| 88 | + <h5 style="font-size:1.0em; font-weight: bold;"> </h5> | |
| 89 | + </div> | |
| 90 | + </div> | |
| 91 | + <hr> | |
| 92 | + <div class="form-group"> | |
| 93 | + <div class="col-sm-12"> | |
| 94 | + <div class="modal-body" style="height:480px"> | |
| 95 | + <embed name="cnlive" width="100%" height="100%" id="cnlive" | |
| 96 | + src="http://data.cnlive.com/export/UuidPlayerMain.swf" | |
| 97 | + flashVars="hasBorder=false&appid=82_irej0pbo53&type=live&model=2&videoURL=rtmp://ffyl.rtmps2.cnlive.com/live-ffyl-223/223_ffyl1-nologo" | |
| 98 | + type="application/x-shockwave-flash" wmode="window" quility="high" | |
| 99 | + allowscriptaccess="always" allowfullscreen="true"> | |
| 100 | + </div> | |
| 101 | + | |
| 102 | + </div> | |
| 103 | + </div> | |
| 104 | + <br> | |
| 105 | + <hr> | |
| 106 | + <div class="form-group "> | |
| 107 | + <label for="state" class="control-label col-sm-3">审核状态:</label> | |
| 108 | + <div class="col-sm-9 "> | |
| 109 | + <h5 id="state">已审 通过</h5> | |
| 110 | + </div> | |
| 111 | + </div> | |
| 112 | + | |
| 113 | + <div class="form-group "> | |
| 114 | + <label for="state" class="control-label col-sm-3">审核日志:</label> | |
| 115 | + <div class="col-sm-9 "> | |
| 116 | + <h5 id="state">1:系统审核;2019-07-09 13:25:01;点播审核可信,系统自动审核 | |
| 117 | +<br/> | |
| 118 | +2:系统审核;2019-07-09 13:23:18;通过:直播未认领正常结束 | |
| 119 | +<br/></h5> | |
| 120 | + </div> | |
| 121 | + </div> | |
| 122 | + | |
| 123 | + <div class="form-group "> | |
| 124 | + <label for="auditor" class="control-label col-sm-3">审核员:</label> | |
| 125 | + <div class="col-sm-9 "> | |
| 126 | + <h5 id="auditor">系统审核 </h5> | |
| 127 | + </div> | |
| 128 | + </div> | |
| 129 | + | |
| 130 | + <div class="form-group"> | |
| 131 | + <label class='control-label col-sm-3' for="attr_tags">常用审核意见:</label> | |
| 132 | + <div class="col-sm-9"> | |
| 133 | + <select class="form-control select2" multiple="multiple" | |
| 134 | + data-placeholder="选择常用审核意见,可多选" name="attr_tags[]" id="attr_tags" | |
| 135 | + style="width: 100%;"> | |
| 136 | + </select> | |
| 137 | + </div> | |
| 138 | + </div><!-- /.form-group --> | |
| 139 | + | |
| 140 | + <div class="form-group"> | |
| 141 | + <label for="msg" class="control-label col-sm-3">审核备注</label> | |
| 142 | + <div class="col-sm-9"> | |
| 143 | + <textarea name="msg" id="msg" cols="5" rows="5" | |
| 144 | + class="form-control"></textarea> | |
| 145 | + </div> | |
| 146 | + </div> | |
| 147 | + </div> | |
| 148 | + <!--可无视--> | |
| 149 | +<style> | |
| 150 | + .small_pic { | |
| 151 | + display: inline-block; | |
| 152 | + width: 25%; | |
| 153 | + height: 25%; | |
| 154 | + /*height: 120px;*/ | |
| 155 | + text-align: center; | |
| 156 | + zoom: 1; | |
| 157 | + margin: 10px 0; | |
| 158 | + } | |
| 159 | + | |
| 160 | + .small_pic a { | |
| 161 | + width: 120%; | |
| 162 | + display: -webkit-flex; | |
| 163 | + display: flex; | |
| 164 | + align-items: center; | |
| 165 | + justify-content: center; | |
| 166 | + border: 1px solid #ccc; | |
| 167 | + background: #fff; | |
| 168 | + margin: 0 auto; | |
| 169 | + } | |
| 170 | + | |
| 171 | + .small_pic img { | |
| 172 | + max-width: 100%; | |
| 173 | + /*height: 100px;*/ | |
| 174 | + /*height: 80%;*/ | |
| 175 | + } | |
| 176 | + | |
| 177 | +</style> | |
| 178 | +<style type="text/css"> | |
| 179 | + /*自适应圆角投影*/ | |
| 180 | + .round_shade_box { | |
| 181 | + width: 1px; | |
| 182 | + height: 1px; | |
| 183 | + font-size: 0; | |
| 184 | + display: none; | |
| 185 | + _background: white; | |
| 186 | + _border: 1px solid #cccccc; | |
| 187 | + } | |
| 188 | + | |
| 189 | + .round_shade_top { | |
| 190 | + margin: 0 12px 0 10px; | |
| 191 | + background: url(image/zxx_round_shade.png) repeat-x -20px -40px; | |
| 192 | + _background: white; | |
| 193 | + zoom: 1; | |
| 194 | + } | |
| 195 | + | |
| 196 | + .round_shade_topleft { | |
| 197 | + width: 11px; | |
| 198 | + height: 10px; | |
| 199 | + background: url(image/zxx_round_shade.png) no-repeat 0 0; | |
| 200 | + _background: none; | |
| 201 | + float: left; | |
| 202 | + margin-left: -11px; | |
| 203 | + position: relative; | |
| 204 | + } | |
| 205 | + | |
| 206 | + .round_shade_topright { | |
| 207 | + width: 12px; | |
| 208 | + height: 10px; | |
| 209 | + background: url(image/zxx_round_shade.png) no-repeat -29px 0; | |
| 210 | + _background: none; | |
| 211 | + float: right; | |
| 212 | + margin-right: -12px; | |
| 213 | + position: relative; | |
| 214 | + } | |
| 215 | + | |
| 216 | + .round_shade_centerleft { | |
| 217 | + background: url(image/zxx_round_shade.png) no-repeat 0 -1580px; | |
| 218 | + _background: none; | |
| 219 | + } | |
| 220 | + | |
| 221 | + .round_shade_centerright { | |
| 222 | + background: url(image/zxx_round_shade.png) no-repeat right -80px; | |
| 223 | + _background: none; | |
| 224 | + } | |
| 225 | + | |
| 226 | + .round_shade_center { | |
| 227 | + display: -webkit-flex; | |
| 228 | + display: flex; | |
| 229 | + align-items: center; | |
| 230 | + justify-content: center; | |
| 231 | + border: 1px solid #ccc; | |
| 232 | + background: #fff; | |
| 233 | + margin: 0 auto; | |
| 234 | + /*margin-top: 443px;*/ | |
| 235 | + max-height: 1200px; | |
| 236 | + } | |
| 237 | + | |
| 238 | + .round_shade_bottom { | |
| 239 | + margin: 0 12px 0 11px; | |
| 240 | + background: url(image/zxx_round_shade.png) repeat-x -20px bottom; | |
| 241 | + _background: white; | |
| 242 | + zoom: 1; | |
| 243 | + } | |
| 244 | + | |
| 245 | + .round_shade_bottomleft { | |
| 246 | + width: 11px; | |
| 247 | + height: 10px; | |
| 248 | + background: url(image/zxx_round_shade.png) no-repeat 0 -30px; | |
| 249 | + _background: none; | |
| 250 | + float: left; | |
| 251 | + margin-left: -11px; | |
| 252 | + position: relative; | |
| 253 | + } | |
| 254 | + | |
| 255 | + .round_shade_bottomright { | |
| 256 | + width: 12px; | |
| 257 | + height: 10px; | |
| 258 | + background: url(image/zxx_round_shade.png) no-repeat -29px -30px; | |
| 259 | + _background: none; | |
| 260 | + float: right; | |
| 261 | + margin-right: -12px; | |
| 262 | + position: relative; | |
| 263 | + } | |
| 264 | + | |
| 265 | + .round_shade_top:after, .round_shade_bottom:after, .zxx_zoom_box:after { | |
| 266 | + display: block; | |
| 267 | + content: "."; | |
| 268 | + height: 0; | |
| 269 | + clear: both; | |
| 270 | + overflow: hidden; | |
| 271 | + visibility: hidden; | |
| 272 | + } | |
| 273 | + | |
| 274 | + .round_box_close { | |
| 275 | + padding: 6px 6px; | |
| 276 | + font-size: 10px; | |
| 277 | + color: #ffffff; | |
| 278 | + text-decoration: none; | |
| 279 | + border: 1px solid #cccccc; | |
| 280 | + -moz-border-radius: 4px; | |
| 281 | + -webkit-border-radius: 4px; | |
| 282 | + background: #000000; | |
| 283 | + opacity: 0.8; | |
| 284 | + filter: alpha(opacity=80); | |
| 285 | + position: absolute; | |
| 286 | + right: 0px; | |
| 287 | + top: 50px; | |
| 288 | + } | |
| 289 | + | |
| 290 | + .round_box_close:hover { | |
| 291 | + opacity: 0.95; | |
| 292 | + filter: alpha(opacity=95); | |
| 293 | + } | |
| 294 | + | |
| 295 | + /*自适应圆角投影结束*/ | |
| 296 | + .zxx_zoom_left { | |
| 297 | + width: 45%; | |
| 298 | + float: left; | |
| 299 | + margin-top: 20px; | |
| 300 | + border-right: 1px solid #dddddd; | |
| 301 | + } | |
| 302 | + | |
| 303 | + .zxx_zoom_left h4 { | |
| 304 | + margin: 5px 0px 15px 5px; | |
| 305 | + font-size: 1.1em; | |
| 306 | + } | |
| 307 | + | |
| 308 | + /*.small_pic {*/ | |
| 309 | + /*display: inline-block;*/ | |
| 310 | + /*width: 10%;*/ | |
| 311 | + /*height: 150px;*/ | |
| 312 | + /*font-size: 1px;*/ | |
| 313 | + /*text-align: center;*/ | |
| 314 | + /**display: inline;*/ | |
| 315 | + /*zoom: 1;*/ | |
| 316 | + /*vertical-align: middle;*/ | |
| 317 | + /*}*/ | |
| 318 | + | |
| 319 | + /*.small_pic img {*/ | |
| 320 | + /*padding: 3px;*/ | |
| 321 | + /*background: #ffffff;*/ | |
| 322 | + /*border: 1px solid #cccccc;*/ | |
| 323 | + /*vertical-align: middle;*/ | |
| 324 | + /*}*/ | |
| 325 | + | |
| 326 | + .zxx_zoom_right { | |
| 327 | + width: 50%; | |
| 328 | + float: left; | |
| 329 | + margin-top: 20px; | |
| 330 | + padding-left: 2%; | |
| 331 | + } | |
| 332 | + | |
| 333 | + .zxx_zoom_right h4 { | |
| 334 | + margin: 5px 0px; | |
| 335 | + font-size: 1.1em; | |
| 336 | + } | |
| 337 | + | |
| 338 | + .zxx_zoom_right p.zxx_zoom_word { | |
| 339 | + line-height: 1.5; | |
| 340 | + font-size: 1.05em; | |
| 341 | + letter-spacing: 1px; | |
| 342 | + margin: 0 0 35px; | |
| 343 | + padding-top: 5px; | |
| 344 | + } | |
| 345 | +</style> | |
| 346 | + | |
| 347 | +<!--js放大的效果--> | |
| 348 | +<script type="text/javascript" src="http://shenhe.cnlive.com/enlarge/js/content_zoom.js"></script> | |
| 349 | + | |
| 350 | +<!--点击放大的div--> | |
| 351 | + <div class="pic_big" id="pic_287" style="display:none;"><img | |
| 352 | + src="http://120.92.200.154/screenshot?id=shenhe-223_b9c79a010ff84d07a34bfec67d3b3f1a&t=000287"/> | |
| 353 | + </div> | |
| 354 | + <div class="pic_big" id="pic_288" style="display:none;"><img | |
| 355 | + src="http://120.92.200.154/screenshot?id=shenhe-223_b9c79a010ff84d07a34bfec67d3b3f1a&t=000288"/> | |
| 356 | + </div> | |
| 357 | + <div class="pic_big" id="pic_289" style="display:none;"><img | |
| 358 | + src="http://120.92.200.154/screenshot?id=shenhe-223_b9c79a010ff84d07a34bfec67d3b3f1a&t=000289"/> | |
| 359 | + </div> | |
| 360 | + <div class="pic_big" id="pic_290" style="display:none;"><img | |
| 361 | + src="http://120.92.200.154/screenshot?id=shenhe-223_b9c79a010ff84d07a34bfec67d3b3f1a&t=000290"/> | |
| 362 | + </div> | |
| 363 | + <div class="pic_big" id="pic_291" style="display:none;"><img | |
| 364 | + src="http://120.92.200.154/screenshot?id=shenhe-223_b9c79a010ff84d07a34bfec67d3b3f1a&t=000291"/> | |
| 365 | + </div> | |
| 366 | + <div class="pic_big" id="pic_292" style="display:none;"><img | |
| 367 | + src="http://120.92.200.154/screenshot?id=shenhe-223_b9c79a010ff84d07a34bfec67d3b3f1a&t=000292"/> | |
| 368 | + </div> | |
| 369 | + <div class="pic_big" id="pic_293" style="display:none;"><img | |
| 370 | + src="http://120.92.200.154/screenshot?id=shenhe-223_b9c79a010ff84d07a34bfec67d3b3f1a&t=000293"/> | |
| 371 | + </div> | |
| 372 | + <div class="pic_big" id="pic_294" style="display:none;"><img | |
| 373 | + src="http://120.92.200.154/screenshot?id=shenhe-223_b9c79a010ff84d07a34bfec67d3b3f1a&t=000294"/> | |
| 374 | + </div> | |
| 375 | + <div class="pic_big" id="pic_295" style="display:none;"><img | |
| 376 | + src="http://120.92.200.154/screenshot?id=shenhe-223_b9c79a010ff84d07a34bfec67d3b3f1a&t=000295"/> | |
| 377 | + </div> | |
| 378 | + <div class="pic_big" id="pic_296" style="display:none;"><img | |
| 379 | + src="http://120.92.200.154/screenshot?id=shenhe-223_b9c79a010ff84d07a34bfec67d3b3f1a&t=000296"/> | |
| 380 | + </div> | |
| 381 | + <div class="pic_big" id="pic_297" style="display:none;"><img | |
| 382 | + src="http://120.92.200.154/screenshot?id=shenhe-223_b9c79a010ff84d07a34bfec67d3b3f1a&t=000297"/> | |
| 383 | + </div> | |
| 384 | + <div class="pic_big" id="pic_298" style="display:none;"><img | |
| 385 | + src="http://120.92.200.154/screenshot?id=shenhe-223_b9c79a010ff84d07a34bfec67d3b3f1a&t=000298"/> | |
| 386 | + </div> | |
| 387 | + <div class="pic_big" id="pic_299" style="display:none;"><img | |
| 388 | + src="http://120.92.200.154/screenshot?id=shenhe-223_b9c79a010ff84d07a34bfec67d3b3f1a&t=000299"/> | |
| 389 | + </div> | |
| 390 | + <div class="pic_big" id="pic_300" style="display:none;"><img | |
| 391 | + src="http://120.92.200.154/screenshot?id=shenhe-223_b9c79a010ff84d07a34bfec67d3b3f1a&t=000300"/> | |
| 392 | + </div> | |
| 393 | + <div class="pic_big" id="pic_301" style="display:none;"><img | |
| 394 | + src="http://120.92.200.154/screenshot?id=shenhe-223_b9c79a010ff84d07a34bfec67d3b3f1a&t=000301"/> | |
| 395 | + </div> | |
| 396 | + <div class="pic_big" id="pic_302" style="display:none;"><img | |
| 397 | + src="http://120.92.200.154/screenshot?id=shenhe-223_b9c79a010ff84d07a34bfec67d3b3f1a&t=000302"/> | |
| 398 | + </div> | |
| 399 | + <div class="pic_big" id="pic_303" style="display:none;"><img | |
| 400 | + src="http://120.92.200.154/screenshot?id=shenhe-223_b9c79a010ff84d07a34bfec67d3b3f1a&t=000303"/> | |
| 401 | + </div> | |
| 402 | + <div class="pic_big" id="pic_304" style="display:none;"><img | |
| 403 | + src="http://120.92.200.154/screenshot?id=shenhe-223_b9c79a010ff84d07a34bfec67d3b3f1a&t=000304"/> | |
| 404 | + </div> | |
| 405 | + <div class="pic_big" id="pic_305" style="display:none;"><img | |
| 406 | + src="http://120.92.200.154/screenshot?id=shenhe-223_b9c79a010ff84d07a34bfec67d3b3f1a&t=000305"/> | |
| 407 | + </div> | |
| 408 | + <div class="pic_big" id="pic_306" style="display:none;"><img | |
| 409 | + src="http://120.92.200.154/screenshot?id=shenhe-223_b9c79a010ff84d07a34bfec67d3b3f1a&t=000306"/> | |
| 410 | + </div> | |
| 411 | + <div class="pic_big" id="pic_307" style="display:none;"><img | |
| 412 | + src="http://120.92.200.154/screenshot?id=shenhe-223_b9c79a010ff84d07a34bfec67d3b3f1a&t=000307"/> | |
| 413 | + </div> | |
| 414 | + <div class="pic_big" id="pic_308" style="display:none;"><img | |
| 415 | + src="http://120.92.200.154/screenshot?id=shenhe-223_b9c79a010ff84d07a34bfec67d3b3f1a&t=000308"/> | |
| 416 | + </div> | |
| 417 | + <div class="pic_big" id="pic_309" style="display:none;"><img | |
| 418 | + src="http://120.92.200.154/screenshot?id=shenhe-223_b9c79a010ff84d07a34bfec67d3b3f1a&t=000309"/> | |
| 419 | + </div> | |
| 420 | + <div class="pic_big" id="pic_310" style="display:none;"><img | |
| 421 | + src="http://120.92.200.154/screenshot?id=shenhe-223_b9c79a010ff84d07a34bfec67d3b3f1a&t=000310"/> | |
| 422 | + </div> | |
| 423 | + | |
| 424 | +<div class="form-group col-sm-7" id="flush" onload="load()"> | |
| 425 | + <div class="col-sm-12" id="flush"> | |
| 426 | + | |
| 427 | + <button type="button" class="btn btn-success btn-xs margin-r-5" | |
| 428 | + value="" style="font-size:1.5em;">刷新 | |
| 429 | + </button> | |
| 430 | + <span style="font-size:1.5em;">抽帧截图 (默认最新24张,友情提示:点击图片放大,再次点击恢复):</span> | |
| 431 | + <br/> <span style="color:red; font-size:1.5em;">(注:直播抽帧隔2h重置一下抽帧)</span> | |
| 432 | + </div> | |
| 433 | + | |
| 434 | +</div> | |
| 435 | +<!--抽帧做页面刷新操作 ---每30秒刷新一次 start--> | |
| 436 | + | |
| 437 | +<div class="form-group col-sm-7" onload="load()"> | |
| 438 | + | |
| 439 | + <div class="col-sm-12" id="add_pic"> | |
| 440 | + <!--点击放大的div--> | |
| 441 | + <div class="pic_big" id="pic_287" style="display:none;"><img | |
| 442 | + src="http://120.92.200.154/screenshot?id=shenhe-223_b9c79a010ff84d07a34bfec67d3b3f1a&t=000287"/> | |
| 443 | + </div> | |
| 444 | + <div class="pic_big" id="pic_288" style="display:none;"><img | |
| 445 | + src="http://120.92.200.154/screenshot?id=shenhe-223_b9c79a010ff84d07a34bfec67d3b3f1a&t=000288"/> | |
| 446 | + </div> | |
| 447 | + <div class="pic_big" id="pic_289" style="display:none;"><img | |
| 448 | + src="http://120.92.200.154/screenshot?id=shenhe-223_b9c79a010ff84d07a34bfec67d3b3f1a&t=000289"/> | |
| 449 | + </div> | |
| 450 | + <div class="pic_big" id="pic_290" style="display:none;"><img | |
| 451 | + src="http://120.92.200.154/screenshot?id=shenhe-223_b9c79a010ff84d07a34bfec67d3b3f1a&t=000290"/> | |
| 452 | + </div> | |
| 453 | + <div class="pic_big" id="pic_291" style="display:none;"><img | |
| 454 | + src="http://120.92.200.154/screenshot?id=shenhe-223_b9c79a010ff84d07a34bfec67d3b3f1a&t=000291"/> | |
| 455 | + </div> | |
| 456 | + <div class="pic_big" id="pic_292" style="display:none;"><img | |
| 457 | + src="http://120.92.200.154/screenshot?id=shenhe-223_b9c79a010ff84d07a34bfec67d3b3f1a&t=000292"/> | |
| 458 | + </div> | |
| 459 | + <div class="pic_big" id="pic_293" style="display:none;"><img | |
| 460 | + src="http://120.92.200.154/screenshot?id=shenhe-223_b9c79a010ff84d07a34bfec67d3b3f1a&t=000293"/> | |
| 461 | + </div> | |
| 462 | + <div class="pic_big" id="pic_294" style="display:none;"><img | |
| 463 | + src="http://120.92.200.154/screenshot?id=shenhe-223_b9c79a010ff84d07a34bfec67d3b3f1a&t=000294"/> | |
| 464 | + </div> | |
| 465 | + <div class="pic_big" id="pic_295" style="display:none;"><img | |
| 466 | + src="http://120.92.200.154/screenshot?id=shenhe-223_b9c79a010ff84d07a34bfec67d3b3f1a&t=000295"/> | |
| 467 | + </div> | |
| 468 | + <div class="pic_big" id="pic_296" style="display:none;"><img | |
| 469 | + src="http://120.92.200.154/screenshot?id=shenhe-223_b9c79a010ff84d07a34bfec67d3b3f1a&t=000296"/> | |
| 470 | + </div> | |
| 471 | + <div class="pic_big" id="pic_297" style="display:none;"><img | |
| 472 | + src="http://120.92.200.154/screenshot?id=shenhe-223_b9c79a010ff84d07a34bfec67d3b3f1a&t=000297"/> | |
| 473 | + </div> | |
| 474 | + <div class="pic_big" id="pic_298" style="display:none;"><img | |
| 475 | + src="http://120.92.200.154/screenshot?id=shenhe-223_b9c79a010ff84d07a34bfec67d3b3f1a&t=000298"/> | |
| 476 | + </div> | |
| 477 | + <div class="pic_big" id="pic_299" style="display:none;"><img | |
| 478 | + src="http://120.92.200.154/screenshot?id=shenhe-223_b9c79a010ff84d07a34bfec67d3b3f1a&t=000299"/> | |
| 479 | + </div> | |
| 480 | + <div class="pic_big" id="pic_300" style="display:none;"><img | |
| 481 | + src="http://120.92.200.154/screenshot?id=shenhe-223_b9c79a010ff84d07a34bfec67d3b3f1a&t=000300"/> | |
| 482 | + </div> | |
| 483 | + <div class="pic_big" id="pic_301" style="display:none;"><img | |
| 484 | + src="http://120.92.200.154/screenshot?id=shenhe-223_b9c79a010ff84d07a34bfec67d3b3f1a&t=000301"/> | |
| 485 | + </div> | |
| 486 | + <div class="pic_big" id="pic_302" style="display:none;"><img | |
| 487 | + src="http://120.92.200.154/screenshot?id=shenhe-223_b9c79a010ff84d07a34bfec67d3b3f1a&t=000302"/> | |
| 488 | + </div> | |
| 489 | + <div class="pic_big" id="pic_303" style="display:none;"><img | |
| 490 | + src="http://120.92.200.154/screenshot?id=shenhe-223_b9c79a010ff84d07a34bfec67d3b3f1a&t=000303"/> | |
| 491 | + </div> | |
| 492 | + <div class="pic_big" id="pic_304" style="display:none;"><img | |
| 493 | + src="http://120.92.200.154/screenshot?id=shenhe-223_b9c79a010ff84d07a34bfec67d3b3f1a&t=000304"/> | |
| 494 | + </div> | |
| 495 | + <div class="pic_big" id="pic_305" style="display:none;"><img | |
| 496 | + src="http://120.92.200.154/screenshot?id=shenhe-223_b9c79a010ff84d07a34bfec67d3b3f1a&t=000305"/> | |
| 497 | + </div> | |
| 498 | + <div class="pic_big" id="pic_306" style="display:none;"><img | |
| 499 | + src="http://120.92.200.154/screenshot?id=shenhe-223_b9c79a010ff84d07a34bfec67d3b3f1a&t=000306"/> | |
| 500 | + </div> | |
| 501 | + <div class="pic_big" id="pic_307" style="display:none;"><img | |
| 502 | + src="http://120.92.200.154/screenshot?id=shenhe-223_b9c79a010ff84d07a34bfec67d3b3f1a&t=000307"/> | |
| 503 | + </div> | |
| 504 | + <div class="pic_big" id="pic_308" style="display:none;"><img | |
| 505 | + src="http://120.92.200.154/screenshot?id=shenhe-223_b9c79a010ff84d07a34bfec67d3b3f1a&t=000308"/> | |
| 506 | + </div> | |
| 507 | + <div class="pic_big" id="pic_309" style="display:none;"><img | |
| 508 | + src="http://120.92.200.154/screenshot?id=shenhe-223_b9c79a010ff84d07a34bfec67d3b3f1a&t=000309"/> | |
| 509 | + </div> | |
| 510 | + <div class="pic_big" id="pic_310" style="display:none;"><img | |
| 511 | + src="http://120.92.200.154/screenshot?id=shenhe-223_b9c79a010ff84d07a34bfec67d3b3f1a&t=000310"/> | |
| 512 | + </div> | |
| 513 | + <div style="float:left;" class="small_pic"> | |
| 514 | + <div style="padding:5px;" class="col-sm-8"> | |
| 515 | + <a href="#pic_310"> | |
| 516 | + <img src='http://120.92.200.154/screenshot?id=shenhe-223_b9c79a010ff84d07a34bfec67d3b3f1a&t=000310_s' alt="抽帧图"> | |
| 517 | + </a> | |
| 518 | + <p>13:23:08</p> | |
| 519 | + </div> | |
| 520 | + </div> | |
| 521 | + <div style="float:left;" class="small_pic"> | |
| 522 | + <div style="padding:5px;" class="col-sm-8"> | |
| 523 | + <a href="#pic_309"> | |
| 524 | + <img src='http://120.92.200.154/screenshot?id=shenhe-223_b9c79a010ff84d07a34bfec67d3b3f1a&t=000309_s' alt="抽帧图"> | |
| 525 | + </a> | |
| 526 | + <p>13:22:58</p> | |
| 527 | + </div> | |
| 528 | + </div> | |
| 529 | + <div style="float:left;" class="small_pic"> | |
| 530 | + <div style="padding:5px;" class="col-sm-8"> | |
| 531 | + <a href="#pic_308"> | |
| 532 | + <img src='http://120.92.200.154/screenshot?id=shenhe-223_b9c79a010ff84d07a34bfec67d3b3f1a&t=000308_s' alt="抽帧图"> | |
| 533 | + </a> | |
| 534 | + <p>13:22:48</p> | |
| 535 | + </div> | |
| 536 | + </div> | |
| 537 | + <div style="float:left;" class="small_pic"> | |
| 538 | + <div style="padding:5px;" class="col-sm-8"> | |
| 539 | + <a href="#pic_307"> | |
| 540 | + <img src='http://120.92.200.154/screenshot?id=shenhe-223_b9c79a010ff84d07a34bfec67d3b3f1a&t=000307_s' alt="抽帧图"> | |
| 541 | + </a> | |
| 542 | + <p>13:22:38</p> | |
| 543 | + </div> | |
| 544 | + </div> | |
| 545 | + <div style="float:left;" class="small_pic"> | |
| 546 | + <div style="padding:5px;" class="col-sm-8"> | |
| 547 | + <a href="#pic_306"> | |
| 548 | + <img src='http://120.92.200.154/screenshot?id=shenhe-223_b9c79a010ff84d07a34bfec67d3b3f1a&t=000306_s' alt="抽帧图"> | |
| 549 | + </a> | |
| 550 | + <p>13:22:28</p> | |
| 551 | + </div> | |
| 552 | + </div> | |
| 553 | + <div style="float:left;" class="small_pic"> | |
| 554 | + <div style="padding:5px;" class="col-sm-8"> | |
| 555 | + <a href="#pic_305"> | |
| 556 | + <img src='http://120.92.200.154/screenshot?id=shenhe-223_b9c79a010ff84d07a34bfec67d3b3f1a&t=000305_s' alt="抽帧图"> | |
| 557 | + </a> | |
| 558 | + <p>13:22:18</p> | |
| 559 | + </div> | |
| 560 | + </div> | |
| 561 | + <div style="float:left;" class="small_pic"> | |
| 562 | + <div style="padding:5px;" class="col-sm-8"> | |
| 563 | + <a href="#pic_304"> | |
| 564 | + <img src='http://120.92.200.154/screenshot?id=shenhe-223_b9c79a010ff84d07a34bfec67d3b3f1a&t=000304_s' alt="抽帧图"> | |
| 565 | + </a> | |
| 566 | + <p>13:22:08</p> | |
| 567 | + </div> | |
| 568 | + </div> | |
| 569 | + <div style="float:left;" class="small_pic"> | |
| 570 | + <div style="padding:5px;" class="col-sm-8"> | |
| 571 | + <a href="#pic_303"> | |
| 572 | + <img src='http://120.92.200.154/screenshot?id=shenhe-223_b9c79a010ff84d07a34bfec67d3b3f1a&t=000303_s' alt="抽帧图"> | |
| 573 | + </a> | |
| 574 | + <p>13:21:58</p> | |
| 575 | + </div> | |
| 576 | + </div> | |
| 577 | + <div style="float:left;" class="small_pic"> | |
| 578 | + <div style="padding:5px;" class="col-sm-8"> | |
| 579 | + <a href="#pic_302"> | |
| 580 | + <img src='http://120.92.200.154/screenshot?id=shenhe-223_b9c79a010ff84d07a34bfec67d3b3f1a&t=000302_s' alt="抽帧图"> | |
| 581 | + </a> | |
| 582 | + <p>13:21:48</p> | |
| 583 | + </div> | |
| 584 | + </div> | |
| 585 | + <div style="float:left;" class="small_pic"> | |
| 586 | + <div style="padding:5px;" class="col-sm-8"> | |
| 587 | + <a href="#pic_301"> | |
| 588 | + <img src='http://120.92.200.154/screenshot?id=shenhe-223_b9c79a010ff84d07a34bfec67d3b3f1a&t=000301_s' alt="抽帧图"> | |
| 589 | + </a> | |
| 590 | + <p>13:21:38</p> | |
| 591 | + </div> | |
| 592 | + </div> | |
| 593 | + <div style="float:left;" class="small_pic"> | |
| 594 | + <div style="padding:5px;" class="col-sm-8"> | |
| 595 | + <a href="#pic_300"> | |
| 596 | + <img src='http://120.92.200.154/screenshot?id=shenhe-223_b9c79a010ff84d07a34bfec67d3b3f1a&t=000300_s' alt="抽帧图"> | |
| 597 | + </a> | |
| 598 | + <p>13:21:28</p> | |
| 599 | + </div> | |
| 600 | + </div> | |
| 601 | + <div style="float:left;" class="small_pic"> | |
| 602 | + <div style="padding:5px;" class="col-sm-8"> | |
| 603 | + <a href="#pic_299"> | |
| 604 | + <img src='http://120.92.200.154/screenshot?id=shenhe-223_b9c79a010ff84d07a34bfec67d3b3f1a&t=000299_s' alt="抽帧图"> | |
| 605 | + </a> | |
| 606 | + <p>13:21:18</p> | |
| 607 | + </div> | |
| 608 | + </div> | |
| 609 | + <div style="float:left;" class="small_pic"> | |
| 610 | + <div style="padding:5px;" class="col-sm-8"> | |
| 611 | + <a href="#pic_298"> | |
| 612 | + <img src='http://120.92.200.154/screenshot?id=shenhe-223_b9c79a010ff84d07a34bfec67d3b3f1a&t=000298_s' alt="抽帧图"> | |
| 613 | + </a> | |
| 614 | + <p>13:21:08</p> | |
| 615 | + </div> | |
| 616 | + </div> | |
| 617 | + <div style="float:left;" class="small_pic"> | |
| 618 | + <div style="padding:5px;" class="col-sm-8"> | |
| 619 | + <a href="#pic_297"> | |
| 620 | + <img src='http://120.92.200.154/screenshot?id=shenhe-223_b9c79a010ff84d07a34bfec67d3b3f1a&t=000297_s' alt="抽帧图"> | |
| 621 | + </a> | |
| 622 | + <p>13:20:58</p> | |
| 623 | + </div> | |
| 624 | + </div> | |
| 625 | + <div style="float:left;" class="small_pic"> | |
| 626 | + <div style="padding:5px;" class="col-sm-8"> | |
| 627 | + <a href="#pic_296"> | |
| 628 | + <img src='http://120.92.200.154/screenshot?id=shenhe-223_b9c79a010ff84d07a34bfec67d3b3f1a&t=000296_s' alt="抽帧图"> | |
| 629 | + </a> | |
| 630 | + <p>13:20:48</p> | |
| 631 | + </div> | |
| 632 | + </div> | |
| 633 | + <div style="float:left;" class="small_pic"> | |
| 634 | + <div style="padding:5px;" class="col-sm-8"> | |
| 635 | + <a href="#pic_295"> | |
| 636 | + <img src='http://120.92.200.154/screenshot?id=shenhe-223_b9c79a010ff84d07a34bfec67d3b3f1a&t=000295_s' alt="抽帧图"> | |
| 637 | + </a> | |
| 638 | + <p>13:20:38</p> | |
| 639 | + </div> | |
| 640 | + </div> | |
| 641 | + <div style="float:left;" class="small_pic"> | |
| 642 | + <div style="padding:5px;" class="col-sm-8"> | |
| 643 | + <a href="#pic_294"> | |
| 644 | + <img src='http://120.92.200.154/screenshot?id=shenhe-223_b9c79a010ff84d07a34bfec67d3b3f1a&t=000294_s' alt="抽帧图"> | |
| 645 | + </a> | |
| 646 | + <p>13:20:28</p> | |
| 647 | + </div> | |
| 648 | + </div> | |
| 649 | + <div style="float:left;" class="small_pic"> | |
| 650 | + <div style="padding:5px;" class="col-sm-8"> | |
| 651 | + <a href="#pic_293"> | |
| 652 | + <img src='http://120.92.200.154/screenshot?id=shenhe-223_b9c79a010ff84d07a34bfec67d3b3f1a&t=000293_s' alt="抽帧图"> | |
| 653 | + </a> | |
| 654 | + <p>13:20:18</p> | |
| 655 | + </div> | |
| 656 | + </div> | |
| 657 | + <div style="float:left;" class="small_pic"> | |
| 658 | + <div style="padding:5px;" class="col-sm-8"> | |
| 659 | + <a href="#pic_292"> | |
| 660 | + <img src='http://120.92.200.154/screenshot?id=shenhe-223_b9c79a010ff84d07a34bfec67d3b3f1a&t=000292_s' alt="抽帧图"> | |
| 661 | + </a> | |
| 662 | + <p>13:20:08</p> | |
| 663 | + </div> | |
| 664 | + </div> | |
| 665 | + <div style="float:left;" class="small_pic"> | |
| 666 | + <div style="padding:5px;" class="col-sm-8"> | |
| 667 | + <a href="#pic_291"> | |
| 668 | + <img src='http://120.92.200.154/screenshot?id=shenhe-223_b9c79a010ff84d07a34bfec67d3b3f1a&t=000291_s' alt="抽帧图"> | |
| 669 | + </a> | |
| 670 | + <p>13:19:58</p> | |
| 671 | + </div> | |
| 672 | + </div> | |
| 673 | + <div style="float:left;" class="small_pic"> | |
| 674 | + <div style="padding:5px;" class="col-sm-8"> | |
| 675 | + <a href="#pic_290"> | |
| 676 | + <img src='http://120.92.200.154/screenshot?id=shenhe-223_b9c79a010ff84d07a34bfec67d3b3f1a&t=000290_s' alt="抽帧图"> | |
| 677 | + </a> | |
| 678 | + <p>13:19:48</p> | |
| 679 | + </div> | |
| 680 | + </div> | |
| 681 | + <div style="float:left;" class="small_pic"> | |
| 682 | + <div style="padding:5px;" class="col-sm-8"> | |
| 683 | + <a href="#pic_289"> | |
| 684 | + <img src='http://120.92.200.154/screenshot?id=shenhe-223_b9c79a010ff84d07a34bfec67d3b3f1a&t=000289_s' alt="抽帧图"> | |
| 685 | + </a> | |
| 686 | + <p>13:19:38</p> | |
| 687 | + </div> | |
| 688 | + </div> | |
| 689 | + <div style="float:left;" class="small_pic"> | |
| 690 | + <div style="padding:5px;" class="col-sm-8"> | |
| 691 | + <a href="#pic_288"> | |
| 692 | + <img src='http://120.92.200.154/screenshot?id=shenhe-223_b9c79a010ff84d07a34bfec67d3b3f1a&t=000288_s' alt="抽帧图"> | |
| 693 | + </a> | |
| 694 | + <p>13:19:28</p> | |
| 695 | + </div> | |
| 696 | + </div> | |
| 697 | + <div style="float:left;" class="small_pic"> | |
| 698 | + <div style="padding:5px;" class="col-sm-8"> | |
| 699 | + <a href="#pic_287"> | |
| 700 | + <img src='http://120.92.200.154/screenshot?id=shenhe-223_b9c79a010ff84d07a34bfec67d3b3f1a&t=000287_s' alt="抽帧图"> | |
| 701 | + </a> | |
| 702 | + <p>13:19:18</p> | |
| 703 | + </div> | |
| 704 | + </div> | |
| 705 | + | |
| 706 | + <div class="col-sm-12"> | |
| 707 | + <span id="more" style="font-size:1.8em; float:left;"><a href="javascript:;">查看全部(共310 | |
| 708 | + 张)</a></span> | |
| 709 | + </div> | |
| 710 | + </div> | |
| 711 | + | |
| 712 | +</div> | |
| 713 | +<script> | |
| 714 | + $("#flush").click(function () { | |
| 715 | + var row_id = $("#live_id").val(); | |
| 716 | + if (typeof(row_id) == "undefined") { | |
| 717 | + return false; | |
| 718 | + } | |
| 719 | + var time = Date.parse(new Date()); | |
| 720 | + $.ajax({ | |
| 721 | + type: 'GET', | |
| 722 | + cache: false, | |
| 723 | + dataType: "html", | |
| 724 | + data: {'_token': 'OPAYyJTsfW7AcH6OGqWNVICiRup24V6nL2mFM9t6', 'time': time, 'row_id': row_id}, | |
| 725 | + url: '/live/flush_ajax', | |
| 726 | + success: function (msg) { | |
| 727 | + //eval将字符串转成对象数组 | |
| 728 | + $("#add_pic").html(msg); | |
| 729 | +// var message = eval(msg); | |
| 730 | +// if (message['errorCode'] == 0) { | |
| 731 | +// } | |
| 732 | + }, | |
| 733 | + error: function (msg) { | |
| 734 | + console.log("failed"); | |
| 735 | + } | |
| 736 | + }); | |
| 737 | + }); | |
| 738 | + | |
| 739 | + /*点击更多加载分页*/ | |
| 740 | +// $("#more").click(function () { | |
| 741 | +// var row_id = $("#live_id").val(); | |
| 742 | +// if (typeof(row_id) == "undefined") { | |
| 743 | +// return false; | |
| 744 | +// } | |
| 745 | +// var time = Date.parse(new Date()); | |
| 746 | +// // window.location.href = '/live/more?'+'row_id='+row_id + '&time='+ time; | |
| 747 | +// window.open('/live/more?' + 'row_id=' + row_id + '&time=' + time); | |
| 748 | +// | |
| 749 | +// }); | |
| 750 | + /*点击放大*/ | |
| 751 | + $(document).ready(function () { | |
| 752 | + $('div.small_pic a').fancyZoom({scaleImg: true, closeOnClick: true}); | |
| 753 | + $('#zoom_word_1').fancyZoom({width: 400, height: 200}); | |
| 754 | + $('#zoom_word_2').fancyZoom(); | |
| 755 | + $('#zoom_flash').fancyZoom(); | |
| 756 | + }); | |
| 757 | + | |
| 758 | + | |
| 759 | +</script>; | |
| 760 | + </div> | |
| 761 | +</div> | |
| 762 | + | |
| 763 | +<!--抽帧做页面刷新操作 ---每5分钟刷新一次 end--> | |
| 764 | + | |
| 765 | +<div class="form-group"> | |
| 766 | + <input type="text" hidden="hidden" id="live_id" value="10391"> | |
| 767 | +</div> | |
| 768 | + | |
| 769 | +<div class="form-group"> | |
| 770 | + <input type="text" hidden="hidden" id="host" value="shenhe.cnlive.com"> | |
| 771 | +</div> | |
| 772 | + | |
| 773 | +<!-- 预览对话框 --> | |
| 774 | +<div class="modal fade" id="preview" role="dialog" aria-hidden="true"> | |
| 775 | + <div class="modal-dialog" style="width: 670px;"> | |
| 776 | + <div class="modal-content"> | |
| 777 | + <div class="modal-header"> | |
| 778 | + <button type="button" class="close" data-dismiss="modal" aria-hidden="true"> | |
| 779 | + × | |
| 780 | + </button> | |
| 781 | + <h5 class="modal-title" id="myModalLabel"> | |
| 782 | + 视频预览 | |
| 783 | + </h5> | |
| 784 | + </div> | |
| 785 | + <div class="modal-body"> | |
| 786 | + <embed name="cnlive" width="640" height="450" id="cnlive" | |
| 787 | + src="http://data.cnlive.com/export/UuidPlayerMain.swf" | |
| 788 | + flashVars="hasBorder=false&appid=82_irej0pbo53&type=live&model=2&videoURL=" | |
| 789 | + type="application/x-shockwave-flash" wmode="window" quility="high" | |
| 790 | + allowscriptaccess="always" allowfullscreen="true"> | |
| 791 | + </div> | |
| 792 | + </div><!-- /.modal-content --> | |
| 793 | + </div><!-- /.modal --> | |
| 794 | +</div> | |
| 795 | + | |
| 796 | +<div class="box-footer"> | |
| 797 | + <div class="col-sm-4"> | |
| 798 | + <button type="button" class="btn btn-warning pull-right" onclick="offline_live(10391)">下线直播 | |
| 799 | + </button> | |
| 800 | + </div> | |
| 801 | + | |
| 802 | + <div class="col-sm-1"> | |
| 803 | + <button type="button" class="btn btn-warning pull-right" onclick="offline_anchor(10391)">下线主播 | |
| 804 | + </button> | |
| 805 | + </div> | |
| 806 | + | |
| 807 | + <div class="col-sm-1"> | |
| 808 | + <button type="button" class="btn btn-primary pull-right" id="back">返回列表</button> | |
| 809 | + </div> | |
| 810 | +</div> | |
| 811 | + | |
| 812 | +<!-- 确认弹出框 --> | |
| 813 | +<div class="modal" id="action_note" role="dialog" aria-labelledby="myModalLabel"> | |
| 814 | + <div class="modal-dialog"> | |
| 815 | + <div class="modal-content"> | |
| 816 | + <div class="modal-header"> | |
| 817 | + <button type="button" class="close" data-dismiss="modal"> ×</button> | |
| 818 | + <h4 class="modal-title">温馨提示</h4> | |
| 819 | + </div> | |
| 820 | + <div class="modal-body" id="msg2"></div> | |
| 821 | + <div class="modal-footer"> | |
| 822 | + <button type="button" class="btn btn-default " data-dismiss="modal" id="action_note_no">取消 | |
| 823 | + </button> | |
| 824 | + <button type="button" class="btn btn-primary" id="action_note_yes">确认</button> | |
| 825 | + <input type="hidden" name="action_note_type" id="action_note_type" value=""/> | |
| 826 | + <input type="hidden" name="action_note_id" id="action_note_id" value=""/> | |
| 827 | + </div> | |
| 828 | + </div> | |
| 829 | + </div> | |
| 830 | +</div> | |
| 831 | + | |
| 832 | +<!-- Select2 todo xiaohu --> | |
| 833 | +<script src="/admin-lte/js/select2/select2.full.min.js"></script> | |
| 834 | +<!-- Select2 todo xiaohu --> | |
| 835 | +<link rel="stylesheet" href="/admin-lte/css/select2/select2.min.css" type="text/css"/> | |
| 836 | +<link rel="stylesheet" href="/admin-lte/css/AdminLTE.min.css" type="text/css"/> | |
| 837 | + | |
| 838 | +<script> | |
| 839 | + //列表中的操作 | |
| 840 | + function preview(url) { | |
| 841 | + $('#cnlive').attr('flashVars', "hasBorder=false&appid=82_irej0pbo53&type=live&model=2&videoURL=" + url); | |
| 842 | + $('#preview').modal('show'); | |
| 843 | + $('.close').click(function () { | |
| 844 | + $('.preview').attr('display', 'none'); | |
| 845 | + }) | |
| 846 | + } | |
| 847 | + | |
| 848 | + $(function () { | |
| 849 | + $('#begin_date').datetimepicker({ | |
| 850 | + format: 'YYYY/MM/DD HH:mm', | |
| 851 | + locale: 'zh-cn' | |
| 852 | + }); | |
| 853 | + $('#end_date').datetimepicker({ | |
| 854 | + format: 'YYYY/MM/DD HH:mm', | |
| 855 | + locale: 'zh-cn' | |
| 856 | + }); | |
| 857 | + }); | |
| 858 | + | |
| 859 | + | |
| 860 | + /*通过*/ | |
| 861 | + $("#pass").click(function () { | |
| 862 | + var row_id = $("#live_id").val(); | |
| 863 | + var attr_tags = $('#attr_tags').val();//获取标签属性信息 | |
| 864 | + var msg = $('#msg').val(); //获取审核msg | |
| 865 | + if (typeof(row_id) == "undefined") { | |
| 866 | + return false; | |
| 867 | + } | |
| 868 | + $.ajax({ | |
| 869 | + type: 'get', | |
| 870 | + data: {'_token': 'OPAYyJTsfW7AcH6OGqWNVICiRup24V6nL2mFM9t6', 'attr_tags': attr_tags, 'msg': msg}, | |
| 871 | + url: '/live/pass/' + row_id, | |
| 872 | + success: function (data) { | |
| 873 | + window.location.href = '/live'; | |
| 874 | + } | |
| 875 | + }); | |
| 876 | + }); | |
| 877 | + | |
| 878 | + /*点击更多加载分页*/ | |
| 879 | + $("#more").click(function () { | |
| 880 | + var row_id = $("#live_id").val(); | |
| 881 | + if (typeof(row_id) == "undefined") { | |
| 882 | + return false; | |
| 883 | + } | |
| 884 | + var time = Date.parse(new Date()); | |
| 885 | + window.open('/live/more?' + 'row_id=' + row_id + '&time=' + time); | |
| 886 | + }); | |
| 887 | + | |
| 888 | +</script> | |
| 889 | + | |
| 890 | +<script> | |
| 891 | + | |
| 892 | + $(function () { | |
| 893 | + //Initialize Select2 Elements | |
| 894 | + $(".select2").select2(); | |
| 895 | + }); | |
| 896 | + /*返回列表*/ | |
| 897 | + $("#back").click(function () { | |
| 898 | + console.log('222') | |
| 899 | + var state = 0; | |
| 900 | + window.location.href = '/live/filter/' + state; | |
| 901 | + }); | |
| 902 | + /*下线主播*/ | |
| 903 | + function offline_anchor(id) { | |
| 904 | + | |
| 905 | + var attr_tags = $('#attr_tags').val();//获取标签属性信息 | |
| 906 | + var msg = $('#msg').val(); //获取审核msg | |
| 907 | + if (attr_tags == null && msg == '') { //两个都为空 不行 | |
| 908 | + alert('请输入审核备注或者常用审核意见!'); | |
| 909 | + return false; | |
| 910 | + } | |
| 911 | + | |
| 912 | + $('#msg2').html('您确认下线主播吗?'); | |
| 913 | + $('#action_note').show(); | |
| 914 | + $("#action_note_type").val('offline_anchor'); | |
| 915 | + $("#action_note_id").val(id); | |
| 916 | + } | |
| 917 | + /*下线直播*/ | |
| 918 | + function offline_live(id) { | |
| 919 | + | |
| 920 | + var attr_tags = $('#attr_tags').val();//获取标签属性信息 | |
| 921 | + var msg = $('#msg').val(); //获取审核msg | |
| 922 | + if (attr_tags == null && msg == '') { //两个都为空 不行 | |
| 923 | + alert('请输入审核备注或者常用审核意见!'); | |
| 924 | + return false; | |
| 925 | + } | |
| 926 | + | |
| 927 | + $('#msg2').html('您确认下线直播吗?'); | |
| 928 | + $('#action_note').show(); | |
| 929 | + $("#action_note_type").val('offline_live'); | |
| 930 | + $("#action_note_id").val(id); | |
| 931 | + } | |
| 932 | + //弹出框取消 | |
| 933 | + $("#action_note_no").click(function () { | |
| 934 | + $("#action_note").hide(); | |
| 935 | + }); | |
| 936 | + //弹出框确认 | |
| 937 | + $("#action_note_yes").click(function () { | |
| 938 | + var action_note_type = $("#action_note_type").val(); | |
| 939 | + var id = $("#action_note_id").val(); | |
| 940 | + var state = 0; | |
| 941 | + if (action_note_type == 'reject') { | |
| 942 | + var row_id = $("#live_id").val(); | |
| 943 | + var attr_tags = $('#attr_tags').val();//获取标签属性信息 | |
| 944 | + var msg = $('#msg').val(); //获取审核msg | |
| 945 | + if (attr_tags == null && msg == '') { //两个都为空 不行 | |
| 946 | + alert('请输入审核备注或者常用审核意见!'); | |
| 947 | + return false; | |
| 948 | + } | |
| 949 | + if (typeof(row_id) == "undefined") { | |
| 950 | + return false; | |
| 951 | + } | |
| 952 | + $.ajax({ | |
| 953 | + type: 'get', | |
| 954 | + data: {'_token': 'OPAYyJTsfW7AcH6OGqWNVICiRup24V6nL2mFM9t6', 'attr_tags': attr_tags, 'msg': msg}, | |
| 955 | + url: '/live/reject/' + row_id, | |
| 956 | + success: function (data) { | |
| 957 | + window.location.href = '/live' + '/filter/' + state; | |
| 958 | + } | |
| 959 | + }); | |
| 960 | + } else if (action_note_type == 'offline_live') { | |
| 961 | + var id = $("#live_id").val(); | |
| 962 | + var attr_tags = $('#attr_tags').val();//获取标签属性信息 | |
| 963 | + var msg = $('#msg').val(); //获取审核msg | |
| 964 | + if (attr_tags == null && msg == '') { | |
| 965 | + alert('请输入审核备注或者常用审核意见!'); | |
| 966 | + return false; | |
| 967 | + } | |
| 968 | + if (typeof(id) == "undefined") { | |
| 969 | + return false; | |
| 970 | + } | |
| 971 | + $.ajax({ | |
| 972 | + type: 'get', | |
| 973 | + data: {'_token': 'OPAYyJTsfW7AcH6OGqWNVICiRup24V6nL2mFM9t6', 'attr_tags': attr_tags, 'msg': msg}, | |
| 974 | + url: '/live/offline_live/' + id, | |
| 975 | + success: function (data) { | |
| 976 | + window.location.href = '/live' + '/filter/' + state; | |
| 977 | + } | |
| 978 | + }); | |
| 979 | + } else if (action_note_type == 'offline_anchor') { | |
| 980 | + var id = $("#live_id").val(); | |
| 981 | + var attr_tags = $('#attr_tags').val();//获取标签属性信息 | |
| 982 | + var msg = $('#msg').val(); //获取审核msg | |
| 983 | + if (attr_tags == null && msg == '') { | |
| 984 | + alert('请输入审核备注或者常用审核意见!'); | |
| 985 | + return false; | |
| 986 | + } | |
| 987 | + if (typeof(id) == "undefined") { | |
| 988 | + return false; | |
| 989 | + } | |
| 990 | + $.ajax({ | |
| 991 | + type: 'get', | |
| 992 | + data: {'_token': 'OPAYyJTsfW7AcH6OGqWNVICiRup24V6nL2mFM9t6', 'attr_tags': attr_tags, 'msg': msg}, | |
| 993 | + url: '/live/offline_anchor/' + id, | |
| 994 | + success: function (data) { | |
| 995 | + window.location.href = '/live' + '/filter/' + state; | |
| 996 | + } | |
| 997 | + }); | |
| 998 | + } | |
| 999 | + | |
| 1000 | + }); | |
| 1001 | + | |
| 1002 | + | |
| 1003 | +</script> | |
| 1004 | + </div> | |
| 1005 | + </div> | |
| 1006 | + </div> | |
| 1007 | + </div> | |
| 1008 | + </section> | |
| 1009 | + </div> | |
| 1010 | + | |
| 1011 | + | |
| 1012 | + <footer class="main-footer" style='font-size:18px;'> | |
| 1013 | + <div class="pull-right hidden-xs" > | |
| 1014 | + <b>Version</b> 1.2 | |
| 1015 | + <span><a href="/scan_update_logs">查看更新日志</a></span> | |
| 1016 | + </div> | |
| 1017 | + <strong>© 2017-2018 <a href="http://www.cnlive.com"> 视讯中国 CNLive</a></strong> 版权所有. | |
| 1018 | +</footer> | |
| 1019 | + | |
| 1020 | + | |
| 1021 | + <!-- Control Sidebar --> | |
| 1022 | +<aside class="control-sidebar control-sidebar-dark"> | |
| 1023 | + <!-- Create the tabs --> | |
| 1024 | + <ul class="nav nav-tabs nav-justified control-sidebar-tabs"> | |
| 1025 | + <li><a href="#control-sidebar-home-tab" data-toggle="tab"><i class="fa fa-home"></i></a></li> | |
| 1026 | + <li><a href="#control-sidebar-settings-tab" data-toggle="tab"><i class="fa fa-gears"></i></a></li> | |
| 1027 | + </ul> | |
| 1028 | + <!-- Tab panes --> | |
| 1029 | + <div class="tab-content"> | |
| 1030 | + <!-- Home tab content --> | |
| 1031 | + <div class="tab-pane" id="control-sidebar-home-tab"> | |
| 1032 | + </div><!-- /.tab-pane --> | |
| 1033 | + </div> | |
| 1034 | +</aside><!-- /.control-sidebar --> | |
| 1035 | +<!-- Add the sidebar's background. This div must be placed | |
| 1036 | + immediately after the control sidebar --> | |
| 1037 | +<div class="control-sidebar-bg"></div> | |
| 1038 | + | |
| 1039 | + </div><!-- ./wrapper --> | |
| 1040 | + </body> | |
| 1041 | + | |
| 1042 | + | |
| 1043 | +<!-- Resolve conflict in jQuery UI tooltip with Bootstrap tooltip --> | |
| 1044 | +<script type="text/javascript"> | |
| 1045 | + $('div.alert').not('.alert-danger').delay(3000).slideUp(300); | |
| 1046 | +</script> | |
| 1047 | + | |
| 1048 | +<!-- AdminLTE App --> | |
| 1049 | +<script src="/admin-lte/js/app.min.js"></script> | |
| 1050 | +<!-- AdminLTE for demo purposes --> | |
| 1051 | +<script src="/admin-lte/js/sidebar.js"></script> | |
| 1052 | + | |
| 1053 | + | |
| 1054 | + | |
| 1055 | + | |
| 1056 | + | |
| 1057 | + | |
| 1058 | +</html> | ... | ... |
src/main/resources/templates/page/video.html
| ... | ... | @@ -383,7 +383,6 @@ |
| 383 | 383 | //全部 |
| 384 | 384 | function quanbu() { |
| 385 | 385 | updateValue(); |
| 386 | -// window.location.href = "/videos/page?video_title=&start_date=&end_date=&state=&receive=&video_priority="; | |
| 387 | 386 | window.location.href = "/videos/page?video_title=" + video_title + "&start_date=" + start_date + "&end_date=" + end_date + "&video_priority=" + video_priority + "&sp_desc=" + sp_desc+"&pageSize="+count; |
| 388 | 387 | } |
| 389 | 388 | |
| ... | ... | @@ -392,12 +391,6 @@ |
| 392 | 391 | updateValue(); |
| 393 | 392 | var state = 0; |
| 394 | 393 | var receive = 0; |
| 395 | -// var video_priority = $("#video_priority").val(); | |
| 396 | -// var video_title = $("#video_titleID").val(); | |
| 397 | -// var start_date = $("#start_date").val(); | |
| 398 | -// var end_date = $("#end_date").val(); | |
| 399 | -// var sp_desc = $("#sp_desc").val(); | |
| 400 | -// var count = $("#count").val(); | |
| 401 | 394 | window.location.href = "page?video_title=" + video_title + "&start_date=" + start_date + "&end_date=" + end_date + "&state=" + state + "&receive=" + receive + "&video_priority=" + video_priority + "&sp_desc=" + sp_desc+"&pageSize="+count; |
| 402 | 395 | }); |
| 403 | 396 | //我的待审核 |
| ... | ... | @@ -405,12 +398,6 @@ |
| 405 | 398 | updateValue(); |
| 406 | 399 | var state = 0; |
| 407 | 400 | var receive = 1; |
| 408 | -// var video_priority = $("#video_priority").val(); | |
| 409 | -// var video_title = $("#video_titleID").val(); | |
| 410 | -// var start_date = $("#start_date").val(); | |
| 411 | -// var end_date = $("#end_date").val(); | |
| 412 | -// var sp_desc = $("#sp_desc").val(); | |
| 413 | -// var count = $("#count").val(); | |
| 414 | 401 | window.location.href = "page?video_title=" + video_title + "&start_date=" + start_date + "&end_date=" + end_date + "&state=" + state + "&receive=" + receive + "&video_priority=" + video_priority + "&sp_desc=" + sp_desc+"&pageSize="+count; |
| 415 | 402 | }); |
| 416 | 403 | //我的已审核 |
| ... | ... | @@ -418,24 +405,12 @@ |
| 418 | 405 | updateValue(); |
| 419 | 406 | var state = 1; |
| 420 | 407 | var receive = 1; |
| 421 | -// var video_priority = $("#video_priority").val(); | |
| 422 | -// var video_title = $("#video_titleID").val(); | |
| 423 | -// var start_date = $("#start_date").val(); | |
| 424 | -// var end_date = $("#end_date").val(); | |
| 425 | -// var sp_desc = $("#sp_desc").val(); | |
| 426 | -// var count = $("#count").val(); | |
| 427 | 408 | window.location.href = "page?video_title=" + video_title + "&start_date=" + start_date + "&end_date=" + end_date + "&state=" + state + "&receive=" + receive + "&video_priority=" + video_priority + "&sp_desc=" + sp_desc+"&pageSize="+count; |
| 428 | 409 | }); |
| 429 | 410 | |
| 430 | 411 | |
| 431 | 412 | //查询 |
| 432 | 413 | $('#videos_query').click(function () { |
| 433 | -// var video_priority = $("#video_priority").val(); | |
| 434 | -// var video_title = $("#video_titleID").val(); | |
| 435 | -// var start_date = $("#start_date").val(); | |
| 436 | -// var end_date = $("#end_date").val(); | |
| 437 | -// var sp_desc = $("#sp_desc").val(); | |
| 438 | -// var count = $("#count").val(); | |
| 439 | 414 | window.location.href = "/videos/page?video_title=" + video_title + "&start_date=" + start_date + "&end_date=" + end_date + "&state=&video_priority=" + video_priority + "&sp_desc=" + sp_desc+"&pageSize="+count; |
| 440 | 415 | }); |
| 441 | 416 | /*全选的操作*/ | ... | ... |
src/main/resources/templates/page/videoStream.html
0 → 100644
| 1 | +<!DOCTYPE html> | |
| 2 | +<html lang="zh" xmlns:th="http://www.thymeleaf.org"> | |
| 3 | + | |
| 4 | +<head th:replace="../templates/common/head::head"> | |
| 5 | +<!-- 最新版本的 Bootstrap 核心 CSS 文件 --> | |
| 6 | +<!-- <link rel="stylesheet" --> | |
| 7 | +<!-- href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" --> | |
| 8 | +<!-- integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" --> | |
| 9 | +<!-- crossorigin="anonymous"> --> | |
| 10 | +</head> | |
| 11 | + | |
| 12 | +<body class="hold-transition skin-blue sidebar-mini"> | |
| 13 | + | |
| 14 | + <div class="wrapper"> | |
| 15 | + <div th:replace="../templates/common/frame::frame"></div> | |
| 16 | + <div class="content-wrapper" style="min-height: 788px;"> | |
| 17 | + <section class="content-header"> | |
| 18 | + <h1>直播审核</h1> | |
| 19 | + <ol class="breadcrumb"> | |
| 20 | + <li><a href="/"><i class="fa fa-dashboard"></i> 首页</a></li> | |
| 21 | + <li class="active"><a href="/live/page?activity_status=1">直播审核</a></li> | |
| 22 | + </ol> | |
| 23 | + </section> | |
| 24 | + <section class="content"> | |
| 25 | + <div class="row"> | |
| 26 | + <div class="col-md-12"> | |
| 27 | + <div class="box box-info"> | |
| 28 | + <div class="box-body"> | |
| 29 | + <div class="modal fade" id="modal" tabindex="-1" role="dialog" | |
| 30 | + aria-labelledby="myModalLabel" aria-hidden="true"> | |
| 31 | + <div class="modal-dialog"> | |
| 32 | + <div class="modal-content"> | |
| 33 | + <div class="modal-header"> | |
| 34 | + <button type="button" class="close" data-dismiss="modal" | |
| 35 | + aria-hidden="true">×</button> | |
| 36 | + <h4 class="modal-title">温馨提示</h4> | |
| 37 | + </div> | |
| 38 | + <div class="modal-body" id="msg">您确认认领该条信息吗?</div> | |
| 39 | + <div class="modal-footer"> | |
| 40 | + <button type="button" class="btn btn-default" | |
| 41 | + data-dismiss="modal">取消</button> | |
| 42 | + <button type="button" class="btn btn-primary" | |
| 43 | + id="modal_remove">确认</button> | |
| 44 | + </div> | |
| 45 | + </div> | |
| 46 | + </div> | |
| 47 | + </div> | |
| 48 | + <div class="clearfix"> | |
| 49 | + <div class="btn-group margin-bottom" id="hide_select_area_2"> | |
| 50 | + <div class="cb-toolbar"> | |
| 51 | + <input type="checkbox" id="check">全选 | |
| 52 | + </div> | |
| 53 | + <div class="btn-group margin-bottom pull-left" style=> | |
| 54 | + <input type="hidden" name="state" id="state" value="" /> | |
| 55 | + | |
| 56 | + <button type="button" | |
| 57 | + class="btn btn-success btn-sm margin-r-5 action claim" | |
| 58 | + value="2" data="claim" id="claim" data-toggle="modal" | |
| 59 | + data-target="#modal">认领</button> | |
| 60 | + <button type="button" | |
| 61 | + class="btn btn-success btn-sm margin-r-5 action claim" | |
| 62 | + value="2" data="claim10" id="claim10" data-toggle="modal" | |
| 63 | + data-target="#modal">认领10条</button> | |
| 64 | + <button type="button" | |
| 65 | + class="btn btn-success btn-sm margin-r-5 action claim" | |
| 66 | + value="2" data="claim100" id="claim100" | |
| 67 | + data-toggle="modal" data-target="#modal">认领100条</button> | |
| 68 | + </div> | |
| 69 | + </div> | |
| 70 | + | |
| 71 | + <div class="btn-group margin-bottom pull-right"> | |
| 72 | + <button type="button" class="btn btn-sm margin-r-5 filter ?>" | |
| 73 | + value="0" id="all" data="all">全部</button> | |
| 74 | + <button type="button" | |
| 75 | + class="btn btn-sm margin-r-5 filter btn-info ?>" value="1">全部待领 | |
| 76 | + </button> | |
| 77 | + <button type="button" | |
| 78 | + class="btn btn-sm margin-r-5 filter ?>" value="2">我的待审 | |
| 79 | + </button> | |
| 80 | + <!--<button type="button" class="btn btn-sm margin-r-5 filter" | |
| 81 | + value="4">我的未通过 | |
| 82 | + </button> --> | |
| 83 | + <button type="button" | |
| 84 | + class="btn btn-sm margin-r-5 filter ?>" value="7">我的已审 | |
| 85 | + </button> | |
| 86 | + <button type="button" | |
| 87 | + class="btn btn-primary btn-sm margin-r-5" id="query" | |
| 88 | + onclick="openOrClose('forms')"> | |
| 89 | + 查询 <span id="a_up">▼</span><span id="a_down">▲</span> | |
| 90 | + </button> | |
| 91 | + </div> | |
| 92 | + | |
| 93 | + </div> | |
| 94 | + | |
| 95 | + <div class="clearfix"> | |
| 96 | + <div class="form-horizontal form-group-sm" id="forms" | |
| 97 | + style="display: none;"> | |
| 98 | + <div class="btn-group margin-bottom col-md-7" | |
| 99 | + style="padding: 0;"> | |
| 100 | + <div class="col-md-3" style="padding: 0"> | |
| 101 | + <label for="activity_id" class="control-label cb-toolbar">直播id:</label> | |
| 102 | + <div class="col-sm-7" style="padding: 0;"> | |
| 103 | + <input class="form-control" name="activity_id" type="text" | |
| 104 | + id="activity_id"> | |
| 105 | + </div> | |
| 106 | + </div> | |
| 107 | + <div class="col-md-3" style="padding: 0"> | |
| 108 | + <label for="activity_name" class="control-label cb-toolbar">直播名称:</label> | |
| 109 | + <div class="col-sm-7" style="padding: 0;"> | |
| 110 | + <input class="form-control col-sm-2" name="activity_name" | |
| 111 | + type="text" id="activity_name"> | |
| 112 | + </div> | |
| 113 | + </div> | |
| 114 | + | |
| 115 | +<!-- <div class="col-md-3" style="padding: 0"> --> | |
| 116 | +<!-- <label for="is_hot" class="control-label cb-toolbar">是否热点:</label> --> | |
| 117 | +<!-- <div class="col-sm-6" style="padding: 0;"> --> | |
| 118 | +<!-- <select class="form-control" id="is_hot" name="is_hot"><option --> | |
| 119 | +<!-- value="0">全部</option> --> | |
| 120 | +<!-- <option value="2">是</option> --> | |
| 121 | +<!-- <option value="1">否</option></select> --> | |
| 122 | +<!-- </div> --> | |
| 123 | +<!-- </div> --> | |
| 124 | + | |
| 125 | + <div class="col-md-6" style="padding: 0;width: 25%;" th:if="${session.sessionUser.spid==0}"> | |
| 126 | + <label for="sp_desc" class="control-label cb-toolbar">sp简称:</label> | |
| 127 | + <div class="col-sm-8" style="padding: 0;"> | |
| 128 | + <input class="form-control" type="text" value="" id="sp_desc"> | |
| 129 | + </div> | |
| 130 | + </div> | |
| 131 | + <div class="col-md-3" style="padding: 0"> | |
| 132 | + <label for="activity_status" | |
| 133 | + class="control-label cb-toolbar">直播状态:</label> | |
| 134 | + <div class="col-sm-6" style="padding: 0;"> | |
| 135 | + <select class="form-control col-sm-2" id="activity_status" | |
| 136 | + name="activity_status"><option value="">全部</option> | |
| 137 | + <option value="3">待直播</option> | |
| 138 | + <option value="1">直播中</option> | |
| 139 | + <option value="2">已结束</option> | |
| 140 | + <option value="0">已下线</option></select> | |
| 141 | + </div> | |
| 142 | + </div> | |
| 143 | + | |
| 144 | + </div> | |
| 145 | + | |
| 146 | + <div class="btn-group margin-bottom col-md-5 pull-right" | |
| 147 | + style="padding: 0"> | |
| 148 | + <div class="col-md-11" style="width: 88%; padding: 0;"> | |
| 149 | + <div class="col-md-5" style="padding: 0"> | |
| 150 | + <label for="start_date" class="control-label cb-toolbar">时间:</label> | |
| 151 | + <div class='input-group col-md-9 date'> | |
| 152 | + <input class="form-control date" name="start_date" | |
| 153 | + type="text" id="start_date"> <span | |
| 154 | + class="input-group-addon"> <span | |
| 155 | + class="glyphicon glyphicon-calendar"></span> | |
| 156 | + </span> | |
| 157 | + </div> | |
| 158 | + </div> | |
| 159 | + <div class="col-md-5" style="padding: 0"> | |
| 160 | + <label for="start_date" class="control-label cb-toolbar">至</label> | |
| 161 | + <div class='input-group col-md-9 date'> | |
| 162 | + <input class="form-control date" name="end_date" | |
| 163 | + type="text"> <span class="input-group-addon"> | |
| 164 | + <span class="glyphicon glyphicon-calendar"></span> | |
| 165 | + </span> | |
| 166 | + </div> | |
| 167 | + </div> | |
| 168 | + </div> | |
| 169 | + | |
| 170 | +<!-- <div class="col-md-1 text-center" --> | |
| 171 | +<!-- style="width: 12%; padding: 0"> --> | |
| 172 | +<!-- <button type="button" class="btn btn-primary btn-sm" --> | |
| 173 | +<!-- id="live_query">查 询</button> --> | |
| 174 | +<!-- </div> --> | |
| 175 | + | |
| 176 | + </div> | |
| 177 | + | |
| 178 | + <div class="btn-group margin-bottom col-md-6" | |
| 179 | + style="padding: 0;"></div> | |
| 180 | + </div> | |
| 181 | + </div> | |
| 182 | + <script> | |
| 183 | + | |
| 184 | + var activity_id ="";//直播id | |
| 185 | + var activity_name = "";//直播名称 | |
| 186 | + var is_hot ="";//是否热点 | |
| 187 | + var activity_status ="";//直播状态 | |
| 188 | + var start_date ="";//开始时间 | |
| 189 | + var end_date = "";//结束时间 | |
| 190 | + var sp_desc = ""; | |
| 191 | + var count = ""; | |
| 192 | + | |
| 193 | + function updateValue(){ | |
| 194 | + activity_id = $("#activity_id").val(); | |
| 195 | + activity_name = $("activity_name").val(); | |
| 196 | +// is_hot = $("#is_hot").val(); | |
| 197 | + activity_status = $("#activity_status").val(); | |
| 198 | + start_date = $("#start_date").val(); | |
| 199 | + end_date = $("#end_date").val(); | |
| 200 | + var spId=[[${session.sessionUser.spid}]]; | |
| 201 | + if(spId==0){ | |
| 202 | + sp_desc = $("#sp_desc").val(); | |
| 203 | +// count = $("#count").val(); | |
| 204 | + } | |
| 205 | + } | |
| 206 | + | |
| 207 | + | |
| 208 | + //全部 | |
| 209 | + function quanbu() { | |
| 210 | + updateValue(); | |
| 211 | + window.location.href = "/live/page?activity_status="+activity_status+"&activity_id=" + activity_id + "&start_date=" + start_date + "&end_date=" + end_date + "&activity_name=" + activity_name + "&sp_desc=" + sp_desc+"&pageSize="+count; | |
| 212 | + } | |
| 213 | + | |
| 214 | + //全部待领 | |
| 215 | + $('#daishen').click(function () { | |
| 216 | + updateValue(); | |
| 217 | + var state = 0; | |
| 218 | + var receive = 0; | |
| 219 | + window.location.href = "page?video_title=" + video_title + "&start_date=" + start_date + "&end_date=" + end_date + "&state=" + state + "&receive=" + receive + "&video_priority=" + video_priority + "&sp_desc=" + sp_desc+"&pageSize="+count; | |
| 220 | + }); | |
| 221 | + //我的待审核 | |
| 222 | + $('#Mydaishen').click(function () { | |
| 223 | + updateValue(); | |
| 224 | + var state = 0; | |
| 225 | + var receive = 1; | |
| 226 | + window.location.href = "page?video_title=" + video_title + "&start_date=" + start_date + "&end_date=" + end_date + "&state=" + state + "&receive=" + receive + "&video_priority=" + video_priority + "&sp_desc=" + sp_desc+"&pageSize="+count; | |
| 227 | + }); | |
| 228 | + //我的已审核 | |
| 229 | + $('#yishen').click(function () { | |
| 230 | + updateValue(); | |
| 231 | + var state = 1; | |
| 232 | + var receive = 1; | |
| 233 | + window.location.href = "page?video_title=" + video_title + "&start_date=" + start_date + "&end_date=" + end_date + "&state=" + state + "&receive=" + receive + "&video_priority=" + video_priority + "&sp_desc=" + sp_desc+"&pageSize="+count; | |
| 234 | + }); | |
| 235 | + | |
| 236 | + | |
| 237 | + /*时间插件*/ | |
| 238 | + $('.date').datetimepicker({ | |
| 239 | + format : 'YYYY-MM-DD HH:mm', | |
| 240 | + locale : "zh-CN", | |
| 241 | + toolbarPlacement : 'bottom', | |
| 242 | + showClear : true, | |
| 243 | + }); | |
| 244 | + | |
| 245 | + /*大图列表图切换*/ | |
| 246 | +// $('#big').click(function() { | |
| 247 | +// window.location.href = '/live/big_list'; | |
| 248 | +// }) | |
| 249 | +// $('#list').click(function() { | |
| 250 | +// window.location.href = '/live'; | |
| 251 | +// }) | |
| 252 | + | |
| 253 | + /*全选的操作*/ | |
| 254 | + $('#check').click(function() { | |
| 255 | + if ($(this).prop('checked')) { | |
| 256 | + $('.check').each(function() { | |
| 257 | + $(this).prop('checked', true); | |
| 258 | + }); | |
| 259 | + } else { | |
| 260 | + $('.check').each(function() { | |
| 261 | + $(this).removeAttr('checked'); | |
| 262 | + }); | |
| 263 | + } | |
| 264 | + }); | |
| 265 | + | |
| 266 | + /*批量认领操作*/ | |
| 267 | + $('.action').click(function() { | |
| 268 | + var flag = $(this).attr('data'); | |
| 269 | + if (flag == 'claim') { | |
| 270 | + var ids = []; | |
| 271 | + $('.check').each(function() { | |
| 272 | + if ($(this).prop('checked')) { | |
| 273 | + ids[ids.length] = $(this).attr('value'); | |
| 274 | + } | |
| 275 | + }); | |
| 276 | + } else if (flag == 'claim10') { | |
| 277 | + ids = 10; | |
| 278 | + } else { | |
| 279 | + ids = 100; | |
| 280 | + } | |
| 281 | + if (ids.length > 0|| ids > 0) { | |
| 282 | + if (flag == 'claim') { | |
| 283 | + $('#msg').html('您确认认领这<strong><span class="text-danger">' | |
| 284 | + + ids.length+ '</span></strong>条信息吗?'); | |
| 285 | + $('#modal_remove').show(); | |
| 286 | + $('#modal_remove').attr('claim','claim'); | |
| 287 | + } else if (flag == 'claim10') { | |
| 288 | + $('#msg').html('您确认认领这前<strong><span class="text-danger">' | |
| 289 | + + ids+ '</span></strong>条信息吗?'); | |
| 290 | + $('#modal_remove').show(); | |
| 291 | + $('#modal_remove').attr('claim','claim10'); | |
| 292 | + } else { | |
| 293 | + $('#msg').html('您确认认领这前<strong><span class="text-danger">' | |
| 294 | + + ids+ '</span></strong>条信息吗?'); | |
| 295 | + $('#modal_remove').show(); | |
| 296 | + $('#modal_remove').attr('claim','claim100'); | |
| 297 | + } | |
| 298 | + } else { | |
| 299 | + alert('请选择要认领的数据'); | |
| 300 | + return false; | |
| 301 | + } | |
| 302 | + }); | |
| 303 | + | |
| 304 | + /*批量*/ | |
| 305 | + /*批量操作 --认领*/ | |
| 306 | + // var claim_open = false; | |
| 307 | + // var remove_open = false; | |
| 308 | + $("#modal_remove").delegate(this,"click",function() { | |
| 309 | + // if (claim_open == true) { | |
| 310 | + // return false; | |
| 311 | + // } | |
| 312 | + // if (remove_open == true) { //这样的话是true,就是单个操作 | |
| 313 | + // return false; | |
| 314 | + // } | |
| 315 | + var status = $('.action').val(); | |
| 316 | + var flag = $(this).attr('claim'); | |
| 317 | + // var flag = $(this).attr('data'); | |
| 318 | + if (flag == 'claim') { | |
| 319 | + var ids = []; | |
| 320 | + $('.check').each(function() { | |
| 321 | + if ($(this).prop('checked')) { | |
| 322 | + ids[ids.length] = $(this).attr('value'); | |
| 323 | + } | |
| 324 | + }); | |
| 325 | + } else if (flag == 'claim10') { | |
| 326 | + ids = 10; | |
| 327 | + } else { | |
| 328 | + ids = 100; | |
| 329 | + } | |
| 330 | + var state = 2; | |
| 331 | + $.ajax({ | |
| 332 | + url : '/live/status/'+ status, | |
| 333 | + type : 'POST', | |
| 334 | + data : {'_token' : 'VljOVtqOXq8KDlkbyDxOSyDSx1VLv40V5TrDob74', | |
| 335 | + 'flag' : flag, | |
| 336 | + 'ids' : ids | |
| 337 | + }, | |
| 338 | + success : function() { | |
| 339 | + // window.location.reload(); | |
| 340 | + window.location.href = '/live/filter/'+ state; | |
| 341 | + } | |
| 342 | + }); | |
| 343 | + }); | |
| 344 | + /*批量*/ | |
| 345 | + | |
| 346 | + /*批量调用的方法*/ | |
| 347 | + function ajaxAction(action, flag) { | |
| 348 | + var ids = []; | |
| 349 | + $('.check').each(function() { | |
| 350 | + if ($(this).prop('checked')) { | |
| 351 | + ids[ids.length] = $(this).attr('value'); | |
| 352 | + } | |
| 353 | + }); | |
| 354 | + | |
| 355 | + if (ids.length > 0) { | |
| 356 | + $.ajax({ | |
| 357 | + url : '/live/status/'+ action, | |
| 358 | + type : 'POST', | |
| 359 | + data : {'_token' : 'VljOVtqOXq8KDlkbyDxOSyDSx1VLv40V5TrDob74', | |
| 360 | + 'ids' : ids, | |
| 361 | + 'flag' : flag | |
| 362 | + }, | |
| 363 | + success : function(data) { | |
| 364 | + window.location.reload(); | |
| 365 | + // window.location.href = '/live/big_list'; | |
| 366 | + } | |
| 367 | + }); | |
| 368 | + } | |
| 369 | + } | |
| 370 | + | |
| 371 | + $('#all').click( | |
| 372 | + function() { | |
| 373 | + $(this).addClass('btn-info'); | |
| 374 | + $(this).siblings().removeClass('btn-info'); | |
| 375 | + window.location.href = '/live'; | |
| 376 | + }); | |
| 377 | + | |
| 378 | + //刷新功能 | |
| 379 | +// $('#refresh').click( | |
| 380 | +// function() { | |
| 381 | +// // var id =$('#refresh').attr('data-id'); | |
| 382 | +// $.ajax({ | |
| 383 | +// url : '/live/big_list', | |
| 384 | +// type : 'POST', | |
| 385 | +// data : { | |
| 386 | +// '_token' : 'VljOVtqOXq8KDlkbyDxOSyDSx1VLv40V5TrDob74' | |
| 387 | +// }, | |
| 388 | +// success : function(data) { | |
| 389 | +// window.location.reload(); | |
| 390 | +// } | |
| 391 | +// }); | |
| 392 | +// window.location.href = '/live'; | |
| 393 | +// }) | |
| 394 | + //是否显示待领选项 | |
| 395 | + $('#hide_select_area_2').show(); | |
| 396 | + | |
| 397 | + /* 筛选 状态 */ | |
| 398 | + $('.filter').click(function() { | |
| 399 | + var state = $(this).val(); | |
| 400 | + global_state = state; | |
| 401 | + switch (state) { | |
| 402 | + case "1": | |
| 403 | + $('#hide_select_area_2').show(); | |
| 404 | + $(this).addClass('btn-info'); | |
| 405 | + $(this).siblings().removeClass('btn-info'); | |
| 406 | + $.ajax({ | |
| 407 | + url : '/live/filter/'+ state, | |
| 408 | + type : 'POST', | |
| 409 | + data : { | |
| 410 | + '_token' : 'VljOVtqOXq8KDlkbyDxOSyDSx1VLv40V5TrDob74', | |
| 411 | + 'state' : state | |
| 412 | + }, | |
| 413 | + success : function(data) { | |
| 414 | + window.location.reload(); | |
| 415 | + } | |
| 416 | + }); | |
| 417 | + window.location.href = '/live/filter/'+ state; | |
| 418 | + break; | |
| 419 | + case "2": | |
| 420 | + $('#hide_select_area_2').hide(); | |
| 421 | + $(this).addClass('btn-info'); | |
| 422 | + $(this).siblings().removeClass('btn-info'); | |
| 423 | + window.location.href = '/live/filter/'+ state; | |
| 424 | + break; | |
| 425 | + case "3": | |
| 426 | + $('#hide_select_area_2').hide(); | |
| 427 | + $(this).addClass('btn-info'); | |
| 428 | + $(this).siblings().removeClass('btn-info'); | |
| 429 | + window.location.href = '/live/filter/'+ state; | |
| 430 | + break; | |
| 431 | + case "4": | |
| 432 | + $('#hide_select_area_2').hide(); | |
| 433 | + $(this).addClass('btn-info'); | |
| 434 | + $(this).siblings().removeClass('btn-info'); | |
| 435 | + window.location.href = '/live/filter/'+ state; | |
| 436 | + break; | |
| 437 | + case "7": | |
| 438 | + $('#hide_select_area_2').hide(); | |
| 439 | + $(this).addClass('btn-info'); | |
| 440 | + $(this).siblings().removeClass('btn-info'); | |
| 441 | + window.location.href = '/live/filter/'+ state; | |
| 442 | + break; | |
| 443 | + case '0': | |
| 444 | + $('#hide_select_area_2').hide(); | |
| 445 | + $(this).addClass('btn-info'); | |
| 446 | + $(this).siblings().removeClass('btn-info'); | |
| 447 | + window.location.href = '/live/filter/'+ state; | |
| 448 | + break; | |
| 449 | + } | |
| 450 | + }); | |
| 451 | + </script> | |
| 452 | + <div class="modal fade common" id="modal_remove" tabindex="-1" | |
| 453 | + role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> | |
| 454 | + <div class="modal-dialog"> | |
| 455 | + <div class="modal-content"> | |
| 456 | + <div class="modal-header"> | |
| 457 | + <button type="button" class="close" data-dismiss="modal" | |
| 458 | + aria-hidden="true">×</button> | |
| 459 | + <h4 class="modal-title" id="modal_title"></h4> | |
| 460 | + </div> | |
| 461 | + <div class="modal-body"> | |
| 462 | + <div class="alert alert-danger" id="window_msg" | |
| 463 | + style="display: none;"> | |
| 464 | + <p></p> | |
| 465 | + </div> | |
| 466 | + <div id="contents"></div> | |
| 467 | + </div> | |
| 468 | + </div> | |
| 469 | + </div> | |
| 470 | + </div> | |
| 471 | + | |
| 472 | + <table id="table"> | |
| 473 | + <div> | |
| 474 | + <div class="col-xs-2 col-lg-2 margin-bottom action"> | |
| 475 | + <a href="#" class="thumbnail margin-bottom" | |
| 476 | + onclick="preview('rtmp://hyyy.rtmps2.cnlive.com/live-hyyy-604/604_000007')"> | |
| 477 | + <div style="text-align: center"> | |
| 478 | + <img src='http://app.scio.gov.cn/upload/img/2019/06/2ef0a5dc-a98c-469c-a419-04eeb866a401.png' | |
| 479 | + alt="封面图" width="134px" height="100px"> | |
| 480 | + </div> | |
| 481 | + | |
| 482 | + </a> | |
| 483 | + <div> | |
| 484 | + <p style="line-height: 0"> | |
| 485 | + <span class="text-success">待审</span> <span | |
| 486 | + class="text-primary pull-right">2019-06-26 14:56:33</span> | |
| 487 | + </p> | |
| 488 | + <p class="info-box-text"> | |
| 489 | + <input type="checkbox" class="check" value="10225"> | |
| 490 | + 国新办举行新时代人民满意公务员代表中外记者见面会 | |
| 491 | + </p> | |
| 492 | + <p class="info-box-text"> | |
| 493 | + <span style="float: left;">id:10225 </span> <span | |
| 494 | + style="margin-left: 60px;"> <span>直播中</span> | |
| 495 | + </span> <span style="float: right;"> <span></span> | |
| 496 | + </span> | |
| 497 | + </p> | |
| 498 | + <p class="info-box-text"> | |
| 499 | + <span style="float: left;"> <span>SP简称:</span> | |
| 500 | + </span> <span style="float: right;"> <span>国新客户端</span> | |
| 501 | + </span> | |
| 502 | + </p> | |
| 503 | + | |
| 504 | + </div> | |
| 505 | + <div class="width-10p pull-left padding-r-5"> | |
| 506 | + <button class="btn btn-primary btn-xs btn-block" title="认领" | |
| 507 | + onclick="claim('10225')" data-field="action" | |
| 508 | + data-formatter="actionFormatter" data-events="actionEvents" | |
| 509 | + data-toggle="tooltip" data-placement="top" value="2" | |
| 510 | + id="claim_10225"> | |
| 511 | + <i class="fa fa-hand-pointer-o"></i> | |
| 512 | + </button> | |
| 513 | + </div> | |
| 514 | + | |
| 515 | + <div class="width-10p pull-left padding-r-5"> | |
| 516 | + <button class="btn btn-success btn-xs btn-block " | |
| 517 | + disabled="disabled" title="查看" onclick="detail('10225')" | |
| 518 | + data-toggle="tooltip" data-placement="top"> | |
| 519 | + <i class="fa fa-eye"></i> | |
| 520 | + </button> | |
| 521 | + </div> | |
| 522 | + <div class="width-10p pull-left padding-r-5"> | |
| 523 | + <button class="btn btn-danger btn-xs btn-block" | |
| 524 | + disabled="disabled" title="退领" onclick="back('10225')" | |
| 525 | + data-toggle="tooltip" data-placement="top"> | |
| 526 | + <i class="fa fa-mail-reply"></i> | |
| 527 | + </button> | |
| 528 | + </div> | |
| 529 | + | |
| 530 | + <div class="width-10p pull-right padding-r-5"> | |
| 531 | + <button class="btn btn-primary btn-xs btn-block" | |
| 532 | + disabled="disabled" title="日志" | |
| 533 | + onclick="reject('38_09471046aa7f4835a734f1d6208249fc')"> | |
| 534 | + <i class="fa fa-bullseye"></i> | |
| 535 | + </button> | |
| 536 | + </div> | |
| 537 | + | |
| 538 | + <div class="width-10p pull-right padding-r-5"> | |
| 539 | + <button class="btn btn-danger btn-xs btn-block" title="下线直播" | |
| 540 | + onclick="offline_live('10225')" data-toggle="tooltip" | |
| 541 | + data-placement="top" | |
| 542 | + data-target="#modal"> | |
| 543 | + <i class="fa fa-arrow-down"></i> | |
| 544 | + </button> | |
| 545 | + </div> | |
| 546 | + | |
| 547 | + <div class="width-10p pull-right padding-r-5"> | |
| 548 | + <button class="btn btn-danger btn-xs btn-block" title="下线主播" | |
| 549 | + onclick="offline_anchor('10225')" data-toggle="tooltip" | |
| 550 | + data-placement="top"> | |
| 551 | + <i class="glyphicon glyphicon-user"></i> | |
| 552 | + </button> | |
| 553 | + </div> | |
| 554 | + </div> | |
| 555 | + <div class="col-xs-2 col-lg-2 margin-bottom action"> | |
| 556 | + <a href="#" class="thumbnail margin-bottom" | |
| 557 | + onclick="preview('rtmp://sxzg.rtmps2.cnlive.com/live-sxzg-82/82_liveshow01')"> | |
| 558 | + <div style="text-align: center"> | |
| 559 | + <img | |
| 560 | + src='http://yweb3.cnliveimg.com/bc/82/2019/0621/1561102155567_1507.jpg' | |
| 561 | + alt="封面图" width="134px" height="100px"> | |
| 562 | + </div> | |
| 563 | + | |
| 564 | + </a> | |
| 565 | + <div> | |
| 566 | + <p style="line-height: 0"> | |
| 567 | + <span class="text-success">待审</span> <span | |
| 568 | + class="text-primary pull-right">2019-06-24 13:30:00</span> | |
| 569 | + </p> | |
| 570 | + <p class="info-box-text"> | |
| 571 | + <input type="checkbox" class="check" value="10179"> | |
| 572 | + 第四届世界厨师艺术节-2 | |
| 573 | + </p> | |
| 574 | + <p class="info-box-text"> | |
| 575 | + <span style="float: left;">id:10179 </span> <span | |
| 576 | + style="margin-left: 60px;"> <span>直播中</span> | |
| 577 | + </span> <span style="float: right;"> <span></span> | |
| 578 | + </span> | |
| 579 | + </p> | |
| 580 | + <p class="info-box-text"> | |
| 581 | + <span style="float: left;"> <span>SP简称:</span> | |
| 582 | + </span> <span style="float: right;"> <span>视讯中国</span> | |
| 583 | + </span> | |
| 584 | + </p> | |
| 585 | + | |
| 586 | + </div> | |
| 587 | + <div class="width-10p pull-left padding-r-5"> | |
| 588 | + <button class="btn btn-primary btn-xs btn-block" title="认领" | |
| 589 | + onclick="claim('10179')" data-field="action" | |
| 590 | + data-formatter="actionFormatter" data-events="actionEvents" | |
| 591 | + data-toggle="tooltip" data-placement="top" value="2" | |
| 592 | + id="claim_10179"> | |
| 593 | + <i class="fa fa-hand-pointer-o"></i> | |
| 594 | + </button> | |
| 595 | + </div> | |
| 596 | + | |
| 597 | + <div class="width-10p pull-left padding-r-5"> | |
| 598 | + <button class="btn btn-success btn-xs btn-block " | |
| 599 | + disabled="disabled" title="查看" onclick="detail('10179')" | |
| 600 | + data-toggle="tooltip" data-placement="top"> | |
| 601 | + <i class="fa fa-eye"></i> | |
| 602 | + </button> | |
| 603 | + </div> | |
| 604 | + <div class="width-10p pull-left padding-r-5"> | |
| 605 | + <button class="btn btn-danger btn-xs btn-block" | |
| 606 | + disabled="disabled" title="退领" onclick="back('10179')" | |
| 607 | + data-toggle="tooltip" data-placement="top"> | |
| 608 | + <i class="fa fa-mail-reply"></i> | |
| 609 | + </button> | |
| 610 | + </div> | |
| 611 | + | |
| 612 | + <div class="width-10p pull-right padding-r-5"> | |
| 613 | + <button class="btn btn-primary btn-xs btn-block" | |
| 614 | + disabled="disabled" title="日志" | |
| 615 | + onclick="reject('82_YKJ-0624-2')"> | |
| 616 | + <i class="fa fa-bullseye"></i> | |
| 617 | + </button> | |
| 618 | + </div> | |
| 619 | + | |
| 620 | + <div class="width-10p pull-right padding-r-5"> | |
| 621 | + <button class="btn btn-danger btn-xs btn-block" title="下线直播" | |
| 622 | + onclick="offline_live('10179')" data-toggle="tooltip" | |
| 623 | + data-placement="top" | |
| 624 | + data-target="#modal"> | |
| 625 | + <i class="fa fa-arrow-down"></i> | |
| 626 | + </button> | |
| 627 | + </div> | |
| 628 | + | |
| 629 | + <div class="width-10p pull-right padding-r-5"> | |
| 630 | + <button class="btn btn-danger btn-xs btn-block" title="下线主播" | |
| 631 | + onclick="offline_anchor('10179')" data-toggle="tooltip" | |
| 632 | + data-placement="top"> | |
| 633 | + <i class="glyphicon glyphicon-user"></i> | |
| 634 | + </button> | |
| 635 | + </div> | |
| 636 | + </div> | |
| 637 | + </div> | |
| 638 | + </table> | |
| 639 | + | |
| 640 | + </div> | |
| 641 | + </div> | |
| 642 | + </div> | |
| 643 | + </div> | |
| 644 | + </section> | |
| 645 | + <!-- /.content --> | |
| 646 | +<!-- <div class="box-footer"> --> | |
| 647 | +<!-- <div class="pull-right"></div> --> | |
| 648 | +<!-- </div> --> | |
| 649 | + </div> | |
| 650 | + <!-- /.content-wrapper --> | |
| 651 | + | |
| 652 | + <!-- 预览对话框 --> | |
| 653 | + <div class="modal fade" id="preview" role="dialog" aria-hidden="true"> | |
| 654 | + <div class="modal-dialog" style="width: 670px;"> | |
| 655 | + <div class="modal-content"> | |
| 656 | + <div class="modal-header"> | |
| 657 | + <button type="button" class="close" data-dismiss="modal" | |
| 658 | + aria-hidden="true">×</button> | |
| 659 | + <h5 class="modal-title" id="myModalLabel">视频预览</h5> | |
| 660 | + </div> | |
| 661 | + <div class="modal-body"> | |
| 662 | + <embed name="cnlive" width="640" height="450" id="cnlive" volume="0" | |
| 663 | + src="http://data.cnlive.com/export/UuidPlayerMain.swf" | |
| 664 | + flashVars="" type="application/x-shockwave-flash" wmode="window" | |
| 665 | + quility="high" allowscriptaccess="always" allowfullscreen="true"> | |
| 666 | + </div> | |
| 667 | + </div> | |
| 668 | + <!-- /.modal-content --> | |
| 669 | + </div> | |
| 670 | + <!-- /.modal --> | |
| 671 | + </div> | |
| 672 | + | |
| 673 | + <!-- 确认直播下线,直播下线 --> | |
| 674 | + <div class="modal" id="action_note" role="dialog" | |
| 675 | + aria-labelledby="myModalLabel"> | |
| 676 | + <div class="modal-dialog"> | |
| 677 | + <div class="modal-content"> | |
| 678 | + <div class="modal-header"> | |
| 679 | + <h4 class="modal-title">温馨提示</h4> | |
| 680 | + </div> | |
| 681 | + <div class="modal-body" id="msg2"></div> | |
| 682 | + | |
| 683 | + <div class="modal-footer"> | |
| 684 | + <button type="button" class="btn btn-default " | |
| 685 | + data-dismiss="modal" id="action_note_no">取消</button> | |
| 686 | + <button type="button" class="btn btn-primary" id="action_note_yes">确认</button> | |
| 687 | + <input type="hidden" name="action_note_type" id="action_note_type" | |
| 688 | + value="" /> <input type="hidden" name="action_note_id" | |
| 689 | + id="action_note_id" value="" /> | |
| 690 | + </div> | |
| 691 | + </div> | |
| 692 | + </div> | |
| 693 | + </div> | |
| 694 | + | |
| 695 | + | |
| 696 | + | |
| 697 | + | |
| 698 | + <script> | |
| 699 | + | |
| 700 | + $('#a_down').hide(); | |
| 701 | + | |
| 702 | + /*查询样式*/ | |
| 703 | + function openOrClose(id_name_str) { | |
| 704 | + var id_name = '#' + id_name_str; | |
| 705 | + if ($(id_name).css('display') == 'block') { | |
| 706 | + $(id_name).slideUp(350); | |
| 707 | + $('#a_up').show(); | |
| 708 | + $('#a_down').hide(); | |
| 709 | + } else { | |
| 710 | + $(id_name).slideDown(350); | |
| 711 | + $('#a_up').hide(); | |
| 712 | + $('#a_down').show(); | |
| 713 | + } | |
| 714 | + } | |
| 715 | + | |
| 716 | + | |
| 717 | + /*查询字段效果*/ | |
| 718 | + $('#videos_query').click(function() { | |
| 719 | + $('#table').bootstrapTable('selectPage', 1); | |
| 720 | + }); | |
| 721 | + | |
| 722 | + // $('#modal').modal('hide'); | |
| 723 | + $('#modal').on('hide.bs.modal', function(event) { | |
| 724 | + | |
| 725 | + }); | |
| 726 | + | |
| 727 | + //列表中的操作 ---预览,审核,查看,退领 | |
| 728 | + function preview(url) { | |
| 729 | + $('#cnlive').attr('flashVars', | |
| 730 | + "hasBorder=false&appid=82_irej0pbo53&type=live&model=2&videoURL=" | |
| 731 | + + url); | |
| 732 | + $('#preview').modal('show'); | |
| 733 | + $('.close').click(function() { | |
| 734 | + $('.preview').attr('display', 'none'); | |
| 735 | + }) | |
| 736 | + } | |
| 737 | + | |
| 738 | + /*认领*/ | |
| 739 | + function claim(id) { | |
| 740 | + var source_state = global_state; //当前按钮状态 | |
| 741 | + var current_state = $("#claim_" + id).val() //当前直播状态 | |
| 742 | + if (source_state == 0) { //从全部点认领让其跳转到我的已审 | |
| 743 | + if (current_state == 2) { //直播中 | |
| 744 | + var state = 2; | |
| 745 | + $.ajax({ | |
| 746 | + type : 'get', | |
| 747 | + data : { | |
| 748 | + '_token' : 'VljOVtqOXq8KDlkbyDxOSyDSx1VLv40V5TrDob74' | |
| 749 | + }, | |
| 750 | + url : '/live/claim/' + id+ "?current_state=" + current_state, | |
| 751 | + success : function(data) { | |
| 752 | + // window.location.href = '/live/filter/' + state; | |
| 753 | + if (data['status_code'] == 403) { | |
| 754 | + window.location.href = '/live/filter/' + 0; | |
| 755 | + } else { | |
| 756 | + window.location.href = '/live/filter/'+ state; | |
| 757 | + } | |
| 758 | + } | |
| 759 | + }); | |
| 760 | + } else { //已结束 | |
| 761 | + var state = 7; | |
| 762 | + $.ajax({ | |
| 763 | + type : 'get', | |
| 764 | + data : { | |
| 765 | + '_token' : 'VljOVtqOXq8KDlkbyDxOSyDSx1VLv40V5TrDob74' | |
| 766 | + }, | |
| 767 | + url : '/live/claim/' + id+ "?source_state=" + source_state, | |
| 768 | + success : function(data) { | |
| 769 | + // window.location.href = '/live/filter/' + state; | |
| 770 | + if (data['status_code'] == 403) { | |
| 771 | + window.location.href = '/live/filter/' + 0; | |
| 772 | + } else { | |
| 773 | + window.location.href = '/live/filter/'+ state; | |
| 774 | + } | |
| 775 | + } | |
| 776 | + }); | |
| 777 | + } | |
| 778 | + } else { | |
| 779 | + //我的待领页面中,点击认领就跳转到我的待审 | |
| 780 | + var state = 2; | |
| 781 | + $.ajax({ | |
| 782 | + type : 'get', | |
| 783 | + data : {'_token' : 'VljOVtqOXq8KDlkbyDxOSyDSx1VLv40V5TrDob74' | |
| 784 | + }, | |
| 785 | + url : '/live/claim/' + id, | |
| 786 | + success : function(data) { | |
| 787 | + // window.location.href = '/live/filter/' + state; | |
| 788 | + if (data['status_code'] == 403) { | |
| 789 | + window.location.href = '/live/filter/' + 1; | |
| 790 | + } else { | |
| 791 | + window.location.href = '/live/filter/'+ state; | |
| 792 | + } | |
| 793 | + } | |
| 794 | + }); | |
| 795 | + } | |
| 796 | + } | |
| 797 | + | |
| 798 | + /*查看*/ | |
| 799 | + function detail(id) { | |
| 800 | + // var flag = 'big-list'; | |
| 801 | + var state = global_state; | |
| 802 | + var time = Date.parse(new Date()); | |
| 803 | + if (typeof (id) == "undefined") { | |
| 804 | + return false; | |
| 805 | + } | |
| 806 | + window.open('/live/detail/' + id + '/' + time + '?state='+ state); | |
| 807 | + } | |
| 808 | + | |
| 809 | + /*退领*/ | |
| 810 | + function back(id) { | |
| 811 | + var state = global_state; | |
| 812 | + $.ajax({ | |
| 813 | + type : 'get', | |
| 814 | + data : { | |
| 815 | + '_token' : 'VljOVtqOXq8KDlkbyDxOSyDSx1VLv40V5TrDob74' | |
| 816 | + }, | |
| 817 | + url : '/live/back/' + id, | |
| 818 | + success : function(data) { | |
| 819 | + window.location.href = '/live' + '?state=' + state; | |
| 820 | + } | |
| 821 | + }); | |
| 822 | + } | |
| 823 | + /*拒绝*/ | |
| 824 | + function reject(id) { | |
| 825 | + // var act_id = row.activity_id; | |
| 826 | + $.ajax({ | |
| 827 | + type : 'get', | |
| 828 | + data : { | |
| 829 | + '_token' : 'VljOVtqOXq8KDlkbyDxOSyDSx1VLv40V5TrDob74', | |
| 830 | + 'act_id' : id | |
| 831 | + }, | |
| 832 | + url : '/live/get_msg/', | |
| 833 | + success : function(data) { | |
| 834 | + if (data['status_code'] == 200) { | |
| 835 | + var msg = eval("(" + data['data'] + ")") | |
| 836 | + console.log(msg) | |
| 837 | + if (msg == '') { | |
| 838 | + alert('没有审核记录'); | |
| 839 | + return false; | |
| 840 | + } else { | |
| 841 | + alert(msg); | |
| 842 | + } | |
| 843 | + } | |
| 844 | + } | |
| 845 | + }); | |
| 846 | + } | |
| 847 | + /*下线主播*/ | |
| 848 | + function offline_anchor(id) { | |
| 849 | + $('#msg2').html('您确认下线该主播吗?'); | |
| 850 | + $('#action_note').show(); | |
| 851 | + $("#action_note_type").val('offline_anchor'); | |
| 852 | + $("#action_note_id").val(id); | |
| 853 | + } | |
| 854 | + | |
| 855 | + /*下线直播*/ | |
| 856 | + function offline_live(id) { | |
| 857 | + | |
| 858 | + $('#msg2').html('您确认下线该直播吗?'); | |
| 859 | + $('#action_note').show(); | |
| 860 | + $("#action_note_type").val('offline_live'); | |
| 861 | + $("#action_note_id").val(id); | |
| 862 | + $('#modal_remove').attr('claim', 'claim'); | |
| 863 | + } | |
| 864 | + | |
| 865 | + $("#action_note_no").click(function() { | |
| 866 | + $("#action_note").hide(); | |
| 867 | + }); | |
| 868 | + | |
| 869 | + $("#action_note_yes").click(function() { | |
| 870 | + var action_note_type = $("#action_note_type").val(); | |
| 871 | + var id = $("#action_note_id").val(); | |
| 872 | + var state = global_state; | |
| 873 | + if (action_note_type == 'offline_live') { | |
| 874 | + $.ajax({ | |
| 875 | + type : 'get', | |
| 876 | + data : { | |
| 877 | + '_token' : 'VljOVtqOXq8KDlkbyDxOSyDSx1VLv40V5TrDob74', | |
| 878 | + 'msg' : '首页-下线直播-操作' | |
| 879 | + }, | |
| 880 | + url : '/live/offline_live/'+ id, | |
| 881 | + success : function(data) { | |
| 882 | + window.location.href = '/live'+ '?state=' + state; | |
| 883 | + } | |
| 884 | + }); | |
| 885 | + } else if (action_note_type == 'offline_anchor') { | |
| 886 | + $.ajax({ | |
| 887 | + type : 'get', | |
| 888 | + data : { | |
| 889 | + '_token' : 'VljOVtqOXq8KDlkbyDxOSyDSx1VLv40V5TrDob74', | |
| 890 | + 'msg' : '首页-下线主播-操作' | |
| 891 | + }, | |
| 892 | + url : '/live/offline_anchor/'+ id, | |
| 893 | + success : function(data) { | |
| 894 | + window.location.href = '/live'+ '?state=' + state; | |
| 895 | + } | |
| 896 | + }); | |
| 897 | + } else if (action_note_type = 'reject') { | |
| 898 | + $.ajax({ | |
| 899 | + type : 'get', | |
| 900 | + data : { | |
| 901 | + '_token' : 'VljOVtqOXq8KDlkbyDxOSyDSx1VLv40V5TrDob74', | |
| 902 | + 'msg' : '首页-拒绝-操作' | |
| 903 | + }, | |
| 904 | + url : '/live/reject/' + id, | |
| 905 | + success : function(data) { | |
| 906 | + window.location.href = '/live'+ '?state=' + state; | |
| 907 | + } | |
| 908 | + }); | |
| 909 | + } | |
| 910 | + }) | |
| 911 | + </script> | |
| 912 | + <script> | |
| 913 | + $(function() { | |
| 914 | + $("[data-toggle='tooltip']").tooltip(); | |
| 915 | + }); | |
| 916 | + </script> | |
| 917 | + | |
| 918 | + | |
| 919 | + | |
| 920 | + <footer th:replace="../templates/common/foot::foot"></footer> | |
| 921 | + | |
| 922 | + | |
| 923 | + <!-- Control Sidebar --> | |
| 924 | + <aside class="control-sidebar control-sidebar-dark"> | |
| 925 | + <!-- Create the tabs --> | |
| 926 | + <ul class="nav nav-tabs nav-justified control-sidebar-tabs"> | |
| 927 | + <li><a href="#control-sidebar-home-tab" data-toggle="tab"><i | |
| 928 | + class="fa fa-home"></i></a></li> | |
| 929 | + <li><a href="#control-sidebar-settings-tab" data-toggle="tab"><i | |
| 930 | + class="fa fa-gears"></i></a></li> | |
| 931 | + </ul> | |
| 932 | + <!-- Tab panes --> | |
| 933 | + <div class="tab-content"> | |
| 934 | + <!-- Home tab content --> | |
| 935 | + <div class="tab-pane" id="control-sidebar-home-tab"></div> | |
| 936 | + <!-- /.tab-pane --> | |
| 937 | + </div> | |
| 938 | + </aside> | |
| 939 | + <!-- /.control-sidebar --> | |
| 940 | + <!-- Add the sidebar's background. This div must be placed | |
| 941 | + immediately after the control sidebar --> | |
| 942 | + <div class="control-sidebar-bg"></div> | |
| 943 | + | |
| 944 | + </div> | |
| 945 | + <!-- ./wrapper --> | |
| 946 | +</body> | |
| 947 | + | |
| 948 | + | |
| 949 | +<!-- Resolve conflict in jQuery UI tooltip with Bootstrap tooltip --> | |
| 950 | +<script type="text/javascript"> | |
| 951 | + $('div.alert').not('.alert-danger').delay(3000).slideUp(300); | |
| 952 | +</script> | |
| 953 | + | |
| 954 | +<!-- AdminLTE App --> | |
| 955 | +<script src="./../../static/js/app.min.js"></script> | |
| 956 | +<!-- AdminLTE for demo purposes --> | |
| 957 | +<script src="./../../static/js/sidebar.js"></script> | |
| 958 | + | |
| 959 | +</html> | ... | ... |