Commit 588585cab9e60711b7a922477504a3a91949dd24
1 parent
5ff861e0
代码合并,完善导航
Showing
11 changed files
with
301 additions
and
121 deletions
src/main/java/com/cnlive/mz/live/action/LiveAction.java
| ... | ... | @@ -50,6 +50,7 @@ public class LiveAction { |
| 50 | 50 | private TRoomService tRoomService; |
| 51 | 51 | @Inject |
| 52 | 52 | private TCheckService tCheckService; |
| 53 | + | |
| 53 | 54 | @Request.Get("/live/preload") |
| 54 | 55 | public View preload() { |
| 55 | 56 | int user_id = CastUtil.castInt(DataContext.getRequest().getSession().getAttribute(LiveUtils.SESSION_KEY_ID)); |
| ... | ... | @@ -117,36 +118,37 @@ public class LiveAction { |
| 117 | 118 | |
| 118 | 119 | // 切断 |
| 119 | 120 | @Request.Post("/check/cut/{id}") |
| 120 | - public Result cut(int id,Params params) throws UnsupportedEncodingException { | |
| 121 | + public Result cut(int id, Params params) throws UnsupportedEncodingException { | |
| 121 | 122 | String live_url = params.getString("live_url"); |
| 122 | 123 | String video_uuid = params.getString("uuid"); |
| 123 | - if(live_url.isEmpty()){ | |
| 124 | + if (live_url.isEmpty()) { | |
| 124 | 125 | return null; |
| 125 | - }else{ | |
| 126 | - int index = live_url.lastIndexOf("live"); | |
| 127 | - String streamName = live_url.substring(index+6); | |
| 128 | - System.out.println("streamName==="+streamName); | |
| 129 | - String accesskey = BaseUtil.getAccessKey(); | |
| 130 | - accesskey = java.net.URLEncoder.encode(accesskey,"utf-8"); | |
| 131 | - String add = "add"; | |
| 132 | - String signature = BaseUtil.signature(add,streamName); | |
| 133 | - String del = "del"; | |
| 134 | - String delsignature = BaseUtil.signature(del,streamName); | |
| 135 | - String expire = BaseUtil.getTimestamp(); | |
| 136 | - System.out.println(expire+"---expire---"); | |
| 137 | - //断流。 | |
| 138 | - try { | |
| 139 | - addBlackList(signature,accesskey,expire,streamName); | |
| 140 | - delBlackList(delsignature,accesskey,expire,streamName); | |
| 141 | - } catch (UnsupportedEncodingException e) { | |
| 142 | - e.printStackTrace(); | |
| 126 | + } else { | |
| 127 | + int index = live_url.lastIndexOf("live"); | |
| 128 | + String streamName = live_url.substring(index + 6); | |
| 129 | + System.out.println("streamName===" + streamName); | |
| 130 | + String accesskey = BaseUtil.getAccessKey(); | |
| 131 | + accesskey = java.net.URLEncoder.encode(accesskey, "utf-8"); | |
| 132 | + String add = "add"; | |
| 133 | + String signature = BaseUtil.signature(add, streamName); | |
| 134 | + String del = "del"; | |
| 135 | + String delsignature = BaseUtil.signature(del, streamName); | |
| 136 | + String expire = BaseUtil.getTimestamp(); | |
| 137 | + System.out.println(expire + "---expire---"); | |
| 138 | + // 断流。 | |
| 139 | + try { | |
| 140 | + addBlackList(signature, accesskey, expire, streamName); | |
| 141 | + delBlackList(delsignature, accesskey, expire, streamName); | |
| 142 | + } catch (UnsupportedEncodingException e) { | |
| 143 | + e.printStackTrace(); | |
| 144 | + } | |
| 145 | + // 直播通知 | |
| 146 | + // tLiveService.notify(video_uuid, "-1"); | |
| 147 | + boolean flag = tCheckService.closeLive(id); | |
| 148 | + return new Result(flag); | |
| 143 | 149 | } |
| 144 | - // 直播通知 | |
| 145 | - //tLiveService.notify(video_uuid, "-1"); | |
| 146 | - boolean flag = tCheckService.closeLive(id); | |
| 147 | - return new Result(flag); | |
| 148 | - } | |
| 149 | 150 | } |
| 151 | + | |
| 150 | 152 | // 通过审核 |
| 151 | 153 | @Request.Get("/check/pass/{id}") |
| 152 | 154 | public Result pass(int id) { |
| ... | ... | @@ -154,23 +156,9 @@ public class LiveAction { |
| 154 | 156 | return new Result(true); |
| 155 | 157 | } |
| 156 | 158 | |
| 157 | - @Request.Post("/check/close/{id}") | |
| 158 | - public Result coseLive(int id, Params params) throws UnsupportedEncodingException { | |
| 159 | - String userId = params.getString("user_id"); | |
| 160 | - String streamName = userId + "_" + id; | |
| 161 | - // String streamName = "498122_57"; | |
| 162 | - String accesskey = "I3TC8a4xboPUMe5xlp22"; | |
| 163 | - accesskey = java.net.URLEncoder.encode(accesskey, "utf-8"); | |
| 164 | - String signature = BaseUtil.signature(streamName); | |
| 165 | - String expire = String.valueOf(BaseUtil.getTimestamp()).substring(0, 10); | |
| 166 | - System.out.println(expire + "---expire---"); | |
| 167 | - // 添加到黑名单。。 | |
| 168 | - try { | |
| 169 | - addBlackList(signature, accesskey, expire, streamName); | |
| 170 | - } catch (UnsupportedEncodingException e) { | |
| 171 | - e.printStackTrace(); | |
| 172 | - } | |
| 173 | - boolean flag = tLiveService.closeLive(id); | |
| 159 | + @Request.Post("/check/close/{id}/{uuid}") | |
| 160 | + public Result coseLive(int id, String uuid) { | |
| 161 | + boolean flag = tLiveService.closeLive(id, uuid); | |
| 174 | 162 | return new Result(flag); |
| 175 | 163 | } |
| 176 | 164 | |
| ... | ... | @@ -184,12 +172,13 @@ public class LiveAction { |
| 184 | 172 | * @return |
| 185 | 173 | * @throws UnsupportedEncodingException |
| 186 | 174 | */ |
| 187 | - public String addBlackList(String signature, String accesskey, String expire,String streamName) throws UnsupportedEncodingException { | |
| 188 | - String url = "http://cnlive.dashboard.ks-cdn.com/blacklist?signature="+signature+"&accesskey="+accesskey+"&expire="+expire+"&app=live&method=add&name=" + streamName; | |
| 175 | + public String addBlackList(String signature, String accesskey, String expire, String streamName) throws UnsupportedEncodingException { | |
| 176 | + String url = "http://cnlive.dashboard.ks-cdn.com/blacklist?signature=" + signature + "&accesskey=" + accesskey + "&expire=" + expire | |
| 177 | + + "&app=live&method=add&name=" + streamName; | |
| 189 | 178 | System.out.println(url); |
| 190 | 179 | String jsonArrStr = HttpReq.getRequestWidthResult(url); |
| 191 | 180 | int status = HttpReq.getRequest(url); |
| 192 | - System.out.println(status+"......and......"+jsonArrStr); | |
| 181 | + System.out.println(status + "......and......" + jsonArrStr); | |
| 193 | 182 | return jsonArrStr; |
| 194 | 183 | } |
| 195 | 184 | |
| ... | ... | @@ -203,30 +192,32 @@ public class LiveAction { |
| 203 | 192 | * @return |
| 204 | 193 | * @throws UnsupportedEncodingException |
| 205 | 194 | */ |
| 206 | - public Object delBlackList(String signature, String accesskey, String expire,String streamName) throws UnsupportedEncodingException { | |
| 207 | - String url = "http://cnlive.dashboard.ks-cdn.com/blacklist?signature="+signature+"&accesskey="+accesskey+"&expire="+expire+"&app=live&method=del&name=" + streamName; | |
| 208 | - System.out.println("..url.."+url); | |
| 195 | + public Object delBlackList(String signature, String accesskey, String expire, String streamName) throws UnsupportedEncodingException { | |
| 196 | + String url = "http://cnlive.dashboard.ks-cdn.com/blacklist?signature=" + signature + "&accesskey=" + accesskey + "&expire=" + expire | |
| 197 | + + "&app=live&method=del&name=" + streamName; | |
| 198 | + System.out.println("..url.." + url); | |
| 209 | 199 | String jsonArrStr = HttpReq.getRequestWidthResult(url); |
| 210 | - System.out.println("..jsonArrStr.."+jsonArrStr); | |
| 200 | + System.out.println("..jsonArrStr.." + jsonArrStr); | |
| 211 | 201 | return jsonArrStr; |
| 212 | 202 | |
| 213 | 203 | } |
| 204 | + | |
| 214 | 205 | @Request.Get("/live/alllive/{page_number}") |
| 215 | 206 | public View liveList(int page_number) { |
| 216 | 207 | int user_id = CastUtil.castInt(DataContext.getRequest().getSession().getAttribute(LiveUtils.SESSION_KEY_ID)); |
| 217 | - System.out.println(user_id); | |
| 218 | - Pager<TLive> tLive = tLiveService.getTLivePager(page_number, Constants.PAGE_SIZE); | |
| 208 | + Pager<TLive> tLive = tLiveService.getAllTLivePager(page_number, Constants.PAGE_SIZE); | |
| 219 | 209 | return new View("live/all_live_management.jsp").data("tLive", tLive); |
| 220 | - } | |
| 210 | + } | |
| 211 | + | |
| 221 | 212 | @Request.Post("/live/search/{page_number}") |
| 222 | - public View search(int page_number,Params params) { | |
| 213 | + public View search(int page_number, Params params) { | |
| 223 | 214 | int user_id = CastUtil.castInt(DataContext.getRequest().getSession().getAttribute(LiveUtils.SESSION_KEY_ID)); |
| 224 | 215 | System.out.println(user_id); |
| 225 | - System.out.println("...parmas..."+params); | |
| 216 | + System.out.println("...parmas..." + params); | |
| 226 | 217 | String t_user_id = params.getString("search_user_id"); |
| 227 | 218 | String title = params.getString("search_title"); |
| 228 | - Pager<TLive> tLive = tLiveService.getTLiveAllPager(page_number, Constants.PAGE_SIZE,t_user_id,title); | |
| 219 | + Pager<TLive> tLive = tLiveService.getTLiveAllPager(page_number, Constants.PAGE_SIZE, t_user_id, title); | |
| 229 | 220 | System.out.println(tLive); |
| 230 | 221 | return new View("live/all_live_management.jsp").data("tLive", tLive); |
| 231 | - } | |
| 222 | + } | |
| 232 | 223 | } |
| 233 | 224 | \ No newline at end of file | ... | ... |
src/main/java/com/cnlive/mz/live/action/UserAction.java
0 → 100644
| 1 | +package com.cnlive.mz.live.action; | |
| 2 | + | |
| 3 | +import org.smart4j.framework.dao.bean.Pager; | |
| 4 | +import org.smart4j.framework.ioc.annotation.Inject; | |
| 5 | +import org.smart4j.framework.mvc.annotation.Action; | |
| 6 | +import org.smart4j.framework.mvc.annotation.Request; | |
| 7 | +import org.smart4j.framework.mvc.bean.Result; | |
| 8 | +import org.smart4j.framework.mvc.bean.View; | |
| 9 | + | |
| 10 | +import com.cnlive.mz.live.entity.TLive; | |
| 11 | +import com.cnlive.mz.live.entity.TUser; | |
| 12 | +import com.cnlive.mz.live.service.TUserService; | |
| 13 | + | |
| 14 | +@Action | |
| 15 | +public class UserAction { | |
| 16 | + | |
| 17 | + @Inject | |
| 18 | + private TUserService tUserService; | |
| 19 | + | |
| 20 | + /** | |
| 21 | + * 获取用户列表页 | |
| 22 | + * | |
| 23 | + * @param pageNumber | |
| 24 | + * @return | |
| 25 | + */ | |
| 26 | + @Request.Get("/user/list/{pageNumber}") | |
| 27 | + public View getUsers(int pageNumber) { | |
| 28 | + Pager<TUser> userPage = tUserService.getTUserPage(pageNumber); | |
| 29 | + return new View("user/user_list.jsp").data("userPage", userPage); | |
| 30 | + } | |
| 31 | + | |
| 32 | + @Request.Get("/user/live/{userId}/{pageNumber}") | |
| 33 | + public View getLiveList(int userId, int pageNumber) { | |
| 34 | + Pager<TLive> userPage = tUserService.getTLivePage(userId, pageNumber); | |
| 35 | + return new View("user/user_live_list.jsp").data("userPage", userPage); | |
| 36 | + } | |
| 37 | + | |
| 38 | + @Request.Get("/user/report/{userId}") | |
| 39 | + public Result getUserByReport(int userId) { | |
| 40 | + return new Result(tUserService.addReport(userId)); | |
| 41 | + } | |
| 42 | + | |
| 43 | +} | ... | ... |
src/main/resources/smart.properties
| ... | ... | @@ -3,14 +3,23 @@ smart.framework.app.home_page=/index |
| 3 | 3 | smart.framework.app.www_path=/static/ |
| 4 | 4 | smart.framework.app.jsp_path=/pages/ |
| 5 | 5 | smart.framework.custom.ds_factory=org.smart4j.plugin.dbcp.DbcpDataSourceFactory |
| 6 | -#smart.framework.custom.ds_factory=org.smart4j.plugin.druid.DruidDataSourceFactory | |
| 7 | 6 | |
| 8 | 7 | |
| 9 | 8 | smart.framework.jdbc.type=mysql |
| 10 | 9 | smart.framework.jdbc.driver=com.mysql.jdbc.Driver |
| 11 | -smart.framework.jdbc.url=jdbc:mysql://124.193.218.90:3306/cnlive_live?autoReconnect=true&failOverReadOnly=false | |
| 12 | -smart.framework.jdbc.username=cnlive_oa | |
| 13 | -smart.framework.jdbc.password=H8rf#_3@ccx9( | |
| 10 | +#smart.framework.jdbc.url=jdbc:mysql://124.193.218.90:3306/cnlive_live?autoReconnect=true&failOverReadOnly=false | |
| 11 | +#smart.framework.jdbc.username=cnlive_oa | |
| 12 | +#smart.framework.jdbc.password=H8rf#_3@ccx9( | |
| 13 | + | |
| 14 | +smart.framework.jdbc.url=jdbc:mysql://123.59.27.186:23306/cnlive_live?autoReconnect=true&failOverReadOnly=false | |
| 15 | +smart.framework.jdbc.username=ugc | |
| 16 | +smart.framework.jdbc.password=liujicheng@cnlive.COM | |
| 17 | + | |
| 18 | + | |
| 19 | +#smart.framework.jdbc.url=jdbc:mysql://localhost:3306/cnlive_live?autoReconnect=true&failOverReadOnly=false | |
| 20 | +#smart.framework.jdbc.username=root | |
| 21 | +#smart.framework.jdbc.password=root | |
| 22 | + | |
| 14 | 23 | # |
| 15 | 24 | smart.plugin.i18n.reloadable=true |
| 16 | 25 | smart.plugin.rest.log=true |
| ... | ... | @@ -25,7 +34,7 @@ sample.upload_path=/www/upload/ |
| 25 | 34 | |
| 26 | 35 | mail.template_path=D:/apache-tomcat-7.0.61/webapps/cnlive_live_web/pages/mail.html |
| 27 | 36 | website.url=http://localhost:8080/cnlive_live_web/ |
| 28 | -auth.enable=false | |
| 37 | +auth.enable=true | |
| 29 | 38 | auth.login.url=http://sso.staff.cnlive.com/CnliveSSO/login?from=mam-live&callbackUrl= |
| 30 | 39 | auth.logout.url=http://sso.staff.cnlive.com/CnliveSSO/logOut?from=mam-live&callbackUrl= |
| 31 | 40 | auth.userinfo.url=http://sso.staff.cnlive.com/CnliveSSO/getUserInfo?username= | ... | ... |
src/main/webapp/pages/common/left.jsp
| ... | ... | @@ -18,8 +18,8 @@ |
| 18 | 18 | </div> |
| 19 | 19 | </div> |
| 20 | 20 | <ul class="sidebar-menu"> |
| 21 | - <c:if test="true"> | |
| 22 | - <li class="header">导航栏</li> | |
| 21 | + <c:if test="${sessionScope.roleId=='0'}"> | |
| 22 | + <li class="header">导航栏</li> | |
| 23 | 23 | <li> |
| 24 | 24 | <a href="${BASE}/switch"><i class="fa fa-circle-o text-blue"></i>全局切换</a> |
| 25 | 25 | </li> |
| ... | ... | @@ -42,28 +42,6 @@ |
| 42 | 42 | <li> |
| 43 | 43 | <a href="${BASE}/signal/list/1"><i class="fa fa-circle-o text-red"></i>信源管理</a> |
| 44 | 44 | </li> |
| 45 | - <!-- 主播 --> | |
| 46 | - <li class="header">UGC直播</li> | |
| 47 | - <li> | |
| 48 | - <a href="${BASE}/room/list/1"><i class="fa fa-circle-o text-yellow"></i>直播间管理</a> | |
| 49 | - </li> | |
| 50 | - <li> | |
| 51 | - <a href="${BASE}/live/list/1"><i class="fa fa-circle-o text-yellow"></i>直播活动管理</a> | |
| 52 | - </li> | |
| 53 | - <li> | |
| 54 | - <a href="${BASE}/video/list/1"><i class="fa fa-circle-o text-yellow"></i>直播录制管理</a> | |
| 55 | - </li> | |
| 56 | - <li> | |
| 57 | - <a href="${BASE}/check/list/1"><i class="fa fa-circle-o text-yellow"></i>直播审查</a> | |
| 58 | - </li> | |
| 59 | - <li> | |
| 60 | - <a href="${BASE}/video/check/1"><i class="fa fa-circle-o text-yellow"></i>点播审查</a> | |
| 61 | - </li> | |
| 62 | - <li> | |
| 63 | - <a href="${BASE}/live/alllive/1"><i class="fa fa-circle-o text-yellow"></i>直播管理</a> | |
| 64 | - </li> | |
| 65 | - </c:if> | |
| 66 | - <c:if test="${sessionScope.roleId=='0'}"> | |
| 67 | 45 | <li class="header">导航栏</li> |
| 68 | 46 | <li> |
| 69 | 47 | <a href="${BASE}/activity/preload"><i class="fa fa-circle-o"></i>新增活动</a> |
| ... | ... | @@ -80,11 +58,19 @@ |
| 80 | 58 | </li> |
| 81 | 59 | </c:if> |
| 82 | 60 | <c:if test="${sessionScope.roleId=='2'}"> |
| 83 | - <!-- 主播 --> | |
| 84 | - <li class="header">UGC直播</li> | |
| 85 | - <li> | |
| 86 | - <a href="${BASE}/check/list/1"><i class="fa fa-circle-o text-yellow"></i>直播审查</a> | |
| 87 | - </li> | |
| 61 | + <li class="header">UGC直播审查</li> | |
| 62 | + <li> | |
| 63 | + <a href="${BASE}/user/list/1"><i class="fa fa-circle-o text-yellow"></i>主播管理</a> | |
| 64 | + </li> | |
| 65 | + <li> | |
| 66 | + <a href="${BASE}/check/list/1"><i class="fa fa-circle-o text-red"></i>直播审查</a> | |
| 67 | + </li> | |
| 68 | + <li> | |
| 69 | + <a href="${BASE}/video/check/1"><i class="fa fa-circle-o text-green"></i>点播审查</a> | |
| 70 | + </li> | |
| 71 | + <li> | |
| 72 | + <a href="${BASE}/live/alllive/1"><i class="fa fa-circle-o text-yellow"></i>直播管理</a> | |
| 73 | + </li> | |
| 88 | 74 | </c:if> |
| 89 | 75 | </ul> |
| 90 | 76 | </section> | ... | ... |
src/main/webapp/pages/live/all_live_management.jsp
| ... | ... | @@ -4,7 +4,7 @@ |
| 4 | 4 | <html> |
| 5 | 5 | <head> |
| 6 | 6 | <meta charset="UTF-8"> |
| 7 | -<title>直播活动管理 | <f:message key="common.title" /></title> | |
| 7 | +<title>直播管理 | <f:message key="common.title" /></title> | |
| 8 | 8 | <meta |
| 9 | 9 | content='width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no' |
| 10 | 10 | name='viewport'> |
| ... | ... | @@ -17,13 +17,14 @@ |
| 17 | 17 | <div class="content-wrapper"> |
| 18 | 18 | <!-- Content Header (Page header) --> |
| 19 | 19 | <section class="content-header"> |
| 20 | - <h1>直播活动管理<small class="label label-warning" style="display: none" | |
| 21 | - id="info_tab_span"><i class="fa fa-bell-o"></i></small> | |
| 20 | + <h1> | |
| 21 | + 直播管理<small class="label label-warning" style="display: none" | |
| 22 | + id="info_tab_span"><i class="fa fa-bell-o"></i></small> | |
| 22 | 23 | </h1> |
| 23 | 24 | |
| 24 | 25 | <ol class="breadcrumb"> |
| 25 | 26 | <li><a><i class="fa fa-dashboard"></i> 首页</a></li> |
| 26 | - <li class="active">活动管理</li> | |
| 27 | + <li class="active">直播管理</li> | |
| 27 | 28 | </ol> |
| 28 | 29 | </section> |
| 29 | 30 | <!-- Main content --> |
| ... | ... | @@ -37,10 +38,10 @@ |
| 37 | 38 | <div class="input-group"> |
| 38 | 39 | <form action="../search/1" method="post"> |
| 39 | 40 | <div class="input-group"> |
| 40 | - <input type="text" name="search_user_id" id="search_user_id" | |
| 41 | + <input type="text" name="search_user_id" id="search_user_id" | |
| 41 | 42 | class="form-control input-sm" style="width: 150px;" |
| 42 | - placeholder="用户id" /> | |
| 43 | - <input type="text" name="search_title" id="search_title" | |
| 43 | + placeholder="用户id" /> <input type="text" | |
| 44 | + name="search_title" id="search_title" | |
| 44 | 45 | class="form-control input-sm" style="width: 150px;" |
| 45 | 46 | placeholder="活动名称" /> |
| 46 | 47 | <button id="t_activity_search_btn" type="submit" |
| ... | ... | @@ -56,8 +57,8 @@ |
| 56 | 57 | <div class="box-body"> |
| 57 | 58 | <table class="table table-bordered"> |
| 58 | 59 | <tr> |
| 59 | - <th>活动ID</th> | |
| 60 | - <th>用户ID</th> | |
| 60 | + <th>活动ID</th> | |
| 61 | + <th>stream_name</th> | |
| 61 | 62 | <th>活动名称</th> |
| 62 | 63 | <th>开始时间</th> |
| 63 | 64 | <th>结束时间</th> |
| ... | ... | @@ -67,27 +68,26 @@ |
| 67 | 68 | <c:forEach var="item" items="${tLive.recordList}" |
| 68 | 69 | varStatus="stat"> |
| 69 | 70 | <tr> |
| 70 | - <td>${item.id}</td> | |
| 71 | - <td>${item.t_user_id}</td> | |
| 71 | + <td>${item.id}</td> | |
| 72 | + <td>${item.t_user_id}_${item.uuid}</td> | |
| 72 | 73 | <td>${item.title}</td> |
| 73 | 74 | <td><fmt:formatDate value="${item.start_time}" |
| 74 | 75 | pattern="yyyy-MM-dd HH:mm" /></td> |
| 75 | 76 | <td>${item.end_time}</td> |
| 76 | - <td> | |
| 77 | - <c:if test="${item.t_status_id==0}"> | |
| 77 | + <td><c:if | |
| 78 | + test="${item.t_status_id==0}"> | |
| 78 | 79 | <span class="badge bg-green">未开始</span> |
| 79 | 80 | </c:if> <c:if test="${item.t_status_id==2}"> |
| 80 | - <span class="badge bg-red">直播中</span> | |
| 81 | + <span class="badge bg-green">正常结束</span> | |
| 81 | 82 | </c:if> <c:if test="${item.t_status_id==1}"> |
| 82 | - <span class="badge">直播结束</span> | |
| 83 | + <span class="badge bg-yellow">直播中</span> | |
| 83 | 84 | </c:if> <c:if test="${item.t_status_id==-2}"> |
| 84 | - <span class="badge">回放同步中</span> | |
| 85 | - </c:if> | |
| 86 | - </td> | |
| 87 | - | |
| 85 | + <span class="badge bg-red">异常结束</span> | |
| 86 | + </c:if></td> | |
| 87 | + | |
| 88 | 88 | <td> |
| 89 | 89 | <button class="btn btn-danger btn-sm" |
| 90 | - onclick="t_live_close('${item.id}','${item.live_url}');"> | |
| 90 | + onclick="t_live_close('${item.id}','${item.uuid}');"> | |
| 91 | 91 | <i class="fa fa-close"></i> |
| 92 | 92 | </button> |
| 93 | 93 | </td> | ... | ... |
src/main/webapp/pages/live/live_management.jsp
| ... | ... | @@ -10,7 +10,9 @@ |
| 10 | 10 | name='viewport'> |
| 11 | 11 | <%@ include file="/pages/common/css.jsp"%> |
| 12 | 12 | </head> |
| 13 | -<body class="skin-blue fixed "> | |
| 13 | +<!-- | |
| 14 | +<body class="skin-blue fixed ">--> | |
| 15 | +<body class="skin-blue sidebar-mini"> | |
| 14 | 16 | <div class="wrapper"> |
| 15 | 17 | <%@ include file="/pages/common/top.jsp"%> |
| 16 | 18 | <%@ include file="/pages/common/left.jsp"%> | ... | ... |
src/main/webapp/pages/live/video_management.jsp
| ... | ... | @@ -4,7 +4,7 @@ |
| 4 | 4 | <html> |
| 5 | 5 | <head> |
| 6 | 6 | <meta charset="UTF-8"> |
| 7 | -<title>直播录制管理 | <f:message key="common.title" /></title> | |
| 7 | +<title>点播录制管理 | <f:message key="common.title" /></title> | |
| 8 | 8 | <meta |
| 9 | 9 | content='width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no' |
| 10 | 10 | name='viewport'> | ... | ... |
src/main/webapp/pages/user/user_list.jsp
0 → 100644
| 1 | +<%@ page language="java" pageEncoding="UTF-8"%> | |
| 2 | +<%@ include file="/pages/common/taglib.jsp"%> | |
| 3 | +<!DOCTYPE html> | |
| 4 | +<html> | |
| 5 | +<head> | |
| 6 | +<meta charset="UTF-8"> | |
| 7 | +<title>用户管理 | <f:message key="common.title" /></title> | |
| 8 | +<meta | |
| 9 | + content='width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no' | |
| 10 | + name='viewport'> | |
| 11 | +<%@ include file="/pages/common/css.jsp"%> | |
| 12 | +</head> | |
| 13 | +<body class="skin-blue sidebar-mini"> | |
| 14 | + <div class="wrapper"> | |
| 15 | + <%@ include file="/pages/common/top.jsp"%> | |
| 16 | + <%@ include file="/pages/common/left.jsp"%> | |
| 17 | + <div class="content-wrapper"> | |
| 18 | + <!-- Content Header (Page header) --> | |
| 19 | + <section class="content-header"> | |
| 20 | + <h1> | |
| 21 | + 用户管理 <small class="label label-warning" style="display: none" | |
| 22 | + id="info_tab_span"><i class="fa fa-bell-o"></i></small> | |
| 23 | + </h1> | |
| 24 | + <ol class="breadcrumb"> | |
| 25 | + <li><a><i class="fa fa-dashboard"></i> 首页</a></li> | |
| 26 | + <li><a>用户管理</a></li> | |
| 27 | + </ol> | |
| 28 | + </section> | |
| 29 | + <!-- Main content --> | |
| 30 | + <section class="content"> | |
| 31 | + <div class="row"> | |
| 32 | + <div class="col-xs-12"> | |
| 33 | + <div class="box box-success"> | |
| 34 | + <div class="box-header with-border"> | |
| 35 | + <!-- <h3 class="box-title"></h3> --> | |
| 36 | + <div class="box-tools"> | |
| 37 | + <div class="input-group"></div> | |
| 38 | + </div> | |
| 39 | + </div> | |
| 40 | + <!-- /.box-header --> | |
| 41 | + <div class="box-body"> | |
| 42 | + <table class="table table-bordered"> | |
| 43 | + <tr> | |
| 44 | + <th>用户名</th> | |
| 45 | + <th>用户权限</th> | |
| 46 | + <th>创建日期</th> | |
| 47 | + <th>举报次数</th> | |
| 48 | + <th>播放列表</th> | |
| 49 | + </tr> | |
| 50 | + <c:forEach var="item" items="${userPage.recordList}" | |
| 51 | + varStatus="stat"> | |
| 52 | + <tr> | |
| 53 | + <td>${item.name}</td> | |
| 54 | + <td>${item.is_admin}</td> | |
| 55 | + <td>${item.create_time}</td> | |
| 56 | + <td> | |
| 57 | + <c:if test="${item.reported_count<=5}"><span class="badge">${item.reported_count}</span></c:if> | |
| 58 | + <c:if test="${item.reported_count>5}"><span class="badge bg-red">${item.reported_count}</span></c:if> | |
| 59 | + </td> | |
| 60 | + <td><a href="${BASE}/user/live/${item.id}/1">查看</a></td> | |
| 61 | + </tr> | |
| 62 | + </c:forEach> | |
| 63 | + </table> | |
| 64 | + </div> | |
| 65 | + <div class="box-footer clearfix "> | |
| 66 | + <center> | |
| 67 | + <tag:pager id="product_pager" pager="${userPage}" /> | |
| 68 | + </center> | |
| 69 | + </div> | |
| 70 | + </div> | |
| 71 | + </div> | |
| 72 | + </div> | |
| 73 | + </section> | |
| 74 | + </div> | |
| 75 | + <%@ include file="/pages/common/bottom.jsp"%> | |
| 76 | + <%@ include file="/pages/common/js.jsp"%> | |
| 77 | + </div> | |
| 78 | +</body> | |
| 79 | +</html> | ... | ... |
src/main/webapp/pages/user/user_live_list.jsp
0 → 100644
| 1 | +<%@ page language="java" pageEncoding="UTF-8"%> | |
| 2 | +<%@ include file="/pages/common/taglib.jsp"%> | |
| 3 | +<!DOCTYPE html> | |
| 4 | +<html> | |
| 5 | +<head> | |
| 6 | +<meta charset="UTF-8"> | |
| 7 | +<title>用户管理 | <f:message key="common.title" /></title> | |
| 8 | +<meta | |
| 9 | + content='width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no' | |
| 10 | + name='viewport'> | |
| 11 | +<%@ include file="/pages/common/css.jsp"%> | |
| 12 | + | |
| 13 | +</head> | |
| 14 | +<body class="skin-blue sidebar-mini"> | |
| 15 | + <div class="wrapper"> | |
| 16 | + <%@ include file="/pages/common/top.jsp"%> | |
| 17 | + <%@ include file="/pages/common/left.jsp"%> | |
| 18 | + <div class="content-wrapper"> | |
| 19 | + <!-- Content Header (Page header) --> | |
| 20 | + <section class="content-header"> | |
| 21 | + <h1>播放列表</h1> | |
| 22 | + <ol class="breadcrumb"> | |
| 23 | + <li><a><i class="fa fa-dashboard"></i> 首页</a></li> | |
| 24 | + <li><a>播放列表</a></li> | |
| 25 | + </ol> | |
| 26 | + </section> | |
| 27 | + <!-- Main content --> | |
| 28 | + <section class="content"> | |
| 29 | + <div class="row"> | |
| 30 | + <div class="col-xs-12"> | |
| 31 | + <div class="box box-success"> | |
| 32 | + <div class="box-header with-border"> | |
| 33 | + <!-- <h3 class="box-title"></h3> --> | |
| 34 | + <div class="box-tools"> | |
| 35 | + <div class="input-group"></div> | |
| 36 | + </div> | |
| 37 | + </div> | |
| 38 | + <!-- /.box-header --> | |
| 39 | + <div class="box-body"> | |
| 40 | + <table class="table table-bordered table-hover"> | |
| 41 | + <tr> | |
| 42 | + <th>标题</th> | |
| 43 | + <th>状态</th> | |
| 44 | + <th>开始时间</th> | |
| 45 | + <th>结束时间</th> | |
| 46 | + <th>回放地址</th> | |
| 47 | + </tr> | |
| 48 | + <c:forEach var="item" items="${userPage.recordList}" | |
| 49 | + varStatus="stat"> | |
| 50 | + <tr> | |
| 51 | + <td>${item.title}</td> | |
| 52 | + <td>${item.t_status_id}</td> | |
| 53 | + <td>${item.start_time}</td> | |
| 54 | + <td>${item.end_time}</td> | |
| 55 | + <td><abbr title="initialism">${item.live_url}</abbr></td> | |
| 56 | + </tr> | |
| 57 | + </c:forEach> | |
| 58 | + </table> | |
| 59 | + </div> | |
| 60 | + <div class="box-footer clearfix "> | |
| 61 | + <center> | |
| 62 | + <tag:pager id="product_pager" pager="${userPage}" /> | |
| 63 | + </center> | |
| 64 | + </div> | |
| 65 | + </div> | |
| 66 | + </div> | |
| 67 | + </div> | |
| 68 | + </section> | |
| 69 | + </div> | |
| 70 | + <%@ include file="/pages/common/bottom.jsp"%> | |
| 71 | + <%@ include file="/pages/common/js.jsp"%> | |
| 72 | + </div> | |
| 73 | +</body> | |
| 74 | +</html> | ... | ... |
src/main/webapp/static/assets/cnlive/js/all_live.js
| 1 | -function t_live_close(id,live_url){ | |
| 2 | - alert(live_url); | |
| 1 | +function t_live_close(id, uuid) { | |
| 3 | 2 | $.ajax({ |
| 4 | - url : BASE+'/check/close/'+id, | |
| 3 | + url : BASE + '/check/close/' + id + "/" + uuid, | |
| 5 | 4 | type : 'post', |
| 6 | 5 | async : true, |
| 7 | - data :{"live_url":live_url, | |
| 8 | - }, | |
| 9 | 6 | error : function() { |
| 10 | 7 | alert('获取错误!'); |
| 11 | 8 | }, |
| 12 | 9 | success : function(data) { |
| 13 | 10 | alert(data); |
| 14 | - location.href="../../live/alllive/1"; | |
| 11 | + location.href = "../../live/alllive/1"; | |
| 15 | 12 | } |
| 16 | 13 | }); |
| 17 | 14 | } |
| 18 | 15 | \ No newline at end of file | ... | ... |
target/m2e-wtp/web-resources/META-INF/maven/com.cnlive.mz.live.web/cnlive_live_web/pom.properties
| 1 | 1 | #Generated by Maven Integration for Eclipse |
| 2 | -#Mon Jun 20 10:10:00 CST 2016 | |
| 3 | -#Fri Jun 17 09:20:43 CST 2016 | |
| 2 | +#Tue Jun 21 13:17:57 CST 2016 | |
| 4 | 3 | version=0.0.1-SNAPSHOT |
| 5 | 4 | groupId=com.cnlive.mz.live.web |
| 6 | 5 | m2e.projectName=cnlive_live_web |
| 7 | -m2e.projectLocation=C\:\\Users\\Administrator\\git\\cnlive_live_web | |
| 6 | +m2e.projectLocation=D\:\\1_CNLIVE_JAVA_CODE\\cnlive_live_web | |
| 8 | 7 | artifactId=cnlive_live_web | ... | ... |