first commit
26
404.html
Normal file
@ -0,0 +1,26 @@
|
||||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
|
||||
<title>404</title>
|
||||
<style>
|
||||
body{
|
||||
background-color:#444;
|
||||
font-size:14px;
|
||||
}
|
||||
h3{
|
||||
font-size:60px;
|
||||
color:#eee;
|
||||
text-align:center;
|
||||
padding-top:30px;
|
||||
font-weight:normal;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<h3>404,您请求的文件不存在!</h3>
|
||||
</body>
|
||||
</html>
|
||||
452
App.php
Normal file
@ -0,0 +1,452 @@
|
||||
<?php
|
||||
/**
|
||||
* shouq.sujie520.cn
|
||||
**/
|
||||
namespace app\api\controller;
|
||||
|
||||
use think\Db;
|
||||
use think\Cache;
|
||||
|
||||
class App extends Base
|
||||
{
|
||||
|
||||
//当前请求参数
|
||||
var $_param;
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
$this->_param = input();
|
||||
}
|
||||
|
||||
//json转换扩展
|
||||
private function json_encode_extra($obj, $apicode = "")
|
||||
{
|
||||
return json_encode($obj, JSON_UNESCAPED_SLASHES);
|
||||
}
|
||||
|
||||
/**
|
||||
* 视频json,带分类
|
||||
*/
|
||||
public function vod_json($v)
|
||||
{
|
||||
if ($v == null) {
|
||||
return $v;
|
||||
}
|
||||
$v['vod_time_add'] = date('Y-m-d H:i:s', $v['vod_time_add']);
|
||||
$v['vod_content'] = strip_tags($v['vod_content']);
|
||||
if (substr($v["vod_pic"], 0, 4) == "mac:") {
|
||||
$v["vod_pic"] = str_replace('mac:', 'http:', $v["vod_pic"]);
|
||||
}elseif (substr($v["vod_pic"], 0, 2) == "//") {
|
||||
$v["vod_pic"] = str_replace('//', 'http://', $v["vod_pic"]);
|
||||
} elseif (!empty($v["vod_pic"]) && substr($v["vod_pic"], 0, 4) != "http" && substr($v["vod_pic"], 0, 2) != "//") {
|
||||
$v["vod_pic"] = $GLOBALS['config']['api']['vod']['imgurl'] . $v["vod_pic"];
|
||||
}
|
||||
|
||||
if (substr($v["vod_pic_slide"], 0, 4) == "mac:") {
|
||||
$v["vod_pic_slide"] = str_replace('mac:', 'http:', $v["vod_pic_slide"]);
|
||||
}elseif (substr($v["vod_pic_slide"], 0, 2) == "//") {
|
||||
$v["vod_pic_slide"] = str_replace('//', 'http://', $v["vod_pic_slide"]);
|
||||
} elseif (!empty($v["vod_pic_slide"]) && substr($v["vod_pic_slide"], 0, 4) != "http" && substr($v["vod_pic_slide"], 0, 2) != "//") {
|
||||
$v["vod_pic_slide"] = $GLOBALS['config']['api']['vod']['imgurl'] . $v["vod_pic_slide"];
|
||||
}
|
||||
|
||||
//多播放源
|
||||
$v["vod_url_with_player"] = [];
|
||||
$vod_play_from_array = explode('$$$', $v["vod_play_from"]);
|
||||
$play_url_array = explode('$$$', $v["vod_play_url"]);
|
||||
//获取所有播放器
|
||||
$all_players = config("vodplayer");
|
||||
$xg_parse_players = config("vodplayer_xg_parse");
|
||||
$sort = [];
|
||||
foreach ($vod_play_from_array as $k => $player) {
|
||||
try {
|
||||
if ($all_players[$player]['show'] != null && $all_players[$player]['status'] == 1 && ($xg_parse_players[$player]['app_is_show'] == 1 || $xg_parse_players[$player]['app_is_show'] == null)) {
|
||||
$player_sort = $all_players[$player]['sort'];
|
||||
$player_sort = $player_sort == "" ? 0 : $player_sort;
|
||||
$player_with_url = [];
|
||||
$player_with_url["name"] = $all_players[$player]['show'];
|
||||
$player_with_url["code"] = $all_players[$player]['from'];
|
||||
$player_with_url["url"] = $play_url_array[$k];
|
||||
if (empty($xg_parse_players[$player]['parse_api'])) {
|
||||
$player_with_url["parse_api"] = $xg_parse_players['xg_app_player']['parse_api'];
|
||||
} else {
|
||||
$player_with_url["parse_api"] = $xg_parse_players[$player]['parse_api'];
|
||||
}
|
||||
if (empty($xg_parse_players[$player]['user_agent'])) {
|
||||
$player_with_url["user_agent"] = $xg_parse_players['xg_app_player']['user_agent'];
|
||||
} else {
|
||||
$player_with_url["user_agent"] = $xg_parse_players[$player]['user_agent'];
|
||||
}
|
||||
if (empty($xg_parse_players[$player]['headers'])) {
|
||||
$player_with_url["headers"] = $xg_parse_players['xg_app_player']['headers'];
|
||||
} else {
|
||||
$player_with_url["headers"] = $xg_parse_players[$player]['headers'];
|
||||
}
|
||||
if (empty($xg_parse_players[$player]['link_features'])) {
|
||||
$player_with_url["link_features"] = $xg_parse_players['xg_app_player']['link_features'];
|
||||
} else {
|
||||
$player_with_url["link_features"] = $xg_parse_players[$player]['link_features'];
|
||||
}
|
||||
if (empty($xg_parse_players[$player]['un_link_features'])) {
|
||||
$player_with_url["un_link_features"] = $xg_parse_players['xg_app_player']['un_link_features'];
|
||||
} else {
|
||||
$player_with_url["un_link_features"] = $xg_parse_players[$player]['un_link_features'];
|
||||
}
|
||||
$sort[] = $player_sort;
|
||||
array_push($v["vod_url_with_player"], $player_with_url);
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
}
|
||||
}
|
||||
array_multisort($sort, SORT_DESC, $v["vod_url_with_player"]);
|
||||
return $v;
|
||||
}
|
||||
|
||||
/**
|
||||
* 视频json,不带分类
|
||||
*/
|
||||
public function vod_json_list($res)
|
||||
{
|
||||
foreach ($res['list'] as $k => &$v) {
|
||||
$v['vod_time_add'] = date('Y-m-d H:i:s', $v['vod_time_add']);
|
||||
|
||||
if (substr($v["vod_pic"], 0, 4) == "mac:") {
|
||||
$v["vod_pic"] = str_replace('mac:', 'http:', $v["vod_pic"]);
|
||||
}elseif (substr($v["vod_pic"], 0, 2) == "//") {
|
||||
$v["vod_pic"] = str_replace('//', 'http://', $v["vod_pic"]);
|
||||
} elseif (!empty($v["vod_pic"]) && substr($v["vod_pic"], 0, 4) != "http" && substr($v["vod_pic"], 0, 2) != "//") {
|
||||
$v["vod_pic"] = $GLOBALS['config']['api']['vod']['imgurl'] . $v["vod_pic"];
|
||||
}
|
||||
|
||||
if (substr($v["vod_pic_slide"], 0, 4) == "mac:") {
|
||||
$v["vod_pic_slide"] = str_replace('mac:', 'http:', $v["vod_pic_slide"]);
|
||||
}elseif (substr($v["vod_pic_slide"], 0, 2) == "//") {
|
||||
$v["vod_pic_slide"] = str_replace('//', 'http://', $v["vod_pic_slide"]);
|
||||
} elseif (!empty($v["vod_pic_slide"]) && substr($v["vod_pic_slide"], 0, 4) != "http" && substr($v["vod_pic_slide"], 0, 2) != "//") {
|
||||
$v["vod_pic_slide"] = $GLOBALS['config']['api']['vod']['imgurl'] . $v["vod_pic_slide"];
|
||||
}
|
||||
}
|
||||
return $res;
|
||||
}
|
||||
|
||||
// ==========================接口开始===============================
|
||||
/**
|
||||
* 视频检索
|
||||
*/
|
||||
public function search()
|
||||
{
|
||||
$html = '';
|
||||
$where = [];
|
||||
|
||||
if (!empty($this->_param['text'])) {
|
||||
$where['vod_name'] = ['like', "%" . $this->_param['text'] . "%"];
|
||||
}
|
||||
|
||||
//如果缓存中存在,直接返回
|
||||
if (Cache::has('xgapp_search' . $this->_param['text'])) {
|
||||
$cache_response = Cache::get('xgapp_search' . $this->_param['text']);
|
||||
$html = $this->json_encode_extra($cache_response, "search");
|
||||
echo $html;
|
||||
exit;
|
||||
}
|
||||
|
||||
|
||||
$order = 'vod_time desc';
|
||||
$field = 'vod_id,vod_name,vod_pic,vod_score,type_id,vod_en,vod_time_add,vod_remarks';
|
||||
|
||||
$limit_str = "0,20";
|
||||
|
||||
$list = Db::name('Vod')->field($field)->where($where)->order($order)->limit($limit_str)->select();
|
||||
|
||||
//分类
|
||||
$type_list = model('Type')->getCache('type_list');
|
||||
//用户组
|
||||
$group_list = model('Group')->getCache('group_list');
|
||||
|
||||
foreach ($list as $k => $v) {
|
||||
if (!empty($v['type_id'])) {
|
||||
$list[$k]['type'] = $type_list[$v['type_id']];
|
||||
$list[$k]['type_1'] = $type_list[$list[$k]['type']['type_pid']];
|
||||
}
|
||||
if (!empty($v['group_id'])) {
|
||||
$list[$k]['group'] = $group_list[$v['group_id']];
|
||||
}
|
||||
}
|
||||
$res = ['code' => 1, 'msg' => '搜索', 'list' => $list, "total" => sizeof($list)];
|
||||
|
||||
$res = $this->vod_json_list($res);
|
||||
//设置到缓存中
|
||||
Cache::set('xgapp_search' . $this->_param['text'], $res, 60 * 60);
|
||||
$html = $this->json_encode_extra($res, "search");
|
||||
echo $html;
|
||||
exit;
|
||||
}
|
||||
|
||||
public function banner()
|
||||
{
|
||||
//如果缓存中存在,直接返回
|
||||
if (Cache::has('xgapp_banner')) {
|
||||
$cache_list = Cache::get('xgapp_banner');
|
||||
$response = ['code' => 1, 'msg' => '轮播图', 'list' => $cache_list];
|
||||
$html = $this->json_encode_extra($response, "banner");
|
||||
echo $html;
|
||||
exit;
|
||||
}
|
||||
$html = '';
|
||||
$where = [];
|
||||
|
||||
$where['vod_level'] = ['eq', 9];
|
||||
|
||||
$order = 'vod_time desc';
|
||||
$field = 'vod_id,vod_name,vod_pic,vod_pic_slide,vod_score,type_id,vod_en,vod_time_add,vod_remarks';
|
||||
|
||||
$res = model('vod')->listData($where, $order, 1, $GLOBALS['config']['api']['vod']['pagesize'], 0, $field, 0);
|
||||
|
||||
|
||||
foreach ($res["list"] as $k => &$v) {
|
||||
if (!empty($v["vod_pic_slide"])) {
|
||||
$v['vod_pic'] = $v['vod_pic_slide'];
|
||||
}
|
||||
}
|
||||
|
||||
$list_array = $this->vod_json_list($res)["list"];
|
||||
//设置到缓存中
|
||||
Cache::set('xgapp_banner', $list_array, 60 * 60);
|
||||
$response = ['code' => 1, 'msg' => '轮播图', 'list' => $list_array];
|
||||
|
||||
$html = $this->json_encode_extra($response, "banner");
|
||||
|
||||
|
||||
echo $html;
|
||||
exit;
|
||||
}
|
||||
|
||||
public function index_video()
|
||||
{
|
||||
//如果缓存中存在,直接返回
|
||||
if (Cache::has('xgapp_index_video')) {
|
||||
$cache_list = Cache::get('xgapp_index_video');
|
||||
$response = ['code' => 1, 'msg' => '首页视频', 'list' => $cache_list];
|
||||
$html = $this->json_encode_extra($response, "index_video");
|
||||
echo $html;
|
||||
exit;
|
||||
}
|
||||
|
||||
$html = '';
|
||||
|
||||
$type_where = [];
|
||||
$type_where["type_status"] = 1;
|
||||
$type_order = 'type_sort';
|
||||
$type_list = model('type')->listData($type_where, $type_order, 'tree', 1, 1000, 0, 0)["list"];
|
||||
|
||||
$type_list_array = [];
|
||||
foreach ($type_list as $k => $v) {
|
||||
$type_info["type_id"] = $v["type_id"];
|
||||
$type_info["type_name"] = '精选' . $v["type_name"];
|
||||
|
||||
$where['type_id | type_id_1'] = ['eq', $type_info["type_id"]];
|
||||
$where['vod_level'] = ['lt', 2];
|
||||
|
||||
$order = 'vod_level desc,vod_time desc';
|
||||
$field = 'vod_id,vod_name,vod_pic,type_id,vod_remarks';
|
||||
|
||||
$limit_str = '6';
|
||||
$list = Db::name('Vod')->field($field)->where($where)->order($order)->limit($limit_str)->select();
|
||||
|
||||
$res = ["list" => $list];
|
||||
|
||||
$type_info["vlist"] = $this->vod_json_list($res)["list"];
|
||||
|
||||
array_push($type_list_array, $type_info);
|
||||
}
|
||||
|
||||
//设置到缓存中
|
||||
Cache::set('xgapp_index_video', $type_list_array, 60 * 60);
|
||||
$response = ['code' => 1, 'msg' => '首页视频', 'list' => $type_list_array];
|
||||
$html = $this->json_encode_extra($response, "index_video");
|
||||
|
||||
echo $html;
|
||||
exit;
|
||||
}
|
||||
|
||||
public function nav()
|
||||
{
|
||||
|
||||
//如果缓存中存在,直接返回
|
||||
if (Cache::has('xgapp_nav')) {
|
||||
$cache_list = Cache::get('xgapp_nav');
|
||||
$response = ['code' => 1, 'msg' => '导航列表', 'list' => $cache_list];
|
||||
$html = $this->json_encode_extra($response, "nav");
|
||||
echo $html;
|
||||
exit;
|
||||
}
|
||||
|
||||
|
||||
$html = '';
|
||||
|
||||
|
||||
$type_where = [];
|
||||
$type_where["type_status"] = 1;
|
||||
$type_order = 'type_sort';
|
||||
$type_list = model('type')->listData($type_where, $type_order, 'tree', 1, 1000, 0, 0)["list"];
|
||||
$type_list_array = [];
|
||||
foreach ($type_list as $k => $v) {
|
||||
$type_info["type_id"] = $v["type_id"];
|
||||
$type_info["type_name"] = $v["type_name"];
|
||||
$type_info["type_extend"] = $v["type_extend"];
|
||||
array_push($type_list_array, $type_info);
|
||||
}
|
||||
//设置到缓存中
|
||||
Cache::set('xgapp_nav', $type_list_array, 60 * 60);
|
||||
$response = ['code' => 1, 'msg' => '导航列表', 'list' => $type_list_array];
|
||||
|
||||
$html = $this->json_encode_extra($response, "nav");
|
||||
|
||||
echo $html;
|
||||
exit;
|
||||
}
|
||||
|
||||
public function video()
|
||||
{
|
||||
if (empty($this->_param["tid"])) {
|
||||
$json = $this->json_encode_extra(['code' => 2, 'msg' => '参数验证失败'], "video");
|
||||
echo $json;
|
||||
exit;
|
||||
}
|
||||
|
||||
$html = '';
|
||||
$where = [];
|
||||
|
||||
$where['type_id | type_id_1'] = ['eq', $this->_param['tid']];
|
||||
if (!empty($this->_param['class'])) {
|
||||
$where['vod_class'] = ['like', "%" . $this->_param['class'] . "%"];
|
||||
}
|
||||
if (!empty($this->_param['area'])) {
|
||||
$where['vod_area'] = ['like', "%" . $this->_param['area'] . "%"];
|
||||
}
|
||||
if (!empty($this->_param['lang'])) {
|
||||
$where['vod_lang'] = ['like', "%" . $this->_param['lang'] . "%"];
|
||||
}
|
||||
if (!empty($this->_param['year'])) {
|
||||
$where['vod_year'] = ['like', "%" . $this->_param['year'] . "%"];
|
||||
}
|
||||
|
||||
|
||||
if (empty($this->_param['pg'])) {
|
||||
$this->_param['pg'] = 1;
|
||||
}
|
||||
if ($this->_param['pg'] > 25) {
|
||||
$this->_param['pg'] = 25;
|
||||
}
|
||||
|
||||
$order = 'vod_time desc';
|
||||
$field = 'vod_id,vod_name,vod_pic,vod_score,type_id,vod_en,vod_time_add,vod_remarks';
|
||||
|
||||
$res = model('vod')->listData($where, $order, $this->_param['pg'], $GLOBALS['config']['api']['vod']['pagesize'], 0, $field, 0);
|
||||
|
||||
$html = $this->json_encode_extra($this->vod_json_list($res), "video");
|
||||
|
||||
echo $html;
|
||||
exit;
|
||||
}
|
||||
|
||||
|
||||
public function video_detail()
|
||||
{
|
||||
|
||||
if (empty($this->_param['id'])) {
|
||||
$json = $this->json_encode_extra(['code' => 2, 'msg' => '参数验证失败'], "video_detail");
|
||||
echo $json;
|
||||
exit;
|
||||
}
|
||||
|
||||
$html = '';
|
||||
$where = [];
|
||||
|
||||
if (!empty($this->_param['id'])) {
|
||||
$where['vod_id'] = ['eq', $this->_param['id']];
|
||||
}
|
||||
|
||||
if (empty($this->_param['id'])) {
|
||||
$where['vod_id'] = ['eq', 1];
|
||||
}
|
||||
|
||||
$order = 'vod_time desc';
|
||||
$field = '*';
|
||||
|
||||
$res = Db::name('Vod')->field($field)->where($where)->find();
|
||||
|
||||
if (empty($res)) {
|
||||
$json = $this->json_encode_extra(['code' => 404, 'msg' => '抱歉,该视频已下架'], "video_detail");
|
||||
echo $json;
|
||||
exit;
|
||||
}
|
||||
|
||||
$detail = $this->vod_json($res);
|
||||
|
||||
$detail["trysee"] = config("maccms")["user"]["trysee"];
|
||||
//如果当前不是会员,载入20条随机广告
|
||||
if ($detail["permission"] != "vip") {
|
||||
$where = [];
|
||||
$where['status'] = ['eq', 1];
|
||||
$where['start_time'] = ['lt', time()];
|
||||
$where['end_time'] = ['gt', time()];
|
||||
|
||||
$start = 0;
|
||||
$limit = 20;
|
||||
$order = 'rand()';
|
||||
$field = 'id,name,content,req_type,req_content,headers,time,skip_time';
|
||||
|
||||
//视频播放前
|
||||
$init_advert_list = [];
|
||||
$enable = config('maccms')["xg_advert_config"]["config_video_start"];
|
||||
if ($enable == 1) {
|
||||
$where['position'] = ['eq', 3];
|
||||
$limit_str = $start . "," . $limit;
|
||||
$init_advert_list = Db::table('xg_app_advert')->field($field)->where($where)->orderRaw($order)->limit($limit_str)->select();
|
||||
}
|
||||
|
||||
foreach ($init_advert_list as $k => &$v) {
|
||||
if (substr($v["content"], 0, 4) == "mac:") {
|
||||
$v["content"] = str_replace('mac:', 'http:', $v["content"]);
|
||||
} elseif (substr($v["content"], 0, 2) == "//") {
|
||||
$v["content"] = str_replace('//', 'http://', $v["content"]);
|
||||
} elseif (!empty($v["content"]) && substr($v["content"], 0, 4) != "http" && substr($v["content"], 0, 2) != "//") {
|
||||
$v["content"] = $GLOBALS['config']['api']['vod']['imgurl'] . $v["content"];
|
||||
}
|
||||
$init_advert_list[$k] = $v;
|
||||
}
|
||||
//视频暂停
|
||||
$pause_advert_list = [];
|
||||
$enable = config('maccms')["xg_advert_config"]["config_video_pause"];
|
||||
if ($enable == 1) {
|
||||
$where['position'] = ['eq', 4];
|
||||
$limit_str = $start . "," . $limit;
|
||||
$pause_advert_list = Db::table('xg_app_advert')->field($field)->where($where)->orderRaw($order)->limit($limit_str)->select();
|
||||
}
|
||||
foreach ($pause_advert_list as $k => &$v) {
|
||||
if (substr($v["content"], 0, 4) == "mac:") {
|
||||
$v["content"] = str_replace('mac:', 'http:', $v["content"]);
|
||||
} elseif (substr($v["content"], 0, 2) == "//") {
|
||||
$v["content"] = str_replace('//', 'http://', $v["content"]);
|
||||
} elseif (!empty($v["content"]) && substr($v["content"], 0, 4) != "http" && substr($v["content"], 0, 2) != "//") {
|
||||
$v["content"] = $GLOBALS['config']['api']['vod']['imgurl'] . $v["content"];
|
||||
}
|
||||
$pause_advert_list[$k] = $v;
|
||||
}
|
||||
$detail["init_advert_list"] = $init_advert_list;
|
||||
$detail["pause_advert_list"] = $pause_advert_list;
|
||||
}
|
||||
if ($detail["unlock"]) {
|
||||
$response = ['code' => 1024, 'msg' => '权限不足', 'data' => $detail];
|
||||
$html = $this->json_encode_extra($response, "video_detail");
|
||||
echo $html;
|
||||
exit;
|
||||
}
|
||||
$response = ['code' => 1, 'msg' => '视频详情', 'data' => $detail];
|
||||
$html = $this->json_encode_extra($response, "video_detail");
|
||||
echo $html;
|
||||
exit;
|
||||
}
|
||||
|
||||
}
|
||||
30
admin/404.php
Normal file
@ -0,0 +1,30 @@
|
||||
<!-- start page title -->
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<div class="page-title-box">
|
||||
<div class="page-title-right">
|
||||
<ol class="breadcrumb m-0">
|
||||
<li class="breadcrumb-item"><a href="./">首页</a></li>
|
||||
<li class="breadcrumb-item active">错误</li>
|
||||
</ol>
|
||||
</div>
|
||||
<h4 class="page-title">404</h4>
|
||||
</div> <!-- end page-title-box -->
|
||||
</div> <!-- end col-->
|
||||
</div>
|
||||
<!-- end page title -->
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<div class="text-center">
|
||||
|
||||
<div class="text-center" style="margin-top:6.5rem!important;margin-bottom:8rem!important;">
|
||||
<img src="../assets/images/maintenance.svg" height="120" alt="File not found Image">
|
||||
<h4 class="text-uppercase mt-3">你遇到了一个错误的页面</h4>
|
||||
<p class="text-muted mt-3"> 由于你当前访问的页面不存在,因此无法显示。请返回首页重试</p>
|
||||
<a class="btn btn-success btn-sm mt-2" href="./">返回首页</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div><!-- end col -->
|
||||
</div><!-- end row -->
|
||||
26
admin/ajax.php
Normal file
@ -0,0 +1,26 @@
|
||||
<?php
|
||||
require_once 'globals.php';
|
||||
// json(201,'对不起~演示站点,不支持此操作');
|
||||
$act = isset($_GET['act']) ? purge($_GET['act']) : '';
|
||||
$act_Arr = explode("_",$act);
|
||||
if(count($act_Arr) == 2){
|
||||
$Path = $act_Arr[0];//路径
|
||||
$act = $act_Arr[1];//操作
|
||||
if(file_exists(FCPATH.ADM_EXTEND_MULU."/{$Path}/api/{$Path}.php")){
|
||||
require FCPATH.ADM_EXTEND_MULU."/{$Path}/api/{$Path}.php";//载入接口
|
||||
}else{
|
||||
json(201,'错误的操作文件');
|
||||
}
|
||||
}elseif(count($act_Arr) == 3){
|
||||
$Path = $act_Arr[0];//路径
|
||||
$File = $act_Arr[1];//文件
|
||||
$act = $act_Arr[2];//操作
|
||||
if(file_exists(FCPATH.ADM_EXTEND_MULU."/{$Path}/api/{$File}.php")){
|
||||
require FCPATH.ADM_EXTEND_MULU."/{$Path}/api/{$File}.php";//载入接口
|
||||
}else{
|
||||
json(201,'错误的操作文件');
|
||||
}
|
||||
}else{
|
||||
json(201,'错误的操作接口');
|
||||
}
|
||||
?>
|
||||
78
admin/edition.php
Normal file
@ -0,0 +1,78 @@
|
||||
<?php
|
||||
//系统版本检测文件
|
||||
require_once '../include/global.php';
|
||||
require_once 'userdata.php';
|
||||
$ADMIN_COOKIE = isset($_COOKIE['ADMIN_COOKIE']) ? purge($_COOKIE['ADMIN_COOKIE']) : '';
|
||||
if($ADMIN_COOKIE == $cookie){
|
||||
$islogin = true;
|
||||
}else{
|
||||
$islogin = false;
|
||||
}
|
||||
|
||||
if (!$islogin) {
|
||||
echo "<html><head>
|
||||
<title>404 Not Found</title>
|
||||
</head><body>
|
||||
<h1>Not Found</h1>
|
||||
<p>The requested URL /edition.php was not found on this server.</p>
|
||||
</body></html>";
|
||||
exit;
|
||||
}
|
||||
|
||||
$data = http_gets('http://auth.lvdoui.net/api/authlook/update?host=' . $_SERVER['HTTP_HOST'] . '&authkey=EAEFBAFE732CED83C872A42EDCFA622F'. '&version=' . EDITION);
|
||||
$json_data = json_decode($data, true);
|
||||
|
||||
if(EDITION >= $json_data['msg']['extend']){ //不需要更新,检测文件是否被修改
|
||||
$file_new = [];
|
||||
$file_md5 = [];
|
||||
$file_lose = [];
|
||||
if(is_array($json_data['msg']['extend']) && !empty($json_data['msg']['extend'])){
|
||||
foreach($json_data['msg']['extend'] as $extend) {
|
||||
if($extend['home'] == 'api'){
|
||||
$file_arr = apiData($extend['file'],$extend['mulu']);
|
||||
}elseif('adm'){
|
||||
$file_arr = admData($extend['file'],$extend['mulu']);
|
||||
}
|
||||
if($file_arr){
|
||||
if($file_arr['md5'] != $extend['md5'] && $file_arr['version'] == $extend['version']){
|
||||
$file_md5[] = $extend;
|
||||
}
|
||||
if($file_arr['version'] < $extend['version']){
|
||||
$file_new[] = $extend;
|
||||
}
|
||||
}else{
|
||||
$file_lose[] = $extend;
|
||||
}
|
||||
}
|
||||
$data = ['file_new'=>$file_new,'file_md5'=>$file_md5,'file_lose'=>$file_lose];
|
||||
json(200, $data);
|
||||
}
|
||||
}else{
|
||||
json(201,['edition'=>$json_data['msg'], 'new_url'=>$json_data['url']]);
|
||||
}
|
||||
|
||||
function admData($FilePath,$mulu='') {
|
||||
if(file_exists(FCPATH.ADM_EXTEND_MULU.$mulu.$FilePath)){
|
||||
$Data = implode('', file(FCPATH.ADM_EXTEND_MULU.$mulu.$FilePath));
|
||||
$filemd5 = md5_file(FCPATH.ADM_EXTEND_MULU.$mulu.$FilePath);
|
||||
preg_match("/Version:(.*)/i", $Data, $version);
|
||||
$version = isset($version[1]) ? strip_tags(trim($version[1])) : '';
|
||||
$file_arr = ['version'=>$version,'md5' => $filemd5];
|
||||
return $file_arr;
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function apiData($FilePath,$mulu='') {
|
||||
if(file_exists(FCPATH.API_EXTEND_MULU.$mulu.$FilePath)){
|
||||
$Data = implode('', file(FCPATH.API_EXTEND_MULU.$mulu.$FilePath));
|
||||
$filemd5 = md5_file(FCPATH.API_EXTEND_MULU.$mulu.$FilePath);
|
||||
preg_match("/Version:(.*)/i", $Data, $version);
|
||||
$version = isset($version[1]) ? strip_tags(trim($version[1])) : '';
|
||||
$file_arr = ['version'=>$version,'md5' => $filemd5];
|
||||
return $file_arr;
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
42
admin/footer.php
Normal file
@ -0,0 +1,42 @@
|
||||
</div> <!-- content -->
|
||||
<!-- Footer Start -->
|
||||
<footer class="footer">
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
2018 - <?php echo date('Y', time()); ?> © <a href="https://www.yunzer.cn" class="text-title" style="text-decoration:none" target="_blank">云泽网</a> - https://www.yunzer.cn
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="text-md-right footer-links d-none d-md-block">
|
||||
<a href="http://wpa.qq.com/msgrd?v=3&uin=357099073&site=qq&menu=yes" target="_blank">联系作者</a>
|
||||
<!--<a href="https://jq.qq.com/?_wv=1027&k=zqVBNFiY" target="_blank">加入Q群</a>-->
|
||||
<a href="https://www.yunzer.cn" target="_blank">云泽网</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
<!-- end Footer -->
|
||||
</div> <!-- content-page -->
|
||||
</div> <!-- end wrapper-->
|
||||
<!-- ============================================================== -->
|
||||
<!-- End Page content -->
|
||||
<!-- ============================================================== -->
|
||||
</div>
|
||||
<!-- END Container -->
|
||||
<div class="rightbar-overlay"></div>
|
||||
<!-- /Right-bar -->
|
||||
<!-- third party js -->
|
||||
<script src="../assets/js/vendor/Chart.bundle.min.js"></script>
|
||||
<script src="../assets/js/vendor/jquery-jvectormap-1.2.2.min.js"></script>
|
||||
<script src="../assets/js/vendor/jquery-jvectormap-world-mill-en.js"></script>
|
||||
<script src="../assets/js/vendor/jquery.dataTables.min.js"></script>
|
||||
<script src="../assets/js/vendor/dataList.software.news.js"></script>
|
||||
<script src="../assets/js/vendor/dataTables.bootstrap4.js"></script>
|
||||
<script src="../assets/js/vendor/dataTables.responsive.min.js"></script>
|
||||
<script src="../assets/js/vendor/responsive.bootstrap4.min.js"></script>
|
||||
<script src="../assets/js/vendor/dataTables.checkboxes.min.js"></script>
|
||||
<!-- App js -->
|
||||
<script src="../assets/js/app.min.js"></script>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
107
admin/globals.php
Normal file
@ -0,0 +1,107 @@
|
||||
<?php
|
||||
/*
|
||||
* File:后台全局加载项
|
||||
* Author:易如意
|
||||
* QQ:51154393
|
||||
* Url:www.eruyi.cn
|
||||
*/
|
||||
|
||||
require_once '../include/global.php';
|
||||
require_once 'userdata.php';
|
||||
substr($_SERVER['PHP_SELF'], strrpos($_SERVER['PHP_SELF'], '/') + 1);
|
||||
|
||||
$action = isset($_GET['action']) ? purge($_GET['action']) : '';
|
||||
|
||||
//登录验证
|
||||
if ($action == 'login') {
|
||||
$username = isset($_POST['user']) ? purge($_POST['user']) : '';
|
||||
$password = isset($_POST['pwd']) ? purge($_POST['pwd']) : '';
|
||||
|
||||
if ($username == '' || $password == '') {
|
||||
header('Location:./login.php?err=1');
|
||||
exit;
|
||||
}
|
||||
|
||||
if ($username == $user && $password == $pass) {
|
||||
if (defined('ADM_LOG') && ADM_LOG == 1) {
|
||||
Db::table('log')->add(['group' => 'adm', 'type' => 'logon', 'status' => 200, 'time' => time(), 'ip' => getip(), 'data' => json_encode($_POST)]);
|
||||
} //记录日志
|
||||
setcookie('ADMIN_COOKIE', $cookie, time() + 36000, '/');
|
||||
header('Location:./');
|
||||
exit;
|
||||
} else {
|
||||
header('Location:./login.php?err=2');
|
||||
exit;
|
||||
}
|
||||
}
|
||||
//退出
|
||||
if ($action == 'logout') {
|
||||
setcookie('ADMIN_COOKIE', ' ', time() - 36000, '/');
|
||||
header('Location:./login.php');
|
||||
exit;
|
||||
}
|
||||
|
||||
$ADMIN_COOKIE = isset($_COOKIE['ADMIN_COOKIE']) ? purge($_COOKIE['ADMIN_COOKIE']) : '';
|
||||
if ($ADMIN_COOKIE == $cookie) {
|
||||
$islogin = true;
|
||||
} else {
|
||||
$islogin = false;
|
||||
}
|
||||
|
||||
if (!$islogin) {
|
||||
header('Location:./login.php?err=3');
|
||||
exit;
|
||||
}
|
||||
|
||||
/*导航配置*/
|
||||
$menu_arr = myScanDir(FCPATH . ADM_EXTEND_MULU, 1);
|
||||
$titlename = [];
|
||||
foreach ($menu_arr as $value) {
|
||||
$nav_arr = getPluginData($value);
|
||||
foreach ($nav_arr as $val) {
|
||||
$titlename = array_merge($titlename, [$val['file'] => $val['name']]);
|
||||
}
|
||||
if ($value == 'web') { //continue;
|
||||
$web = $nav_arr;
|
||||
} else {
|
||||
if (!file_exists(FCPATH . ADM_EXTEND_MULU . $value . "/menu.php")) { //continue;
|
||||
foreach ($nav_arr as $value) {
|
||||
$menu[] = $value;
|
||||
}
|
||||
} else {
|
||||
$nav = include FCPATH . ADM_EXTEND_MULU . $value . "/menu.php";
|
||||
$menu[] = array_merge($nav, ['side-nav-second-level' => $nav_arr]);
|
||||
}
|
||||
}
|
||||
}
|
||||
$sortKey = array_column($menu, 'sort');
|
||||
array_multisort($sortKey, SORT_ASC, $menu);
|
||||
|
||||
$Filename = strpos($_SERVER["QUERY_STRING"], '&') ? txt_zuo($_SERVER["QUERY_STRING"], "&") : $_SERVER["QUERY_STRING"];
|
||||
$title = !empty($titlename[$Filename]) ? $titlename[$Filename] : '首页';
|
||||
|
||||
function getPluginData($FilePath)
|
||||
{
|
||||
$file_arr = myScanDir(FCPATH . ADM_EXTEND_MULU . $FilePath . '/view', 2);
|
||||
$nav_arr = [];
|
||||
foreach ($file_arr as $val) {
|
||||
$Data = implode('', file(FCPATH . ADM_EXTEND_MULU . $FilePath . '/view/' . $val));
|
||||
preg_match("/Sort:(.*)/i", $Data, $sort);
|
||||
preg_match("/Hidden:(.*)/i", $Data, $hidden);
|
||||
preg_match("/icons:(.*)/i", $Data, $icons);
|
||||
preg_match("/Name:(.*)/i", $Data, $name);
|
||||
preg_match("/Url:(.*)/i", $Data, $url);
|
||||
preg_match("/Right:(.*)/i", $Data, $right);
|
||||
$sort = isset($sort[1]) ? strip_tags(trim($sort[1])) : '';
|
||||
$hidden = isset($hidden[1]) ? strip_tags(trim($hidden[1])) : '';
|
||||
$icons = isset($icons[1]) ? strip_tags(trim($icons[1])) : '';
|
||||
$name = isset($name[1]) ? strip_tags(trim($name[1])) : '';
|
||||
$url = isset($url[1]) ? strip_tags(trim($url[1])) : '';
|
||||
$right = isset($right[1]) ? strip_tags(trim($right[1])) : '';
|
||||
//if($hidden == 'true')continue;
|
||||
$nav_arr[] = ['name' => $name, 'file' => $url, 'icons' => $icons, 'right' => $right, 'sort' => $sort, 'hidden' => $hidden];
|
||||
}
|
||||
$sortKey = array_column($nav_arr, 'sort');
|
||||
array_multisort($sortKey, SORT_ASC, $nav_arr);
|
||||
return $nav_arr;
|
||||
}
|
||||
159
admin/header.php
Normal file
@ -0,0 +1,159 @@
|
||||
<?php
|
||||
/*
|
||||
* File:页头
|
||||
* Author:易如意
|
||||
* QQ:51154393
|
||||
* Url:www.eruyi.cn
|
||||
*/
|
||||
require_once 'globals.php';
|
||||
$so = isset($_POST['so']) ? purge($_POST['so']) : '';
|
||||
?>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-CN">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<title><?php echo $title; ?> - 后台管理 - 易如意网络验证</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<script src="https://cdn.staticfile.org/jquery/2.1.1/jquery.min.js"></script>
|
||||
<!-- App favicon -->
|
||||
<link rel="icon" href="../assets/images/favicon.ico">
|
||||
<!-- App css -->
|
||||
<link href="../assets/css/icons.min.css" rel="stylesheet" type="text/css" />
|
||||
<link href="../assets/css/eruyi.min.css" rel="stylesheet" type="text/css" />
|
||||
<script src="../assets/js/modal_dialog.js"></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!-- Topbar Start -->
|
||||
<div class="navbar-custom topnav-navbar">
|
||||
<div class="container-fluid">
|
||||
<!-- LOGO -->
|
||||
<a href="index.php" class="topnav-logo">
|
||||
<span class="topnav-logo-lg">
|
||||
<img src="../assets/images/logo-light.png" alt="" height="16">
|
||||
</span>
|
||||
<span class="topnav-logo-sm">
|
||||
<img src="../assets/images/logo_sm.png" alt="" height="16">
|
||||
</span>
|
||||
</a>
|
||||
|
||||
<ul class="list-unstyled topbar-right-menu float-right mb-0">
|
||||
<li class="dropdown notification-list">
|
||||
<a class="nav-link dropdown-toggle nav-user arrow-none mr-0" data-toggle="dropdown" id="topbar-userdrop" href="#" role="button" aria-haspopup="true" aria-expanded="false">
|
||||
<span class="account-user-avatar">
|
||||
<img src="../assets/images/users/avatar-1.jpg" alt="user-image" class="rounded-circle">
|
||||
</span>
|
||||
<span>
|
||||
<span class="account-user-name">管理员</span>
|
||||
<span class="account-position"><?php echo $user; ?></span>
|
||||
</span>
|
||||
</a>
|
||||
<div class="dropdown-menu dropdown-menu-right dropdown-menu-animated topbar-dropdown-menu profile-dropdown" aria-labelledby="topbar-userdrop">
|
||||
<!-- item-->
|
||||
<div class=" dropdown-header noti-title">
|
||||
<h6 class="text-overflow m-0">Welcome !</h6>
|
||||
</div>
|
||||
<!-- item-->
|
||||
<?php foreach ($web as $val) {
|
||||
if ($val['hidden'] == 'true') continue; ?>
|
||||
<a href="./?<?php echo $val['file']; ?>" class="dropdown-item notify-item">
|
||||
<i class="<?php echo $val['icons']; ?>"></i>
|
||||
<span><?php echo $val['name']; ?></span>
|
||||
</a>
|
||||
<?php } ?>
|
||||
<!-- item-->
|
||||
<a href="./?action=logout" class="dropdown-item notify-item">
|
||||
<i class="mdi mdi-account-arrow-right mr-1"></i>
|
||||
<span>退出登入</span>
|
||||
</a>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<a class="button-menu-mobile disable-btn">
|
||||
<div class="lines">
|
||||
<span></span>
|
||||
<span></span>
|
||||
<span></span>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<!-- end Topbar -->
|
||||
|
||||
<div class="container-fluid">
|
||||
<!-- Begin page -->
|
||||
<div class="wrapper">
|
||||
<!-- ============================================================== -->
|
||||
<!-- Start Page Content here -->
|
||||
<!-- ============================================================== -->
|
||||
<!-- Start Content-->
|
||||
<!-- ========== Left Sidebar Start ========== -->
|
||||
<div class="left-side-menu">
|
||||
<div class="leftbar-user">
|
||||
<a href="#">
|
||||
<img src="../assets/images/users/avatar-1.jpg" alt="user-image" height="42" class="rounded-circle shadow-sm">
|
||||
<span class="leftbar-user-name">管理员</span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<!--- Sidemenu -->
|
||||
<ul class="metismenu side-nav">
|
||||
|
||||
<li class="side-nav-title side-nav-item">导航</li>
|
||||
|
||||
<li id="index" class="side-nav-item">
|
||||
<a id="index_a" href="./?index" class="side-nav-link">
|
||||
<i class="mdi mdi-chart-arc"></i>
|
||||
<span>首页</span>
|
||||
</a>
|
||||
</li>
|
||||
<?php foreach ($menu as $val) {
|
||||
if (!isset($val['side-nav-second-level'])) : ?>
|
||||
<li <?php if (isset($val['file'])) : ?>id="<?php echo $val['file']; ?>" <?php endif; ?> class="side-nav-item">
|
||||
<a <?php if (isset($val['file'])) : ?>id="<?php echo $val['file']; ?>_a" <?php endif; ?> href="<?php echo isset($val['file']) ? './?' . $val['file'] : 'javascript: void(0);'; ?>" class="side-nav-link">
|
||||
<i class="<?php echo $val['icons']; ?>"></i>
|
||||
<?php if (!empty($val['right'])) : ?><span class="badge badge-success float-right"><?php $num = Db::table($val['right'])->count();
|
||||
if ($num > 99) {
|
||||
echo '99+';
|
||||
} else {
|
||||
echo $num;
|
||||
} ?></span><?php endif; ?>
|
||||
<span><?php echo $val['name']; ?></span>
|
||||
</a>
|
||||
</li>
|
||||
<?php else : ?>
|
||||
<li <?php if (isset($val['id'])) : ?>id="<?php echo $val['id']; ?>" <?php endif; ?> class="side-nav-item">
|
||||
<a <?php if (isset($val['id'])) : ?>id="<?php echo $val['id']; ?>_a" <?php endif; ?> href="javascript: void(0);" class="side-nav-link">
|
||||
<i class="<?php echo $val['icons']; ?>"></i>
|
||||
<span><?php echo $val['name']; ?></span>
|
||||
<span class="menu-arrow"></span>
|
||||
</a>
|
||||
<ul <?php if (isset($val['id'])) : ?>id="<?php echo $val['id']; ?>_ul" <?php endif; ?> class="side-nav-second-level" aria-expanded="false">
|
||||
<?php foreach ($val['side-nav-second-level'] as $v) {
|
||||
if ($v['hidden'] == 'true') continue; ?>
|
||||
<li id="<?php echo str_ireplace('/', '_', $v['file']); ?>">
|
||||
<a href="./?<?php echo $v['file']; ?>"><?php echo $v['name'];
|
||||
if (!empty($v['right'])) : ?><span class="badge badge-success float-right"><?php $num = Db::table($v['right'])->count();
|
||||
if ($v['right'] == 'app') {
|
||||
$app_num = $num;
|
||||
}
|
||||
if ($num > 99) {
|
||||
echo '99+';
|
||||
} else {
|
||||
echo $num;
|
||||
} ?></span><?php endif; ?></a>
|
||||
</li>
|
||||
<?php } ?>
|
||||
</ul>
|
||||
</li>
|
||||
<?php endif; ?>
|
||||
<?php } ?>
|
||||
|
||||
<div class="clearfix"></div>
|
||||
<!-- Sidebar -left -->
|
||||
</div>
|
||||
<!-- Left Sidebar End -->
|
||||
<div class="content-page">
|
||||
<div class="content">
|
||||
14
admin/index.php
Normal file
@ -0,0 +1,14 @@
|
||||
<?php
|
||||
include_once 'header.php';
|
||||
if($Filename == '' or $Filename == 'index'){
|
||||
include(FCPATH.ADM_EXTEND_MULU."/index.php");
|
||||
}else if(file_exists(FCPATH.ADM_EXTEND_MULU.str_replace("_",'/view/',$Filename).".php")){
|
||||
include(FCPATH.ADM_EXTEND_MULU.str_replace("_",'/view/',$Filename).".php");
|
||||
}else{
|
||||
if(!strpos($Filename,"_") && file_exists(FCPATH.ADM_EXTEND_MULU.$Filename.'/view/'.$Filename.".php")){
|
||||
include(FCPATH.ADM_EXTEND_MULU.$Filename.'/view/'.$Filename.".php");
|
||||
}else{
|
||||
include("404.php");
|
||||
}
|
||||
}
|
||||
include_once 'footer.php';
|
||||
99
admin/login.php
Normal file
@ -0,0 +1,99 @@
|
||||
<?php
|
||||
/*
|
||||
* File:后台登陆
|
||||
* Author:易如意
|
||||
* QQ:51154393
|
||||
* Url:www.eruyi.cn
|
||||
*/
|
||||
$err = isset($_GET['err']) ? intval($_GET['err']) : 0;
|
||||
$errmsg = array(null, '账号密码不能为空', '账号密码有误', '您还没有登陆,请先登录!');
|
||||
$error_msg = $errmsg[$err];
|
||||
?>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<title>后台管理 - 易如意验证系统</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta content="A fully featured admin theme which can be used to build CRM, CMS, etc." name="description" />
|
||||
<meta content="Coderthemes" name="author" />
|
||||
<!-- App favicon -->
|
||||
<link rel="icon" href="../assets/images/favicon.ico">
|
||||
<!-- App css -->
|
||||
<link href="../assets/css/icons.min.css" rel="stylesheet" type="text/css" />
|
||||
<link href="../assets/css/eruyi.min.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
|
||||
<body class="authentication-bg">
|
||||
<div class="account-pages mt-5 mb-5">
|
||||
<div class="container">
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-lg-5">
|
||||
<div class="card">
|
||||
<!-- Logo -->
|
||||
<div class="card-header pt-4 pb-4 text-center bg-primary">
|
||||
<a href="../">
|
||||
<span><img src="../assets/images/logo.png" alt="" height="18"></span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="card-body p-4">
|
||||
|
||||
<div class="text-center w-75 m-auto">
|
||||
<h4 class="text-dark-50 text-center mt-0 font-weight-bold">登 录</h4>
|
||||
<p class="text-muted mb-4">输入您的账号和密码以访问管理面板。</p>
|
||||
</div>
|
||||
|
||||
<form name="f" method="post" action="./index.php?action=login">
|
||||
|
||||
<div class="form-group">
|
||||
<label for="emailaddress">账号</label>
|
||||
<input class="form-control" type="text" placeholder="请输入账号" name="user" required>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
|
||||
<label for="password">密码</label>
|
||||
<input class="form-control" type="password" placeholder="请输入密码" name="pwd" required>
|
||||
</div>
|
||||
|
||||
<div class="form-group mb-3">
|
||||
<div class="custom-control custom-checkbox">
|
||||
<input type="checkbox" class="custom-control-input" id="checkbox-signin" checked>
|
||||
<label class="custom-control-label" for="checkbox-signin">记住我</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group mb-0 text-center">
|
||||
<button class="btn btn-primary" type="submit"> 登 录 </button>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
</div> <!-- end card-body -->
|
||||
</div>
|
||||
<?php if ($error_msg) : ?>
|
||||
<div class="alert alert-danger alert-dismissible bg-danger text-white border-0 fade show" role="alert">
|
||||
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
<strong>提示:</strong> <?php echo $error_msg; ?>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
</div> <!-- end col -->
|
||||
</div>
|
||||
<!-- end row -->
|
||||
</div>
|
||||
<!-- end container -->
|
||||
</div>
|
||||
<!-- end page -->
|
||||
|
||||
<footer class="footer footer-alt">
|
||||
2018 - <?php echo date('Y', time()); ?> © 易如意 - eruyi.cn
|
||||
</footer>
|
||||
|
||||
<!-- App js -->
|
||||
<script src="../assets/js/app.min.js"></script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
15
admin/userdata.php
Normal file
@ -0,0 +1,15 @@
|
||||
<?php
|
||||
/*
|
||||
* File:管理账号密码数据文件
|
||||
* Author:易如意
|
||||
* QQ:51154393
|
||||
* Url:www.eruyi.cn
|
||||
*/
|
||||
|
||||
$user = 'hero920103';//后台账号
|
||||
|
||||
$pass = '920103';//后台密码
|
||||
|
||||
$cookie = '29a61ce1e4780613cc59153515edf9ec';
|
||||
|
||||
/* 请手动修改以上账号密码信息 */
|
||||
39
api.php
Normal file
@ -0,0 +1,39 @@
|
||||
<?php
|
||||
//php防注入和XSS攻击通用过滤.
|
||||
$_GET && SafeFilter($_GET);
|
||||
$_POST && SafeFilter($_POST);
|
||||
$_COOKIE && SafeFilter($_COOKIE);
|
||||
|
||||
function SafeFilter (&$arr){
|
||||
$ra=Array('/([\x00-\x08,\x0b-\x0c,\x0e-\x19])/','/script/','/javascript/','/vbscript/','/expression/','/applet/','/meta/','/xml/','/blink/','/link/','/style/','/embed/','/object/','/frame/','/layer/','/title/','/bgsound/','/base/','/onload/','/onunload/','/onchange/','/onsubmit/','/onreset/','/onselect/','/onblur/','/onfocus/','/onabort/','/onkeydown/','/onkeypress/','/onkeyup/','/onclick/','/ondblclick/','/onmousedown/','/onmousemove/','/onmouseout/','/onmouseover/','/onmouseup/','/onunload/');
|
||||
if (is_array($arr)){
|
||||
foreach ($arr as $key => $value){
|
||||
if(!is_array($value)){
|
||||
if (!get_magic_quotes_gpc()){ //不对magic_quotes_gpc转义过的字符使用addslashes(),避免双重转义。
|
||||
$value=addslashes($value); //给单引号(')、双引号(")、反斜线(\)与 NUL(NULL 字符)加上反斜线转义
|
||||
}
|
||||
$value=preg_replace($ra,'',$value); //删除非打印字符,粗暴式过滤xss可疑字符串
|
||||
$arr[$key] = htmlentities(strip_tags($value)); //去除 HTML 和 PHP 标记并转换为 HTML 实体
|
||||
}else{
|
||||
SafeFilter($arr[$key]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
require 'include/global.php';
|
||||
$act = isset($_GET['act']) ? purge($_GET['act'],true,false) : null;
|
||||
$appid = isset($_GET['app']) ? intval($_GET['app']) : 0;//appid
|
||||
$sign = isset($_POST['sign']) ? (purge($_POST['sign'])) : (isset($_GET['sign']) ? purge($_GET['sign']) : '');//数据签名
|
||||
$data = isset($_POST['data']) ? (purge($_POST['data'])) : (isset($_GET['data']) ? purge($_GET['data']) : '');//加密数据
|
||||
|
||||
if($act){
|
||||
if(file_exists(FCPATH.API_EXTEND_MULU.$act.'.php')){
|
||||
if(!empty($appid)){require FCPATH.API_EXTEND_MULU.'app.php';}
|
||||
require FCPATH.API_EXTEND_MULU.$act.'.php';
|
||||
}else{
|
||||
out(400,$act);
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
BIN
app/0707.jar
Normal file
452
app/App.php
Normal file
@ -0,0 +1,452 @@
|
||||
<?php
|
||||
/**
|
||||
* shouq.sujie520.cn
|
||||
**/
|
||||
namespace app\api\controller;
|
||||
|
||||
use think\Db;
|
||||
use think\Cache;
|
||||
|
||||
class App extends Base
|
||||
{
|
||||
|
||||
//当前请求参数
|
||||
var $_param;
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
$this->_param = input();
|
||||
}
|
||||
|
||||
//json转换扩展
|
||||
private function json_encode_extra($obj, $apicode = "")
|
||||
{
|
||||
return json_encode($obj, JSON_UNESCAPED_SLASHES);
|
||||
}
|
||||
|
||||
/**
|
||||
* 视频json,带分类
|
||||
*/
|
||||
public function vod_json($v)
|
||||
{
|
||||
if ($v == null) {
|
||||
return $v;
|
||||
}
|
||||
$v['vod_time_add'] = date('Y-m-d H:i:s', $v['vod_time_add']);
|
||||
$v['vod_content'] = strip_tags($v['vod_content']);
|
||||
if (substr($v["vod_pic"], 0, 4) == "mac:") {
|
||||
$v["vod_pic"] = str_replace('mac:', 'http:', $v["vod_pic"]);
|
||||
}elseif (substr($v["vod_pic"], 0, 2) == "//") {
|
||||
$v["vod_pic"] = str_replace('//', 'http://', $v["vod_pic"]);
|
||||
} elseif (!empty($v["vod_pic"]) && substr($v["vod_pic"], 0, 4) != "http" && substr($v["vod_pic"], 0, 2) != "//") {
|
||||
$v["vod_pic"] = $GLOBALS['config']['api']['vod']['imgurl'] . $v["vod_pic"];
|
||||
}
|
||||
|
||||
if (substr($v["vod_pic_slide"], 0, 4) == "mac:") {
|
||||
$v["vod_pic_slide"] = str_replace('mac:', 'http:', $v["vod_pic_slide"]);
|
||||
}elseif (substr($v["vod_pic_slide"], 0, 2) == "//") {
|
||||
$v["vod_pic_slide"] = str_replace('//', 'http://', $v["vod_pic_slide"]);
|
||||
} elseif (!empty($v["vod_pic_slide"]) && substr($v["vod_pic_slide"], 0, 4) != "http" && substr($v["vod_pic_slide"], 0, 2) != "//") {
|
||||
$v["vod_pic_slide"] = $GLOBALS['config']['api']['vod']['imgurl'] . $v["vod_pic_slide"];
|
||||
}
|
||||
|
||||
//多播放源
|
||||
$v["vod_url_with_player"] = [];
|
||||
$vod_play_from_array = explode('$$$', $v["vod_play_from"]);
|
||||
$play_url_array = explode('$$$', $v["vod_play_url"]);
|
||||
//获取所有播放器
|
||||
$all_players = config("vodplayer");
|
||||
$xg_parse_players = config("vodplayer_xg_parse");
|
||||
$sort = [];
|
||||
foreach ($vod_play_from_array as $k => $player) {
|
||||
try {
|
||||
if ($all_players[$player]['show'] != null && $all_players[$player]['status'] == 1 && ($xg_parse_players[$player]['app_is_show'] == 1 || $xg_parse_players[$player]['app_is_show'] == null)) {
|
||||
$player_sort = $all_players[$player]['sort'];
|
||||
$player_sort = $player_sort == "" ? 0 : $player_sort;
|
||||
$player_with_url = [];
|
||||
$player_with_url["name"] = $all_players[$player]['show'];
|
||||
$player_with_url["code"] = $all_players[$player]['from'];
|
||||
$player_with_url["url"] = $play_url_array[$k];
|
||||
if (empty($xg_parse_players[$player]['parse_api'])) {
|
||||
$player_with_url["parse_api"] = $xg_parse_players['xg_app_player']['parse_api'];
|
||||
} else {
|
||||
$player_with_url["parse_api"] = $xg_parse_players[$player]['parse_api'];
|
||||
}
|
||||
if (empty($xg_parse_players[$player]['user_agent'])) {
|
||||
$player_with_url["user_agent"] = $xg_parse_players['xg_app_player']['user_agent'];
|
||||
} else {
|
||||
$player_with_url["user_agent"] = $xg_parse_players[$player]['user_agent'];
|
||||
}
|
||||
if (empty($xg_parse_players[$player]['headers'])) {
|
||||
$player_with_url["headers"] = $xg_parse_players['xg_app_player']['headers'];
|
||||
} else {
|
||||
$player_with_url["headers"] = $xg_parse_players[$player]['headers'];
|
||||
}
|
||||
if (empty($xg_parse_players[$player]['link_features'])) {
|
||||
$player_with_url["link_features"] = $xg_parse_players['xg_app_player']['link_features'];
|
||||
} else {
|
||||
$player_with_url["link_features"] = $xg_parse_players[$player]['link_features'];
|
||||
}
|
||||
if (empty($xg_parse_players[$player]['un_link_features'])) {
|
||||
$player_with_url["un_link_features"] = $xg_parse_players['xg_app_player']['un_link_features'];
|
||||
} else {
|
||||
$player_with_url["un_link_features"] = $xg_parse_players[$player]['un_link_features'];
|
||||
}
|
||||
$sort[] = $player_sort;
|
||||
array_push($v["vod_url_with_player"], $player_with_url);
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
}
|
||||
}
|
||||
array_multisort($sort, SORT_DESC, $v["vod_url_with_player"]);
|
||||
return $v;
|
||||
}
|
||||
|
||||
/**
|
||||
* 视频json,不带分类
|
||||
*/
|
||||
public function vod_json_list($res)
|
||||
{
|
||||
foreach ($res['list'] as $k => &$v) {
|
||||
$v['vod_time_add'] = date('Y-m-d H:i:s', $v['vod_time_add']);
|
||||
|
||||
if (substr($v["vod_pic"], 0, 4) == "mac:") {
|
||||
$v["vod_pic"] = str_replace('mac:', 'http:', $v["vod_pic"]);
|
||||
}elseif (substr($v["vod_pic"], 0, 2) == "//") {
|
||||
$v["vod_pic"] = str_replace('//', 'http://', $v["vod_pic"]);
|
||||
} elseif (!empty($v["vod_pic"]) && substr($v["vod_pic"], 0, 4) != "http" && substr($v["vod_pic"], 0, 2) != "//") {
|
||||
$v["vod_pic"] = $GLOBALS['config']['api']['vod']['imgurl'] . $v["vod_pic"];
|
||||
}
|
||||
|
||||
if (substr($v["vod_pic_slide"], 0, 4) == "mac:") {
|
||||
$v["vod_pic_slide"] = str_replace('mac:', 'http:', $v["vod_pic_slide"]);
|
||||
}elseif (substr($v["vod_pic_slide"], 0, 2) == "//") {
|
||||
$v["vod_pic_slide"] = str_replace('//', 'http://', $v["vod_pic_slide"]);
|
||||
} elseif (!empty($v["vod_pic_slide"]) && substr($v["vod_pic_slide"], 0, 4) != "http" && substr($v["vod_pic_slide"], 0, 2) != "//") {
|
||||
$v["vod_pic_slide"] = $GLOBALS['config']['api']['vod']['imgurl'] . $v["vod_pic_slide"];
|
||||
}
|
||||
}
|
||||
return $res;
|
||||
}
|
||||
|
||||
// ==========================接口开始===============================
|
||||
/**
|
||||
* 视频检索
|
||||
*/
|
||||
public function search()
|
||||
{
|
||||
$html = '';
|
||||
$where = [];
|
||||
|
||||
if (!empty($this->_param['text'])) {
|
||||
$where['vod_name'] = ['like', "%" . $this->_param['text'] . "%"];
|
||||
}
|
||||
|
||||
//如果缓存中存在,直接返回
|
||||
if (Cache::has('xgapp_search' . $this->_param['text'])) {
|
||||
$cache_response = Cache::get('xgapp_search' . $this->_param['text']);
|
||||
$html = $this->json_encode_extra($cache_response, "search");
|
||||
echo $html;
|
||||
exit;
|
||||
}
|
||||
|
||||
|
||||
$order = 'vod_time desc';
|
||||
$field = 'vod_id,vod_name,vod_pic,vod_score,type_id,vod_en,vod_time_add,vod_remarks';
|
||||
|
||||
$limit_str = "0,20";
|
||||
|
||||
$list = Db::name('Vod')->field($field)->where($where)->order($order)->limit($limit_str)->select();
|
||||
|
||||
//分类
|
||||
$type_list = model('Type')->getCache('type_list');
|
||||
//用户组
|
||||
$group_list = model('Group')->getCache('group_list');
|
||||
|
||||
foreach ($list as $k => $v) {
|
||||
if (!empty($v['type_id'])) {
|
||||
$list[$k]['type'] = $type_list[$v['type_id']];
|
||||
$list[$k]['type_1'] = $type_list[$list[$k]['type']['type_pid']];
|
||||
}
|
||||
if (!empty($v['group_id'])) {
|
||||
$list[$k]['group'] = $group_list[$v['group_id']];
|
||||
}
|
||||
}
|
||||
$res = ['code' => 1, 'msg' => '搜索', 'list' => $list, "total" => sizeof($list)];
|
||||
|
||||
$res = $this->vod_json_list($res);
|
||||
//设置到缓存中
|
||||
Cache::set('xgapp_search' . $this->_param['text'], $res, 60 * 60);
|
||||
$html = $this->json_encode_extra($res, "search");
|
||||
echo $html;
|
||||
exit;
|
||||
}
|
||||
|
||||
public function banner()
|
||||
{
|
||||
//如果缓存中存在,直接返回
|
||||
if (Cache::has('xgapp_banner')) {
|
||||
$cache_list = Cache::get('xgapp_banner');
|
||||
$response = ['code' => 1, 'msg' => '轮播图', 'list' => $cache_list];
|
||||
$html = $this->json_encode_extra($response, "banner");
|
||||
echo $html;
|
||||
exit;
|
||||
}
|
||||
$html = '';
|
||||
$where = [];
|
||||
|
||||
$where['vod_level'] = ['eq', 9];
|
||||
|
||||
$order = 'vod_time desc';
|
||||
$field = 'vod_id,vod_name,vod_pic,vod_pic_slide,vod_score,type_id,vod_en,vod_time_add,vod_remarks';
|
||||
|
||||
$res = model('vod')->listData($where, $order, 1, $GLOBALS['config']['api']['vod']['pagesize'], 0, $field, 0);
|
||||
|
||||
|
||||
foreach ($res["list"] as $k => &$v) {
|
||||
if (!empty($v["vod_pic_slide"])) {
|
||||
$v['vod_pic'] = $v['vod_pic_slide'];
|
||||
}
|
||||
}
|
||||
|
||||
$list_array = $this->vod_json_list($res)["list"];
|
||||
//设置到缓存中
|
||||
Cache::set('xgapp_banner', $list_array, 60 * 60);
|
||||
$response = ['code' => 1, 'msg' => '轮播图', 'list' => $list_array];
|
||||
|
||||
$html = $this->json_encode_extra($response, "banner");
|
||||
|
||||
|
||||
echo $html;
|
||||
exit;
|
||||
}
|
||||
|
||||
public function index_video()
|
||||
{
|
||||
//如果缓存中存在,直接返回
|
||||
if (Cache::has('xgapp_index_video')) {
|
||||
$cache_list = Cache::get('xgapp_index_video');
|
||||
$response = ['code' => 1, 'msg' => '首页视频', 'list' => $cache_list];
|
||||
$html = $this->json_encode_extra($response, "index_video");
|
||||
echo $html;
|
||||
exit;
|
||||
}
|
||||
|
||||
$html = '';
|
||||
|
||||
$type_where = [];
|
||||
$type_where["type_status"] = 1;
|
||||
$type_order = 'type_sort';
|
||||
$type_list = model('type')->listData($type_where, $type_order, 'tree', 1, 1000, 0, 0)["list"];
|
||||
|
||||
$type_list_array = [];
|
||||
foreach ($type_list as $k => $v) {
|
||||
$type_info["type_id"] = $v["type_id"];
|
||||
$type_info["type_name"] = '精选' . $v["type_name"];
|
||||
|
||||
$where['type_id | type_id_1'] = ['eq', $type_info["type_id"]];
|
||||
$where['vod_level'] = ['lt', 2];
|
||||
|
||||
$order = 'vod_level desc,vod_time desc';
|
||||
$field = 'vod_id,vod_name,vod_pic,type_id,vod_remarks';
|
||||
|
||||
$limit_str = '6';
|
||||
$list = Db::name('Vod')->field($field)->where($where)->order($order)->limit($limit_str)->select();
|
||||
|
||||
$res = ["list" => $list];
|
||||
|
||||
$type_info["vlist"] = $this->vod_json_list($res)["list"];
|
||||
|
||||
array_push($type_list_array, $type_info);
|
||||
}
|
||||
|
||||
//设置到缓存中
|
||||
Cache::set('xgapp_index_video', $type_list_array, 60 * 60);
|
||||
$response = ['code' => 1, 'msg' => '首页视频', 'list' => $type_list_array];
|
||||
$html = $this->json_encode_extra($response, "index_video");
|
||||
|
||||
echo $html;
|
||||
exit;
|
||||
}
|
||||
|
||||
public function nav()
|
||||
{
|
||||
|
||||
//如果缓存中存在,直接返回
|
||||
if (Cache::has('xgapp_nav')) {
|
||||
$cache_list = Cache::get('xgapp_nav');
|
||||
$response = ['code' => 1, 'msg' => '导航列表', 'list' => $cache_list];
|
||||
$html = $this->json_encode_extra($response, "nav");
|
||||
echo $html;
|
||||
exit;
|
||||
}
|
||||
|
||||
|
||||
$html = '';
|
||||
|
||||
|
||||
$type_where = [];
|
||||
$type_where["type_status"] = 1;
|
||||
$type_order = 'type_sort';
|
||||
$type_list = model('type')->listData($type_where, $type_order, 'tree', 1, 1000, 0, 0)["list"];
|
||||
$type_list_array = [];
|
||||
foreach ($type_list as $k => $v) {
|
||||
$type_info["type_id"] = $v["type_id"];
|
||||
$type_info["type_name"] = $v["type_name"];
|
||||
$type_info["type_extend"] = $v["type_extend"];
|
||||
array_push($type_list_array, $type_info);
|
||||
}
|
||||
//设置到缓存中
|
||||
Cache::set('xgapp_nav', $type_list_array, 60 * 60);
|
||||
$response = ['code' => 1, 'msg' => '导航列表', 'list' => $type_list_array];
|
||||
|
||||
$html = $this->json_encode_extra($response, "nav");
|
||||
|
||||
echo $html;
|
||||
exit;
|
||||
}
|
||||
|
||||
public function video()
|
||||
{
|
||||
if (empty($this->_param["tid"])) {
|
||||
$json = $this->json_encode_extra(['code' => 2, 'msg' => '参数验证失败'], "video");
|
||||
echo $json;
|
||||
exit;
|
||||
}
|
||||
|
||||
$html = '';
|
||||
$where = [];
|
||||
|
||||
$where['type_id | type_id_1'] = ['eq', $this->_param['tid']];
|
||||
if (!empty($this->_param['class'])) {
|
||||
$where['vod_class'] = ['like', "%" . $this->_param['class'] . "%"];
|
||||
}
|
||||
if (!empty($this->_param['area'])) {
|
||||
$where['vod_area'] = ['like', "%" . $this->_param['area'] . "%"];
|
||||
}
|
||||
if (!empty($this->_param['lang'])) {
|
||||
$where['vod_lang'] = ['like', "%" . $this->_param['lang'] . "%"];
|
||||
}
|
||||
if (!empty($this->_param['year'])) {
|
||||
$where['vod_year'] = ['like', "%" . $this->_param['year'] . "%"];
|
||||
}
|
||||
|
||||
|
||||
if (empty($this->_param['pg'])) {
|
||||
$this->_param['pg'] = 1;
|
||||
}
|
||||
if ($this->_param['pg'] > 25) {
|
||||
$this->_param['pg'] = 25;
|
||||
}
|
||||
|
||||
$order = 'vod_time desc';
|
||||
$field = 'vod_id,vod_name,vod_pic,vod_score,type_id,vod_en,vod_time_add,vod_remarks';
|
||||
|
||||
$res = model('vod')->listData($where, $order, $this->_param['pg'], $GLOBALS['config']['api']['vod']['pagesize'], 0, $field, 0);
|
||||
|
||||
$html = $this->json_encode_extra($this->vod_json_list($res), "video");
|
||||
|
||||
echo $html;
|
||||
exit;
|
||||
}
|
||||
|
||||
|
||||
public function video_detail()
|
||||
{
|
||||
|
||||
if (empty($this->_param['id'])) {
|
||||
$json = $this->json_encode_extra(['code' => 2, 'msg' => '参数验证失败'], "video_detail");
|
||||
echo $json;
|
||||
exit;
|
||||
}
|
||||
|
||||
$html = '';
|
||||
$where = [];
|
||||
|
||||
if (!empty($this->_param['id'])) {
|
||||
$where['vod_id'] = ['eq', $this->_param['id']];
|
||||
}
|
||||
|
||||
if (empty($this->_param['id'])) {
|
||||
$where['vod_id'] = ['eq', 1];
|
||||
}
|
||||
|
||||
$order = 'vod_time desc';
|
||||
$field = '*';
|
||||
|
||||
$res = Db::name('Vod')->field($field)->where($where)->find();
|
||||
|
||||
if (empty($res)) {
|
||||
$json = $this->json_encode_extra(['code' => 404, 'msg' => '抱歉,该视频已下架'], "video_detail");
|
||||
echo $json;
|
||||
exit;
|
||||
}
|
||||
|
||||
$detail = $this->vod_json($res);
|
||||
|
||||
$detail["trysee"] = config("maccms")["user"]["trysee"];
|
||||
//如果当前不是会员,载入20条随机广告
|
||||
if ($detail["permission"] != "vip") {
|
||||
$where = [];
|
||||
$where['status'] = ['eq', 1];
|
||||
$where['start_time'] = ['lt', time()];
|
||||
$where['end_time'] = ['gt', time()];
|
||||
|
||||
$start = 0;
|
||||
$limit = 20;
|
||||
$order = 'rand()';
|
||||
$field = 'id,name,content,req_type,req_content,headers,time,skip_time';
|
||||
|
||||
//视频播放前
|
||||
$init_advert_list = [];
|
||||
$enable = config('maccms')["xg_advert_config"]["config_video_start"];
|
||||
if ($enable == 1) {
|
||||
$where['position'] = ['eq', 3];
|
||||
$limit_str = $start . "," . $limit;
|
||||
$init_advert_list = Db::table('xg_app_advert')->field($field)->where($where)->orderRaw($order)->limit($limit_str)->select();
|
||||
}
|
||||
|
||||
foreach ($init_advert_list as $k => &$v) {
|
||||
if (substr($v["content"], 0, 4) == "mac:") {
|
||||
$v["content"] = str_replace('mac:', 'http:', $v["content"]);
|
||||
} elseif (substr($v["content"], 0, 2) == "//") {
|
||||
$v["content"] = str_replace('//', 'http://', $v["content"]);
|
||||
} elseif (!empty($v["content"]) && substr($v["content"], 0, 4) != "http" && substr($v["content"], 0, 2) != "//") {
|
||||
$v["content"] = $GLOBALS['config']['api']['vod']['imgurl'] . $v["content"];
|
||||
}
|
||||
$init_advert_list[$k] = $v;
|
||||
}
|
||||
//视频暂停
|
||||
$pause_advert_list = [];
|
||||
$enable = config('maccms')["xg_advert_config"]["config_video_pause"];
|
||||
if ($enable == 1) {
|
||||
$where['position'] = ['eq', 4];
|
||||
$limit_str = $start . "," . $limit;
|
||||
$pause_advert_list = Db::table('xg_app_advert')->field($field)->where($where)->orderRaw($order)->limit($limit_str)->select();
|
||||
}
|
||||
foreach ($pause_advert_list as $k => &$v) {
|
||||
if (substr($v["content"], 0, 4) == "mac:") {
|
||||
$v["content"] = str_replace('mac:', 'http:', $v["content"]);
|
||||
} elseif (substr($v["content"], 0, 2) == "//") {
|
||||
$v["content"] = str_replace('//', 'http://', $v["content"]);
|
||||
} elseif (!empty($v["content"]) && substr($v["content"], 0, 4) != "http" && substr($v["content"], 0, 2) != "//") {
|
||||
$v["content"] = $GLOBALS['config']['api']['vod']['imgurl'] . $v["content"];
|
||||
}
|
||||
$pause_advert_list[$k] = $v;
|
||||
}
|
||||
$detail["init_advert_list"] = $init_advert_list;
|
||||
$detail["pause_advert_list"] = $pause_advert_list;
|
||||
}
|
||||
if ($detail["unlock"]) {
|
||||
$response = ['code' => 1024, 'msg' => '权限不足', 'data' => $detail];
|
||||
$html = $this->json_encode_extra($response, "video_detail");
|
||||
echo $html;
|
||||
exit;
|
||||
}
|
||||
$response = ['code' => 1, 'msg' => '视频详情', 'data' => $detail];
|
||||
$html = $this->json_encode_extra($response, "video_detail");
|
||||
echo $html;
|
||||
exit;
|
||||
}
|
||||
|
||||
}
|
||||
BIN
app/custom_spider.jar
Normal file
BIN
app/fan813.jar
Normal file
BIN
app/img/img.png
Normal file
|
After Width: | Height: | Size: 18 KiB |
BIN
app/img/logo.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
app/jar/XYQ.jar
Normal file
BIN
app/jar/fan.txt
Normal file
BIN
app/jar/pg.jar
Normal file
BIN
app/jar/tvbox.txt
Normal file
773
app/json/duboku.json
Normal file
@ -0,0 +1,773 @@
|
||||
{
|
||||
"author": "takagen99",
|
||||
"ua": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36",
|
||||
"homeUrl": "https://www.duboku.tv/",
|
||||
"dcVipFlag": "true",
|
||||
"dcPlayUrl": "true",
|
||||
"cateNode": "//ul[contains(@class,'nav-menu')]/li/a[contains(@href, 'vodtype')]",
|
||||
"cateName": "/text()",
|
||||
"cateId": "/@href",
|
||||
"cateIdR": "/vodtype/(\\w+).html",
|
||||
"cateManual": {
|
||||
"陆剧": "13",
|
||||
"日韩剧": "15",
|
||||
"短剧": "21",
|
||||
"英美剧": "16",
|
||||
"台泰剧": "14",
|
||||
"港剧": "20",
|
||||
"综艺": "3",
|
||||
"动漫": "4"
|
||||
},
|
||||
"homeVodNode": "//ul[contains(@class,'myui-vodlist')]/li/div/a",
|
||||
"homeVodName": "/@title",
|
||||
"homeVodId": "/@href",
|
||||
"homeVodIdR": "/voddetail/(\\w+).html",
|
||||
"homeVodImg": "/@data-original",
|
||||
"homeVodImgR": "\\S+(http\\S+)",
|
||||
"homeVodMark": "//span[contains(@class,'pic-text')]/text()",
|
||||
"cateUrl": "https://www.duboku.tv/vodshow/{cateId}-{area}-{by}------{catePg}---{year}.html",
|
||||
"cateVodNode": "//ul[contains(@class,'myui-vodlist')]/li/div/a",
|
||||
"cateVodName": "/@title",
|
||||
"cateVodId": "/@href",
|
||||
"cateVodIdR": "/voddetail/(\\w+).html",
|
||||
"cateVodImg": "/@data-original",
|
||||
"cateVodImgR": "\\S+(http\\S+)",
|
||||
"cateVodMark": "//span[contains(@class,'pic-text')]/text()",
|
||||
"dtUrl": "https://w.duboku.io/voddetail/{vid}.html",
|
||||
"dtNode": "//body",
|
||||
"dtName": "//div[contains(@class,'myui-content__thumb')]/a/@title",
|
||||
"dtNameR": "",
|
||||
"dtImg": "//div[contains(@class,'myui-content__thumb')]/a/img/@data-original",
|
||||
"dtImgR": "",
|
||||
"dtCate": "//div[contains(@class,'myui-content__detail')]/p/span[contains(text(), '分类')]/following-sibling::a/text()",
|
||||
"dtYear": "//div[contains(@class,'myui-content__detail')]/p/span[contains(text(), '年份')]/following-sibling::a/text()",
|
||||
"dtArea": "//div[contains(@class,'myui-content__detail')]/p/span[contains(text(), '地区')]/following-sibling::a/text()",
|
||||
"dtMark": "//div[contains(@class,'myui-content__detail')]/p/span[contains(text(), '更新')]/following-sibling::a/text()",
|
||||
"dtDirector": "//div[contains(@class,'myui-content__detail')]/p/span[contains(text(), '导演')]/following-sibling::a/text()",
|
||||
"dtActor": "//div[contains(@class,'myui-content__detail')]/p/span[contains(text(), '主演')]/following-sibling::a/text()",
|
||||
"dtDesc": "//div[contains(@class,'myui-content__detail')]/p/span[contains(text(), '简介')]/following-sibling::a/text()",
|
||||
"dtFromNode": "//ul[contains(@class,'nav-tabs')]/li/a",
|
||||
"dtFromName": "/text()",
|
||||
"dtFromNameR": "",
|
||||
"dtUrlNode": "//ul[contains(@class,'myui-content__list')]",
|
||||
"dtUrlSubNode": "/li/a",
|
||||
"dtUrlId": "/@href",
|
||||
"dtUrlIdR": "/vodplay/(\\S+).html",
|
||||
"dtUrlName": "/text()",
|
||||
"dtUrlNameR": "",
|
||||
|
||||
"playUrl": "https://w.duboku.io/vodplay/{playUrl}.html",
|
||||
"playUa": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36",
|
||||
"playReferer": "https://w.duboku.io/",
|
||||
"searchUrl": "https://w.duboku.io/index.php/ajax/suggest?mid=1&wd={wd}&limit=10",
|
||||
"scVodNode": "json:list",
|
||||
"scVodName": "name",
|
||||
"scVodId": "id",
|
||||
"scVodIdR": "",
|
||||
"scVodImg": "pic",
|
||||
"scVodMark": "",
|
||||
"filter": {
|
||||
"13": [
|
||||
{
|
||||
"key": "year",
|
||||
"name": "年份",
|
||||
"value": [
|
||||
{
|
||||
"n": "全部",
|
||||
"v": ""
|
||||
},
|
||||
{
|
||||
"n": "2023",
|
||||
"v": "2023"
|
||||
},
|
||||
{
|
||||
"n": "2022",
|
||||
"v": "2022"
|
||||
},
|
||||
{
|
||||
"n": "2021",
|
||||
"v": "2021"
|
||||
},
|
||||
{
|
||||
"n": "2020",
|
||||
"v": "2020"
|
||||
},
|
||||
{
|
||||
"n": "2019",
|
||||
"v": "2019"
|
||||
},
|
||||
{
|
||||
"n": "2018",
|
||||
"v": "2018"
|
||||
},
|
||||
{
|
||||
"n": "2017",
|
||||
"v": "2017"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": "by",
|
||||
"name": "排序",
|
||||
"value": [
|
||||
{
|
||||
"n": "排序",
|
||||
"v": ""
|
||||
},
|
||||
{
|
||||
"n": "时间",
|
||||
"v": "time"
|
||||
},
|
||||
{
|
||||
"n": "人气",
|
||||
"v": "hits"
|
||||
},
|
||||
{
|
||||
"n": "评分",
|
||||
"v": "score"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"14": [
|
||||
{
|
||||
"key": "year",
|
||||
"name": "年份",
|
||||
"value": [
|
||||
{
|
||||
"n": "全部",
|
||||
"v": ""
|
||||
},
|
||||
{
|
||||
"n": "2023",
|
||||
"v": "2023"
|
||||
},
|
||||
{
|
||||
"n": "2022",
|
||||
"v": "2022"
|
||||
},
|
||||
{
|
||||
"n": "2021",
|
||||
"v": "2021"
|
||||
},
|
||||
{
|
||||
"n": "2020",
|
||||
"v": "2020"
|
||||
},
|
||||
{
|
||||
"n": "2019",
|
||||
"v": "2019"
|
||||
},
|
||||
{
|
||||
"n": "2018",
|
||||
"v": "2018"
|
||||
},
|
||||
{
|
||||
"n": "2017",
|
||||
"v": "2017"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": "by",
|
||||
"name": "排序",
|
||||
"value": [
|
||||
{
|
||||
"n": "排序",
|
||||
"v": ""
|
||||
},
|
||||
{
|
||||
"n": "时间",
|
||||
"v": "time"
|
||||
},
|
||||
{
|
||||
"n": "人气",
|
||||
"v": "hits"
|
||||
},
|
||||
{
|
||||
"n": "评分",
|
||||
"v": "score"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"16": [
|
||||
{
|
||||
"key": "year",
|
||||
"name": "年份",
|
||||
"value": [
|
||||
{
|
||||
"n": "全部",
|
||||
"v": ""
|
||||
},
|
||||
{
|
||||
"n": "2023",
|
||||
"v": "2023"
|
||||
},
|
||||
{
|
||||
"n": "2022",
|
||||
"v": "2022"
|
||||
},
|
||||
{
|
||||
"n": "2021",
|
||||
"v": "2021"
|
||||
},
|
||||
{
|
||||
"n": "2020",
|
||||
"v": "2020"
|
||||
},
|
||||
{
|
||||
"n": "2019",
|
||||
"v": "2019"
|
||||
},
|
||||
{
|
||||
"n": "2018",
|
||||
"v": "2018"
|
||||
},
|
||||
{
|
||||
"n": "2017",
|
||||
"v": "2017"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": "by",
|
||||
"name": "排序",
|
||||
"value": [
|
||||
{
|
||||
"n": "排序",
|
||||
"v": ""
|
||||
},
|
||||
{
|
||||
"n": "时间",
|
||||
"v": "time"
|
||||
},
|
||||
{
|
||||
"n": "人气",
|
||||
"v": "hits"
|
||||
},
|
||||
{
|
||||
"n": "评分",
|
||||
"v": "score"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"15": [
|
||||
{
|
||||
"key": "year",
|
||||
"name": "年份",
|
||||
"value": [
|
||||
{
|
||||
"n": "全部",
|
||||
"v": ""
|
||||
},
|
||||
{
|
||||
"n": "2023",
|
||||
"v": "2023"
|
||||
},
|
||||
{
|
||||
"n": "2022",
|
||||
"v": "2022"
|
||||
},
|
||||
{
|
||||
"n": "2021",
|
||||
"v": "2021"
|
||||
},
|
||||
{
|
||||
"n": "2020",
|
||||
"v": "2020"
|
||||
},
|
||||
{
|
||||
"n": "2019",
|
||||
"v": "2019"
|
||||
},
|
||||
{
|
||||
"n": "2018",
|
||||
"v": "2018"
|
||||
},
|
||||
{
|
||||
"n": "2017",
|
||||
"v": "2017"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": "by",
|
||||
"name": "排序",
|
||||
"value": [
|
||||
{
|
||||
"n": "排序",
|
||||
"v": ""
|
||||
},
|
||||
{
|
||||
"n": "时间",
|
||||
"v": "time"
|
||||
},
|
||||
{
|
||||
"n": "人气",
|
||||
"v": "hits"
|
||||
},
|
||||
{
|
||||
"n": "评分",
|
||||
"v": "score"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"2": [
|
||||
{
|
||||
"key": "cateId",
|
||||
"name": "类型",
|
||||
"value": [
|
||||
{
|
||||
"n": "全部",
|
||||
"v": ""
|
||||
},
|
||||
{
|
||||
"n": "陆剧",
|
||||
"v": "13"
|
||||
},
|
||||
{
|
||||
"n": "日韩剧",
|
||||
"v": "15"
|
||||
},
|
||||
{
|
||||
"n": "英美剧",
|
||||
"v": "16"
|
||||
},
|
||||
{
|
||||
"n": "台泰剧",
|
||||
"v": "14"
|
||||
},
|
||||
{
|
||||
"n": "港剧",
|
||||
"v": "20"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": "area",
|
||||
"name": "地区",
|
||||
"value": [
|
||||
{
|
||||
"n": "全部",
|
||||
"v": ""
|
||||
},
|
||||
{
|
||||
"n": "内地",
|
||||
"v": "内地"
|
||||
},
|
||||
{
|
||||
"n": "韩国",
|
||||
"v": "韩国"
|
||||
},
|
||||
{
|
||||
"n": "香港",
|
||||
"v": "香港"
|
||||
},
|
||||
{
|
||||
"n": "台湾",
|
||||
"v": "台湾"
|
||||
},
|
||||
{
|
||||
"n": "美国",
|
||||
"v": "美国"
|
||||
},
|
||||
{
|
||||
"n": "英国",
|
||||
"v": "英国"
|
||||
},
|
||||
{
|
||||
"n": "巴西",
|
||||
"v": "巴西"
|
||||
},
|
||||
{
|
||||
"n": "西班牙",
|
||||
"v": "西班牙"
|
||||
},
|
||||
{
|
||||
"n": "泰国",
|
||||
"v": "泰国"
|
||||
},
|
||||
{
|
||||
"n": "德国",
|
||||
"v": "德国"
|
||||
},
|
||||
{
|
||||
"n": "法国",
|
||||
"v": "法国"
|
||||
},
|
||||
{
|
||||
"n": "日本",
|
||||
"v": "日本"
|
||||
},
|
||||
{
|
||||
"n": "荷兰",
|
||||
"v": "荷兰"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": "year",
|
||||
"name": "年份",
|
||||
"value": [
|
||||
{
|
||||
"n": "全部",
|
||||
"v": ""
|
||||
},
|
||||
{
|
||||
"n": "2023",
|
||||
"v": "2023"
|
||||
},
|
||||
{
|
||||
"n": "2022",
|
||||
"v": "2022"
|
||||
},
|
||||
{
|
||||
"n": "2021",
|
||||
"v": "2021"
|
||||
},
|
||||
{
|
||||
"n": "2020",
|
||||
"v": "2020"
|
||||
},
|
||||
{
|
||||
"n": "2019",
|
||||
"v": "2019"
|
||||
},
|
||||
{
|
||||
"n": "2018",
|
||||
"v": "2018"
|
||||
},
|
||||
{
|
||||
"n": "2017",
|
||||
"v": "2017"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": "by",
|
||||
"name": "排序",
|
||||
"value": [
|
||||
{
|
||||
"n": "排序",
|
||||
"v": ""
|
||||
},
|
||||
{
|
||||
"n": "时间",
|
||||
"v": "time"
|
||||
},
|
||||
{
|
||||
"n": "人气",
|
||||
"v": "hits"
|
||||
},
|
||||
{
|
||||
"n": "评分",
|
||||
"v": "score"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"3": [
|
||||
{
|
||||
"key": "area",
|
||||
"name": "地区",
|
||||
"value": [
|
||||
{
|
||||
"n": "全部",
|
||||
"v": ""
|
||||
},
|
||||
{
|
||||
"n": "内地",
|
||||
"v": "内地"
|
||||
},
|
||||
{
|
||||
"n": "香港",
|
||||
"v": "香港"
|
||||
},
|
||||
{
|
||||
"n": "台湾",
|
||||
"v": "台湾"
|
||||
},
|
||||
{
|
||||
"n": "韩国",
|
||||
"v": "韩国"
|
||||
},
|
||||
{
|
||||
"n": "美国",
|
||||
"v": "美国"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": "year",
|
||||
"name": "年份",
|
||||
"value": [
|
||||
{
|
||||
"n": "全部",
|
||||
"v": ""
|
||||
},
|
||||
{
|
||||
"n": "2023",
|
||||
"v": "2023"
|
||||
},
|
||||
{
|
||||
"n": "2022",
|
||||
"v": "2022"
|
||||
},
|
||||
{
|
||||
"n": "2021",
|
||||
"v": "2021"
|
||||
},
|
||||
{
|
||||
"n": "2020",
|
||||
"v": "2020"
|
||||
},
|
||||
{
|
||||
"n": "2019",
|
||||
"v": "2019"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": "by",
|
||||
"name": "排序",
|
||||
"value": [
|
||||
{
|
||||
"n": "排序",
|
||||
"v": ""
|
||||
},
|
||||
{
|
||||
"n": "时间",
|
||||
"v": "time"
|
||||
},
|
||||
{
|
||||
"n": "人气",
|
||||
"v": "hits"
|
||||
},
|
||||
{
|
||||
"n": "评分",
|
||||
"v": "score"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"4": [
|
||||
{
|
||||
"key": "area",
|
||||
"name": "地区",
|
||||
"value": [
|
||||
{
|
||||
"n": "全部",
|
||||
"v": ""
|
||||
},
|
||||
{
|
||||
"n": "国产",
|
||||
"v": "国产"
|
||||
},
|
||||
{
|
||||
"n": "日本",
|
||||
"v": "日本"
|
||||
},
|
||||
{
|
||||
"n": "美国",
|
||||
"v": "美国"
|
||||
},
|
||||
{
|
||||
"n": "法国",
|
||||
"v": "法国"
|
||||
},
|
||||
{
|
||||
"n": "其他",
|
||||
"v": "其他"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": "year",
|
||||
"name": "年份",
|
||||
"value": [
|
||||
{
|
||||
"n": "全部",
|
||||
"v": ""
|
||||
},
|
||||
{
|
||||
"n": "2023",
|
||||
"v": "2023"
|
||||
},
|
||||
{
|
||||
"n": "2022",
|
||||
"v": "2022"
|
||||
},
|
||||
{
|
||||
"n": "2021",
|
||||
"v": "2021"
|
||||
},
|
||||
{
|
||||
"n": "2020",
|
||||
"v": "2020"
|
||||
},
|
||||
{
|
||||
"n": "2019",
|
||||
"v": "2019"
|
||||
},
|
||||
{
|
||||
"n": "2018",
|
||||
"v": "2018"
|
||||
},
|
||||
{
|
||||
"n": "2017",
|
||||
"v": "2017"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": "by",
|
||||
"name": "排序",
|
||||
"value": [
|
||||
{
|
||||
"n": "排序",
|
||||
"v": ""
|
||||
},
|
||||
{
|
||||
"n": "时间",
|
||||
"v": "time"
|
||||
},
|
||||
{
|
||||
"n": "人气",
|
||||
"v": "hits"
|
||||
},
|
||||
{
|
||||
"n": "评分",
|
||||
"v": "score"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"20": [
|
||||
{
|
||||
"key": "year",
|
||||
"name": "年份",
|
||||
"value": [
|
||||
{
|
||||
"n": "全部",
|
||||
"v": ""
|
||||
},
|
||||
{
|
||||
"n": "2023",
|
||||
"v": "2023"
|
||||
},
|
||||
{
|
||||
"n": "2022",
|
||||
"v": "2022"
|
||||
},
|
||||
{
|
||||
"n": "2021",
|
||||
"v": "2021"
|
||||
},
|
||||
{
|
||||
"n": "2020",
|
||||
"v": "2020"
|
||||
},
|
||||
{
|
||||
"n": "2019",
|
||||
"v": "2019"
|
||||
},
|
||||
{
|
||||
"n": "2018",
|
||||
"v": "2018"
|
||||
},
|
||||
{
|
||||
"n": "2017",
|
||||
"v": "2017"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": "by",
|
||||
"name": "排序",
|
||||
"value": [
|
||||
{
|
||||
"n": "排序",
|
||||
"v": ""
|
||||
},
|
||||
{
|
||||
"n": "时间",
|
||||
"v": "time"
|
||||
},
|
||||
{
|
||||
"n": "人气",
|
||||
"v": "hits"
|
||||
},
|
||||
{
|
||||
"n": "评分",
|
||||
"v": "score"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"21": [
|
||||
{
|
||||
"key": "year",
|
||||
"name": "年份",
|
||||
"value": [
|
||||
{
|
||||
"n": "全部",
|
||||
"v": ""
|
||||
},
|
||||
{
|
||||
"n": "2023",
|
||||
"v": "2023"
|
||||
},
|
||||
{
|
||||
"n": "2022",
|
||||
"v": "2022"
|
||||
},
|
||||
{
|
||||
"n": "2021",
|
||||
"v": "2021"
|
||||
},
|
||||
{
|
||||
"n": "2020",
|
||||
"v": "2020"
|
||||
},
|
||||
{
|
||||
"n": "2019",
|
||||
"v": "2019"
|
||||
},
|
||||
{
|
||||
"n": "2018",
|
||||
"v": "2018"
|
||||
},
|
||||
{
|
||||
"n": "2017",
|
||||
"v": "2017"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": "by",
|
||||
"name": "排序",
|
||||
"value": [
|
||||
{
|
||||
"n": "排序",
|
||||
"v": ""
|
||||
},
|
||||
{
|
||||
"n": "时间",
|
||||
"v": "time"
|
||||
},
|
||||
{
|
||||
"n": "人气",
|
||||
"v": "hits"
|
||||
},
|
||||
{
|
||||
"n": "评分",
|
||||
"v": "score"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
783
app/list.txt
Normal file
@ -0,0 +1,783 @@
|
||||
中央台,#genre#
|
||||
CCTV1,mitv://generationnexxxt.com:19806/f1e3bc8a344e49dab603272c8fd2641e
|
||||
CCTV1,http://39.134.66.66/PLTV/88888888/224/3221225816/index.m3u8
|
||||
CCTV2,mitv://generationnexxxt.com:19806/ce08ee69cea5402c99bf285704eac3e5
|
||||
CCTV2,http://39.134.66.66/PLTV/88888888/224/3221225599/index.m3u8
|
||||
CCTV3,mitv://generationnexxxt.com:19806/784f6703531044be9cee14b793948d30
|
||||
CCTV3,http://39.134.66.66/PLTV/88888888/224/3221225799/index.m3u8
|
||||
CCTV4,mitv://generationnexxxt.com:19806/50c3e18e04bf478db59251455cf3d309
|
||||
CCTV4,http://39.134.66.66/PLTV/88888888/224/3221225797/index.m3u8
|
||||
CCTV5,mitv://generationnexxxt.com:19806/7d00bdeddb6c422796e62ae9e8b9398d
|
||||
CCTV5,http://39.134.66.66/PLTV/88888888/224/3221225818/index.m3u8
|
||||
CCTV5+,mitv://generationnexxxt.com:19806/5b390808c064415fa55fa30feb8788ff
|
||||
CCTV5+,http://39.134.66.66/PLTV/88888888/224/3221225507/index.m3u8
|
||||
CCTV6,mitv://generationnexxxt.com:19806/3ec70c48b2024e4f9210169aec2914c7
|
||||
CCTV6,http://39.134.66.66/PLTV/88888888/224/3221225814/index.m3u8
|
||||
CCTV7,mitv://generationnexxxt.com:19806/e70ef03e57794075962ec3960df5b167
|
||||
CCTV7,http://39.134.66.66/PLTV/88888888/224/3221225671/index.m3u8
|
||||
CCTV8,mitv://generationnexxxt.com:19806/7c422f17b94c47928316bba288c64a25
|
||||
CCTV8,http://39.134.66.66/PLTV/88888888/224/3221225795/index.m3u8
|
||||
CCTV9,mitv://generationnexxxt.com:19806/1d25488429514e78ab4d100819bece3e
|
||||
CCTV9,http://39.134.66.66/PLTV/88888888/224/3221225676/index.m3u8
|
||||
CCTV10,mitv://generationnexxxt.com:19806/db6e0eae415d4d3c80389e51f8aac382
|
||||
CCTV10,http://39.134.66.66/PLTV/88888888/224/3221225677/index.m3u8
|
||||
CCTV11,mitv://generationnexxxt.com:19806/aed547d30ca64a089f9b9adad8d9ee91
|
||||
CCTV11,http://39.134.66.66/PLTV/88888888/224/3221225517/index.m3u8
|
||||
CCTV12,mitv://generationnexxxt.com:19806/70a7e5f93ab14d978706c237fe142277
|
||||
CCTV12,http://39.134.66.66/PLTV/88888888/224/3221225669/index.m3u8
|
||||
CCTV13,mitv://generationnexxxt.com:19806/89e640d10d2646d3b7580c9bd85e9565
|
||||
CCTV13,http://39.134.66.66/PLTV/88888888/224/3221225812/index.m3u8
|
||||
CCTV13,https://live-play.cctvnews.cctv.com/cctv/merge_cctv13.m3u8
|
||||
CCTV14,mitv://generationnexxxt.com:19806/5ce5a7ff03b541cc8ef405312b4fec09
|
||||
CCTV14,http://39.134.66.66/PLTV/88888888/224/3221225674/index.m3u8
|
||||
CCTV15,mitv://generationnexxxt.com:19806/8914df6967f546eb8cf20ea35946ad8d
|
||||
CCTV15,http://39.134.66.66/PLTV/88888888/224/3221225513/index.m3u8
|
||||
CCTV17,http://39.134.66.66/PLTV/88888888/224/3221225708/index.m3u8
|
||||
|
||||
地方台,#genre#
|
||||
北京卫视,mitv://generationnexxxt.com:19806/8d7d0547db754c32bca6011693893b40
|
||||
天津卫视,mitv://generationnexxxt.com:19806/0d7fa1ec8c4348e29bc3f09a38ae3691
|
||||
河北卫视,mitv://generationnexxxt.com:19806/f0390f4cc1fa4b9991338bc6426deb17
|
||||
黑龙江卫视,mitv://generationnexxxt.com:19806/2f690600a9454710b15b0e90853268c3
|
||||
辽宁卫视,mitv://generationnexxxt.com:19806/4b1903b35f804f1180a4b346efbabfc9
|
||||
东方卫视,mitv://generationnexxxt.com:19806/10521db17e054dbeba85448ac091ae64
|
||||
江苏卫视,mitv://generationnexxxt.com:19806/13f3f27751184d95902e5c588264551e
|
||||
浙江卫视,http://ali-m-l.cztv.com/channels/lantian/channel001/1080p.m3u8
|
||||
浙江卫视,mitv://generationnexxxt.com:19806/7bf4b3a65eaf421ab6d71bd8dcc4547a
|
||||
江西卫视,mitv://generationnexxxt.com:19806/d3548b106a7d45b4972427c3a75135ab
|
||||
山东卫视,mitv://generationnexxxt.com:19806/be77ccef4df042ab909e0a2586844431
|
||||
东南卫视,mitv://generationnexxxt.com:19806/00aae4669ca24ddabf43997323ceef8e
|
||||
湖北卫视,mitv://generationnexxxt.com:19806/7553b94400ac4d85b752579acb37c0ce
|
||||
湖南卫视,mitv://generationnexxxt.com:19806/45dc7947c5574ebfb0e68e5d0a537ed0
|
||||
深圳卫视,mitv://generationnexxxt.com:19806/b8c8ef10f65649c9a43388d771203f61
|
||||
广东卫视,mitv://generationnexxxt.com:19806/cf7073fbb4c5490a86aca002247700f9
|
||||
广西卫视,mitv://generationnexxxt.com:19806/eb435193f43d4c8ca09c9ce477d4d7b9
|
||||
重庆卫视,mitv://generationnexxxt.com:19806/c173700eaecc412695b37ac062b6abac
|
||||
云南卫视,mitv://generationnexxxt.com:19806/9203ba029385410793e3f2b7bffb3335
|
||||
星空卫视,mitv://generationnexxxt.com:19806/0b87528420394614b1016123ff4fda4c
|
||||
大湾区卫视,mitv://generationnexxxt.com:19806/587bc565d5a4413987fdce380a48a332
|
||||
珠江台,mitv://generationnexxxt.com:19806/a050c8e736174de681b13b8ebd2ce3c4
|
||||
|
||||
小地方,#genre#
|
||||
义乌新闻综合,https://44911.hlsplay.aodianyun.com/tv_radio_44911/tv_channel_1796.m3u8?auth_key=4830573978-0-0-92824c2c03f95906a3c49a4aa28f1709&extra_key=Yc1XsmxOKy2UBoPM4Wy5vCPsEYqnj06taCR2SRB2Xrg2w28NPilH03KdIbbM5wgSql-VBohSnoO9AOKl94q2t2DWMftz-XB-2qUX-UjXcS80StcSZahBFjrKLivXaRjiY5r2NOMKWMKFbv-S0Bz2G6iEXgCK8yGjtrFHDcPfAQEE0pvXq0Bwy34b7We8zARN&ali_ffmpeg_version=mpengine
|
||||
浙江钱江都市,http://ali-m-l.cztv.com/channels/lantian/channel002/1080p.m3u8
|
||||
浙江经济生活,http://ali-m-l.cztv.com/channels/lantian/channel003/1080p.m3u8
|
||||
浙江教科影院,http://ali-m-l.cztv.com/channels/lantian/channel004/1080p.m3u8
|
||||
浙江民生休闲,http://ali-m-l.cztv.com/channels/lantian/channel006/1080p.m3u8
|
||||
浙江新闻,http://ali-m-l.cztv.com/channels/lantian/channel007/1080p.m3u8
|
||||
浙江少儿,http://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8
|
||||
中国蓝新闻,http://ali-m-l.cztv.com/channels/lantian/channel009/1080p.m3u8
|
||||
浙江国际,http://ali-m-l.cztv.com/channels/lantian/channel010/1080p.m3u8
|
||||
数码时代,http://ali-m-l.cztv.com/channels/lantian/channel012/1080p.m3u8
|
||||
武义新闻综合,http://l.cztvcloud.com/channels/lantian/SXwuyi1/720p.m3u8?zzhed
|
||||
平湖新闻综合,http://l.cztvcloud.com/channels/lantian/SXpinghu1/720p.m3u8?zzhed
|
||||
平湖民生休闲,http://l.cztvcloud.com/channels/lantian/SXpinghu2/720p.m3u8?zzhed
|
||||
萧山新闻综合,http://l.cztvcloud.com/channels/lantian/SXxiaoshan1/720p.m3u8?zzhed
|
||||
萧山生活频道,http://l.cztvcloud.com/channels/lantian/SXxiaoshan2/720p.m3u8?zzhed
|
||||
淳安电视台,https://wtmtyoutlive.watonemt.com/f2p7vq/lf76v9.m3u8?zzhed
|
||||
淳安电视台,https://wtmtylive.yunshicloud.com/tbziu1/ad592j.m3u8?zzhed
|
||||
余杭综合频道,http://l.cztvcloud.com/channels/lantian/SXyuhang1/720p.m3u8?zzhed
|
||||
余杭未来E频道,http://l.cztvcloud.com/channels/lantian/SXyuhang3/720p.m3u8?zzhed
|
||||
余姚新闻综合,http://l.cztvcloud.com/channels/lantian/SXyuyao1/720p.m3u8?zzhed
|
||||
余姚姚江文化,http://l.cztvcloud.com/channels/lantian/SXyuyao3/720p.m3u8?zzhed
|
||||
嵊州新闻综合,http://l.cztvcloud.com/channels/lantian/SXshengzhou1/720p.m3u8?zzhed
|
||||
嵊州新闻综合,https://hlsv2.quklive.com/live/1626935015913208/index.m3u8?zzhed
|
||||
诸暨新闻综合,http://l.cztvcloud.com/channels/lantian/SXzhuji3/720p.m3u8?zzhed
|
||||
上虞新闻综合,http://l.cztvcloud.com/channels/lantian/SXshangyu1/720p.m3u8?zzhed
|
||||
上虞文化影院,http://l.cztvcloud.com/channels/lantian/SXshangyu2/720p.m3u8?zzhed
|
||||
上虞新商都,http://l.cztvcloud.com/channels/lantian/SXshangyu3/720p.m3u8?zzhed
|
||||
海宁新闻综合,http://live.hndachao.cn/xwzh/sd/live.m3u8?zzhed
|
||||
海宁生活服务,http://live.hndachao.cn/shfw/sd/live.m3u8?zzhed
|
||||
兰溪新闻综合,http://l.cztvcloud.com/channels/lantian/SXlanxi1/720p.m3u8?zzhed
|
||||
咪咕移动,#genre#
|
||||
北京冬奥纪实,http://39.134.66.66/PLTV/88888888/224/3221225670/index.m3u8
|
||||
北京卡酷少儿,http://39.134.66.66/PLTV/88888888/224/3221225562/index.m3u8
|
||||
北京卫视,http://39.134.66.66/PLTV/88888888/224/3221225678/index.m3u8
|
||||
重庆卫视,http://39.134.66.66/PLTV/88888888/224/3221225502/index.m3u8
|
||||
大庆公共,http://39.134.66.66/PLTV/88888888/224/3221225734/index.m3u8
|
||||
大庆新闻综合,http://39.134.66.66/PLTV/88888888/224/3221225736/index.m3u8
|
||||
东方卫视,http://39.134.66.66/PLTV/88888888/224/3221225672/index.m3u8
|
||||
东南卫视,http://39.134.66.66/PLTV/88888888/224/3221225500/index.m3u8
|
||||
甘肃卫视,http://39.134.66.66/PLTV/88888888/224/3221225584/index.m3u8
|
||||
贵州卫视,http://39.134.66.66/PLTV/88888888/224/3221225576/index.m3u8
|
||||
哈尔滨生活,http://39.134.66.66/PLTV/88888888/224/3221225698/index.m3u8
|
||||
哈尔滨新闻综合,http://39.134.66.66/PLTV/88888888/224/3221225684/index.m3u8
|
||||
哈尔滨影视,http://39.134.66.66/PLTV/88888888/224/3221225700/index.m3u8
|
||||
哈尔滨娱乐,http://39.134.66.66/PLTV/88888888/224/3221225699/index.m3u8
|
||||
哈尔滨资讯,http://39.134.66.66/PLTV/88888888/224/3221225697/index.m3u8
|
||||
海南卫视,http://39.134.66.66/PLTV/88888888/224/3221225530/index.m3u8
|
||||
河北卫视,http://39.134.66.66/PLTV/88888888/224/3221225495/index.m3u8
|
||||
鹤岗公共,http://39.134.66.66/PLTV/88888888/224/3221225787/index.m3u8
|
||||
鹤岗新闻综合,http://39.134.66.66/PLTV/88888888/224/3221225785/index.m3u8
|
||||
黑莓电竞,http://39.134.66.66/PLTV/88888888/224/3221225559/index.m3u8
|
||||
黑莓电影,http://39.134.66.66/PLTV/88888888/224/3221225681/index.m3u8
|
||||
黑莓动画,http://39.134.66.66/PLTV/88888888/224/3221225529/index.m3u8
|
||||
湖北卫视,http://39.134.66.66/PLTV/88888888/224/3221225569/index.m3u8
|
||||
湖南金鹰卡通,http://39.134.66.66/PLTV/88888888/224/3221225561/index.m3u8
|
||||
湖南卫视,http://39.134.66.66/PLTV/88888888/224/3221225506/index.m3u8
|
||||
江苏好享购物,http://39.134.66.66/PLTV/88888888/224/3221225695/index.m3u8
|
||||
江苏卫视,http://39.134.66.66/PLTV/88888888/224/3221225503/index.m3u8
|
||||
江苏优漫卡通,http://39.134.66.66/PLTV/88888888/224/3221225556/index.m3u8
|
||||
辽宁卫视,http://39.134.66.66/PLTV/88888888/224/3221225499/index.m3u8
|
||||
内蒙古卫视,http://39.134.66.66/PLTV/88888888/224/3221225577/index.m3u8
|
||||
宁夏卫视,http://39.134.66.66/PLTV/88888888/224/3221225579/index.m3u8
|
||||
七台河公共,http://39.134.66.66/PLTV/88888888/224/3221225800/index.m3u8
|
||||
青海安多卫视,http://39.134.66.66/PLTV/88888888/224/3221225531/index.m3u8
|
||||
青海卫视,http://39.134.66.66/PLTV/88888888/224/3221225573/index.m3u8
|
||||
求索动物8M,http://39.134.66.66/PLTV/88888888/224/3221225730/index.m3u8
|
||||
求索纪录8M,http://39.134.66.66/PLTV/88888888/224/3221225713/index.m3u8
|
||||
求索科学8M,http://39.134.66.66/PLTV/88888888/224/3221225728/index.m3u8
|
||||
求索生活8M,http://39.134.66.66/PLTV/88888888/224/3221225715/index.m3u8
|
||||
山东教育卫视,http://39.134.66.66/PLTV/88888888/224/3221225558/index.m3u8
|
||||
山西卫视,http://39.134.66.66/PLTV/88888888/224/3221225496/index.m3u8
|
||||
陕西卫视,http://39.134.66.66/PLTV/88888888/224/3221225567/index.m3u8
|
||||
上海哈哈炫动,http://39.134.66.66/PLTV/88888888/224/3221225534/index.m3u8
|
||||
上海纪实人文,http://39.134.66.66/PLTV/88888888/224/3221225673/index.m3u8
|
||||
深圳卫视,http://39.134.66.66/PLTV/88888888/224/3221225668/index.m3u8
|
||||
四川康巴卫视,http://39.134.66.66/PLTV/88888888/224/3221225527/index.m3u8
|
||||
天津卫视,http://39.134.66.66/PLTV/88888888/224/3221225665/index.m3u8
|
||||
西藏卫视,http://39.134.66.66/PLTV/88888888/224/3221225570/index.m3u8
|
||||
新疆卫视,http://39.134.66.66/PLTV/88888888/224/3221225582/index.m3u8
|
||||
浙江卫视,http://39.134.66.66/PLTV/88888888/224/3221225514/index.m3u8
|
||||
中国教育1,http://39.134.66.66/PLTV/88888888/224/3221225563/index.m3u8
|
||||
|
||||
综合,#genre#
|
||||
动漫秀场,mitv://generationnexxxt.com:19806/b04bd3e03b1747aab44579ca81c664c8
|
||||
魅力足球,mitv://generationnexxxt.com:19806/ca7a1a18635e453a9a77e5fd5d425e89
|
||||
五星体育,mitv://generationnexxxt.com:19806/d75057c993f84e7c86f94e8f1e56ad24
|
||||
广东体育,mitv://generationnexxxt.com:19806/bb744a1252da46a6a2ae5546f4da7c72
|
||||
私人影院,mitv://generationnexxxt.com:19806/3cfadd5e9af14d6db652b3c23acd7a7d
|
||||
CHC动作电影,mitv://generationnexxxt.com:19806/1b4ebad47ed94c6291646a4a5d1ff3b6
|
||||
广东影视,mitv://generationnexxxt.com:19806/f2dbc62d3b0b4af3ac2420174eadf202
|
||||
CHC高清电影,mitv://generationnexxxt.com:19806/02385419696a411db959037c2190cf11
|
||||
CHC家庭影院,mitv://generationnexxxt.com:19806/28fb3856055c452db8f17441c99f21cf
|
||||
|
||||
|
||||
咪咕,#genre#
|
||||
咪咕视频1,http://39.134.66.66/PLTV/88888888/224/3221225643/index.m3u8
|
||||
咪咕视频2,http://39.134.66.66/PLTV/88888888/224/3221225648/index.m3u8
|
||||
咪咕视频3,http://39.134.66.66/PLTV/88888888/224/3221225639/index.m3u8
|
||||
咪咕视频4,http://39.134.66.66/PLTV/88888888/224/3221225652/index.m3u8
|
||||
咪咕视频5,http://39.134.66.66/PLTV/88888888/224/3221225647/index.m3u8
|
||||
咪咕视频6,http://39.134.66.66/PLTV/88888888/224/3221225645/index.m3u8
|
||||
咪咕视频7,http://39.134.66.66/PLTV/88888888/224/3221225650/index.m3u8
|
||||
咪咕视频8,http://39.134.66.66/PLTV/88888888/224/3221225641/index.m3u8
|
||||
咪咕视频9,http://39.134.66.66/PLTV/88888888/224/3221225617/index.m3u8
|
||||
咪咕视频10,http://39.134.66.66/PLTV/88888888/224/3221225651/index.m3u8
|
||||
咪咕视频11,http://39.134.66.66/PLTV/88888888/224/3221225619/index.m3u8
|
||||
咪咕视频12,http://39.134.66.66/PLTV/88888888/224/3221225611/index.m3u8
|
||||
咪咕视频13,http://39.134.66.66/PLTV/88888888/224/3221225649/index.m3u8
|
||||
咪咕视频14,http://39.134.66.66/PLTV/88888888/224/3221225620/index.m3u8
|
||||
咪咕视频15,http://39.134.66.66/PLTV/88888888/224/3221225613/index.m3u8
|
||||
咪咕视频16,http://39.134.66.66/PLTV/88888888/224/3221225658/index.m3u8
|
||||
咪咕视频8M1,http://39.134.66.66/PLTV/88888888/224/3221225762/index.m3u8
|
||||
咪咕视频8M2,http://39.134.66.66/PLTV/88888888/224/3221225749/index.m3u8
|
||||
咪咕视频8M3,http://39.134.66.66/PLTV/88888888/224/3221225758/index.m3u8
|
||||
咪咕视频8M4,http://39.134.66.66/PLTV/88888888/224/3221225764/index.m3u8
|
||||
咪咕视频8M5,http://39.134.66.66/PLTV/88888888/224/3221225747/index.m3u8
|
||||
咪咕视频8M6,http://39.134.66.66/PLTV/88888888/224/3221225766/index.m3u8
|
||||
咪咕视频8M7,http://39.134.66.66/PLTV/88888888/224/3221225760/index.m3u8
|
||||
咪咕视频8M8,http://39.134.66.66/PLTV/88888888/224/3221225756/index.m3u8
|
||||
咪咕视频8M9,http://39.134.66.66/PLTV/88888888/224/3221225745/index.m3u8
|
||||
咪咕视频8M10,http://39.134.66.66/PLTV/88888888/224/3221225735/index.m3u8
|
||||
咪咕视频8M11,http://39.134.66.66/PLTV/88888888/224/3221225741/index.m3u8
|
||||
咪咕视频8M12,http://39.134.66.66/PLTV/88888888/224/3221225739/index.m3u8
|
||||
咪咕视频8M13,http://39.134.66.66/PLTV/88888888/224/3221225654/index.m3u8
|
||||
咪咕视频 30M2160HDR,http://39.134.66.66/PLTV/88888888/224/3221225655/index.m3u8
|
||||
咪咕直播,http://39.134.66.66/PLTV/88888888/224/3221225782/index.m3u8
|
||||
|
||||
NewTV,#genre#
|
||||
NewTV爱情喜剧,http://39.134.66.66/PLTV/88888888/224/3221225533/index.m3u8
|
||||
NewTV超级电视剧,http://39.134.66.66/PLTV/88888888/224/3221225637/index.m3u8
|
||||
NewTV超级电影,http://39.134.66.66/PLTV/88888888/224/3221225644/index.m3u8
|
||||
NewTV超级体育,http://39.134.66.66/PLTV/88888888/224/3221225635/index.m3u8
|
||||
NewTV超级综艺,http://39.134.66.66/PLTV/88888888/224/3221225642/index.m3u8
|
||||
NewTV潮妈辣婆,http://39.134.66.66/PLTV/88888888/224/3221225542/index.m3u8
|
||||
NewTV东北热剧,http://39.134.66.66/PLTV/88888888/224/3221225679/index.m3u8
|
||||
NewTV动作电影,http://39.134.66.66/PLTV/88888888/224/3221225555/index.m3u8
|
||||
NewTV古装剧场,http://39.134.66.66/PLTV/88888888/224/3221225524/index.m3u8
|
||||
NewTV家庭剧场,http://39.134.66.66/PLTV/88888888/224/3221225538/index.m3u8
|
||||
NewTV家庭剧场,http://39.134.66.66/PLTV/88888888/224/3221225682/index.m3u8
|
||||
NewTV金牌综艺,http://39.134.66.66/PLTV/88888888/224/3221225525/index.m3u8
|
||||
NewTV惊悚悬疑,http://39.134.66.66/PLTV/88888888/224/3221225553/index.m3u8
|
||||
NewTV精品大剧,http://39.134.66.66/PLTV/88888888/224/3221225536/index.m3u8
|
||||
NewTV精品纪录,http://39.134.66.66/PLTV/88888888/224/3221225545/index.m3u8
|
||||
NewTV精品体育,http://39.134.66.66/PLTV/88888888/224/3221225526/index.m3u8
|
||||
NewTV军旅剧场,http://39.134.66.66/PLTV/88888888/224/3221225560/index.m3u8
|
||||
NewTV军事评论,http://39.134.66.66/PLTV/88888888/224/3221225535/index.m3u8
|
||||
NewTV明星大片,http://39.134.66.66/PLTV/88888888/224/3221225550/index.m3u8
|
||||
NewTV农业致富,http://39.134.66.66/PLTV/88888888/224/3221225552/index.m3u8
|
||||
NewTV武搏世界,http://39.134.66.66/PLTV/88888888/224/3221225547/index.m3u8
|
||||
NewTV炫舞未来,http://39.134.66.66/PLTV/88888888/224/3221225646/index.m3u8
|
||||
NewTV怡伴健康,http://39.134.66.66/PLTV/88888888/224/3221225571/index.m3u8
|
||||
NewTV中国功夫,http://39.134.66.66/PLTV/88888888/224/3221225604/index.m3u8
|
||||
CGTN,http://39.134.66.66/PLTV/88888888/224/3221225510/index.m3u8
|
||||
CGTN纪录,http://39.134.66.66/PLTV/88888888/224/3221225509/index.m3u8
|
||||
|
||||
港台,#genre#
|
||||
港台电视31,mitv://generationnexxxt.com:19806/e4b56cb972e940ee8be694602294d242
|
||||
港台电视32,mitv://generationnexxxt.com:19806/9c0a161f9c59476584fe4d8effc125b6
|
||||
HOY TV,mitv://generationnexxxt.com:19806/10c18372b612479086c1f259245543ff
|
||||
翡翠台(备),mitv://147.135.39.171:9906/657c8f940005cf8fa955b96f23e11195
|
||||
J2,mitv://generationnexxxt.com:19806/6a623cf5c0bc4c96b8fd45a47af4a872
|
||||
无线新闻台(备),mitv://147.135.39.171:9906/657c8f940000cdb0a955b82762a73640
|
||||
无线新闻台,mitv://147.135.39.171:9906/657c8f93000dad85a955b78b7a3a4c4f
|
||||
无线财经体育资讯台,mitv://generationnexxxt.com:19806/8bcc654c89f74ebdb4e82062ef5f998c
|
||||
ViuTVsix,mitv://generationnexxxt.com:19806/ba99e7a39d9c4e74bacc5de14f58dcf6
|
||||
ViuTV,mitv://generationnexxxt.com:19806/976916e8baee45a89d5e023224f7ab2b
|
||||
凤凰中文台,mitv://generationnexxxt.com:19806/64e1ab2a000417167359b3ca0417008f
|
||||
凤凰资讯台,mitv://generationnexxxt.com:19806/6684e9f6606f49fba9b6de846dbdcb64
|
||||
凤凰香港台,mitv://generationnexxxt.com:19806/8e396c3ec52f4eee9e5b7868042b1bf2
|
||||
TVB星河(粤),mitv://generationnexxxt.com:19806/0c08d9d705a747908c23ba652726d777
|
||||
澳门-MACAU,mitv://generationnexxxt.com:19806/f9ba8df6f9ed45789e882211735e6414
|
||||
澳门莲花,mitv://generationnexxxt.com:19806/4c56fbe4e68541a9a759fa269574f98b
|
||||
now新闻台,mitv://generationnexxxt.com:19806/d7a5bbf5664945cc8589b36b8434d68d
|
||||
HKC 18,mitv://generationnexxxt.com:19806/140377dc9e0848678d614d451d69af9e
|
||||
戏曲台,mitv://generationnexxxt.com:19806/4c3b3c3a6c8849c3aa0fc9938859e134
|
||||
TVB娱乐新闻台,mitv://generationnexxxt.com:19806/46bb3afe133d4cd8ac4b195c7f5f428c
|
||||
翡翠台,mitv://147.135.39.171:9906/657c8f9400023bf0a955b8853ca47814
|
||||
千禧经典台,mitv://generationnexxxt.com:19806/1a5b04c67ece47bb87aa482e2c73138a
|
||||
Thrill,mitv://generationnexxxt.com:19806/1c3c73215afd42558101c3ee65737202
|
||||
明珠台,mitv://generationnexxxt.com:19806/9993262cc067418a983f0c7ec18adef9
|
||||
香港国际财经台,mitv://generationnexxxt.com:19806/6aa47af091b54d618d1513b1bc23b0b9
|
||||
18台,mitv://generationnexxxt.com:19806/8bf8f53c61944785b13817297101af20
|
||||
now财经台,mitv://generationnexxxt.com:19806/88f95058c046453a973e2540701ccb4e
|
||||
美亚电影台(粤语),mitv://generationnexxxt.com:19806/ee16565eb5fe46be8d22cbbde1fa9fae
|
||||
Hands Up,mitv://generationnexxxt.com:19806/7a79a82b627a417f897895b4adf874aa
|
||||
粤语片台,mitv://generationnexxxt.com:19806/3a44c9c92439443494b8ecff6fdb2336
|
||||
亚洲剧台,mitv://generationnexxxt.com:19806/ee081a662356489d8b2170952ec91d24
|
||||
功夫台,mitv://generationnexxxt.com:19806/ef6373344abf4bedae4d49ac953c1742
|
||||
HOY资讯台,mitv://generationnexxxt.com:19806/eb5a565eb80d40509f0a248018dfd337
|
||||
黄金翡翠台,mitv://generationnexxxt.com:19806/864714d6ebe847edaa948e9104107f12
|
||||
|
||||
民视,mitv://generationnexxxt.com:19806/7b046996e7d5417eb4a619194072bbc0
|
||||
台视,mitv://generationnexxxt.com:19806/9868c18e3c0940cd8aa003d9ae54f862
|
||||
大爱,mitv://generationnexxxt.com:19806/e89ec8c592484d88bc001e8d8a6c9e31
|
||||
中视,mitv://generationnexxxt.com:19806/27826c4ed7234c0d8759bc7fe6786a18
|
||||
霹雳台湾台,mitv://generationnexxxt.com:19806/dcdf778fe9ca4184ad6af3a911765cf0
|
||||
华视,mitv://generationnexxxt.com:19806/761bc3c0662247d18b0db4da8070b7f4
|
||||
公视,mitv://generationnexxxt.com:19806/5bc9388122b840f1abd2ff73c85049a6
|
||||
好消息,mitv://generationnexxxt.com:19806/febf2282369d409d92d68514b72fc433
|
||||
原住民电视台,mitv://generationnexxxt.com:19806/cb5b7549e3604100a605ca17c82808f5
|
||||
客家电视台,mitv://generationnexxxt.com:19806/eafabb6e7c30439b8ecd35ad40a46a96
|
||||
国家地理频道,mitv://generationnexxxt.com:19806/37a44d0af7634364a91f2fb8d9b9cf9b
|
||||
探索频道,mitv://generationnexxxt.com:19806/9f2e92df32b34a569ad7e6818f4732fb
|
||||
TLC旅游生活,mitv://generationnexxxt.com:19806/621ca70412034f5eb919c1ec03679804
|
||||
动物星球,mitv://generationnexxxt.com:19806/5b41e724ea8e4e7eb92e3dac95589165
|
||||
CN卡通频道,mitv://generationnexxxt.com:19806/f4dd909eedc64e6b9736e248aedf6d61
|
||||
MOMO亲子台,mitv://generationnexxxt.com:19806/2f2d9ad70ce7410aa99f2b9fa1753dd4
|
||||
东森幼幼台,mitv://generationnexxxt.com:19806/baa16215e2224e399f6dc71eb3576ed4
|
||||
纬来综合台,mitv://generationnexxxt.com:19806/d40310ae8bba42569d3d90b4cf7d9928
|
||||
八大第一台,mitv://generationnexxxt.com:19806/270abff66f5e496fb9c100a0dbca3fe6
|
||||
八大综合台,mitv://generationnexxxt.com:19806/6c18a737c1394e59ae5072935d630f40
|
||||
三立台湾台,mitv://generationnexxxt.com:19806/ff12e8f29f9b4f61a9b766709aa498f6
|
||||
三立都会台,mitv://generationnexxxt.com:19806/7a36f98eee8e48a48ea64a1359083c8a
|
||||
东森综合台,mitv://generationnexxxt.com:19806/a05a4d8b51f54013925315261a2c6aa9
|
||||
超视,mitv://generationnexxxt.com:19806/5121f16c4b634c1683e9444aa68494b6
|
||||
中天综合台,mitv://generationnexxxt.com:19806/d6433dcd1a2a4aacb1c63a81ae8f11e6
|
||||
中天娱乐台,mitv://generationnexxxt.com:19806/6932151dd5a74b759a053f78a719fbf3
|
||||
东森戏剧台,mitv://generationnexxxt.com:19806/4fae332a68a04f3fa77a158ac1fa4bce
|
||||
八大戏剧台,mitv://generationnexxxt.com:19806/4eec82bd1e634ceab82b90e395116c83
|
||||
TVBS欢乐台,mitv://generationnexxxt.com:19806/569aec3edbbc4267bd6f829b3d495d5a
|
||||
纬来戏剧台,mitv://generationnexxxt.com:19806/69036778f8fc40729301e9e88aeee556
|
||||
高点综合台,mitv://generationnexxxt.com:19806/462775e2153243fc92adec0793c638d0
|
||||
BBC World News,mitv://generationnexxxt.com:19806/ecc7214268ee448ab42b65d9f2e2663a
|
||||
CNBC,mitv://generationnexxxt.com:19806/b642a4ce45734a7190f0acbd8cd462dd
|
||||
Bloomberg TV,mitv://generationnexxxt.com:19806/885bb543b9cb4bbeb5bcfe518fb90780
|
||||
HITS,mitv://generationnexxxt.com:19806/a65416c2039f4644aeef10da853fb928
|
||||
壹电视新闻台,mitv://generationnexxxt.com:19806/31dad83ef5b74c5db225482cd2e0fbae
|
||||
年代新闻,mitv://generationnexxxt.com:19806/95f67e884d88463e907c301d05fa68b7
|
||||
东森新闻台,mitv://generationnexxxt.com:19806/e1a899eded4d48578084c61957fb8c2b
|
||||
中天新闻台,mitv://generationnexxxt.com:19806/bd9064ee198045a386f1f2dba5073f4e
|
||||
民视新闻台,mitv://generationnexxxt.com:19806/d24f18e610d248b7a450d29492b37ebf
|
||||
三立新闻台,mitv://generationnexxxt.com:19806/9388262af2604cc798800736d070d39e
|
||||
TVBS新闻台,mitv://generationnexxxt.com:19806/6a155a5d7bea461b980b4fa559119a60
|
||||
TVBS,mitv://generationnexxxt.com:19806/9fb651a7ec2e402588a0752ba1035476
|
||||
东森财经新闻台,mitv://generationnexxxt.com:19806/9193e5efd94f4991ba8bfbc98bdc3f19
|
||||
非凡新闻台,mitv://generationnexxxt.com:19806/02f80f7aad2c480992e06e1bd8a7facb
|
||||
卫视电影台,mitv://generationnexxxt.com:19806/f5f1de75dbbf48e2a21a498977ffb8e4
|
||||
东森电影台,mitv://generationnexxxt.com:19806/08435f286ac744a0942899c551209779
|
||||
纬来电影台,mitv://generationnexxxt.com:19806/429796f5f00946fa933e400729286c7e
|
||||
龙祥电影,mitv://generationnexxxt.com:19806/78502c9b515845a7baca6a3a6ea88b8a
|
||||
HBO,mitv://generationnexxxt.com:19806/37f11d742fee447ab15f07db28095bd6
|
||||
东森洋片台,mitv://generationnexxxt.com:19806/5e8420f5477344b9b7b39d9e96162ce1
|
||||
AXN,mitv://generationnexxxt.com:19806/893f7dec641a42458f47ccfbd93525ba
|
||||
好莱坞电影台,mitv://generationnexxxt.com:19806/9862f4958472458ca2ebc718bb92a5c6
|
||||
CINEMAX,mitv://generationnexxxt.com:19806/fd7fd316ff5f4ae0a79d274a86483a4f
|
||||
纬来育乐台,mitv://generationnexxxt.com:19806/78b57c4d9e644fafafe01588c43b4787
|
||||
纬来体育台,mitv://generationnexxxt.com:19806/79090c69d43040148deaa21d5e26c32a
|
||||
ELEVEN体育1台,mitv://generationnexxxt.com:19806/fcfde35352d5464f9ed1c711ef2d05b1
|
||||
JET综合台,mitv://generationnexxxt.com:19806/cbd0c62dcb2a45cfa04f672fb2c49d14
|
||||
国兴卫视,mitv://generationnexxxt.com:19806/18aaee00d2af442ebb4592e15f7b2a20
|
||||
STAR World,mitv://generationnexxxt.com:19806/e60c9c99922d4fed8cfb3a8333f2d360
|
||||
Z频道,mitv://generationnexxxt.com:19806/8789d946039740bda334150ac3138166
|
||||
Animax,mitv://generationnexxxt.com:19806/22f75ace87a545aab39a2e4cd244bbad
|
||||
尼克儿童频道,mitv://generationnexxxt.com:19806/879f28be19bc47df84ad3d5470be58d0
|
||||
八大娱乐台,mitv://generationnexxxt.com:19806/cea44ead76804413bd48caf76c5c2749
|
||||
三立iNEWS,mitv://generationnexxxt.com:19806/ac384b2c9a4a47c3a538f9116ab7e4d8
|
||||
龙华偶像,mitv://generationnexxxt.com:19806/5b720b1e1b404f129e7009363d3035f8
|
||||
tvN,mitv://generationnexxxt.com:19806/5653c9fb655842ee99b4590ff903efe7
|
||||
France24,mitv://generationnexxxt.com:19806/72d5e1665d3e4b729ff9dbd4325e8694
|
||||
非凡商业台,mitv://generationnexxxt.com:19806/0c1ba96949414628ae64fc70c3354e7b
|
||||
公视3台,mitv://generationnexxxt.com:19806/95f2ed538e044aac891abfe6a9ce6ba7
|
||||
大爱2台,mitv://generationnexxxt.com:19806/2036b83c58e344c782eb154b233c8c77
|
||||
ELTV生活英语台,mitv://generationnexxxt.com:19806/78c0f08e89a844ef89d6803bce27a827
|
||||
靖洋卡通Nice Bingo,mitv://generationnexxxt.com:19806/1279fb2d1ae14676a31b2e5b38a2cd57
|
||||
靖天卡通台,mitv://generationnexxxt.com:19806/0e27e5f319264b609ec810e126edf969
|
||||
Nick Jr.,mitv://generationnexxxt.com:19806/acebbded37714fa4a5554c025873a92c
|
||||
Mezzo Live,mitv://generationnexxxt.com:19806/1c1e90cd01934a5f917ec4fad5c97665
|
||||
CLASSICA 古典乐,mitv://generationnexxxt.com:19806/133be9054bcd4fa68d2e34205004a51a
|
||||
爱尔达体育1台(备),mitv://generationnexxxt.com:19806/1180278580d04cb490450ec59b4edc6b
|
||||
爱尔达体育2台,mitv://generationnexxxt.com:19806/d1f16ee235314a0fbc33742ab7af534b
|
||||
TRACE Sport Stars,mitv://generationnexxxt.com:19806/b0cb233f10e84f29910fa38e15a07035
|
||||
博斯高球,mitv://generationnexxxt.com:19806/6ff0b79453d2430986930b7c84a286df
|
||||
博斯高球二台,mitv://generationnexxxt.com:19806/8afa52d0fe0047f8a6d7e51f46697f93
|
||||
博斯网球台,mitv://generationnexxxt.com:19806/7fb5b66ce38747de84be865952153959
|
||||
博斯魅力网,mitv://generationnexxxt.com:19806/c585ebfbfc7c4260a8d9556b5409faf0
|
||||
博斯无限台,mitv://generationnexxxt.com:19806/f2973cfa7c2045e6b8a184f1bf18af7c
|
||||
博斯无限二台,mitv://generationnexxxt.com:19806/143f1c23ac834d28a5296d61fed9250c
|
||||
博斯运动,mitv://generationnexxxt.com:19806/6293839c167e4b6393c745db434b2465
|
||||
ELEVEN体育2台,mitv://generationnexxxt.com:19806/057061c0da744aa7b035169dba5ebe2a
|
||||
智林体育台,mitv://generationnexxxt.com:19806/931c171e2f774f7aa1a92e97f5098c9f
|
||||
博斯运动二台,mitv://generationnexxxt.com:19806/cbd52c51fbab49ae9b3bc0da9137f681
|
||||
HBO强档巨献,mitv://generationnexxxt.com:19806/563a5981b8ad4df085b59ce98bbecb95
|
||||
HBO原创巨献,mitv://generationnexxxt.com:19806/bd0a33ff8b6f4fe9ba7791ad73c6c16e
|
||||
BBC Earth,mitv://generationnexxxt.com:19806/49261fefe28441bea7b775cc44fa16b5
|
||||
Discovery Asia,mitv://generationnexxxt.com:19806/0afefbe6244c42dbac40a3d8abef8d07
|
||||
Discovery科学频道,mitv://generationnexxxt.com:19806/39e1494bd82c449892c6f92a6c8dc213
|
||||
DMAX,mitv://generationnexxxt.com:19806/50af7fb4500840e292bcfae4dd50e97f
|
||||
EVE,mitv://generationnexxxt.com:19806/f21130546932443d98f6ec02aa4ec99a
|
||||
历史频道,mitv://generationnexxxt.com:19806/e6f506b509c94bacb4a371cdbcbe7719
|
||||
罪案侦缉频道,mitv://generationnexxxt.com:19806/ef7b4ee3be374092a4a0074a6be41e03
|
||||
BBC Lifestyle,mitv://generationnexxxt.com:19806/178e533979bb4ec3af9190ca475f23ef
|
||||
Lifetime,mitv://generationnexxxt.com:19806/112b06172cdf41cbb6990e64d30cab0c
|
||||
KLT-靖天国际台,mitv://generationnexxxt.com:19806/12d39bada24843588ad72a3175b785a2
|
||||
HGTV居家乐活频道,mitv://generationnexxxt.com:19806/84613e96237545769558cc572e6d1ab0
|
||||
Love Nature,mitv://generationnexxxt.com:19806/574be1e2e0054216abe436413ea4221a
|
||||
美食星球,mitv://generationnexxxt.com:19806/1baaeb6967434fee9bf4412904e573b0
|
||||
亚洲美食频道,mitv://generationnexxxt.com:19806/5b787bd078c84a3caa09c3665c66dc50
|
||||
亚洲旅游台,mitv://generationnexxxt.com:19806/259c24cb79ce4b5db1fb1e1b894c517e
|
||||
EYE TV旅游台,mitv://generationnexxxt.com:19806/2d426994acef44deb401aa8a4cd5a92e
|
||||
好消息2台,mitv://generationnexxxt.com:19806/2b9f20946a6147dfba8f92373fbafee5
|
||||
三立综合台,mitv://generationnexxxt.com:19806/792a7263dd7b4c7484512d07f3c21083
|
||||
靖天资讯台,mitv://generationnexxxt.com:19806/5c9d432112fd4d4e92263a34415293fa
|
||||
靖天综合台,mitv://generationnexxxt.com:19806/ed2e3f294dcc40c1b72aba372fbed64d
|
||||
靖天育乐台,mitv://generationnexxxt.com:19806/d67fd6c2e7c44e17b9e86d9073f2930e
|
||||
中视经典台,mitv://generationnexxxt.com:19806/8b9e15ff15474ccbbc2780c1484e50c9
|
||||
中视菁采台,mitv://generationnexxxt.com:19806/ae5e01a7bc294327b88f65aa5d38217c
|
||||
TVBS精采台,mitv://generationnexxxt.com:19806/2089afbec2474359add275658522922f
|
||||
壹电视综合,mitv://generationnexxxt.com:19806/617d6cf150574cb485ee07aea57262fd
|
||||
纬来精采,mitv://generationnexxxt.com:19806/1db14fe8aad841b4b28eca2b136e7206
|
||||
ETtoday综合台,mitv://generationnexxxt.com:19806/8e1b32241c9d4d079a2df7dc99adb312
|
||||
民视第一台,mitv://generationnexxxt.com:19806/b97979cec8d74feebc370f3470cc06c6
|
||||
民视台湾台,mitv://generationnexxxt.com:19806/192bd12842624eb39e2f6b86eeacdca8
|
||||
Nice TV靖天欢乐台,mitv://generationnexxxt.com:19806/439163cf3469473b8ffd582b687991be
|
||||
八大优频道,mitv://generationnexxxt.com:19806/7abaa68442ce4ed7ad7c9772fb46eda9
|
||||
三立戏剧台,mitv://generationnexxxt.com:19806/7a5b874b630d457bb5997a2fe4690550
|
||||
龙华戏剧,mitv://generationnexxxt.com:19806/5d4f0bd2b18b4a588a0ca733569b18dd
|
||||
靖天戏剧台,mitv://generationnexxxt.com:19806/1282202787324223b35e3c84d9e673c6
|
||||
靖洋戏剧台,mitv://generationnexxxt.com:19806/84a559f1b4884854be933d5d4fc0d4a6
|
||||
靖天日本台,mitv://generationnexxxt.com:19806/c88dcc9ddf6747b991fc1a0db939147d
|
||||
i-Fun动漫台,mitv://generationnexxxt.com:19806/91a0e3fa1a714dd7b7cf55343052cd4f
|
||||
韩国娱乐台,mitv://generationnexxxt.com:19806/80d680dc15ec44bea9c3a3160ecdcb14
|
||||
星卫娱乐台,mitv://generationnexxxt.com:19806/e83cc99135884327a96306484b0b8685
|
||||
ROCK Extreme,mitv://generationnexxxt.com:19806/fc56480dab3541a6a99d66c3d2048526
|
||||
中视新闻台,mitv://generationnexxxt.com:19806/cb5965a89e434df7aeb66b2364116ae4
|
||||
寰宇新闻台,mitv://generationnexxxt.com:19806/a265fb55774a4554bc2db19b16f53be6
|
||||
华视新闻,mitv://generationnexxxt.com:19806/ebe8db2daafa47768f37bcae17bfe299
|
||||
NHK新闻资讯台,mitv://generationnexxxt.com:19806/c2da55d84a72418c8f1876c25ec97a1d
|
||||
美亚电影台HD,mitv://generationnexxxt.com:19806/a850e570b868424c94319a2652ca7c62
|
||||
龙华电影,mitv://generationnexxxt.com:19806/1df6f5f0993a46faa17f676518654709
|
||||
星卫HD电影台,mitv://generationnexxxt.com:19806/832bfeb4b3b84dd2a7428f9db69504eb
|
||||
靖天映画,mitv://generationnexxxt.com:19806/b723859f3ed94e5ba712148b209eefd0
|
||||
靖天电影台,mitv://generationnexxxt.com:19806/d8c581e0e1a24823a3d2110e3584ef8b
|
||||
WARNER TV,mitv://generationnexxxt.com:19806/cd2062a6c5a94d548f3516d96e23deec
|
||||
Star Movies HD,mitv://generationnexxxt.com:19806/cdbfcfca93f846c7bcc30d0fd108923f
|
||||
AMC最爱电影,mitv://generationnexxxt.com:19806/24ce0147e36a438eab843a3168cea3bc
|
||||
HBO Family,mitv://generationnexxxt.com:19806/8a0208ebdfa04b5eab112f0c8b01719c
|
||||
CatchPlay电影台,mitv://generationnexxxt.com:19806/2dccaec60f0e418d82d2d0bb09f0c4a8
|
||||
CinemaWorld,mitv://generationnexxxt.com:19806/e262f40881b2461f9a270b4d9d0b54c3
|
||||
壹电视电影台,mitv://generationnexxxt.com:19806/1be1329b6d124745a87a16de445d2352
|
||||
采昌影剧台,mitv://generationnexxxt.com:19806/a0d691053f9b4876ab2b509a62296911
|
||||
佛卫慈悲台,mitv://generationnexxxt.com:19806/be70c8b5b35c4551b5c7d3c905234e69
|
||||
TechStorm,mitv://generationnexxxt.com:19806/994876c6aadc4234ba73441f18d36602
|
||||
EYE TV戏剧台,mitv://generationnexxxt.com:19806/2831986ed4b448c9b626788fbd3f2f89
|
||||
台视新闻台,mitv://generationnexxxt.com:19806/9817b59742464113bd5656fcc7dced84
|
||||
寰宇新闻台湾台,mitv://generationnexxxt.com:19806/ca27b65855704124be186aa0e5127c24
|
||||
台视财经台,mitv://generationnexxxt.com:19806/e01d7738e33e456a812f7cefbf27b29a
|
||||
纬来日本,mitv://generationnexxxt.com:19806/5f9d37ba1fc04a04aaec6979908294a2
|
||||
爱尔达影剧台,mitv://generationnexxxt.com:19806/932d4522f2294c6a926b7ab8027c269f
|
||||
民视(备),mitv://generationnexxxt.com:19806/8d864649cfc54b518b3d137d67583155
|
||||
三立台湾台(备),mitv://generationnexxxt.com:19806/7554a57ea53f4c10ae4e219ac2d374c4
|
||||
影迷数位电影台,mitv://generationnexxxt.com:19806/bc069c037478448a9e41dbc3e1d5d0f6
|
||||
卫视中文台,mitv://generationnexxxt.com:19806/7f7bdcb1fb94430daa8ba120dcbfde4e
|
||||
爱尔达体育1台,mitv://generationnexxxt.com:19806/68e521d35c0247ddbc5073dee98245a3
|
||||
爱尔达体育3台,mitv://generationnexxxt.com:19806/3ebc6b89559c44dca30c4c259a5646b9
|
||||
台视(备),mitv://generationnexxxt.com:19806/3c20d4387ec845149b2ded5f28805f18
|
||||
爱尔达体育4台,mitv://generationnexxxt.com:19806/df4f198dbe6347e1a084c79d208f227d
|
||||
中视(备),mitv://generationnexxxt.com:19806/c4ede9c3d1a84d0b9afe57622abcb9e7
|
||||
华视(备),mitv://generationnexxxt.com:19806/177390ae66634acca9be01242a769660
|
||||
东森新闻台(备),mitv://generationnexxxt.com:19806/35983e2efd5c44bf84bfb2977bbbc96d
|
||||
镜新闻,mitv://generationnexxxt.com:19806/668a0abb880a496d8f57fad2f580566b
|
||||
MTV,mitv://generationnexxxt.com:19806/eb5ba5262e2e4779a1418c78d14ad1e5
|
||||
东森购物1台,mitv://generationnexxxt.com:19806/eccc79da1c0a4b54b49a71277e1534a0
|
||||
东森购物2台,mitv://generationnexxxt.com:19806/71a90a7da65142e795b97def2400e1fb
|
||||
|
||||
|
||||
IPV6-1,#genre#
|
||||
CCTV-1 综合,http://[2409:8087:7000:20:1000::22]:6060/yinhe/2/ch00000090990000001331/index.m3u8?virtualDomain=yinhe.live_hls.zte.com
|
||||
CCTV-2 财经,http://[2409:8087:7000:20:1000::22]:6060/yinhe/2/ch00000090990000001332/index.m3u8?virtualDomain=yinhe.live_hls.zte.com
|
||||
CCTV-3 综艺,http://[2409:8087:2001:20:2800:0:df6e:eb22]/ott.mobaibox.com/PLTV/4/224/3221228392/index.m3u8
|
||||
CCTV-4 中文国际,http://[2409:8087:7000:20:1000::22]:6060/yinhe/2/ch00000090990000001333/index.m3u8?virtualDomain=yinhe.live_hls.zte.com
|
||||
CCTV-5 体育,http://[2409:8087:2001:20:2800:0:df6e:eb22]/ott.mobaibox.com/PLTV/4/224/3221228502/index.m3u8
|
||||
CCTV-5+ 体育赛事,http://[2409:8087:7000:20:1000::22]:6060/yinhe/2/ch00000090990000001334/index.m3u8?virtualDomain=yinhe.live_hls.zte.com
|
||||
CCTV-6 电影,http://[2409:8087:2001:20:2800:0:df6e:eb14]:80/ott.mobaibox.com/PLTV/4/224/3221228123/index.m3u8
|
||||
CCTV-7 国防军事,http://[2409:8087:2001:20:2800:0:df6e:eb12]:80/ott.mobaibox.com/PLTV/4/224/3221227690/index.m3u8
|
||||
CCTV-8 电视剧,http://[2409:8087:2001:20:2800:0:df6e:eb13]:80/ott.mobaibox.com/PLTV/4/224/3221227473/index.m3u8
|
||||
CCTV-9 纪录,http://[2409:8087:2001:20:2800:0:df6e:eb13]:80/ott.mobaibox.com/PLTV/4/224/3221227614/index.m3u8
|
||||
CCTV-10 科教,http://[2409:8087:2001:20:2800:0:df6e:eb20]:80/ott.mobaibox.com/PLTV/4/224/3221228286/index.m3u8
|
||||
CCTV-11 戏曲,http://[2409:8087:2001:20:2800:0:df6e:eb23]:80/ott.mobaibox.com/PLTV/4/224/3221228289/index.m3u8
|
||||
CCTV-12 社会与法,http://[2409:8087:2001:20:2800:0:df6e:eb22]:80/ott.mobaibox.com/PLTV/4/224/3221228401/index.m3u8
|
||||
CCTV-13 新闻,http://[2409:8087:2001:20:2800:0:df6e:eb17]:80/ott.mobaibox.com/PLTV/4/224/3221227387/index.m3u8
|
||||
CCTV-14 少儿,http://[2409:8087:2001:20:2800:0:df6e:eb23]:80/ott.mobaibox.com/PLTV/4/224/3221228292/index.m3u8
|
||||
CCTV-15 音乐,http://[2409:8087:2001:20:2800:0:df6e:eb22]:80/ott.mobaibox.com/PLTV/4/224/3221228404/index.m3u8
|
||||
CCTV-16 奥林匹克,http://[2409:8087:2001:20:2800:0:df6e:eb17]:80/ott.mobaibox.com/PLTV/4/224/3221228112/index.m3u8
|
||||
CCTV-17 农业农村,http://[2409:8087:2001:20:2800:0:df6e:eb17]:80/ott.mobaibox.com/PLTV/4/224/3221227592/index.m3u8
|
||||
CCTV-4K 超高清,http://[2409:8087:2001:20:2800:0:df6e:eb13]/ott.mobaibox.com/PLTV/3/224/3221228228/index.m3u8
|
||||
CCTV-8K 超高清,http://[2409:8087:2001:20:2800:0:df6e:eb03]/ott.mobaibox.com/PLTV/4/224/3221228165/index.m3u8
|
||||
CETV-1 综合教育,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001020/index.m3u8
|
||||
CETV-4 职业教育,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001348/index.m3u8
|
||||
|
||||
凤凰中文,http://[2409:8087:2001:20:2800:0:df6e:eb22]:80/ott.mobaibox.com/PLTV/3/224/3221228527/1.m3u8
|
||||
凤凰资讯,http://[2409:8087:2001:20:2800:0:df6e:eb19]:80/ott.mobaibox.com/PLTV/3/224/3221228524/1.m3u8
|
||||
凤凰香港,http://[2409:8087:2001:20:2800:0:df6e:eb22]:80/ott.mobaibox.com/PLTV/1/224/3221228530/1.m3u8
|
||||
湖南卫视,http://[2409:8087:7000:20:1000::22]:6060/yinhe/2/ch00000090990000001339/index.m3u8?virtualDomain=yinhe.live_hls.zte.com
|
||||
浙江卫视,http://[2409:8087:7000:20:1000::22]:6060/yinhe/2/ch00000090990000001345/index.m3u8?virtualDomain=yinhe.live_hls.zte.com
|
||||
东方卫视,http://[2409:8087:7000:20:1000::22]:6060/yinhe/2/ch00000090990000001336/index.m3u8?virtualDomain=yinhe.live_hls.zte.com
|
||||
北京卫视,http://[2409:8087:7000:20:1000::22]:6060/yinhe/2/ch00000090990000001335/index.m3u8?virtualDomain=yinhe.live_hls.zte.com
|
||||
江苏卫视,http://[2409:8087:7000:20:1000::22]:6060/yinhe/2/ch00000090990000001344/index.m3u8?virtualDomain=yinhe.live_hls.zte.com
|
||||
安徽卫视,http://[2409:8087:7000:20:1000::22]:6060/yinhe/2/ch00000090990000001346/index.m3u8?virtualDomain=yinhe.live_hls.zte.com
|
||||
重庆卫视,http://[2409:8087:2001:20:2800:0:df6e:eb09]:80/ott.mobaibox.com/PLTV/4/224/3221228133/index.m3u8
|
||||
东南卫视,http://[2409:8087:2001:20:2800:0:df6e:eb21]:80/ott.mobaibox.com/PLTV/4/224/3221228428/index.m3u8
|
||||
甘肃卫视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001298/index.m3u8
|
||||
广东卫视,http://[2409:8087:7000:20:1000::22]:6060/yinhe/2/ch00000090990000001337/index.m3u8?virtualDomain=yinhe.live_hls.zte.com
|
||||
广西卫视,http://[2409:8087:2001:20:2800:0:df6e:eb04]:80/ott.mobaibox.com/PLTV/4/224/3221228183/index.m3u8
|
||||
贵州卫视,http://[2409:8087:2001:20:2800:0:df6e:eb09]:80/ott.mobaibox.com/PLTV/4/224/3221228136/index.m3u8
|
||||
海南卫视,http://[2409:8087:2001:20:2800:0:df6e:eb09]:80/ott.mobaibox.com/PLTV/4/224/3221228139/index.m3u8
|
||||
河北卫视,http://[2409:8087:2001:20:2800:0:df6e:eb04]:80/ott.mobaibox.com/PLTV/4/224/3221228106/index.m3u8
|
||||
黑龙江卫视,http://[2409:8087:7000:20:1000::22]:6060/yinhe/2/ch00000090990000001338/index.m3u8?virtualDomain=yinhe.live_hls.zte.com
|
||||
河南卫视,http://[2409:8087:2001:20:2800:0:df6e:eb16]:80/ott.mobaibox.com/PLTV/4/224/3221228221/index.m3u8
|
||||
湖北卫视,http://[2409:8087:7000:20:1000::22]:6060/yinhe/2/ch00000090990000001347/index.m3u8?virtualDomain=yinhe.live_hls.zte.com
|
||||
江西卫视,http://[2409:8087:2001:20:2800:0:df6e:eb17]:80/ott.mobaibox.com/PLTV/4/224/3221228109/index.m3u8
|
||||
吉林卫视,http://[2409:8087:2001:20:2800:0:df6e:eb03]:80/ott.mobaibox.com/PLTV/4/224/3221228130/index.m3u8
|
||||
辽宁卫视,http://[2409:8087:7000:20:1000::22]:6060/yinhe/2/ch00000090990000001340/index.m3u8?virtualDomain=yinhe.live_hls.zte.com
|
||||
山东卫视,http://[2409:8087:2001:20:2800:0:df6e:eb11]:80/ott.mobaibox.com/PLTV/4/224/3221227517/index.m3u8
|
||||
深圳卫视,http://[2409:8087:7000:20:1000::22]:6060/yinhe/2/ch00000090990000001342/index.m3u8?virtualDomain=yinhe.live_hls.zte.com
|
||||
四川卫视,http://[2409:8087:2001:20:2800:0:df6e:eb08]:80/ott.mobaibox.com/PLTV/4/224/3221228171/index.m3u8
|
||||
天津卫视,http://[2409:8087:7000:20:1000::22]:6060/yinhe/2/ch00000090990000001343/index.m3u8?virtualDomain=yinhe.live_hls.zte.com
|
||||
云南卫视,http://[2409:8087:2001:20:2800:0:df6e:eb05]:80/ott.mobaibox.com/PLTV/4/224/3221225591/index.m3u8
|
||||
新疆卫视,http://[2409:8087:2001:20:2800:0:df6e:eb0b]/wh7f454c46tw993550557_162751766/ott.mobaibox.com/PLTV/3/224/3221228290/index.m3u8?icpid=3&RTS=1668604377&from=40&popid=40&hms_devid=2038&prioritypopid=40&vqe=3
|
||||
三沙卫视,http://[2409:8087:2001:20:2800:0:df6e:eb21]:80/ott.mobaibox.com/PLTV/4/224/3221228626/index.m3u8
|
||||
青海卫视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001082/index.m3u8
|
||||
陕西卫视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001067/index.m3u8
|
||||
山西卫视,http://[2409:8087:7000:20:1000::22]:6060/yinhe/2/ch00000090990000001038/index.m3u8?virtualDomain=yinhe.live_hls.zte.com
|
||||
西藏卫视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001072/index.m3u8
|
||||
内蒙古卫视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001068/index.m3u8
|
||||
宁夏卫视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001074/index.m3u8
|
||||
兵团卫视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001066/index.m3u8
|
||||
安多卫视,http://[2409:8087:7004:20:1000::22]:6610/yinhe/2/ch00000090990000001311/index.m3u8?virtualDomain=yinhe.live_hls.zte.com
|
||||
康巴卫视,http://[2409:8087:7000:20:1000::22]:6060/yinhe/2/ch00000090990000001313/index.m3u8?virtualDomain=yinhe.live_hls.zte.com
|
||||
大湾区卫视,http://[2409:8087:7004:20:1000::22]:6610/yinhe/2/ch00000090990000001305/index.m3u8?virtualDomain=yinhe.live_hls.zte.com
|
||||
农林卫视,http://[2409:8087:7004:20:1000::22]:6610/yinhe/2/ch00000090990000001312/index.m3u8?virtualDomain=yinhe.live_hls.zte.com
|
||||
延边卫视,http://[2409:8087:7004:20:1000::22]:6610/yinhe/2/ch00000090990000001307/index.m3u8?virtualDomain=yinhe.live_hls.zte.com
|
||||
厦门卫视,http://[2409:8087:7004:20:1000::22]:6610/yinhe/2/ch00000090990000001306/index.m3u8?virtualDomain=yinhe.live_hls.zte.com
|
||||
|
||||
|
||||
CHC高清电影,http://[2409:8087:7000:20:1000::22]:6060/yinhe/2/ch00000090990000002065/index.m3u8?virtualDomain=yinhe.live_hls.zte.com
|
||||
CHC家庭影院,http://[2409:8087:7000:20:1000::22]:6060/yinhe/2/ch00000090990000002085/index.m3u8?virtualDomain=yinhe.live_hls.zte.com
|
||||
CHC动作电影,http://[2409:8087:7000:20:1000::22]:6060/yinhe/2/ch00000090990000002055/index.m3u8?virtualDomain=yinhe.live_hls.zte.com
|
||||
求索纪录,http://[2409:8087:7001:20:1000::95]:6610/000000001000/6000000002000032052/index.m3u8?channel-id=wasusyt&Contentid=6000000002000032052&livemode=1&stbId=3
|
||||
求索科学,http://[2409:8087:7001:20:1000::95]:6610/000000001000/6000000002000032344/index.m3u8?channel-id=wasusyt&Contentid=6000000002000032344&livemode=1&stbId=3
|
||||
求索动物,http://[2409:8087:7001:20:1000::95]:6610/000000001000/6000000002000010046/index.m3u8?channel-id=wasusyt&Contentid=6000000002000010046&livemode=1&stbId=3
|
||||
求索生活,http://[2409:8087:7001:20:1000::95]:6610/000000001000/6000000002000003382/index.m3u8?channel-id=wasusyt&Contentid=6000000002000003382&livemode=1&stbId=3
|
||||
黑莓电影,http://[2409:8087:2001:20:2800:0:df6e:eb04]/ott.mobaibox.com/PLTV/3/224/3221225567/index.m3u8
|
||||
黑莓动画,http://[2409:8087:1a01:df::7005]/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225662/index.m3u8
|
||||
哒啵电竞,http://[2409:8087:7000:20::4]/dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226951/index.m3u8
|
||||
哒啵赛事,http://[2409:8087:1a01:df::7005]/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225675/index.m3u8
|
||||
乐游,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001200/index.m3u8
|
||||
纪实人文,http://[2409:8087:2001:20:2800:0:df6e:eb12]/wh7f454c46tw1293235676_155310184/ott.mobaibox.com/PLTV/3/224/3221227635/index.m3u8?icpid=3&RTS=1669704189&from=40&popid=40&hms_devid=2112&prioritypopid=40&vqe=3
|
||||
纯享4K,http://[2409:8087:2001:20:2800:0:df6e:eb11]/ott.mobaibox.com/PLTV/3/224/3221228242/index.m3u8
|
||||
风云剧场,http://[2409:8087:7001:20:2::3]:80/dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226950/index.m3u8
|
||||
风云音乐,http://[2409:8087:7001:20:2::3]:80/dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226953/index.m3u8
|
||||
第一剧场,http://[2409:8087:7001:20:2::3]:80/dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226959/index.m3u8
|
||||
女性时尚,http://[2409:8087:7001:20:2::3]:80/dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226969/index.m3u8
|
||||
风云足球,http://[2409:8087:7001:20:2::3]:80/dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226984/index.m3u8
|
||||
兵器科技,http://[2409:8087:7001:20:2::3]:80/dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226975/index.m3u8
|
||||
怀旧剧场,http://[2409:8087:7001:20:2::3]:80/dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226972/index.m3u8
|
||||
世界地理,http://[2409:8087:7001:20:2::3]:80/dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226947/index.m3u8
|
||||
文化精品,http://[2409:8087:7001:20:2::3]:80/dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226981/index.m3u8
|
||||
央视台球,http://[2409:8087:7001:20:2::3]:80/dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226956/index.m3u8
|
||||
高尔夫网球,http://[2409:8087:7001:20:2::3]:80/dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226978/index.m3u8
|
||||
电视指南,http://[2409:8087:7001:20:2::3]:80/dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226987/index.m3u8
|
||||
都市剧场,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001203/index.m3u8
|
||||
生活时尚,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001199/index.m3u8
|
||||
金色学堂,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001194/index.m3u8
|
||||
法治天地,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001195/index.m3u8
|
||||
哈哈炫动,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001232/index.m3u8
|
||||
动漫秀场,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001196/index.m3u8
|
||||
游戏风云,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001192/index.m3u8
|
||||
七彩戏剧,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001308/index.m3u8
|
||||
欢笑剧场,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001193/index.m3u8
|
||||
第一财经,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001017/index.m3u8
|
||||
东方财经,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001318/index.m3u8
|
||||
梨园,http://[2409:8087:4c0a:22:1::11]:6410/170000001115/UmaiCHAN6380788ba7bed/index.m3u8?AuthInfo=toEYVdLfxymUP2l9NZpQI5%2BK6T7j%2FlRm%2BvbM9VO7bA0q1S1k1f36SqqriM0FZoFSAJRfCt8SS7X6sTRmXb81a8O4H%2FdroDKjLoDeaMQdyJQ
|
||||
|
||||
|
||||
|
||||
NHK World,https://nhkwlive-ojp.akamaized.net/hls/live/2003459/nhkwlive-ojp-en/index_4M.m3u8
|
||||
CNA,https://d2e1asnsl7br7b.cloudfront.net/7782e205e72f43aeb4a48ec97f66ebbe/index_5.m3u8
|
||||
AlJazeera,http://live-hls-web-aje.getaj.net/AJE/01.m3u8
|
||||
Arirang TV,https://amdlive-ch01-ctnd-com.akamaized.net/arirang_1ch/smil:arirang_1ch.smil/chunklist_b3256000_sleng.m3u8
|
||||
RT News,https://rt-glb.rttv.com/dvr/rtnews/playlist_4500Kb.m3u8
|
||||
RT Documentary,https://rt-rtd.rttv.com/live/rtdoc/playlist_4500Kb.m3u8
|
||||
CGTN,http://[2409:8087:7000:20:1000::22]:6060/yinhe/2/ch00000090990000001024/index.m3u8?virtualDomain=yinhe.live_hls.zte.com
|
||||
CGTN Documentary,http://[2409:8087:7000:20:1000::22]:6060/yinhe/2/ch00000090990000002905/index.m3u8?virtualDomain=yinhe.live_hls.zte.com
|
||||
CGTN Français,http://[2409:8087:7000:20:1000::22]:6060/yinhe/2/ch00000090990000002827/index.m3u8?virtualDomain=yinhe.live_hls.zte.com
|
||||
CGTN Русский,http://[2409:8087:7000:20:1000::22]:6060/yinhe/2/ch00000090990000002883/index.m3u8?virtualDomain=yinhe.live_hls.zte.com
|
||||
CGTN Español,http://[2409:8087:7000:20:1000::22]:6060/yinhe/2/ch00000090990000002716/index.m3u8?virtualDomain=yinhe.live_hls.zte.com
|
||||
CGTN العربية,http://[2409:8087:7000:20:1000::22]:6060/yinhe/2/ch00000090990000002826/index.m3u8?virtualDomain=yinhe.live_hls.zte.com
|
||||
|
||||
|
||||
茶频道,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001234/index.m3u8
|
||||
快乐垂钓,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001235/index.m3u8
|
||||
金鹰纪实,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001230/index.m3u8
|
||||
金鹰卡通,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001460/index.m3u8
|
||||
湖南经视,http://175.0.51.26:8899/tsfile/live/1042_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
湖南都市,http://175.0.51.26:8899/tsfile/live/1044_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
湖南爱晚,http://175.0.51.26:8899/tsfile/live/0012_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
湖南国际,http://175.0.51.26:8899/tsfile/live/1002_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
湖南娱乐,http://175.0.51.26:8899/tsfile/live/1001_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
湖南电影,http://175.0.51.26:8899/tsfile/live/1000_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
湖南电视剧,http://175.0.51.26:8899/tsfile/live/1043_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
|
||||
|
||||
上海新闻综合,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001014/index.m3u8
|
||||
上海都市,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001015/index.m3u8
|
||||
东方影视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001016/index.m3u8
|
||||
上海外语,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001128/index.m3u8
|
||||
五星体育,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001018/index.m3u8
|
||||
上海教育,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001268/index.m3u8
|
||||
浙江钱江都市,https://ali-m-l.cztv.com/channels/lantian/channel002/1080p.m3u8
|
||||
浙江经济生活,https://ali-m-l.cztv.com/channels/lantian/channel003/1080p.m3u8
|
||||
浙江科教影视,https://ali-m-l.cztv.com/channels/lantian/channel004/1080p.m3u8
|
||||
浙江民生休闲,https://ali-m-l.cztv.com/channels/lantian/channel006/1080p.m3u8
|
||||
浙江公共新闻,https://ali-m-l.cztv.com/channels/lantian/channel007/1080p.m3u8
|
||||
浙江少儿,https://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8
|
||||
浙江国际,https://ali-m-l.cztv.com/channels/lantian/channel010/1080p.m3u8
|
||||
纪实科教,http://[2409:8087:7000:20::4]:80/dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226232/1.m3u8
|
||||
卡酷少儿,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001245/index.m3u8
|
||||
陕西新闻资讯,http://[2409:8087:7000:20:1000::22]:6060/yinhe/2/ch00000090990000001719/index.m3u8?virtualDomain=yinhe.live_hls.zte.com
|
||||
陕西都市青春,http://[2409:8087:7000:20:1000::22]:6060/yinhe/2/ch00000090990000001593/index.m3u8?virtualDomain=yinhe.live_hls.zte.com
|
||||
陕西生活,http://[2409:8087:7000:20:1000::22]:6060/yinhe/2/ch00000090990000001729/index.m3u8?virtualDomain=yinhe.live_hls.zte.com
|
||||
陕西影视,http://[2409:8087:7000:20:1000::22]:6060/yinhe/2/ch00000090990000001730/index.m3u8?virtualDomain=yinhe.live_hls.zte.com
|
||||
陕西公共,http://[2409:8087:7000:20:1000::22]:6060/yinhe/2/ch00000090990000001739/index.m3u8?virtualDomain=yinhe.live_hls.zte.com
|
||||
陕西体育休闲,http://[2409:8087:7000:20:1000::22]:6060/yinhe/2/ch00000090990000001594/index.m3u8?virtualDomain=yinhe.live_hls.zte.com
|
||||
陕西西部电影,http://[2409:8087:7000:20:1000::22]:6060/yinhe/2/ch00000090990000001749/index.m3u8?virtualDomain=yinhe.live_hls.zte.com
|
||||
山西经济科技,http://15536746789.x3322.net:9901/tsfile/live/1000_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
山西影视,http://15536746789.x3322.net:9901/tsfile/live/1005_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
山西公共,http://15536746789.x3322.net:9901/tsfile/live/1006_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
|
||||
|
||||
咪咕直播4K-1,http://[2409:8087:1a01:df::4001]/PLTV/88888888/224/3221225655/index.m3u8
|
||||
咪咕直播4K-2,http://[2409:8087:1a01:df::4005]/PLTV/88888888/224/3221225651/index.m3u8
|
||||
咪咕直播-1,http://[2409:8087:1a01:df::4023]/PLTV/88888888/224/3221225611/index.m3u8
|
||||
咪咕直播-2,http://[2409:8087:1a01:df::4005]/PLTV/88888888/224/3221225613/index.m3u8
|
||||
咪咕直播-3,http://[2409:8087:1a01:df::4017]/PLTV/88888888/224/3221225619/index.m3u8
|
||||
咪咕直播-4,http://[2409:8087:1a01:df::4058]/PLTV/88888888/224/3221225620/index.m3u8
|
||||
咪咕直播-5,http://[2409:8087:1a01:df::4015]/PLTV/88888888/224/3221225639/index.m3u8
|
||||
咪咕直播-6,http://[2409:8087:1a01:df::4015]/PLTV/88888888/224/3221225641/index.m3u8
|
||||
咪咕直播-7,http://[2409:8087:1a01:df::4011]/PLTV/88888888/224/3221225643/index.m3u8
|
||||
咪咕直播-8,http://[2409:8087:1a01:df::4002]/PLTV/88888888/224/3221225645/index.m3u8
|
||||
咪咕直播-9,http://[2409:8087:1a01:df::4016]/PLTV/88888888/224/3221225647/index.m3u8
|
||||
咪咕直播-10,http://[2409:8087:1a01:df::4022]/PLTV/88888888/224/3221225648/index.m3u8
|
||||
咪咕直播-11,http://[2409:8087:1a01:df::402a]/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226469/index.m3u8
|
||||
咪咕直播-12,http://[2409:8087:1a01:df::4046]/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226472/index.m3u8
|
||||
咪咕直播-13,http://[2409:8087:1a01:df::4014]/PLTV/88888888/224/3221225652/index.m3u8
|
||||
咪咕直播-14,http://[2409:8087:1a01:df::4013]/PLTV/88888888/224/3221225653/index.m3u8
|
||||
咪咕直播-15,http://[2409:8087:1a01:df::4017]/PLTV/88888888/224/3221225654/index.m3u8
|
||||
咪咕直播-16,http://[2409:8087:1a01:df::4019]/PLTV/88888888/224/3221225658/index.m3u8
|
||||
咪咕直播-17,http://[2409:8087:1a01:df::4012]/PLTV/88888888/224/3221225660/index.m3u8
|
||||
咪咕直播-18,http://[2409:8087:1a01:df::4023]/PLTV/88888888/224/3221225662/index.m3u8
|
||||
咪咕直播-19,http://[2409:8087:1a01:df::4062]/PLTV/88888888/224/3221225733/index.m3u8
|
||||
咪咕直播-20,http://[2409:8087:1a01:df::4048]/PLTV/88888888/224/3221225735/index.m3u8
|
||||
咪咕直播-21,http://[2409:8087:1a01:df::4025]/PLTV/88888888/224/3221225737/index.m3u8
|
||||
咪咕直播-22,http://[2409:8087:1a01:df::4074]/PLTV/88888888/224/3221225739/index.m3u8
|
||||
咪咕直播-23,http://[2409:8087:1a01:df::4030]/PLTV/88888888/224/3221225754/index.m3u8
|
||||
咪咕直播-24,http://[2409:8087:1a01:df::4025]/PLTV/88888888/224/3221225756/index.m3u8
|
||||
咪咕直播-25,http://[2409:8087:1a01:df::4077]/PLTV/88888888/224/3221225758/index.m3u8
|
||||
咪咕直播-26,http://[2409:8087:1a01:df::4025]/PLTV/88888888/224/3221225760/index.m3u8
|
||||
咪咕直播-27,http://[2409:8087:1a01:df::4002]/PLTV/88888888/224/3221225895/index.m3u8
|
||||
咪咕直播-28,http://[2409:8087:1a01:df::4028]/PLTV/88888888/224/3221225897/index.m3u8
|
||||
咪咕直播-29,http://[2409:8087:1a01:df::4061]/PLTV/88888888/224/3221225899/index.m3u8
|
||||
咪咕直播-30,http://[2409:8087:1a01:df::4009]/PLTV/88888888/224/3221225901/index.m3u8
|
||||
咪咕直播-31,http://[2409:8087:1a01:df::4023]/PLTV/88888888/224/3221225903/index.m3u8
|
||||
咪咕直播-32,http://[2409:8087:1a01:df::403b]/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226147/index.m3u8
|
||||
咪咕直播-33,http://[2409:8087:1a01:df::4051]/PLTV/88888888/224/3221225905/index.m3u8
|
||||
咪咕直播-34,http://[2409:8087:1a01:df::4033]/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226398/index.m3u8
|
||||
咪咕直播-35,http://[2409:8087:1a01:df::4055]/PLTV/88888888/224/3221225910/index.m3u8
|
||||
咪咕直播-36,http://[2409:8087:1a01:df::4076]/PLTV/88888888/224/3221225912/index.m3u8
|
||||
咪咕直播-37,http://[2409:8087:1a01:df::4027]/PLTV/88888888/224/3221225914/index.m3u8
|
||||
咪咕直播-38,http://[2409:8087:1a01:df::4076]/PLTV/88888888/224/3221226027/index.m3u8
|
||||
咪咕直播-39,http://[2409:8087:1a01:df::4068]/PLTV/88888888/224/3221226031/index.m3u8
|
||||
咪咕直播-40,http://[2409:8087:1a01:df::4062]/PLTV/88888888/224/3221226046/index.m3u8
|
||||
咪咕直播-41,http://[2409:8087:1a01:df::4041]/PLTV/88888888/224/3221226053/index.m3u8
|
||||
咪咕直播-42,http://[2409:8087:1a01:df::404d]/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226124/index.m3u8
|
||||
|
||||
|
||||
|
||||
IPV6-2,#genre#
|
||||
CCTV-1 综合,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001022/index.m3u8
|
||||
CCTV-2 财经,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001220/index.m3u8
|
||||
CCTV-3 综艺,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001186/index.m3u8
|
||||
CCTV-4 中文国际,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001221/index.m3u8
|
||||
CCTV-5 体育,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001187/index.m3u8
|
||||
CCTV-5+ 体育赛事,http://[2409:8087:7000:20:1000::22]:6060/yinhe/2/ch00000090990000001334/index.m3u8?virtualDomain=yinhe.live_hls.zte.com
|
||||
CCTV-6 电影,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001188/index.m3u8
|
||||
CCTV-7 国防军事,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001236/index.m3u8
|
||||
CCTV-8 电视剧,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001189/index.m3u8
|
||||
CCTV-9 纪录,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001237/index.m3u8
|
||||
CCTV-10 科教,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001238/index.m3u8
|
||||
CCTV-11 戏曲,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001309/index.m3u8
|
||||
CCTV-12 社会与法,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001239/index.m3u8
|
||||
CCTV-13 新闻,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001328/index.m3u8
|
||||
CCTV-14 少儿,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001240/index.m3u8
|
||||
CCTV-15 音乐,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001338/index.m3u8
|
||||
CCTV-16 奥林匹克,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001248/index.m3u8
|
||||
CCTV-17 农业农村,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001241/index.m3u8
|
||||
CCTV-16 奥林匹克 4K,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001258/index.m3u8
|
||||
CCTV-4K 超高清,http://[2409:8087:2001:20:2800:0:df6e:eb26]:80/ott.mobaibox.com/PLTV/3/224/3221228472/index.m3u8
|
||||
CCTV-8K 超高清,http://[2409:8087:2001:20:2800:0:df6e:eb02]:80/wh7f454c46tw2749731958_105918260/ott.mobaibox.com/PLTV/3/224/3221228165/index.m3u8?icpid=3&RTS=1681529690&from=40&popid=40&hms_devid=2039&prioritypopid=40&vqe=3
|
||||
CHC动作电影,http://[2409:8087:7000:20:1000::22]:6060/yinhe/2/ch00000090990000002055/index.m3u8?virtualDomain=yinhe.live_hls.zte.com
|
||||
CHC家庭影院,http://[2409:8087:7000:20:1000::22]:6060/yinhe/2/ch00000090990000002085/index.m3u8?virtualDomain=yinhe.live_hls.zte.com
|
||||
CHC高清电影,http://[2409:8087:7000:20:1000::22]:6060/yinhe/2/ch00000090990000002065/index.m3u8?virtualDomain=yinhe.live_hls.zte.com
|
||||
北京卫视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001029/index.m3u8
|
||||
湖南卫视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001026/index.m3u8
|
||||
东方卫视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001013/index.m3u8
|
||||
四川卫视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001130/index.m3u8
|
||||
天津卫视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001036/index.m3u8
|
||||
安徽卫视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001037/index.m3u8
|
||||
山东卫视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001028/index.m3u8
|
||||
广东卫视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001032/index.m3u8
|
||||
广西卫视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001224/index.m3u8
|
||||
江苏卫视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001033/index.m3u8
|
||||
江西卫视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001034/index.m3u8
|
||||
河北卫视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001229/index.m3u8
|
||||
河南卫视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001222/index.m3u8
|
||||
浙江卫视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001023/index.m3u8
|
||||
海南卫视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001183/index.m3u8
|
||||
深圳卫视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001030/index.m3u8
|
||||
湖北卫视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001027/index.m3u8
|
||||
山西卫视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001070/index.m3u8
|
||||
东南卫视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001201/index.m3u8
|
||||
贵州卫视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001184/index.m3u8
|
||||
辽宁卫视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001035/index.m3u8
|
||||
重庆卫视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001129/index.m3u8
|
||||
黑龙江卫视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001031/index.m3u8
|
||||
内蒙古卫视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001068/index.m3u8
|
||||
宁夏卫视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001074/index.m3u8
|
||||
陕西卫视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001067/index.m3u8
|
||||
甘肃卫视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001298/index.m3u8
|
||||
吉林卫视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001225/index.m3u8
|
||||
云南卫视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001223/index.m3u8
|
||||
三沙卫视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001185/index.m3u8
|
||||
青海卫视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001450/index.m3u8
|
||||
新疆卫视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001065/index.m3u8
|
||||
西藏卫视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001072/index.m3u8
|
||||
兵团卫视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001066/index.m3u8
|
||||
延边卫视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001470/index.m3u8
|
||||
厦门卫视,http://[2409:8087:7000:20::4]:80/dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226219/index.m3u8
|
||||
CETV-1,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001020/index.m3u8
|
||||
CETV-2,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001226/index.m3u8
|
||||
CETV-4,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001348/index.m3u8
|
||||
金色学堂,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001194/index.m3u8
|
||||
纪实人文,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001019/index.m3u8
|
||||
生活时尚,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001199/index.m3u8
|
||||
乐游频道,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001200/index.m3u8
|
||||
都市剧场,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001203/index.m3u8
|
||||
欢笑剧场,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001193/index.m3u8
|
||||
北京纪实科教,http://[2409:8087:7000:20:1000::22]:6060/yinhe/2/ch00000090990000001329/index.m3u8?virtualDomain=yinhe.live_hls.zte.com
|
||||
卡酷少儿,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001245/index.m3u8
|
||||
金鹰纪实,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001230/index.m3u8
|
||||
金鹰卡通,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001460/index.m3u8
|
||||
茶友频道,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001234/index.m3u8
|
||||
快乐垂钓,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001235/index.m3u8
|
||||
嘉佳卡通,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001227/index.m3u8
|
||||
动漫秀场,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001196/index.m3u8
|
||||
哈哈炫动,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001232/index.m3u8
|
||||
游戏风云,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001192/index.m3u8
|
||||
家庭理财,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001278/index.m3u8
|
||||
财富天下,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001219/index.m3u8
|
||||
中国天气,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001102/index.m3u8
|
||||
兵器科技,http://[2409:8087:7001:20:2::3]:80/dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226975/index.m3u8
|
||||
怀旧剧场,http://[2409:8087:7001:20:2::3]:80/dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226972/index.m3u8
|
||||
世界地理,http://[2409:8087:7001:20:2::3]:80/dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226947/index.m3u8
|
||||
文化精品,http://[2409:8087:7001:20:2::3]:80/dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226981/index.m3u8
|
||||
央视台球,http://[2409:8087:7001:20:2::3]:80/dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226956/index.m3u8
|
||||
央视高网,http://[2409:8087:7001:20:2::3]:80/dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226978/index.m3u8
|
||||
风云剧场,http://[2409:8087:7001:20:2::3]:80/dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226950/index.m3u8
|
||||
风云音乐,http://[2409:8087:7001:20:2::3]:80/dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226953/index.m3u8
|
||||
第一剧场,http://[2409:8087:7001:20:2::3]:80/dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226959/index.m3u8
|
||||
女性时尚,http://[2409:8087:7001:20:2::3]:80/dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226969/index.m3u8
|
||||
风云足球,http://[2409:8087:7001:20:2::3]:80/dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226984/index.m3u8
|
||||
电视指南,http://[2409:8087:7001:20:2::3]:80/dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226987/index.m3u8
|
||||
上海新闻,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001014/index.m3u8
|
||||
上海都市,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001015/index.m3u8
|
||||
上海ICS,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001128/index.m3u8
|
||||
七彩戏剧,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001308/index.m3u8
|
||||
上海教育,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001268/index.m3u8
|
||||
五星体育,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001018/index.m3u8
|
||||
东方影视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001016/index.m3u8
|
||||
东方财经,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001318/index.m3u8
|
||||
法治天地,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001195/index.m3u8
|
||||
第一财经,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001017/index.m3u8
|
||||
求索记录,http://[2409:8087:7001:20:1000::95]:6610/000000001000/6000000002000032052/index.m3u8?channel-id=wasusyt&Contentid=6000000002000032052&livemode=1&stbId=3
|
||||
求索动物,http://[2409:8087:7001:20:1000::95]:6610/000000001000/6000000002000010046/index.m3u8?channel-id=wasusyt&Contentid=6000000002000010046&livemode=1&stbId=3
|
||||
求索科学,http://[2409:8087:7001:20:1000::95]:6610/000000001000/6000000002000032344/index.m3u8?channel-id=wasusyt&Contentid=6000000002000032344&livemode=1&stbId=3
|
||||
求索生活,http://[2409:8087:7001:20:1000::95]:6610/000000001000/6000000002000003382/index.m3u8?channel-id=wasusyt&Contentid=6000000002000003382&livemode=1&stbId=3
|
||||
超级综艺,http://[2409:8087:7000:20::4]:80/dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226009/index.m3u8
|
||||
超级体育,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225715/index.m3u8
|
||||
超级电影,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225717/index.m3u8
|
||||
超级电视剧,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225716/index.m3u8
|
||||
武博世界,http://[2409:8087:2001:20:2800:0:df6e:eb19]:80/wh7f454c46tw2554338791_49940138/ott.mobaibox.com/PLTV/3/224/3221227533/index.m3u8
|
||||
中国功夫,http://[2409:8087:2001:20:2800:0:df6e:eb19]:80/wh7f454c46tw1934355864_2070028581/ott.mobaibox.com/PLTV/3/224/3221227530/index.m3u8
|
||||
军旅剧场,http://[2409:8087:2001:20:2800:0:df6e:eb06]:80/wh7f454c46tw1807611386_-262631246/ott.mobaibox.com/PLTV/3/224/3221227603/index.m3u8
|
||||
炫舞未来,http://[2409:8087:2001:20:2800:0:df6e:eb09]:80/wh7f454c46tw2582593423_1721070986/ott.mobaibox.com/PLTV/3/224/3221227475/index.m3u8
|
||||
潮妈辣婆,http://[2409:8087:2001:20:2800:0:df6e:eb19]:80/wh7f454c46tw1705588260_46164741/ott.mobaibox.com/PLTV/3/224/3221227527/index.m3u8
|
||||
精品体育,http://[2409:8087:2001:20:2800:0:df6e:eb1b]:80/wh7f454c46tw2797725038_-2054878207/ott.mobaibox.com/PLTV/3/224/3221227615/index.m3u8
|
||||
精品纪录,http://[2409:8087:2001:20:2800:0:df6e:eb1a]:80/wh7f454c46tw2837435881_530071425/ott.mobaibox.com/PLTV/3/224/3221227547/index.m3u8
|
||||
家庭剧场,http://[2409:8087:2001:20:2800:0:df6e:eb06]:80/wh7f454c46tw3441504651_1879058580/ott.mobaibox.com/PLTV/3/224/3221227600/index.m3u8
|
||||
精品大剧,http://[2409:8087:2001:20:2800:0:df6e:eb1a]:80/wh7f454c46tw2817459161_-1430429466/ott.mobaibox.com/PLTV/3/224/3221227618/index.m3u8
|
||||
军事评论,http://[2409:8087:2001:20:2800:0:df6e:eb18]:80/wh7f454c46tw3373254713_-1111569189/ott.mobaibox.com/PLTV/3/224/3221227544/index.m3u8
|
||||
明星大片,http://[2409:8087:2001:20:2800:0:df6e:eb18]:80/wh7f454c46tw2856695654_946966165/ott.mobaibox.com/PLTV/3/224/3221227594/index.m3u8
|
||||
东北热剧,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225741/index.m3u8
|
||||
欢乐剧场,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225742/index.m3u8
|
||||
CGTN英语,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001058/index.m3u8
|
||||
CGTN记录,https://livedoc.cgtn.com/500d/prog_index.m3u8
|
||||
CGTN俄语,https://liveru.cgtn.com/1000r/prog_index.m3u8
|
||||
CGTN法语,https://livefr.cgtn.com/1000f/prog_index.m3u8
|
||||
CGTN西语,https://livees.cgtn.com/1000e/prog_index.m3u8
|
||||
CGTN阿语,https://livear.cgtn.com/1000a/prog_index.m3u8
|
||||
Bestv赛事1,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001151/index.m3u8
|
||||
Bestv赛事2,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001359/index.m3u8
|
||||
Bestv赛事3,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001388/index.m3u8
|
||||
Bestv赛事4,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001149/index.m3u8
|
||||
Bestv赛事5,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001153/index.m3u8
|
||||
东方购物1,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001040/index.m3u8
|
||||
东方购物2,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001039/index.m3u8
|
||||
央广购物,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001420/index.m3u8
|
||||
优购物,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001440/index.m3u8
|
||||
好享购物,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001132/index.m3u8
|
||||
聚鲨精选,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001138/index.m3u8
|
||||
家家购物,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001163/index.m3u8
|
||||
家有购物,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001244/index.m3u8
|
||||
快乐购,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001368/index.m3u8
|
||||
BIN
app/nan0926.jar
Normal file
0
app/signer.sh
Normal file
BIN
app/static/cat.jpg
Normal file
|
After Width: | Height: | Size: 1.0 KiB |
1
app/static/cfg999999.json
Normal file
@ -0,0 +1 @@
|
||||
{"sites":[{"key":"点播源","name":"点播源","type":0,"api":"http://www.kkkkkbbbbb.com/api.php/provide/vod/at/xml/","playUrl":"","categories":["国产剧","港台剧","日韩剧","欧美剧","泰剧","综艺"]}],"lives":[{"group":"自定义","channels":[{"name":"直播源","urls":["about:blank"]}]}],"parses":[{"name":"解析1","url":"https://xxx.xxx?jx="}],"flags":["youku","qq","iqiyi","qiyi","letv","sohu","tudou","pptv","mgtv","wasu"],"ijk":[{"group":"软解码","options":[{"category":4,"name":"opensles","value":"0"},{"category":4,"name":"overlay-format","value":"842225234"},{"category":4,"name":"framedrop","value":"1"},{"category":4,"name":"soundtouch","value":"1"},{"category":4,"name":"start-on-prepared","value":"1"},{"category":1,"name":"http-detect-range-support","value":"0"},{"category":1,"name":"fflags","value":"fastseek"},{"category":2,"name":"skip_loop_filter","value":"48"},{"category":4,"name":"reconnect","value":"1"},{"category":4,"name":"max-buffer-size","value":"5242880"},{"category":4,"name":"enable-accurate-seek","value":"0"},{"category":4,"name":"mediacodec","value":"0"},{"category":4,"name":"mediacodec-auto-rotate","value":"0"},{"category":4,"name":"mediacodec-handle-resolution-change","value":"0"},{"category":4,"name":"mediacodec-hevc","value":"0"}]},{"group":"硬解码","options":[{"category":4,"name":"opensles","value":"0"},{"category":4,"name":"overlay-format","value":"842225234"},{"category":4,"name":"framedrop","value":"1"},{"category":4,"name":"soundtouch","value":"1"},{"category":4,"name":"start-on-prepared","value":"1"},{"category":1,"name":"http-detect-range-support","value":"0"},{"category":1,"name":"fflags","value":"fastseek"},{"category":2,"name":"skip_loop_filter","value":"48"},{"category":4,"name":"reconnect","value":"1"},{"category":4,"name":"max-buffer-size","value":"5242880"},{"category":4,"name":"enable-accurate-seek","value":"0"},{"category":4,"name":"mediacodec","value":"1"},{"category":4,"name":"mediacodec-auto-rotate","value":"1"},{"category":4,"name":"mediacodec-handle-resolution-change","value":"1"},{"category":4,"name":"mediacodec-hevc","value":"1"}]}],"ads":["mimg.0c1q0l.cn","www.googletagmanager.com","www.google-analytics.com","mc.usihnbcq.cn","mg.g1mm3d.cn","mscs.svaeuzh.cn","cnzz.hhttm.top","tp.vinuxhome.com","cnzz.mmstat.com","www.baihuillq.com","s23.cnzz.com","z3.cnzz.com","c.cnzz.com","stj.v1vo.top","z12.cnzz.com","img.mosflower.cn","tips.gamevvip.com","ehwe.yhdtns.com","xdn.cqqc3.com","www.jixunkyy.cn","sp.chemacid.cn","hm.baidu.com","s9.cnzz.com","z6.cnzz.com","um.cavuc.com","mav.mavuz.com","wofwk.aoidf3.com","z5.cnzz.com","xc.hubeijieshikj.cn","tj.tianwenhu.com","xg.gars57.cn","k.jinxiuzhilv.com","cdn.bootcss.com","ppl.xunzhuo123.com","xomk.jiangjunmh.top","img.xunzhuo123.com","z1.cnzz.com","s13.cnzz.com","xg.huataisangao.cn","z7.cnzz.com","xg.huataisangao.cn","z2.cnzz.com","s96.cnzz.com","q11.cnzz.com","thy.dacedsfa.cn","xg.whsbpw.cn","s19.cnzz.com","z8.cnzz.com","s4.cnzz.com","f5w.as12df.top","ae01.alicdn.com","www.92424.cn","k.wudejia.com","vivovip.mmszxc.top","qiu.xixiqiu.com","cdnjs.hnfenxun.com","cms.qdwght.com"]}
|
||||
1
app/static/editor.css
Normal file
@ -0,0 +1 @@
|
||||
.subTabLv1 .nav-tabs{border:none;}.subTabLv1 .nav-tabs > li{margin-bottom:10px;}.subTabLv1 .nav-tabs > li > a,.subTabLv1 .nav-tabs > li > a:hover,.subTabLv1 .nav-tabs > li.active > a,.subTabLv1 .nav-tabs > li.active > a:hover{border:1px solid #ddd;border-radius:4px;padding:5px 8px;}.subTabLv1 .nav-tabs > li.active > a{font-weight:bold;}.subTabLv1 fieldset > legend{display:none;}.subTabLv2{border:1px solid #ddd;border-radius:4px;padding:0 10px 10px 10px;}.subTabLv2 .nav-tabs > li{}.subTabLv2 .nav-tabs > li.active > a{font-weight:normal;}.subTabLv2 .nav-tabs > li > a,.subTabLv2 .nav-tabs > li > a:hover,.subTabLv2 .nav-tabs > li.active > a,.subTabLv2 .nav-tabs > li.active > a:hover{border:1px solid #ddd;border-radius:4px;padding:5px 10px;}.subTabLv3{border-radius:4px;padding:10px 10px 10px 10px;background-color:#f7f7f9;border:1px solid #e1e1e8;}
|
||||
1
app/static/editor.js
Normal file
BIN
app/static/gh_16e4613251a6_258.jpg
Normal file
|
After Width: | Height: | Size: 45 KiB |
1
app/static/index.js
Normal file
1
app/static/jsonform.js
Normal file
1
app/static/jsonform.json
Normal file
1
app/static/jsonlint.js
Normal file
4
app/static/jsv.js
Normal file
205
app/tv.txt
Normal file
@ -0,0 +1,205 @@
|
||||
CCTV,#genre#
|
||||
CCTV1,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226016/index.m3u8
|
||||
CCTV1,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226559/index.m3u8
|
||||
CCTV1,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226514/index.m3u8
|
||||
CCTV2,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226540/index.m3u8
|
||||
CCTV2,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225588/index.m3u8
|
||||
CCTV3,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226021/index.m3u8
|
||||
CCTV4,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226428/index.m3u8
|
||||
CCTV4,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226007/index.m3u8
|
||||
CCTV5,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226019/index.m3u8
|
||||
CCTV5+,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225603/index.m3u8
|
||||
CCTV6,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226010/index.m3u8
|
||||
CCTV7,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225733/index.m3u8
|
||||
CCTV8,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226008/index.m3u8
|
||||
CCTV9,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225734/index.m3u8
|
||||
CCTV10,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225730/index.m3u8
|
||||
CCTV10,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226473/index.m3u8
|
||||
CCTV11,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226565/index.m3u8
|
||||
CCTV11,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225597/index.m3u8
|
||||
CCTV12,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225731/index.m3u8
|
||||
CCTV12,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226568/index.m3u8
|
||||
CCTV13,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226537/index.m3u8
|
||||
CCTV13,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226571/index.m3u8
|
||||
CCTV13,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226011/index.m3u8
|
||||
CCTV14,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225732/index.m3u8
|
||||
CCTV14,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226591/index.m3u8
|
||||
CCTV15,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226476/index.m3u8
|
||||
CCTV15,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225601/index.m3u8
|
||||
CCTV16,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226100/index.m3u8
|
||||
CCTV17,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225765/index.m3u8
|
||||
CETV1,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225652/index.m3u8
|
||||
CETV2,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226425/index.m3u8
|
||||
CETV4,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225783/index.m3u8
|
||||
CGTN英语,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225604/index.m3u8
|
||||
CGTN西语,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226431/index.m3u8
|
||||
CGTN俄语,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226543/index.m3u8
|
||||
CGTN法语,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226520/index.m3u8
|
||||
CGTN阿语,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226517/index.m3u8
|
||||
CGTN纪录,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225602/index.m3u8
|
||||
CGTN纪录,https://livedoc.cgtn.com/500d/prog_index.m3u8
|
||||
CGTN俄语,https://liveru.cgtn.com/1000r/prog_index.m3u8
|
||||
CGTN法语,https://livefr.cgtn.com/1000f/prog_index.m3u8
|
||||
CGTN西语,https://livees.cgtn.com/1000e/prog_index.m3u8
|
||||
CGTN阿语,https://livear.cgtn.com/1000a/prog_index.m3u8
|
||||
CCTV5+,http://39.134.67.108/PLTV/88888888/224/3221225507/1.m3u8
|
||||
CCTV16,http://39.134.67.108/PLTV/88888888/224/3221225893/1.m3u8
|
||||
CCTV6,http://39.134.67.108/PLTV/88888888/224/3221225814/1.m3u8
|
||||
CCTV5,http://39.134.67.108/PLTV/88888888/224/3221225818/1.m3u8
|
||||
CCTV1,http://39.134.67.108/PLTV/88888888/224/3221225816/1.m3u8
|
||||
CCTV3,http://39.134.67.108/PLTV/88888888/224/3221225799/1.m3u8
|
||||
CCTV8,http://39.134.67.108/PLTV/88888888/224/3221225795/1.m3u8
|
||||
CCTV17,http://39.134.67.108/PLTV/88888888/224/3221225708/1.m3u8
|
||||
CCTV10,http://39.134.67.108/PLTV/88888888/224/3221225677/1.m3u8
|
||||
CCTV9,http://39.134.67.108/PLTV/88888888/224/3221225676/1.m3u8
|
||||
CCTV14,http://39.134.67.108/PLTV/88888888/224/3221225674/1.m3u8
|
||||
CCTV7,http://39.134.67.108/PLTV/88888888/224/3221225671/1.m3u8
|
||||
CCTV12,http://39.134.67.108/PLTV/88888888/224/3221225669/1.m3u8
|
||||
CCTV2,http://39.134.67.108/PLTV/88888888/224/3221225599/1.m3u8
|
||||
CCTV15,http://39.134.67.108/PLTV/88888888/224/3221225513/1.m3u8
|
||||
CCTV11,http://39.134.67.108/PLTV/88888888/224/3221225517/1.m3u8
|
||||
CCTV13,http://39.134.67.108/PLTV/88888888/224/3221225812/1.m3u8
|
||||
CCTV4,http://39.134.67.108/PLTV/88888888/224/3221225797/1.m3u8
|
||||
CETV4,http://39.134.67.108/PLTV/88888888/224/3221225750/1.m3u8
|
||||
CETV1,http://39.134.67.108/PLTV/88888888/224/3221225563/1.m3u8
|
||||
CGTN英语,http://39.134.67.108/PLTV/88888888/224/3221225510/1.m3u8
|
||||
CGTN纪录,http://39.134.67.108/PLTV/88888888/224/3221225509/1.m3u8
|
||||
卫视,#genre#
|
||||
北京卫视,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225728/index.m3u8
|
||||
北京卫视,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226450/index.m3u8
|
||||
天津卫视,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225740/index.m3u8
|
||||
天津卫视,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226459/index.m3u8
|
||||
东南卫视,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226341/index.m3u8
|
||||
东方卫视,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225735/index.m3u8
|
||||
东方卫视,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226345/index.m3u8
|
||||
江苏卫视,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225613/index.m3u8
|
||||
江苏卫视,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226310/index.m3u8
|
||||
浙江卫视,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225612/index.m3u8
|
||||
浙江卫视,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226339/index.m3u8
|
||||
安徽卫视,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226391/index.m3u8
|
||||
河北卫视,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226406/index.m3u8
|
||||
河南卫视,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226480/index.m3u8
|
||||
广东卫视,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226248/index.m3u8
|
||||
深圳卫视,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225739/index.m3u8
|
||||
深圳卫视,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226313/index.m3u8
|
||||
湖北卫视,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225627/index.m3u8
|
||||
湖北卫视,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226477/index.m3u8
|
||||
香港卫视,http://zhibo.hkstv.tv/livestream/mutfysrq/playlist.m3u8
|
||||
湖南卫视,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225610/index.m3u8
|
||||
湖南卫视,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226307/index.m3u8
|
||||
四川卫视,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226338/index.m3u8
|
||||
重庆卫视,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226409/index.m3u8
|
||||
江西卫视,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226344/index.m3u8
|
||||
山西卫视,http://liveflash.sxrtv.com/live/sxwshd.m3u8?sub_m3u8=true&edge_slice=true
|
||||
山东卫视,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226456/index.m3u8
|
||||
贵州卫视,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226474/index.m3u8
|
||||
海南卫视,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226465/index.m3u8
|
||||
宁夏卫视,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225632/index.m3u8
|
||||
宁夏卫视,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226454/index.m3u8
|
||||
陕西卫视,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226457/index.m3u8
|
||||
吉林卫视,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226397/index.m3u8
|
||||
辽宁卫视,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226546/index.m3u8
|
||||
西藏卫视,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225638/index.m3u8
|
||||
西藏卫视,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226433/index.m3u8
|
||||
内蒙古卫视,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225634/index.m3u8
|
||||
内蒙古卫视,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226389/index.m3u8
|
||||
黑龙江卫视,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226327/index.m3u8
|
||||
黑龙江卫视,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226467/index.m3u8
|
||||
黑龙江卫视,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226419/index.m3u8
|
||||
黑龙江卫视,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226582/index.m3u8
|
||||
黑龙江卫视,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226585/index.m3u8
|
||||
黑龙江卫视,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226532/index.m3u8
|
||||
黑龙江卫视,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226531/index.m3u8
|
||||
黑龙江卫视,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226525/index.m3u8
|
||||
辽宁卫视,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225619/index.m3u8
|
||||
重庆卫视,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225618/index.m3u8
|
||||
东南卫视,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225620/index.m3u8
|
||||
广西卫视,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226549/index.m3u8
|
||||
黑龙江卫视,http://39.134.67.108/PLTV/88888888/224/3221225994/1.m3u8
|
||||
深圳卫视,http://39.134.67.108/PLTV/88888888/224/3221225943/1.m3u8
|
||||
安徽卫视,http://39.134.67.108/PLTV/88888888/224/3221225925/1.m3u8
|
||||
北京卫视,http://39.134.67.108/PLTV/88888888/224/3221225931/1.m3u8
|
||||
江西卫视,http://39.134.67.108/PLTV/88888888/224/3221225935/1.m3u8
|
||||
江苏卫视,http://39.134.67.108/PLTV/88888888/224/3221225938/1.m3u8
|
||||
东方卫视,http://39.134.67.108/PLTV/88888888/224/3221225942/1.m3u8
|
||||
东南卫视,http://39.134.67.108/PLTV/88888888/224/3221225950/1.m3u8
|
||||
西藏卫视,http://39.134.67.108/PLTV/88888888/224/3221225951/1.m3u8
|
||||
山东卫视,http://39.134.67.108/PLTV/88888888/224/3221225952/1.m3u8
|
||||
浙江卫视,http://39.134.67.108/PLTV/88888888/224/3221225959/1.m3u8
|
||||
河北卫视,http://39.134.67.108/PLTV/88888888/224/3221225961/1.m3u8
|
||||
重庆卫视,http://39.134.67.108/PLTV/88888888/224/3221225963/1.m3u8
|
||||
广东卫视,http://39.134.67.108/PLTV/88888888/224/3221225966/1.m3u8
|
||||
四川卫视,http://39.134.67.108/PLTV/88888888/224/3221225970/1.m3u8
|
||||
天津卫视,http://39.134.67.108/PLTV/88888888/224/3221225972/1.m3u8
|
||||
贵州卫视,http://39.134.67.108/PLTV/88888888/224/3221225974/1.m3u8
|
||||
湖北卫视,http://39.134.67.108/PLTV/88888888/224/3221225975/1.m3u8
|
||||
山西卫视,http://39.134.67.108/PLTV/88888888/224/3221226009/1.m3u8
|
||||
吉林卫视,http://39.134.67.108/PLTV/88888888/224/3221226013/1.m3u8
|
||||
海南卫视,http://39.134.67.108/PLTV/88888888/224/3221226026/1.m3u8
|
||||
广西卫视,http://39.134.67.108/PLTV/88888888/224/3221226024/1.m3u8
|
||||
北京卫视,http://39.134.65.179/PLTV/88888888/224/3221225678/1.m3u8
|
||||
北京卫视,http://39.134.65.173/PLTV/88888888/224/3221225678/1.m3u8
|
||||
山东卫视,http://39.134.65.141/PLTV/88888888/224/3221225952/1.m3u8
|
||||
江苏卫视,http://39.134.65.175/PLTV/88888888/224/3221225503/1.m3u8
|
||||
江苏卫视,http://39.134.65.181/PLTV/88888888/224/3221225503/1.m3u8
|
||||
江苏卫视,http://39.134.65.183/PLTV/88888888/224/3221225503/1.m3u8
|
||||
江苏卫视,http://39.134.65.173/PLTV/88888888/224/3221225503/1.m3u8
|
||||
东方卫视,http://39.134.65.179/PLTV/88888888/224/3221225672/1.m3u8
|
||||
东方卫视,http://39.134.65.173/PLTV/88888888/224/3221225672/1.m3u8
|
||||
东方卫视,http://39.134.65.175/PLTV/88888888/224/3221225672/1.m3u8
|
||||
浙江卫视,http://39.134.65.162/PLTV/88888888/224/3221225514/1.m3u8
|
||||
浙江卫视,http://39.134.65.175/PLTV/88888888/224/3221225514/1.m3u8
|
||||
浙江卫视,http://39.134.65.179/PLTV/88888888/224/3221225514/1.m3u8
|
||||
浙江卫视,http://39.134.65.173/PLTV/88888888/224/3221225514/1.m3u8
|
||||
湖北卫视,http://39.134.65.162/PLTV/88888888/224/3221225569/1.m3u8
|
||||
湖南卫视,http://39.134.65.181/PLTV/88888888/224/3221225506/1.m3u8
|
||||
湖南卫视,http://39.134.65.173/PLTV/88888888/224/3221225506/1.m3u8
|
||||
湖南卫视,http://39.134.65.183/PLTV/88888888/224/3221225506/1.m3u8
|
||||
湖南卫视,http://39.134.65.175/PLTV/88888888/224/3221225506/1.m3u8
|
||||
贵州卫视,http://39.134.65.149/PLTV/88888888/224/3221225974/1.m3u8
|
||||
精品,#genre#
|
||||
黑莓电影,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225743/index.m3u8
|
||||
黑莓动画,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225662/index.m3u8
|
||||
纪实人文,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225738/index.m3u8
|
||||
超级电视剧,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225716/index.m3u8
|
||||
超级电影,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225717/index.m3u8
|
||||
哒啵赛事,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225675/index.m3u8
|
||||
金牌综艺,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225666/index.m3u8
|
||||
精品体育,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225674/index.m3u8
|
||||
咪咕体育,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226398/index.m3u8
|
||||
爱情喜剧,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225669/index.m3u8
|
||||
精品萌宠,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226505/index.m3u8
|
||||
睛彩竞技,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226472/index.m3u8
|
||||
睛彩篮球,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226469/index.m3u8
|
||||
睛彩篮球,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226147/index.m3u8
|
||||
睛彩竞技,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226124/index.m3u8
|
||||
睛彩青少,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226508/index.m3u8
|
||||
卡酷少儿,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225654/index.m3u8
|
||||
金鹰卡通,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225653/index.m3u8
|
||||
优漫卡通,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225656/index.m3u8
|
||||
哈哈炫动,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225657/index.m3u8
|
||||
超级体育,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225715/index.m3u8
|
||||
超级综艺,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225714/index.m3u8
|
||||
潮妈辣婆,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225685/index.m3u8
|
||||
东北热剧,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225741/index.m3u8
|
||||
动作电影,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225661/index.m3u8
|
||||
古装剧场,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225663/index.m3u8
|
||||
海外剧场,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225671/index.m3u8
|
||||
欢乐剧场,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225742/index.m3u8
|
||||
家庭剧场,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225677/index.m3u8
|
||||
惊悚悬疑,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225665/index.m3u8
|
||||
精品大剧,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225670/index.m3u8
|
||||
精品纪录,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225672/index.m3u8
|
||||
军旅剧场,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225676/index.m3u8
|
||||
军事评论,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225668/index.m3u8
|
||||
明星大片,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225664/index.m3u8
|
||||
农业致富,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225683/index.m3u8
|
||||
武搏世界,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225680/index.m3u8
|
||||
炫舞未来,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225719/index.m3u8
|
||||
怡伴健康,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225673/index.m3u8
|
||||
中国功夫,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225681/index.m3u8
|
||||
纪实科教,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225729/index.m3u8
|
||||
睛彩竞技,http://39.134.67.108/PLTV/88888888/224/3221225897/1.m3u8
|
||||
睛彩篮球,http://39.134.67.108/PLTV/88888888/224/3221225895/1.m3u8
|
||||
足球频道,https://nmglive.imfc.cn/5n1r1c/182396.m3u8
|
||||
卡酷少儿,http://39.134.67.108/PLTV/88888888/224/3221225562/1.m3u8
|
||||
2782
app/yz-副本.json
Normal file
2782
app/yz.json
Normal file
59
assets/css/eruyi.min.css
vendored
Normal file
1
assets/css/icons.min.css
vendored
Normal file
185
assets/css/main.css
Normal file
@ -0,0 +1,185 @@
|
||||
@charset "UTF-8";
|
||||
|
||||
/* Headings
|
||||
========================================================================== */
|
||||
h1, .uk-h1,
|
||||
h2, .uk-h2,
|
||||
.uk-heading-small,
|
||||
.uk-heading-medium,
|
||||
.uk-heading-large,
|
||||
.uk-heading-xlarge,
|
||||
.uk-heading-2xlarge {
|
||||
margin: 0 0 20px 0;
|
||||
font-family: "Muli", sans-serif;
|
||||
font-weight: 500;
|
||||
color: #000;
|
||||
text-transform: none;
|
||||
}
|
||||
|
||||
/* Add margin if adjacent element */
|
||||
* + h1, * + .uk-h1,
|
||||
* + h2, * + .uk-h2,
|
||||
* + .uk-heading-small,
|
||||
* + .uk-heading-medium,
|
||||
* + .uk-heading-large,
|
||||
* + .uk-heading-xlarge,
|
||||
* + .uk-heading-2xlarge {
|
||||
margin-top: 40px;
|
||||
}
|
||||
|
||||
/*
|
||||
* Sizes
|
||||
*/
|
||||
h1, .uk-h1 {
|
||||
font-size: 1.7rem;
|
||||
line-height: 1.2;
|
||||
}
|
||||
|
||||
h2, .uk-h2 {
|
||||
font-size: 1.540625rem;
|
||||
line-height: 1.3;
|
||||
}
|
||||
|
||||
/* Size
|
||||
========================================================================== */
|
||||
.uk-background-cover,
|
||||
.uk-background-contain {
|
||||
background-position: 50% 50%;
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
|
||||
.uk-background-cover {
|
||||
background-size: cover;
|
||||
}
|
||||
|
||||
.uk-background-contain {
|
||||
background-size: contain;
|
||||
}
|
||||
|
||||
/* Medium
|
||||
========================================================================== */
|
||||
.uk-margin-medium {
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
|
||||
* + .uk-margin-medium {
|
||||
margin-top: 40px !important;
|
||||
}
|
||||
|
||||
.uk-margin-medium-top {
|
||||
margin-top: 40px !important;
|
||||
}
|
||||
|
||||
.uk-margin-medium-bottom {
|
||||
margin-bottom: 40px !important;
|
||||
}
|
||||
|
||||
.uk-margin-medium-left {
|
||||
margin-left: 40px !important;
|
||||
}
|
||||
|
||||
.uk-margin-medium-right {
|
||||
margin-right: 40px !important;
|
||||
}
|
||||
|
||||
/* ========================================================================
|
||||
Component: Visibility
|
||||
========================================================================== */
|
||||
/*
|
||||
* Hidden
|
||||
* `hidden` attribute also set here to make it stronger
|
||||
*/
|
||||
[hidden],
|
||||
.uk-hidden {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
/* Phone landscape and bigger */
|
||||
@media (min-width: 640px) {
|
||||
.uk-hidden\@s {
|
||||
display: none !important;
|
||||
}
|
||||
}
|
||||
|
||||
/* Tablet landscape and bigger */
|
||||
@media (min-width: 960px) {
|
||||
.uk-hidden\@m {
|
||||
display: none !important;
|
||||
}
|
||||
}
|
||||
|
||||
/* Desktop and bigger */
|
||||
@media (min-width: 1200px) {
|
||||
.uk-hidden\@l {
|
||||
display: none !important;
|
||||
}
|
||||
}
|
||||
|
||||
/* Large screen and bigger */
|
||||
@media (min-width: 1600px) {
|
||||
.uk-hidden\@xl {
|
||||
display: none !important;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Visible
|
||||
*/
|
||||
/* Phone portrait and smaller */
|
||||
@media (max-width: 639px) {
|
||||
.uk-visible\@s {
|
||||
display: none !important;
|
||||
}
|
||||
}
|
||||
|
||||
/* Phone landscape and smaller */
|
||||
@media (max-width: 959px) {
|
||||
.uk-visible\@m {
|
||||
display: none !important;
|
||||
}
|
||||
}
|
||||
|
||||
/* Tablet landscape and smaller */
|
||||
@media (max-width: 1199px) {
|
||||
.uk-visible\@l {
|
||||
display: none !important;
|
||||
}
|
||||
}
|
||||
|
||||
/* Desktop and smaller */
|
||||
@media (max-width: 1599px) {
|
||||
.uk-visible\@xl {
|
||||
display: none !important;
|
||||
}
|
||||
}
|
||||
|
||||
.uk-light a, .uk-section-primary:not(.uk-preserve-color) a, .uk-section-secondary:not(.uk-preserve-color) a, .uk-tile-primary:not(.uk-preserve-color) a, .uk-tile-secondary:not(.uk-preserve-color) a, .uk-card-primary.uk-card-body a, .uk-card-primary > :not([class*='uk-card-media']) a, .uk-card-secondary.uk-card-body a, .uk-card-secondary > :not([class*='uk-card-media']) a, .uk-overlay-primary a,
|
||||
.uk-light .uk-link,
|
||||
.uk-section-primary:not(.uk-preserve-color) .uk-link,
|
||||
.uk-section-secondary:not(.uk-preserve-color) .uk-link,
|
||||
.uk-tile-primary:not(.uk-preserve-color) .uk-link,
|
||||
.uk-tile-secondary:not(.uk-preserve-color) .uk-link,
|
||||
.uk-card-primary.uk-card-body .uk-link,
|
||||
.uk-card-primary > :not([class*='uk-card-media']) .uk-link,
|
||||
.uk-card-secondary.uk-card-body .uk-link,
|
||||
.uk-card-secondary > :not([class*='uk-card-media']) .uk-link,
|
||||
.uk-overlay-primary .uk-link {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.uk-light h1, .uk-section-primary:not(.uk-preserve-color) h1, .uk-section-secondary:not(.uk-preserve-color) h1, .uk-tile-primary:not(.uk-preserve-color) h1, .uk-tile-secondary:not(.uk-preserve-color) h1, .uk-card-primary.uk-card-body h1, .uk-card-primary > :not([class*='uk-card-media']) h1, .uk-card-secondary.uk-card-body h1, .uk-card-secondary > :not([class*='uk-card-media']) h1, .uk-overlay-primary h1, .uk-light .uk-h1, .uk-section-primary:not(.uk-preserve-color) .uk-h1, .uk-section-secondary:not(.uk-preserve-color) .uk-h1, .uk-tile-primary:not(.uk-preserve-color) .uk-h1, .uk-tile-secondary:not(.uk-preserve-color) .uk-h1, .uk-card-primary.uk-card-body .uk-h1, .uk-card-primary > :not([class*='uk-card-media']) .uk-h1, .uk-card-secondary.uk-card-body .uk-h1, .uk-card-secondary > :not([class*='uk-card-media']) .uk-h1, .uk-overlay-primary .uk-h1,
|
||||
.uk-light h2,
|
||||
.uk-section-primary:not(.uk-preserve-color) h2,
|
||||
.uk-section-secondary:not(.uk-preserve-color) h2,
|
||||
.uk-tile-primary:not(.uk-preserve-color) h2,
|
||||
.uk-tile-secondary:not(.uk-preserve-color) h2,
|
||||
.uk-card-primary.uk-card-body h2,
|
||||
.uk-card-primary > :not([class*='uk-card-media']) h2,
|
||||
.uk-card-secondary.uk-card-body h2,
|
||||
.uk-card-secondary > :not([class*='uk-card-media']) h2,
|
||||
.uk-overlay-primary h2, .uk-light .uk-h2, .uk-section-primary:not(.uk-preserve-color) .uk-h2, .uk-section-secondary:not(.uk-preserve-color) .uk-h2, .uk-tile-primary:not(.uk-preserve-color) .uk-h2, .uk-tile-secondary:not(.uk-preserve-color) .uk-h2, .uk-card-primary.uk-card-body .uk-h2, .uk-card-primary > :not([class*='uk-card-media']) .uk-h2, .uk-card-secondary.uk-card-body .uk-h2, .uk-card-secondary > :not([class*='uk-card-media']) .uk-h2, .uk-overlay-primary .uk-h2,
|
||||
.uk-overlay-primary .uk-heading-2xlarge {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
|
||||
59
assets/css/style.css
Normal file
@ -0,0 +1,59 @@
|
||||
|
||||
p {
|
||||
margin: 10px 0;
|
||||
color: inherit
|
||||
}
|
||||
|
||||
/*www.eruyi.cn鼠标背景颜色*/
|
||||
.inpit .li>div[name][value]:hover {
|
||||
border: 2px dashed #5856f1;
|
||||
background-color: rgba(235, 234, 253, 1)
|
||||
}
|
||||
|
||||
.inpit {
|
||||
background-color: #ffffff;
|
||||
position: relative;
|
||||
height: 100%
|
||||
}
|
||||
/*
|
||||
.inpit .li {
|
||||
margin: 0 auto;
|
||||
min-width: 200px;
|
||||
padding: 20px 0;
|
||||
display: flow-root
|
||||
}*/
|
||||
|
||||
.inpit .li>div[name][value],
|
||||
.inpit .li>div.add {
|
||||
cursor: pointer;
|
||||
transition: transform 0.2s ease-in, box-shadow 0.2s ease-out;
|
||||
#width: calc(25% - 64px);
|
||||
box-shadow: 0 0 0 rgba(0, 0, 0, 0.2);
|
||||
background-color: #fff;
|
||||
padding: 25px 40px 25px 40px;
|
||||
border: 2px dashed #dcdcdc;
|
||||
border-radius: 4px;
|
||||
margin: 0 10px 20px
|
||||
}
|
||||
|
||||
.inpit .li>div.ack[name][value],
|
||||
.inpit .li>div.active[name][value]{
|
||||
box-shadow: 0 3px 20px rgba(130,129,243, 1);
|
||||
transform: scale(1.05);
|
||||
border: 2px solid #5856f1;
|
||||
background-color: #5856f1;
|
||||
color: #fff;
|
||||
animation: scales 0.3s
|
||||
}
|
||||
|
||||
@keyframes scales {
|
||||
0% {
|
||||
transform: scale(1)
|
||||
}
|
||||
50% {
|
||||
transform: scale(1.25)
|
||||
}
|
||||
100% {
|
||||
transform: scale(1)
|
||||
}
|
||||
}
|
||||
1
assets/css/vendor/britecharts.min.css
vendored
Normal file
@ -0,0 +1 @@
|
||||
@font-face{font-family:Karla,sans-serif;src:url(https://fonts.googleapis.com/css?family=Karla) format("opentype");font-weight:300}.britechart{font-family:Karla,sans-serif;-webkit-font-smoothing:antialiased}.select-disable{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.bar-load-state .chart-filter,.donut-load-state .chart-filter,.line-load-state .chart-filter,.stacked-area-load-state .chart-filter{will-change:transform;animation:swipe 1.5s linear infinite forwards}@keyframes swipe{from{transform:translateX(-100%)}to{transform:translateX(100%)}}.horizontal-grid-line,.vertical-grid-line{fill:none;shape-rendering:crispEdges;stroke:#eff2f5;stroke-width:1;stroke-dasharray:4,4}.extended-x-line,.extended-y-line{fill:none;shape-rendering:crispEdges;stroke:#d2d6df;stroke-width:1}.tick line{fill:none;stroke:#adb0b6;stroke-width:1;shape-rendering:crispEdges}.tick text{font-size:1rem;fill:#666a73;padding:12px}.x-axis-label,.y-axis-label{font-size:1rem;fill:#adb0b6}.vertical-marker-container .vertical-marker{stroke:#d2d6df;stroke-width:1;fill:none}.vertical-marker-container .data-point-highlighter{fill:#fff;stroke-width:2}.tooltip-background{fill:rgba(255,255,255,.97);stroke:#d2d6df;stroke-width:1;border-radius:2px}.britechart-legend .legend-entry.is-faded .legend-circle,.britechart-legend .legend-entry.is-faded .legend-entry-name,.britechart-legend .legend-entry.is-faded .legend-entry-value{opacity:.97;transition:opacity .2s ease-out;-moz-transition:opacity .2s ease-out;-webkit-transition:opacity .2s ease-out}.britechart-legend .legend-entry.is-faded .legend-circle,.britechart-legend .legend-entry.is-faded .legend-entry-name,.britechart-legend .legend-entry.is-faded .legend-entry-value{opacity:.2}.bar-chart .bar{shape-rendering:crispEdges}.bar-chart .y-axis-group .tick text{font-size:14px}.bar-chart .axis path{display:none}.bar-chart .tick line{display:none}.bar-chart .adjust-upwards{transform:translate(0,-10px)}.bar-chart .percentage-label{fill:#666a73}.line-chart .data-point-mark{fill:#fff}.line-chart .topic .line{fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.line-chart .x.axis path,.line-chart .y.axis path{display:none}.line-chart .month-axis path{display:none}.line-chart .masking-rectangle{fill:#fff}.scatter-plot .y-axis-group .tick line{display:none}.scatter-plot .y-axis-group .axis path{display:none}.scatter-plot .x.axis path{display:none}.scatter-plot .data-point-highlighter{stroke-width:1.2}.sparkline{stroke:#adb0b6;stroke-width:1;fill:none;stroke-linecap:round;stroke-linejoin:round}.sparkline .line{stroke-width:2}.sparkline .sparkline-circle{fill:#ff584c;stroke-width:0;display:none}.sparkline .sparkline-area{stroke:none}.stacked-area .dot{display:none}.stacked-area .y-axis-group path{display:none}.stacked-area .x-axis-group path{display:none}.stacked-area .area-outline{shape-rendering:geometricPrecision;fill:none;stroke-width:1.2}.stacked-area .data-point-highlighter{stroke-width:1.2}.stacked-area .empty-data-line{stroke-width:2px;stroke-linecap:round}.stacked-bar .x-axis-group path,.stacked-bar .y-axis-group path{display:none}.stacked-bar .y-axis-group .tick text{font-size:14px}.stacked-bar .tick line{display:none}.grouped-bar .x-axis-group path,.grouped-bar .y-axis-group path{display:none}.grouped-bar .y-axis-group .tick text{font-size:14px}.grouped-bar .tick line{display:none}.step-chart .step{fill:#8fdad8;stroke-width:0;shape-rendering:crispEdges}.step-chart .step:hover{fill:#39c2c9}.step-chart .axis path{display:none}.step-chart .tick line{display:none}.brush-chart .brush-area{fill:#eff2f5}.brush-chart rect.brush-rect.selection{fill-opacity:.08;stroke-linejoin:round}.brush-chart rect.brush-rect.handle{fill:#00d8d2;width:.2rem}.brush-chart .axis path{display:none}.bullet-chart .marker-line{shape-rendering:crispEdges}.bullet-chart .axis-group path{display:none}.bullet-chart .bullet-title{font-size:16px}
|
||||
231
assets/css/vendor/buttons.bootstrap4.css
vendored
Normal file
@ -0,0 +1,231 @@
|
||||
@keyframes dtb-spinner {
|
||||
100% {
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
@-o-keyframes dtb-spinner {
|
||||
100% {
|
||||
-o-transform: rotate(360deg);
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
@-ms-keyframes dtb-spinner {
|
||||
100% {
|
||||
-ms-transform: rotate(360deg);
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
@-webkit-keyframes dtb-spinner {
|
||||
100% {
|
||||
-webkit-transform: rotate(360deg);
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
@-moz-keyframes dtb-spinner {
|
||||
100% {
|
||||
-moz-transform: rotate(360deg);
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
div.dt-button-info {
|
||||
position: fixed;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
width: 400px;
|
||||
margin-top: -100px;
|
||||
margin-left: -200px;
|
||||
background-color: white;
|
||||
border: 2px solid #111;
|
||||
box-shadow: 3px 3px 8px rgba(0, 0, 0, 0.3);
|
||||
border-radius: 3px;
|
||||
text-align: center;
|
||||
z-index: 21;
|
||||
}
|
||||
div.dt-button-info h2 {
|
||||
padding: 0.5em;
|
||||
margin: 0;
|
||||
font-weight: normal;
|
||||
border-bottom: 1px solid #ddd;
|
||||
background-color: #f3f3f3;
|
||||
}
|
||||
div.dt-button-info > div {
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
div.dt-button-collection-title {
|
||||
text-align: center;
|
||||
padding: 0.3em 0 0.5em;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
|
||||
ul.dt-button-collection.dropdown-menu {
|
||||
display: block;
|
||||
z-index: 2002;
|
||||
-webkit-column-gap: 8px;
|
||||
-moz-column-gap: 8px;
|
||||
-ms-column-gap: 8px;
|
||||
-o-column-gap: 8px;
|
||||
column-gap: 8px;
|
||||
}
|
||||
ul.dt-button-collection.dropdown-menu.fixed {
|
||||
position: fixed;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
margin-left: -75px;
|
||||
border-radius: 0;
|
||||
}
|
||||
ul.dt-button-collection.dropdown-menu.fixed.two-column {
|
||||
margin-left: -150px;
|
||||
}
|
||||
ul.dt-button-collection.dropdown-menu.fixed.three-column {
|
||||
margin-left: -225px;
|
||||
}
|
||||
ul.dt-button-collection.dropdown-menu.fixed.four-column {
|
||||
margin-left: -300px;
|
||||
}
|
||||
ul.dt-button-collection.dropdown-menu > * {
|
||||
-webkit-column-break-inside: avoid;
|
||||
break-inside: avoid;
|
||||
}
|
||||
ul.dt-button-collection.dropdown-menu.two-column {
|
||||
width: 300px;
|
||||
padding-bottom: 1px;
|
||||
-webkit-column-count: 2;
|
||||
-moz-column-count: 2;
|
||||
-ms-column-count: 2;
|
||||
-o-column-count: 2;
|
||||
column-count: 2;
|
||||
}
|
||||
ul.dt-button-collection.dropdown-menu.three-column {
|
||||
width: 450px;
|
||||
padding-bottom: 1px;
|
||||
-webkit-column-count: 3;
|
||||
-moz-column-count: 3;
|
||||
-ms-column-count: 3;
|
||||
-o-column-count: 3;
|
||||
column-count: 3;
|
||||
}
|
||||
ul.dt-button-collection.dropdown-menu.four-column {
|
||||
width: 600px;
|
||||
padding-bottom: 1px;
|
||||
-webkit-column-count: 4;
|
||||
-moz-column-count: 4;
|
||||
-ms-column-count: 4;
|
||||
-o-column-count: 4;
|
||||
column-count: 4;
|
||||
}
|
||||
ul.dt-button-collection.dropdown-menu .dt-button {
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
ul.dt-button-collection {
|
||||
-webkit-column-gap: 8px;
|
||||
-moz-column-gap: 8px;
|
||||
-ms-column-gap: 8px;
|
||||
-o-column-gap: 8px;
|
||||
column-gap: 8px;
|
||||
}
|
||||
ul.dt-button-collection.fixed {
|
||||
position: fixed;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
margin-left: -75px;
|
||||
border-radius: 0;
|
||||
}
|
||||
ul.dt-button-collection.fixed.two-column {
|
||||
margin-left: -150px;
|
||||
}
|
||||
ul.dt-button-collection.fixed.three-column {
|
||||
margin-left: -225px;
|
||||
}
|
||||
ul.dt-button-collection.fixed.four-column {
|
||||
margin-left: -300px;
|
||||
}
|
||||
ul.dt-button-collection > * {
|
||||
-webkit-column-break-inside: avoid;
|
||||
break-inside: avoid;
|
||||
}
|
||||
ul.dt-button-collection.two-column {
|
||||
width: 300px;
|
||||
padding-bottom: 1px;
|
||||
-webkit-column-count: 2;
|
||||
-moz-column-count: 2;
|
||||
-ms-column-count: 2;
|
||||
-o-column-count: 2;
|
||||
column-count: 2;
|
||||
}
|
||||
ul.dt-button-collection.three-column {
|
||||
width: 450px;
|
||||
padding-bottom: 1px;
|
||||
-webkit-column-count: 3;
|
||||
-moz-column-count: 3;
|
||||
-ms-column-count: 3;
|
||||
-o-column-count: 3;
|
||||
column-count: 3;
|
||||
}
|
||||
ul.dt-button-collection.four-column {
|
||||
width: 600px;
|
||||
padding-bottom: 1px;
|
||||
-webkit-column-count: 4;
|
||||
-moz-column-count: 4;
|
||||
-ms-column-count: 4;
|
||||
-o-column-count: 4;
|
||||
column-count: 4;
|
||||
}
|
||||
ul.dt-button-collection .dt-button {
|
||||
border-radius: 0;
|
||||
}
|
||||
ul.dt-button-collection.fixed {
|
||||
max-width: none;
|
||||
}
|
||||
ul.dt-button-collection.fixed:before, ul.dt-button-collection.fixed:after {
|
||||
display: none;
|
||||
}
|
||||
|
||||
div.dt-button-background {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
z-index: 999;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 767px) {
|
||||
div.dt-buttons {
|
||||
float: none;
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
margin-bottom: 0.5em;
|
||||
}
|
||||
div.dt-buttons a.btn {
|
||||
float: none;
|
||||
}
|
||||
}
|
||||
div.dt-buttons button.btn.processing,
|
||||
div.dt-buttons div.btn.processing,
|
||||
div.dt-buttons a.btn.processing {
|
||||
color: rgba(0, 0, 0, 0.2);
|
||||
}
|
||||
div.dt-buttons button.btn.processing:after,
|
||||
div.dt-buttons div.btn.processing:after,
|
||||
div.dt-buttons a.btn.processing:after {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
margin: -8px 0 0 -8px;
|
||||
box-sizing: border-box;
|
||||
display: block;
|
||||
content: ' ';
|
||||
border: 2px solid #282828;
|
||||
border-radius: 50%;
|
||||
border-left-color: transparent;
|
||||
border-right-color: transparent;
|
||||
animation: dtb-spinner 1500ms infinite linear;
|
||||
-o-animation: dtb-spinner 1500ms infinite linear;
|
||||
-ms-animation: dtb-spinner 1500ms infinite linear;
|
||||
-webkit-animation: dtb-spinner 1500ms infinite linear;
|
||||
-moz-animation: dtb-spinner 1500ms infinite linear;
|
||||
}
|
||||
206
assets/css/vendor/dataTables.bootstrap4.css
vendored
Normal file
@ -0,0 +1,206 @@
|
||||
table.dataTable {
|
||||
clear: both;
|
||||
margin-top: 6px !important;
|
||||
margin-bottom: 6px !important;
|
||||
max-width: none !important;
|
||||
border-collapse: separate !important;
|
||||
border-spacing: 0;
|
||||
}
|
||||
table.dataTable td,
|
||||
table.dataTable th {
|
||||
-webkit-box-sizing: content-box;
|
||||
box-sizing: content-box;
|
||||
}
|
||||
table.dataTable td.dataTables_empty,
|
||||
table.dataTable th.dataTables_empty {
|
||||
text-align: center;
|
||||
}
|
||||
table.dataTable.nowrap th,
|
||||
table.dataTable.nowrap td {
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
div.dataTables_wrapper div.dataTables_length label {
|
||||
font-weight: normal;
|
||||
text-align: left;
|
||||
white-space: nowrap;
|
||||
}
|
||||
div.dataTables_wrapper div.dataTables_length select {
|
||||
width: auto;
|
||||
display: inline-block;
|
||||
}
|
||||
div.dataTables_wrapper div.dataTables_filter {
|
||||
text-align: right;
|
||||
}
|
||||
div.dataTables_wrapper div.dataTables_filter label {
|
||||
font-weight: normal;
|
||||
white-space: nowrap;
|
||||
text-align: left;
|
||||
}
|
||||
div.dataTables_wrapper div.dataTables_filter input {
|
||||
margin-left: 0.5em;
|
||||
display: inline-block;
|
||||
width: auto;
|
||||
}
|
||||
div.dataTables_wrapper div.dataTables_info {
|
||||
padding-top: 0.85em;
|
||||
white-space: nowrap;
|
||||
}
|
||||
div.dataTables_wrapper div.dataTables_paginate {
|
||||
margin: 0;
|
||||
white-space: nowrap;
|
||||
text-align: right;
|
||||
}
|
||||
div.dataTables_wrapper div.dataTables_paginate ul.pagination {
|
||||
margin: 2px 0;
|
||||
white-space: nowrap;
|
||||
justify-content: flex-end;
|
||||
}
|
||||
div.dataTables_wrapper div.dataTables_processing {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
width: 200px;
|
||||
margin-left: -100px;
|
||||
margin-top: -26px;
|
||||
text-align: center;
|
||||
padding: 1em 0;
|
||||
}
|
||||
|
||||
table.dataTable thead > tr > th.sorting_asc, table.dataTable thead > tr > th.sorting_desc, table.dataTable thead > tr > th.sorting,
|
||||
table.dataTable thead > tr > td.sorting_asc,
|
||||
table.dataTable thead > tr > td.sorting_desc,
|
||||
table.dataTable thead > tr > td.sorting {
|
||||
padding-right: 30px;
|
||||
}
|
||||
table.dataTable thead > tr > th:active,
|
||||
table.dataTable thead > tr > td:active {
|
||||
outline: none;
|
||||
}
|
||||
table.dataTable thead .sorting,
|
||||
table.dataTable thead .sorting_asc,
|
||||
table.dataTable thead .sorting_desc,
|
||||
table.dataTable thead .sorting_asc_disabled,
|
||||
table.dataTable thead .sorting_desc_disabled {
|
||||
cursor: pointer;
|
||||
position: relative;
|
||||
}
|
||||
table.dataTable thead .sorting:before, table.dataTable thead .sorting:after,
|
||||
table.dataTable thead .sorting_asc:before,
|
||||
table.dataTable thead .sorting_asc:after,
|
||||
table.dataTable thead .sorting_desc:before,
|
||||
table.dataTable thead .sorting_desc:after,
|
||||
table.dataTable thead .sorting_asc_disabled:before,
|
||||
table.dataTable thead .sorting_asc_disabled:after,
|
||||
table.dataTable thead .sorting_desc_disabled:before,
|
||||
table.dataTable thead .sorting_desc_disabled:after {
|
||||
position: absolute;
|
||||
bottom: 0.9em;
|
||||
display: block;
|
||||
opacity: 0.3;
|
||||
}
|
||||
table.dataTable thead .sorting:before,
|
||||
table.dataTable thead .sorting_asc:before,
|
||||
table.dataTable thead .sorting_desc:before,
|
||||
table.dataTable thead .sorting_asc_disabled:before,
|
||||
table.dataTable thead .sorting_desc_disabled:before {
|
||||
right: 1em;
|
||||
content: "\2191";
|
||||
}
|
||||
table.dataTable thead .sorting:after,
|
||||
table.dataTable thead .sorting_asc:after,
|
||||
table.dataTable thead .sorting_desc:after,
|
||||
table.dataTable thead .sorting_asc_disabled:after,
|
||||
table.dataTable thead .sorting_desc_disabled:after {
|
||||
right: 0.5em;
|
||||
content: "\2193";
|
||||
}
|
||||
table.dataTable thead .sorting_asc:before,
|
||||
table.dataTable thead .sorting_desc:after {
|
||||
opacity: 1;
|
||||
}
|
||||
table.dataTable thead .sorting_asc_disabled:before,
|
||||
table.dataTable thead .sorting_desc_disabled:after {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
div.dataTables_scrollHead table.dataTable {
|
||||
margin-bottom: 0 !important;
|
||||
}
|
||||
|
||||
div.dataTables_scrollBody table {
|
||||
border-top: none;
|
||||
margin-top: 0 !important;
|
||||
margin-bottom: 0 !important;
|
||||
}
|
||||
div.dataTables_scrollBody table thead .sorting:before,
|
||||
div.dataTables_scrollBody table thead .sorting_asc:before,
|
||||
div.dataTables_scrollBody table thead .sorting_desc:before,
|
||||
div.dataTables_scrollBody table thead .sorting:after,
|
||||
div.dataTables_scrollBody table thead .sorting_asc:after,
|
||||
div.dataTables_scrollBody table thead .sorting_desc:after {
|
||||
display: none;
|
||||
}
|
||||
div.dataTables_scrollBody table tbody tr:first-child th,
|
||||
div.dataTables_scrollBody table tbody tr:first-child td {
|
||||
border-top: none;
|
||||
}
|
||||
|
||||
div.dataTables_scrollFoot > .dataTables_scrollFootInner {
|
||||
box-sizing: content-box;
|
||||
}
|
||||
div.dataTables_scrollFoot > .dataTables_scrollFootInner > table {
|
||||
margin-top: 0 !important;
|
||||
border-top: none;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 767px) {
|
||||
div.dataTables_wrapper div.dataTables_length,
|
||||
div.dataTables_wrapper div.dataTables_filter,
|
||||
div.dataTables_wrapper div.dataTables_info,
|
||||
div.dataTables_wrapper div.dataTables_paginate {
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
table.dataTable.table-sm > thead > tr > th {
|
||||
padding-right: 20px;
|
||||
}
|
||||
table.dataTable.table-sm .sorting:before,
|
||||
table.dataTable.table-sm .sorting_asc:before,
|
||||
table.dataTable.table-sm .sorting_desc:before {
|
||||
top: 5px;
|
||||
right: 0.85em;
|
||||
}
|
||||
table.dataTable.table-sm .sorting:after,
|
||||
table.dataTable.table-sm .sorting_asc:after,
|
||||
table.dataTable.table-sm .sorting_desc:after {
|
||||
top: 5px;
|
||||
}
|
||||
|
||||
table.table-bordered.dataTable th,
|
||||
table.table-bordered.dataTable td {
|
||||
border-left-width: 0;
|
||||
}
|
||||
table.table-bordered.dataTable th:last-child, table.table-bordered.dataTable th:last-child,
|
||||
table.table-bordered.dataTable td:last-child,
|
||||
table.table-bordered.dataTable td:last-child {
|
||||
border-right-width: 0;
|
||||
}
|
||||
table.table-bordered.dataTable tbody th,
|
||||
table.table-bordered.dataTable tbody td {
|
||||
border-bottom-width: 0;
|
||||
}
|
||||
|
||||
div.dataTables_scrollHead table.table-bordered {
|
||||
border-bottom-width: 0;
|
||||
}
|
||||
|
||||
div.table-responsive > div.dataTables_wrapper > div.row {
|
||||
margin: 0;
|
||||
}
|
||||
div.table-responsive > div.dataTables_wrapper > div.row > div[class^="col-"]:first-child {
|
||||
padding-left: 0;
|
||||
}
|
||||
div.table-responsive > div.dataTables_wrapper > div.row > div[class^="col-"]:last-child {
|
||||
padding-right: 0;
|
||||
}
|
||||
5
assets/css/vendor/fullcalendar.min.css
vendored
Normal file
36
assets/css/vendor/jquery-jvectormap-1.2.2.css
vendored
Normal file
@ -0,0 +1,36 @@
|
||||
.jvectormap-label {
|
||||
position: absolute;
|
||||
display: none;
|
||||
border: solid 1px #CDCDCD;
|
||||
-webkit-border-radius: 3px;
|
||||
-moz-border-radius: 3px;
|
||||
border-radius: 3px;
|
||||
background: #292929;
|
||||
color: white;
|
||||
font-family: sans-serif, Verdana;
|
||||
font-size: smaller;
|
||||
padding: 3px;
|
||||
}
|
||||
|
||||
.jvectormap-zoomin, .jvectormap-zoomout {
|
||||
position: absolute;
|
||||
left: 10px;
|
||||
-webkit-border-radius: 3px;
|
||||
-moz-border-radius: 3px;
|
||||
background: #424242;
|
||||
padding: 2px;
|
||||
color: white;
|
||||
width: 15px;
|
||||
height: 15px;
|
||||
cursor: pointer;
|
||||
line-height: 10px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.jvectormap-zoomin {
|
||||
top: 10px;
|
||||
}
|
||||
|
||||
.jvectormap-zoomout {
|
||||
top: 30px;
|
||||
}
|
||||
180
assets/css/vendor/responsive.bootstrap4.css
vendored
Normal file
@ -0,0 +1,180 @@
|
||||
table.dataTable.dtr-inline.collapsed > tbody > tr > td.child,
|
||||
table.dataTable.dtr-inline.collapsed > tbody > tr > th.child,
|
||||
table.dataTable.dtr-inline.collapsed > tbody > tr > td.dataTables_empty {
|
||||
cursor: default !important;
|
||||
}
|
||||
table.dataTable.dtr-inline.collapsed > tbody > tr > td.child:before,
|
||||
table.dataTable.dtr-inline.collapsed > tbody > tr > th.child:before,
|
||||
table.dataTable.dtr-inline.collapsed > tbody > tr > td.dataTables_empty:before {
|
||||
display: none !important;
|
||||
}
|
||||
table.dataTable.dtr-inline.collapsed > tbody > tr[role="row"] > td:first-child,
|
||||
table.dataTable.dtr-inline.collapsed > tbody > tr[role="row"] > th:first-child {
|
||||
position: relative;
|
||||
padding-left: 30px;
|
||||
cursor: pointer;
|
||||
}
|
||||
table.dataTable.dtr-inline.collapsed > tbody > tr[role="row"] > td:first-child:before,
|
||||
table.dataTable.dtr-inline.collapsed > tbody > tr[role="row"] > th:first-child:before {
|
||||
top: 12px;
|
||||
left: 4px;
|
||||
height: 14px;
|
||||
width: 14px;
|
||||
display: block;
|
||||
position: absolute;
|
||||
color: white;
|
||||
border: 2px solid white;
|
||||
border-radius: 14px;
|
||||
box-shadow: 0 0 3px #444;
|
||||
box-sizing: content-box;
|
||||
text-align: center;
|
||||
text-indent: 0 !important;
|
||||
font-family: 'Courier New', Courier, monospace;
|
||||
line-height: 14px;
|
||||
content: '+';
|
||||
background-color: #0275d8;
|
||||
}
|
||||
table.dataTable.dtr-inline.collapsed > tbody > tr.parent > td:first-child:before,
|
||||
table.dataTable.dtr-inline.collapsed > tbody > tr.parent > th:first-child:before {
|
||||
content: '-';
|
||||
background-color: #d33333;
|
||||
}
|
||||
table.dataTable.dtr-inline.collapsed.compact > tbody > tr > td:first-child,
|
||||
table.dataTable.dtr-inline.collapsed.compact > tbody > tr > th:first-child {
|
||||
padding-left: 27px;
|
||||
}
|
||||
table.dataTable.dtr-inline.collapsed.compact > tbody > tr > td:first-child:before,
|
||||
table.dataTable.dtr-inline.collapsed.compact > tbody > tr > th:first-child:before {
|
||||
top: 5px;
|
||||
left: 4px;
|
||||
height: 14px;
|
||||
width: 14px;
|
||||
border-radius: 14px;
|
||||
line-height: 14px;
|
||||
text-indent: 3px;
|
||||
}
|
||||
table.dataTable.dtr-column > tbody > tr > td.control,
|
||||
table.dataTable.dtr-column > tbody > tr > th.control {
|
||||
position: relative;
|
||||
cursor: pointer;
|
||||
}
|
||||
table.dataTable.dtr-column > tbody > tr > td.control:before,
|
||||
table.dataTable.dtr-column > tbody > tr > th.control:before {
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
height: 16px;
|
||||
width: 16px;
|
||||
margin-top: -10px;
|
||||
margin-left: -10px;
|
||||
display: block;
|
||||
position: absolute;
|
||||
color: white;
|
||||
border: 2px solid white;
|
||||
border-radius: 14px;
|
||||
box-shadow: 0 0 3px #444;
|
||||
box-sizing: content-box;
|
||||
text-align: center;
|
||||
text-indent: 0 !important;
|
||||
font-family: 'Courier New', Courier, monospace;
|
||||
line-height: 14px;
|
||||
content: '+';
|
||||
background-color: #0275d8;
|
||||
}
|
||||
table.dataTable.dtr-column > tbody > tr.parent td.control:before,
|
||||
table.dataTable.dtr-column > tbody > tr.parent th.control:before {
|
||||
content: '-';
|
||||
background-color: #d33333;
|
||||
}
|
||||
table.dataTable > tbody > tr.child {
|
||||
padding: 0.5em 1em;
|
||||
}
|
||||
table.dataTable > tbody > tr.child:hover {
|
||||
background: transparent !important;
|
||||
}
|
||||
table.dataTable > tbody > tr.child ul.dtr-details {
|
||||
display: inline-block;
|
||||
list-style-type: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
table.dataTable > tbody > tr.child ul.dtr-details > li {
|
||||
border-bottom: 1px solid #efefef;
|
||||
padding: 0.5em 0;
|
||||
}
|
||||
table.dataTable > tbody > tr.child ul.dtr-details > li:first-child {
|
||||
padding-top: 0;
|
||||
}
|
||||
table.dataTable > tbody > tr.child ul.dtr-details > li:last-child {
|
||||
border-bottom: none;
|
||||
}
|
||||
table.dataTable > tbody > tr.child span.dtr-title {
|
||||
display: inline-block;
|
||||
min-width: 75px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
div.dtr-modal {
|
||||
position: fixed;
|
||||
box-sizing: border-box;
|
||||
top: 0;
|
||||
left: 0;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
z-index: 100;
|
||||
padding: 10em 1em;
|
||||
}
|
||||
div.dtr-modal div.dtr-modal-display {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
width: 50%;
|
||||
height: 50%;
|
||||
overflow: auto;
|
||||
margin: auto;
|
||||
z-index: 102;
|
||||
overflow: auto;
|
||||
background-color: #f5f5f7;
|
||||
border: 1px solid black;
|
||||
border-radius: 0.5em;
|
||||
box-shadow: 0 12px 30px rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
div.dtr-modal div.dtr-modal-content {
|
||||
position: relative;
|
||||
padding: 1em;
|
||||
}
|
||||
div.dtr-modal div.dtr-modal-close {
|
||||
position: absolute;
|
||||
top: 6px;
|
||||
right: 6px;
|
||||
width: 22px;
|
||||
height: 22px;
|
||||
border: 1px solid #eaeaea;
|
||||
background-color: #f9f9f9;
|
||||
text-align: center;
|
||||
border-radius: 3px;
|
||||
cursor: pointer;
|
||||
z-index: 12;
|
||||
}
|
||||
div.dtr-modal div.dtr-modal-close:hover {
|
||||
background-color: #eaeaea;
|
||||
}
|
||||
div.dtr-modal div.dtr-modal-background {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
z-index: 101;
|
||||
background: rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
|
||||
@media screen and (max-width: 767px) {
|
||||
div.dtr-modal div.dtr-modal-display {
|
||||
width: 95%;
|
||||
}
|
||||
}
|
||||
div.dtr-bs-modal table.table tr:first-child td {
|
||||
border-top: none;
|
||||
}
|
||||
115
assets/css/vendor/select.bootstrap4.css
vendored
Normal file
@ -0,0 +1,115 @@
|
||||
table.dataTable tbody > tr.selected,
|
||||
table.dataTable tbody > tr > .selected {
|
||||
background-color: #0275d8;
|
||||
}
|
||||
table.dataTable.stripe tbody > tr.odd.selected,
|
||||
table.dataTable.stripe tbody > tr.odd > .selected, table.dataTable.display tbody > tr.odd.selected,
|
||||
table.dataTable.display tbody > tr.odd > .selected {
|
||||
background-color: #0172d2;
|
||||
}
|
||||
table.dataTable.hover tbody > tr.selected:hover,
|
||||
table.dataTable.hover tbody > tr > .selected:hover, table.dataTable.display tbody > tr.selected:hover,
|
||||
table.dataTable.display tbody > tr > .selected:hover {
|
||||
background-color: #0170d0;
|
||||
}
|
||||
table.dataTable.order-column tbody > tr.selected > .sorting_1,
|
||||
table.dataTable.order-column tbody > tr.selected > .sorting_2,
|
||||
table.dataTable.order-column tbody > tr.selected > .sorting_3,
|
||||
table.dataTable.order-column tbody > tr > .selected, table.dataTable.display tbody > tr.selected > .sorting_1,
|
||||
table.dataTable.display tbody > tr.selected > .sorting_2,
|
||||
table.dataTable.display tbody > tr.selected > .sorting_3,
|
||||
table.dataTable.display tbody > tr > .selected {
|
||||
background-color: #0172d3;
|
||||
}
|
||||
table.dataTable.display tbody > tr.odd.selected > .sorting_1, table.dataTable.order-column.stripe tbody > tr.odd.selected > .sorting_1 {
|
||||
background-color: #016ecc;
|
||||
}
|
||||
table.dataTable.display tbody > tr.odd.selected > .sorting_2, table.dataTable.order-column.stripe tbody > tr.odd.selected > .sorting_2 {
|
||||
background-color: #016fcd;
|
||||
}
|
||||
table.dataTable.display tbody > tr.odd.selected > .sorting_3, table.dataTable.order-column.stripe tbody > tr.odd.selected > .sorting_3 {
|
||||
background-color: #0170cf;
|
||||
}
|
||||
table.dataTable.display tbody > tr.even.selected > .sorting_1, table.dataTable.order-column.stripe tbody > tr.even.selected > .sorting_1 {
|
||||
background-color: #0172d3;
|
||||
}
|
||||
table.dataTable.display tbody > tr.even.selected > .sorting_2, table.dataTable.order-column.stripe tbody > tr.even.selected > .sorting_2 {
|
||||
background-color: #0173d5;
|
||||
}
|
||||
table.dataTable.display tbody > tr.even.selected > .sorting_3, table.dataTable.order-column.stripe tbody > tr.even.selected > .sorting_3 {
|
||||
background-color: #0174d7;
|
||||
}
|
||||
table.dataTable.display tbody > tr.odd > .selected, table.dataTable.order-column.stripe tbody > tr.odd > .selected {
|
||||
background-color: #016ecc;
|
||||
}
|
||||
table.dataTable.display tbody > tr.even > .selected, table.dataTable.order-column.stripe tbody > tr.even > .selected {
|
||||
background-color: #0172d3;
|
||||
}
|
||||
table.dataTable.display tbody > tr.selected:hover > .sorting_1, table.dataTable.order-column.hover tbody > tr.selected:hover > .sorting_1 {
|
||||
background-color: #016bc6;
|
||||
}
|
||||
table.dataTable.display tbody > tr.selected:hover > .sorting_2, table.dataTable.order-column.hover tbody > tr.selected:hover > .sorting_2 {
|
||||
background-color: #016cc7;
|
||||
}
|
||||
table.dataTable.display tbody > tr.selected:hover > .sorting_3, table.dataTable.order-column.hover tbody > tr.selected:hover > .sorting_3 {
|
||||
background-color: #016dca;
|
||||
}
|
||||
table.dataTable.display tbody > tr:hover > .selected,
|
||||
table.dataTable.display tbody > tr > .selected:hover, table.dataTable.order-column.hover tbody > tr:hover > .selected,
|
||||
table.dataTable.order-column.hover tbody > tr > .selected:hover {
|
||||
background-color: #016bc6;
|
||||
}
|
||||
table.dataTable tbody td.select-checkbox,
|
||||
table.dataTable tbody th.select-checkbox {
|
||||
position: relative;
|
||||
}
|
||||
table.dataTable tbody td.select-checkbox:before, table.dataTable tbody td.select-checkbox:after,
|
||||
table.dataTable tbody th.select-checkbox:before,
|
||||
table.dataTable tbody th.select-checkbox:after {
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: 1.2em;
|
||||
left: 50%;
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
table.dataTable tbody td.select-checkbox:before,
|
||||
table.dataTable tbody th.select-checkbox:before {
|
||||
content: ' ';
|
||||
margin-top: -6px;
|
||||
margin-left: -6px;
|
||||
border: 1px solid black;
|
||||
border-radius: 3px;
|
||||
}
|
||||
table.dataTable tr.selected td.select-checkbox:after,
|
||||
table.dataTable tr.selected th.select-checkbox:after {
|
||||
content: '\2714';
|
||||
margin-top: -11px;
|
||||
margin-left: -4px;
|
||||
text-align: center;
|
||||
text-shadow: 1px 1px #B0BED9, -1px -1px #B0BED9, 1px -1px #B0BED9, -1px 1px #B0BED9;
|
||||
}
|
||||
|
||||
div.dataTables_wrapper span.select-info,
|
||||
div.dataTables_wrapper span.select-item {
|
||||
margin-left: 0.5em;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 640px) {
|
||||
div.dataTables_wrapper span.select-info,
|
||||
div.dataTables_wrapper span.select-item {
|
||||
margin-left: 0;
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
table.dataTable tbody tr.selected,
|
||||
table.dataTable tbody th.selected,
|
||||
table.dataTable tbody td.selected {
|
||||
color: white;
|
||||
}
|
||||
table.dataTable tbody tr.selected a,
|
||||
table.dataTable tbody th.selected a,
|
||||
table.dataTable tbody td.selected a {
|
||||
color: #a2d4ed;
|
||||
}
|
||||
1
assets/css/vendor/summernote-bs4.css
vendored
Normal file
185
assets/css/xtiper.css
Normal file
@ -0,0 +1,185 @@
|
||||
@charset "utf-8";
|
||||
html, body {overflow-x:hidden;}
|
||||
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,code,pre,form,fieldset,legend,input,button,textarea,area,blockquote,th,td,p {margin:0; padding:0;}
|
||||
.xtiper {position:relative;}
|
||||
.xtiper_msg {transition-duration:0.2s; transition-timing-function:ease-out; transition-property:transform,opacity;}
|
||||
.xtiper_msg {max-width:752px; position:fixed; left:50%; height:50px; line-height:50px; font-size:14px; border-radius:3px; overflow:hidden; z-index:99999; opacity:0; box-shadow:0 0 10px rgba(0,0,0,0.2);}
|
||||
.xtiper_msg_black {background-color:rgba(0,0,0,0.75); color:#fff;}
|
||||
.xtiper_msg_white {background-color:rgba(255,255,255,0.95); color:#222;}
|
||||
.xtiper_msg_middle {top:50%; margin-top:-25px; transform:scale(0,0);}
|
||||
.xtiper_msg_top {transform:translate(0, -100%) scale(1, 1); top:0;}
|
||||
.xtiper_msg_bottom {transform:translate(0, 100%) scale(1, 1); bottom:0;}
|
||||
.xtiper_msg.xon {opacity:1;}
|
||||
.xtiper_msg_middle.xon {transform:scale(1,1);}
|
||||
.xtiper_msg_top.xon {transform:translate(0, 0) scale(1, 1);}
|
||||
.xtiper_msg_bottom.xon {transform:translate(0, 0) scale(1, 1);}
|
||||
.xtiper_msg p {padding:0 24px; word-spacing:nowrap;}
|
||||
.xtiper_danmu {border:3px solid transparent; left:0; transition-property:none; opacity:1; background-origin:content-box; font-size:16px; font-weight:bold;}
|
||||
.xtiper_danmu_animate {animation:danmu_animate 6s 1 linear; -webkit-animation:danmu_animate 6s 1 linear;}
|
||||
.xtiper_danmu_light {border:3px solid red;}
|
||||
|
||||
@keyframes danmu_animate
|
||||
{
|
||||
100% {transform:translateX(-102%);}
|
||||
}
|
||||
|
||||
.xtiper_tips {position:absolute; z-index:99999; max-width:200px; opacity:0; transform:scale(0,0); transition-duration:0.1s; transition-timing-function:ease-in; transition-property:opacity,transform; box-shadow:0 0 5px rgba(0,0,0,0.3);}
|
||||
.xtiper_tips.xon {transition-duration:0.2s; opacity:1; transform:scale(1,1);}
|
||||
.xtiper_tips p {padding:10px 16px; background-color:#000; border-radius:3px; color:#fff; line-height:18px; font-size:12px; position:relative; z-index:2;}
|
||||
.xtiper_tips em {display:block; position:absolute; width:10px; height:10px; background-color:#000; transform: rotate(45deg); box-shadow:0 0 5px rgba(0,0,0,0.3); z-index:1;}
|
||||
.xtiper_tips_left em {top:12px; right:-4px;}
|
||||
.xtiper_tips_right em {top:12px; left:-4px;}
|
||||
.xtiper_tips_top em {left:12px; bottom:-4px;}
|
||||
.xtiper_tips_bottom em {left:12px; top:-4px;}
|
||||
|
||||
.xtiper_win {z-index:99999;}
|
||||
.xtiper_win_fixed {width:100%; height:100%; position:fixed; top:0; left:0; z-index:99999;}
|
||||
.xtiper_bg {width:100%; height:100%; position:absolute; top:0; left:0; z-index:1; background-color:rgba(0,0,0,0); transition-duration:0.1s; transition-timing-function:ease-in; transition-property:background-color,opacity;}
|
||||
.xtiper_bg_white {background-color:rgba(255,255,255,0); transition:0.05s ease-in;}
|
||||
.xtiper_win.xon .xtiper_bg {background-color:rgba(0,0,0,0.5);}
|
||||
.xtiper_win.xon .xtiper_bg_white {background-color:rgba(255,255,255,0.5); transition:0.05s ease-in;}
|
||||
.xtiper_main {width:300px; background-color:#fff; position:absolute; box-shadow:0 0 10px rgba(0,0,0,0.2); z-index:2; opacity:0; transition-duration:0.15s; transition-timing-function:ease-in; transition-property:opacity,transform; transform:scale(0,0);}
|
||||
.xtiper_main.xapp {background-color:transparent;}
|
||||
.xtiper_main_photo {transition-property:opacity,transform,height,top;}
|
||||
.xtiper_main_photo.xon {transition-property:opacity,transform,height;}
|
||||
.xtiper_win.xon .xtiper_main {transform:scale(1,1); opacity:1;}
|
||||
.xtiper_win.xon .xtiper_main, .xtiper_win.xon .xtiper_bg {transition-duration:0.2s; transition-timing-function:ease-in;}
|
||||
.xtiper_win.xoff .xtiper_bg {opacity:0;}
|
||||
.xtiper_win.xoff .xtiper_main {transform:scale(0,0); opacity:0;}
|
||||
.xtiper_tit {height:40px; line-height:40px; color:#222; font-size:14px; background-color:#f8f8f8; padding:0 18px; position:relative; user-select:none; cursor:move;}
|
||||
.xtiper_tit:after {content:""; display:block; width:100%; height:1px; background-color:#eee; position:absolute; bottom:0; left:0;}
|
||||
.xtiper_tit_none {height:8px; background-color:#f0f0f0;}
|
||||
.xtiper_tit.xminmax {cursor:default;}
|
||||
.xtiper_tit p {text-overflow:ellipsis; overflow:hidden; white-space:nowrap; margin-right:28px;}
|
||||
.xtiper_tit.xmcss1 p {margin-right:62px;}
|
||||
.xtiper_tit.xmcss2 p {margin-right:96px;}
|
||||
.xtiper_tit.xmin p {margin-right:62px;}
|
||||
|
||||
.xtiper_minmax {position:absolute; top:5px; right:6px;}
|
||||
.xtiper_close {z-index:10;}
|
||||
.xtiper_close, .xtiper_min, .xtiper_max {width:30px; height:30px; cursor:pointer; box-sizing:border-box; margin-right:4px; float:left; background-size:18px; background-repeat:no-repeat; background-position:center center; position:relative;}
|
||||
.xtiper_minmax div:last-child {margin-right:0;}
|
||||
.xtiper_close:before, .xtiper_close:after {content:""; display:block; width:14px; height:2px; background-color:#2d2c3b; position:absolute; top:14px; left:8px;}
|
||||
.xtiper_close:before {transform:rotate(45deg);}
|
||||
.xtiper_close:after {transform:rotate(-45deg);}
|
||||
.xtiper_close:hover, .xtiper_min:hover, .xtiper_max:hover {opacity:0.8;}
|
||||
.xtiper_close:before, .xtiper_close:after {transition-duration:0.2s; transition-timing-function:ease-in; transition-property:transform;}
|
||||
.xtiper_close:hover:before {transform:rotate(135deg);}
|
||||
.xtiper_close:hover:after {transform:rotate(45deg);}
|
||||
.xtiper_close_notit {margin-right:0; background-color:#333; border:3px solid #fff; position:absolute; top:-10px; right:-10px; border-radius:50%; transition-duration:0.2s; transition-timing-function:ease-in; transition-property:background-color;}
|
||||
.xtiper_close_notit:before, .xtiper_close_notit:after {background-color:#fff; top:11px; left:5px;}
|
||||
.xtiper_close_notit:hover {opacity:1; background-color:#2b84d0;}
|
||||
|
||||
.xtiper_photo {position:relative; overflow:hidden; transition-property:transform,opacity;}
|
||||
.xtiper_photo_ul {padding:0 60px; height:100%;}
|
||||
.xtiper_photo_ul ul {height:calc(100% - 26px); position:relative; overflow:hidden;}
|
||||
.xtiper_photo_li {width:100%; height:100%; position:absolute; top:0; left:0; text-align:center; opacity:0; transform:scale(0, 0); transition-duration:0.3s; transition-timing-function:ease-out; transition-property:transform,opacity;}
|
||||
.xtiper_photo_li.xon {opacity:1; transform:scale(1, 1);}
|
||||
.xtiper_photo_li.xold_prev {transform:scale(1, 1) translate(100%, 0);}
|
||||
.xtiper_photo_li.xold_next {transform:scale(1, 1) translate(-100%, 0);}
|
||||
|
||||
.xtiper_sheet {width:100%; background-color:#fff; bottom:0; left:0; position:absolute; z-index:2; transition:0.1s ease-in; transition-property:transform; transform:translate(0, 100%);}
|
||||
.xtiper_sheet_ul, .xtiper_sheet_tit {background-color:#efeff4;}
|
||||
.xtiper_win.xon .xtiper_sheet {transition:0.2s ease-in; transform:translate(0, 0);}
|
||||
.xtiper_win.xoff .xtiper_sheet {transform:translateY(100%);}
|
||||
.xtiper_sheet_left {text-align:left;}
|
||||
.xtiper_sheet_right {text-align:right;}
|
||||
.xtiper_sheet_center {text-align:center;}
|
||||
.xtiper_sheet_tit {padding:15px; font-size:15px; color:#222; line-height:20px; font-weight:bold;}
|
||||
.xtiper_sheet_li {font-size:14px; height:48px; line-height:48px; background-color:#fff; border-top:1px solid #d9d9d9; cursor:pointer; color:#222; user-select:none; -ms-user-select:none;}
|
||||
.xtiper_sheet_li a {display:block; width:100%; color:#222; text-decoration:none;}
|
||||
.xtiper_sheet_li a:hover {color:#222; text-decoration:none;}
|
||||
.xtiper_sheet_li p {padding:0 15px;}
|
||||
.xtiper_sheet_li.xlast {margin-top:8px; border-top:0;}
|
||||
|
||||
.xtiper_min {background-image:url("data:image/svg+xml,%3Csvg width='600' height='600' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M949.2 560.2H74.8c-26.6 0-48.2-21.6-48.2-48.2 0-26.6 21.6-48.2 48.2-48.2H949.2c26.6 0 48.2 21.6 48.2 48.2 0 26.6-21.6 48.2-48.2 48.2z' fill='%232d2c3b'/%3E%3C/svg%3E");}
|
||||
.xtiper_min.xon {margin-right:0; background-image:url("data:image/svg+xml,%3Csvg width='2000' height='2000' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M879.1 783.6h-60.4a34.3 34.3 0 0 1 0-68.6h60.4c14.3 0 26.6-11.8 26.6-26.6V142.6c0-14.3-11.8-26.6-26.6-26.6H332.8c-14.3 0-26.6 11.8-26.6 26.6v60.4a34.3 34.3 0 0 1-68.6 0V142.6c0-52.2 42.5-94.72 94.72-94.7h546.3c52.2 0 94.72 42.5 94.72 94.7v546.3c0.5 52.2-42.5 94.72-94.2 94.7z' fill='%232c2c2c'/%3E%3Cpath d='M708.1 964.3H162.3c-57.9 0-103.9-47.1-103.9-103.9V312.6c0-57.9 47.1-103.9 103.9-103.9h546.3c57.9 0 103.9 47.1 103.9 103.9v546.8c0.5 58.4-46.08 104.96-104.4 104.96zM162.3 276.72c-19.5 0-35.84 16.4-35.84 35.8v546.8c0 19.5 16.4 35.84 35.84 35.84h546.3c19.5 0 35.84-16.4 35.84-35.84V312.6c0-19.5-16.4-35.84-35.84-35.8H162.3z' fill='%232d2c3b'/%3E%3C/svg%3E");}
|
||||
.xtiper_max {background-image:url("data:image/svg+xml,%3Csvg width='600' height='600' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M944.0 0.8H79.1C35.8 0.8 0.3 36.2 0.3 79.4v864.5c0 43.2 35.4 78.6 78.7 78.6h865.9c43.3 0 78.7-35.4 78.7-78.6V79.4C1023.7 36.2 988.3 0.8 944.0 0.8z m0 943.1H79.1V79.4h865.9v864.5z m0 0' fill='%23231814'/%3E%3Cpath d='M342.8 735.7l137.8-137.5c15.7-15.7 15.7-39.3 0-55.0-15.7-15.7-39.4-15.7-55.1 0l-137.8 137.5-90.5-90.4V826.0h236.2l-90.5-90.4z m228.3-243.6c11.8 0 19.7-3.9 27.6-11.8l137.8-137.5 90.5 90.4V197.3H590.7l90.5 90.4-137.8 137.5c-15.7 15.7-15.7 39.3 0 55.0 7.9 7.9 19.7 11.8 27.5 11.8z m0 0' fill='%232d2c3b'/%3E%3C/svg%3E");}
|
||||
.xtiper_max.xon {background-image:url("data:image/svg+xml,%3Csvg width='600' height='600' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M944.0 0.8H79.1C35.8 0.8 0.3 36.2 0.3 79.4v864.5c0 43.2 35.4 78.6 78.7 78.6h865.9c43.3 0 78.7-35.4 78.7-78.6V79.4C1023.7 36.2 988.3 0.8 944.0 0.8z m0 943.1H79.1V79.4h865.9v864.5z m0 0' fill='%23231814'/%3E%3Cpath d='M346.7 621.7l-137.8 137.5c-15.7 15.7-15.7 39.3 0 55.0 15.7 15.7 39.4 15.7 55.1 0l137.8-137.5 90.5 90.4V531.3H256.2l90.5 90.4zM787.5 197.3c-11.8 0-19.7 3.9-27.6 11.8l-137.8 137.5-90.5-90.4v235.8h236.2l-90.5-90.4 137.8-137.5c15.7-15.7 15.7-39.3 0-55.0-7.9-7.9-19.7-11.8-27.5-11.8z' fill='%232d2c3b'/%3E%3C/svg%3E");}
|
||||
.xtiper_times {color:#e85445;}
|
||||
.xtiper_pad {padding:15px;}
|
||||
.xtiper_tip {font-size:14px; line-height:20px; min-height:60px; overflow:hidden;}
|
||||
.xtiper_btn ul {text-align:center; display:flex; overflow:hidden; border-top:1px solid #eaeaea; background-color:#fff;}
|
||||
.xtiper_btn ul:after {content:""; display:block; clear:both;}
|
||||
.xtiper_btn li {float:left; overflow:hidden; position:relative;}
|
||||
.xtiper_btn li:after {content:""; display:block; width:1px; height:40px; overflow:hidden; position:absolute; top:0; right:0; background-color:#eaeaea;}
|
||||
.xtiper_btn li.xactive:after {background-color:rgba(255,255,255,0.2);}
|
||||
.xtiper_btn1 li {width:100%; float:none;}
|
||||
.xtiper_btn2 li {width:50%;}
|
||||
.xtiper_btn3 li {width:33.3%; -webkit-box-flex:1; -ms-flex:1; flex:1;}
|
||||
.xtiper_btn4 li {width:25%; -webkit-box-flex:1; -ms-flex:1; flex:1;}
|
||||
.xtiper_btn li button {width:100%; height:40px; background-color:#fff; cursor:pointer; color:#222; font-size:14px; border:0;}
|
||||
.xtiper_btn li.xactive button {color:#fff;}
|
||||
.xtiper_btn li.xactive button {background-color:#a8a8a8;}
|
||||
.xtiper_btn_success li.xactive button, .xtiper_btn_hello li.xactive button, .xtiper_btn_success .xtiper_btnbor, .xtiper_btn_hello .xtiper_btnbor {background-color:#37b72c;}
|
||||
.xtiper_btn_error li.xactive button, .xtiper_btn_error .xtiper_btnbor {background-color:#e75445;}
|
||||
.xtiper_btn_warning li.xactive button, .xtiper_btn_ask li.xactive button, .xtiper_btn_warning .xtiper_btnbor, .xtiper_btn_ask .xtiper_btnbor {background-color:#f89310;}
|
||||
.xtiper_btn1 li.xactive button {background-color:#fff; color:#222;}
|
||||
.xtiper_btn li:last-child:after {display:none;}
|
||||
.xtiper_btn li button:hover {opacity:0.9;}
|
||||
.xtiper_btnbor {width:100%; height:4px; overflow:hidden; background-color:#c3c3c3; position:relative;}
|
||||
.xtiper_btnbor:after {content:""; display:block; width:100%; height:4px; background-color:rgba(0,0,0,0.1); position:absolute; top:0; left:0;}
|
||||
.xtiper_btn1 .xtiper_btnbor:after {display:none;}
|
||||
.xtiper_btn3 li:nth-child(1) {opacity:0.84;}
|
||||
.xtiper_btn3 li:nth-child(2) {opacity:0.92;}
|
||||
.xtiper_btn4 li:nth-child(1) {opacity:0.76;}
|
||||
.xtiper_btn4 li:nth-child(2) {opacity:0.84;}
|
||||
.xtiper_btn4 li:nth-child(3) {opacity:0.92;}
|
||||
.xtiper_pr {position:relative;}
|
||||
.xtiper_content {height:100%; overflow:auto; position:relative;}
|
||||
.xtiper_content.xtit {height:calc(100% - 40px);}
|
||||
.xtiper_content.xmin {height:calc(100% - 8px);}
|
||||
.xtiper_over {overflow:hidden;}
|
||||
.xtiper_content .zw {width:100%; height:100%; overflow:hidden; position:absolute; top:0; left:0; display:none;}
|
||||
.xtiper_main.xon .xtiper_content .zw {display:block;}
|
||||
.xtiper_con {padding-top:8px; padding-bottom:12px;}
|
||||
.xtiper_con_icon {padding-left:42px;}
|
||||
.xtiper_conin {max-height:400px; overflow-x:hidden; overflow-y:auto;}
|
||||
.xtiper_conin::-webkit-scrollbar {width:5px;}
|
||||
.xtiper_conin::-webkit-scrollbar-track {background-color:#f1f1f1; border-radius:3px;}
|
||||
.xtiper_conin::-webkit-scrollbar-thumb {background-color:#c1c1c1; border-radius:3px;}
|
||||
.xtiper_loadin {width:34px; height:34px; display:block; position:absolute; top:50%; margin-top:-17px; left:50%; margin-left:-17px; opacity:0; transition:0.1s ease-in; transition-property:opacity; z-index:2;}
|
||||
.xtiper_loadin span {width:280px; position:absolute; top:36px; left:50%; margin-left:-140px; text-align:center; height:24px; line-height:24px; font-size:14px; color:#222; white-space:nowrap;}
|
||||
.xtiper_win.xon .xtiper_loadin {opacity:1; transition:0.2s ease-in;}
|
||||
.xtiper_icon {width:34px; height:34px; display:inline-block; background-size:100% 100%; background-repeat:no-repeat; position:absolute; top:0; left:0; vertical-align:middle;}
|
||||
.xtiper_icon img {width:34px; height:34px;}
|
||||
.xtiper_icon_min {width:20px; height:20px; position:static; top:auto; left:auto; transform:translateY(-1px); margin-right:5px;}
|
||||
.xtiper_icon_min img {width:20px; height:20px;}
|
||||
.xtiper_icon_success {background-image:url("data:image/svg+xml,%3Csvg width='600' height='600' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M512.7 0.1C230.4 0.1 0.8 229.8 0.8 512.1c0 282.3 229.6 511.9 511.0 511.9 282.3 0 511.9-229.6 511.9-511.9C1024.6 229.8 795.0 0.1 512.7 0.1z m0 950.5c-241.8 0-438.5-196.7-438.5-438.5 0-241.8 196.7-438.5 438.5-438.5 241.7 0 438.5 196.6 438.5 438.5-0.0 241.7-196.8 438.5-438.5 438.5z' fill='%2337b72c'/%3E%3Cpath d='M754.8 337.0L470.1 630.1l-178.5-155.2c-15.8-13.7-39.7-12.0-53.4 3.7-13.7 15.8-12.0 39.7 3.7 53.4l205.2 178.4a37.7 37.7 0 0 0 10.9 6.7 37.8 37.8 0 0 0 15.9 2.7 37.9 37.9 0 0 0 15.2-3.0c0.0-0.0 0.0 0.0 0.0-0.0a37.7 37.7 0 0 0 10.4-7.7l309.4-317.5c14.6-14.0 14.3-38.9-0.7-53.5-14.0-14.6-38.9-14.3-53.5 0.7z' fill='%2337b72c'/%3E%3C/svg%3E");}
|
||||
.xtiper_icon_error {background-image:url("data:image/svg+xml,%3Csvg width='600' height='600' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M512.7 1023.0C230.4 1023.0 0.7 794.4 0.7 512.1 0.8 229.8 230.4 0.1 512.7 0.1c282.3 0 511.9 229.6 511.9 511.0 0 282.2-229.6 511.9-511.9 511.9z m0-950.4c-241.8 0-438.5 196.6-438.5 438.5 0 241.7 196.7 438.5 438.5 438.5 241.7 0 438.5-196.7 438.5-438.5 0-241.8-196.8-438.5-438.5-438.5z m51.4 439.0l158.1-156.3c14.4-14.2 14.5-37.4 0.3-51.7-14.2-15.4-37.4-14.5-52.6-0.3l-157.4 156.5-155.9-156.4c-15.3-15.2-37.4-14.3-51.7 0-14.3 14.2-14.3 37.4 0 51.7l155.7 156.1-157.0 155.3c-14.4 14.2-14.5 37.3-0.3 51.7 7.2 7.2 16.6 10.9 25.0 10.9 9.3 0 18.6-3.6 25.8-10.6l157.2-155.5 158.4 159.0c7.2 6.2 16.6 10.7 25.0 10.7 9.3 0 18.7-4.5 25.8-10.6 14.3-14.3 14.4-37.4 0.1-51.7l-158.3-158.8z' fill='%23e75445'/%3E%3C/svg%3E");}
|
||||
.xtiper_icon_warning {background-image:url("data:image/svg+xml,%3Csvg width='600' height='600' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M512.7 0.1C230.4 0.1 0.8 229.8 0.8 512.1c0 282.3 229.6 511.9 511.0 511.9 282.3 0 511.9-229.6 511.9-511.9C1024.6 229.8 795.0 0.1 512.7 0.1z m0 950.5c-241.8 0-438.5-196.7-438.5-438.5 0-241.8 196.7-438.5 438.5-438.5 241.7 0 438.5 196.6 438.5 438.5 0 241.7-196.8 438.5-438.5 438.5z' fill='%23f89310'/%3E%3Cpath d='M511.6 681.4c-15.5 0-28.6 5.4-39.4 16.1s-16.1 23.7-16.1 38.0c0 17.5 5.6 31.1 16.8 40.8 11.2 9.7 24.3 14.6 39.4 14.6 14.8 0 27.7-4.9 38.8-14.8 11.1-9.9 16.6-23.4 16.6-40.6 0-15.3-5.5-28.3-16.4-38.0-10.0-10.7-24.2-16.1-39.7-16.1zM514.5 232.4c-17.5 0-31.6 5.7-42.3 17.2s-16.1 27.4-16.1 47.9c0 15.0 1.1 39.8 3.3 74.3l11.8 177.0c2.2 22.9 5.9 39.0 11.1 51.2 5.2 11.2 14.4 16.8 27.7 16.8 13.1 0 22.4-5.8 28.1-17.4 5.7-11.6 9.4-28.2 11.1-49.9l15.9-182.2c1.7-16.7 2.6-33.3 2.6-49.5 0-27.6-3.6-48.7-10.7-63.4-7.2-14.7-21.3-21.0-42.5-21.0z' fill='%23f89310'/%3E%3C/svg%3E");}
|
||||
.xtiper_icon_ask {background-image:url("data:image/svg+xml,%3Csvg width='600' height='600' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M512.7 0.1C230.4 0.1 0.8 229.8 0.8 512.1c0 282.3 229.6 511.9 511.0 511.9 282.3 0 511.9-229.6 511.9-511.9C1024.6 229.8 795.0 0.1 512.7 0.1z m0 950.5c-241.8 0-438.5-196.7-438.5-438.5 0-241.8 196.7-438.5 438.5-438.5 241.7 0 438.5 196.6 438.5 438.5 0 241.7-196.8 438.5-438.5 438.5z' fill='%23f89310'/%3E%3Cpath d='M513.9 681.3c-15.8 0-29.1 5.3-39.9 15.9-10.8 10.6-16.3 23.7-16.3 39.2 0 17.5 5.6 31.1 16.8 40.8 11.2 9.7 24.3 14.6 39.4 14.6 14.5 0 27.3-4.9 38.4-14.8 11.1-9.9 16.6-23.4 16.6-40.6 0-15.5-5.3-28.6-15.9-39.2-10.6-10.6-23.7-15.9-39.2-15.9zM617.4 252.0c-27.3-13.2-58.9-19.8-94.6-19.8-38.4 0-72.1 7.9-100.9 23.7-28.8 15.8-50.8 35.7-65.8 59.7-15.0 24.0-22.5 47.7-22.5 71.1 0 11.3 4.7 21.9 14.2 31.6 9.5 9.7 21.1 14.6 34.9 14.6 23.4 0 39.3-13.9 47.7-41.8 8.9-26.6 19.7-46.7 32.5-60.4 12.8-13.7 32.8-20.5 59.9-20.5 23.2 0 42.1 6.8 56.7 20.3 14.7 13.6 21.0 30.2 21.0 49.9 0 10.1-2.4 19.5-7.2 28.1-4.8 8.6-10.7 16.4-17.7 23.5s-18.4 17.4-34.2 31.2c-17.0 15.8-32.3 29.4-42.9 40.8-10.6 11.5-19.1 24.8-25.5 39.9-6.4 15.2-9.6 33.1-9.6 53.8 0 16.5 4.4 28.0 13.1 37.3 8.7 8.4 19.5 12.6 32.3 12.6 24.6 0 39.3-12.8 43.0-38.4 2.7-12.1 4.7-20.5 6.1-25.3 1.4-4.8 3.3-9.6 5.7-14.4 2.5-4.8 6.2-10.1 11.3-15.9 5.0-5.8 11.8-12.5 20.1-20.1 30.3-27.1 51.3-46.4 63.0-57.8 11.7-11.5 21.8-25.1 30.3-40.8 8.5-15.8 12.7-34.1 12.7-55.1 0-26.6-7.5-51.2-22.4-73.9-14.9-22.7-36.0-40.6-63.4-53.8z' fill='%23f89310'/%3E%3C/svg%3E");}
|
||||
.xtiper_icon_hello {background-image:url("data:image/svg+xml,%3Csvg width='600' height='600' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M512.7 0.1C230.4 0.1 0.8 229.8 0.8 512.1c0 282.3 229.6 511.9 511.0 511.9 282.3 0 511.9-229.6 511.9-511.9C1024.6 229.8 795.0 0.1 512.7 0.1z m0 950.5c-241.8 0-438.5-196.7-438.5-438.5 0-241.8 196.7-438.5 438.5-438.5 241.7 0 438.5 196.6 438.5 438.5-0.0 241.7-196.8 438.5-438.5 438.5z' fill='%2337b72c'/%3E%3Cpath d='M355.5 478.0c9.8-9.7 15.2-22.5 15.2-36.2v-72.1c0-27.0-22.8-50.8-50.7-50.8-28.0 0-50.8 22.8-50.8 50.8v72.1c0 27.0 22.8 50.8 50.8 50.8 13.3 0 25.9-5.1 35.5-14.6zM706.5 615.4c-13.7-11.8-37.6-8.9-49.4 4.9-41.6 46.3-84.9 65.0-145.1 65.0-62.8 0-100.7-17.2-144.8-65.7-12.2-14.2-35.0-17.0-49.7-5.2-15.1 13.1-17.4 35.3-5.0 49.9 59.1 66.8 114.9 92.8 199.5 92.8 82.0 0 145.4-29.5 199.6-92.9 12.1-13.0 9.8-36.7-5.1-49.6zM704.0 319.8c-28.0 0-50.7 22.8-50.7 50.8v72.1c0 28.1 22.8 50.8 50.7 50.8 28.0 0 50.7-22.8 50.7-50.8v-72.1c0-27.0-22.8-50.8-50.7-50.8z' fill='%2337b72c'/%3E%3C/svg%3E");}
|
||||
.xtiper_icon_load {background-image:url("data:image/svg+xml,%3Csvg width='600' height='600' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M979.73 513.01c-0.96-1.70-2.66-2.65-4.46-2.65h-69.90c0-84.45-26.02-162.63-70.11-227.32-0.53-0.85-0.95-1.91-1.52-2.76-4.57-6.59-9.67-11.69-14.55-19.02-1.81-2.37-3.51-4.78-5.42-7.12-7.22-8.92-14.87-17.20-22.73-25.38-0.74-0.85-1.49-1.59-2.23-2.34-25.50-26.88-56.41-49.50-89.13-67.56-0.83-0.53-1.70 0-2.55-1.49-9.35-5.10-19.02-9.77-28.89-14.13-2.44 0-4.78-2.23-7.22-3.29-8.39-3.51-15.94-6.59-25.6-8.50-4.15-1.38-8.18-2.86-12.32-4.15-7.54-2.23-15.30-4.16-23.05-6.05-5.21-1.17-10.31-2.55-15.62-3.51-2.12-0.42-3.18-1.17-6.37-1.49-7.33-1.28-14.77-2.02-22.10-2.98-2.65-0.30-4.25-0.74-7.91 0-13.28-1.27-26.45-2.23-39.63-2.23-80.51 0-159.12 24.96-226.58 72.76-21.46 15.30-26.77 45.25-11.68 67.02 15.09 21.78 44.72 27.09 66.28 11.79l3.31-0.71c52.37-36.11 112.60-55.77 176.33-54.92a329.67 329.67 0 0 1 24.64 1.24c3.29 0.32 6.59 0.85 9.99 1.27 6.37 0.85 12.75 1.70 18.00 2.97 3.83 0.75 7.65 1.70 11.37 2.66 6.16 1.48 12.20 2.92 18.16 4.68 2.87 0.85 5.64 1.91 8.50 2.86 6.90 2.34 13.70 4.78 20.39 7.54 1.49 0.64 2.98 1.38 4.46 2.02 7.86 3.47 15.51 7.11 22.94 11.15 0.32 0.21 0.64 0.32 0 0.53 25.18 14.02 48.23 31.55 68.52 51.95 0.32 0.32 0.63 0.74 0.96 0 6.27 5.31 12.32 13.06 17.95 19.97 1.17 1.48 2.34 3.08 3.51 4.56 41.22 52.16 66.07 118.12 66.07 189.93h-69.89c-1.81 0-3.51 0.96-4.46 2.65-0.96 1.70-0.74 3.72 0.21 5.21l117.38 178.24c0.96 1.38 2.44 2.33 3.19 2.33 1.70 0 3.29-0.95 3.19-2.33l117.38-178.24c0.96-1.52 1.17-3.51 0.21-5.21zM687.56 761.37l-3.30 0.71c-52.37 36.11-112.60 55.77-176.33 54.92a329.29 329.29 0 0 1-24.64-1.25c-3.29-0.32-6.59-0.85-9.99-1.27-6.37-0.85-12.75-1.70-19.00-2.97-3.83-0.74-7.65-1.70-11.36-2.66-6.17-1.48-12.20-2.92-18.16-4.67-2.87-0.85-5.64-1.91-8.50-2.87-6.90-2.33-13.70-4.78-20.39-7.54-1.49-0.64-2.98-1.38-4.46-2.02-7.86-3.47-15.51-7.11-22.94-11.15-0.32-0.21-0.64-0.32 0-0.53-25.18-14.02-48.22-31.55-68.52-51.95-0.32-0.32-0.63-0.74-0.95 0-6.27-5.31-12.32-13.06-17.95-19.97-1.17-1.49-2.35-3.08-3.51-4.56-41.21-52.16-66.07-118.12-66.07-189.93h69.89c1.81 0 3.51-0.96 4.46-2.65 0.96-1.70 0.74-3.72-0.21-5.21L168.24 327.54c-0.96-1.38-2.45-2.34-3.19-2.34-1.70 0-3.29 0.95-3.19 2.34L44.48 505.79c-0.95 1.52-1.17 3.50-0.22 5.21 0.96 1.70 2.66 2.65 4.46 2.65h69.90c0 84.45 26.02 162.63 70.11 227.32 0.53 0.85 0.95 1.91 1.52 2.76 4.57 6.59 9.67 11.69 14.55 19.02 1.81 2.37 3.51 4.78 5.42 7.12 7.22 8.92 14.87 17.20 22.73 25.38 0.74 0.85 1.49 1.59 2.23 2.34 25.50 26.87 56.41 49.50 89.13 67.55 0.83 0.53 1.70 0 2.55 1.49 9.35 5.10 19.02 9.77 28.90 14.13 2.44 0 4.78 2.23 7.22 3.29 8.39 3.51 15.94 6.59 25.60 8.50 4.14 1.38 8.18 2.87 12.32 4.15 7.54 2.23 15.30 4.16 23.05 6.05 5.21 1.17 10.30 2.55 15.62 3.50 2.12 0.42 3.19 1.17 6.37 1.49 7.33 1.28 14.77 2.02 22.10 2.97 2.66 0.30 4.25 0.75 7.91 0 13.28 1.28 26.45 2.23 39.63 2.23 80.51 0 159.12-24.96 226.58-72.76 21.45-15.30 26.77-45.26 11.68-67.02-15.08-21.78-44.72-27.09-66.28-11.79z' fill='%23333333'/%3E%3C/svg%3E");}
|
||||
.xtiper_icon_load {animation:revolve 1.5s infinite linear; -webkit-animation:revolve 1.5s infinite linear;}
|
||||
@keyframes revolve
|
||||
{
|
||||
0% {transform:rotate(0deg);}
|
||||
100% {transform:rotate(360deg);}
|
||||
}
|
||||
|
||||
@media (max-width: 760px) {
|
||||
.xtiper_msg {max-width:80%;}
|
||||
}
|
||||
@media (max-width: 480px) {
|
||||
.xtiper_msg {max-width:300px;}
|
||||
.xtiper_photo_ul {padding:0;}
|
||||
.xtiper_photo_btn {display:none;}
|
||||
}
|
||||
|
||||
.xtiper_photo_li p {width:100%; max-height:100%; min-height:100px; position:absolute; top:50%; transform:translate(0, -50%); background-position:center center; background-repeat:no-repeat; background-size:contain; background-color:#fff;}
|
||||
.xtiper_photo_li a {display:block; width:100%; height:100%; position:relative; z-index:2;}
|
||||
.xtiper_photo_load {position:absolute; top:50%; left:50%; margin-left:-17px; margin-top:-17px; z-index:1;}
|
||||
.xtiper_photo_li img {max-width:100%; visibility:hidden;}
|
||||
.xtiper_photo_li.xapp img {width:100%; visibility:visible; position:relative; z-index:2;}
|
||||
.xtiper_photo_btn {position:absolute; top:50%; transform:translate(0, -50%); width:32px; height:46px; overflow:hidden; cursor:pointer; z-index:2;}
|
||||
.xtiper_photo_prev {left:16px;}
|
||||
.xtiper_photo_next {right:16px;}
|
||||
.xtiper_photo_btn:before, .xtiper_photo_btn:after {content:""; display:block; width:26px; height:4px; background-color:#666; position:absolute; border-radius:4px; z-index:1;}
|
||||
.xtiper_photo_btn:hover {opacity:0.7;}
|
||||
.xtiper_photo_prev:before {transform:rotate(-45deg); top:13px; left:3px;}
|
||||
.xtiper_photo_prev:after {transform:rotate(45deg); top:29px; left:3px;}
|
||||
.xtiper_photo_next:before {transform:rotate(45deg); top:13px; right:3px;}
|
||||
.xtiper_photo_next:after {transform:rotate(-45deg); top:29px; right:3px;}
|
||||
.xtiper_words {padding-right:8px;}
|
||||
.xtiper_photo_num {display:inline-block; position:absolute; bottom:0; text-align:center; left:50%; transform:translate(-50%, 0); font-size:13px; z-index:10; height:26px; line-height:26px; overflow:hidden; user-select:none; -ms-user-select:none;}
|
||||
BIN
assets/fonts/Nunito-Bold.woff
Normal file
BIN
assets/fonts/Nunito-Regular.woff
Normal file
BIN
assets/fonts/Nunito-SemiBold.woff
Normal file
BIN
assets/fonts/dripicons-v2.woff
Normal file
BIN
assets/fonts/materialdesignicons-webfont.woff2
Normal file
BIN
assets/images/Folder.png
Normal file
|
After Width: | Height: | Size: 3.2 KiB |
BIN
assets/images/bg-auth.jpg
Normal file
|
After Width: | Height: | Size: 34 KiB |
1
assets/images/bg-pattern-light.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 800 800"><g fill-opacity=".22"><circle fill="#fff" cx="400" cy="400" r="600"/><circle fill="#eff3ff" cx="400" cy="400" r="500"/><circle fill="#cddbff" cx="400" cy="400" r="300"/><circle fill="#bbcfff" cx="400" cy="400" r="200"/><circle fill="#a8c4ff" cx="400" cy="400" r="100"/></g></svg>
|
||||
|
After Width: | Height: | Size: 341 B |
BIN
assets/images/bg-pattern.png
Normal file
|
After Width: | Height: | Size: 3.8 KiB |
BIN
assets/images/favicon.ico
Normal file
|
After Width: | Height: | Size: 64 KiB |
0
assets/images/file-searching.svg
Normal file
BIN
assets/images/header.jpg
Normal file
|
After Width: | Height: | Size: 75 KiB |
1
assets/images/help-icon.svg
Normal file
|
After Width: | Height: | Size: 7.2 KiB |
BIN
assets/images/logo-light-2.png
Normal file
|
After Width: | Height: | Size: 3.6 KiB |
BIN
assets/images/logo-light.png
Normal file
|
After Width: | Height: | Size: 3.6 KiB |
BIN
assets/images/logo.png
Normal file
|
After Width: | Height: | Size: 3.7 KiB |
BIN
assets/images/logo_sm.png
Normal file
|
After Width: | Height: | Size: 391 B |
BIN
assets/images/logo_sm_dark.png
Normal file
|
After Width: | Height: | Size: 382 B |
BIN
assets/images/logon-ico/qq.png
Normal file
|
After Width: | Height: | Size: 4.1 KiB |
BIN
assets/images/logon-ico/wx.png
Normal file
|
After Width: | Height: | Size: 713 B |
1
assets/images/maintenance.svg
Normal file
|
After Width: | Height: | Size: 12 KiB |
1
assets/images/no-app.svg
Normal file
|
After Width: | Height: | Size: 17 KiB |
1
assets/images/normal.svg
Normal file
@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1584386117288" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="176658" xmlns:xlink="http://www.w3.org/1999/xlink" width="128" height="128"><defs><style type="text/css"></style></defs><path d="M512 0C228.864 0 0 228.864 0 512s228.864 512 512 512 512-228.864 512-512S795.136 0 512 0z m252.928 355.328L445.44 671.744c-6.144 6.144-14.848 9.216-20.992 9.216-6.144 0-14.848-3.072-20.992-9.216L259.072 527.36c-12.288-12.288-12.288-30.208 0-41.984s30.208-12.288 41.984 0l123.392 123.392 297.984-297.984c12.288-12.288 30.208-12.288 41.984 0 12.8 11.264 12.8 32.768 0.512 44.544z" fill="#11D35F" p-id="176659"></path></svg>
|
||||
|
After Width: | Height: | Size: 800 B |
BIN
assets/images/phpfile.png
Normal file
|
After Width: | Height: | Size: 1.7 KiB |
1
assets/images/report.svg
Normal file
|
After Width: | Height: | Size: 21 KiB |
1
assets/images/startman.svg
Normal file
|
After Width: | Height: | Size: 9.2 KiB |
1
assets/images/upgrade.svg
Normal file
|
After Width: | Height: | Size: 5.1 KiB |
19
assets/images/upgrade_success.svg
Normal file
@ -0,0 +1,19 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg t="1584384722535" class="icon" viewBox="0 0 2560 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="56894" xmlns:xlink="http://www.w3.org/1999/xlink" width="320" height="128">
|
||||
<defs><style type="text/css"></style></defs><path d="M0 0h2560v1024H0z" fill="#0289FF" p-id="56895"></path>
|
||||
<path d="m0,0l2560,0l0,1024l-2560,0l0,-1024z" stroke-dasharray="null" fill="#0289ff" id="svg_1"/>
|
||||
<path d="m0,1024l0.21943,-172.77808c106.93486,-33.84686 341.79656,-79.31244 481.45919,111.55383c1.0423,-1.0752 154.56912,-181.4967 258.28207,-167.53369c103.70923,13.95929 114.2674,66.55267 167.56293,83.76685c53.29919,17.21051 226.8526,54.74011 314.12665,-202.4375c2.11743,0.78998 118.69983,0 118.69983,0s36.35938,212.95544 293.18591,209.41901c30.57361,-1.86517 97.55786,-28.26971 146.5929,-76.78906c49.03491,-48.51563 123.69189,-60.42328 223.40747,20.94446c25.39893,13.16937 107.96265,63.55017 237.34131,-20.94446c28.93896,-20.96271 199.68359,-91.17621 319.22827,92.13074l-0.10596,122.66791l-2559.99999,0l-0.00001,0z" fill="#ffffff" id="svg_2"/>
|
||||
<path d="m1072.53027,508.99017s51.84363,-39.71658 70.92297,-46.70538c19.07568,-6.98514 21.50403,10.4631 21.50403,23.35086l0,179.83633c0,12.88782 -21.50403,23.35089 -21.50403,23.35089s-62.43835,46.67609 -70.92297,46.70538c-8.48462,0.03656 -16.14258,-10.49597 -21.47107,-23.35083c0,0 -19.74854,-62.33966 0,-179.83636a73.77554,73.77554 0 0 1 21.46741,-23.35086l0.00366,-0.00003zm414.80042,0s-51.84363,-39.71658 -70.91931,-46.70538c-19.07935,-6.98514 -21.50403,10.4631 -21.50403,23.35086l0,179.83633c0,12.88782 21.50403,23.35089 21.50403,23.35089s62.43103,46.67609 70.91931,46.70538c8.48462,0.03656 16.14258,-10.49603 21.46741,-23.35089c0,0 19.74854,-62.33966 0,-179.83636a73.77554,73.77554 0 0 0 -21.46741,-23.35083z" stroke-dasharray="null" fill="#87c7ff" id="svg_3"/>
|
||||
<path d="m1282.06995,135.31429c67.05737,0 170.86902,210.17598 170.86902,383.02354c0,169.53052 -40.16638,242.74652 -40.16638,242.74652l-257.48486,0.12799s-44.0575,-70.02698 -44.0575,-242.87451c0,-172.84756 103.78235,-383.02354 170.83972,-383.02354z" fill="#ffffff" id="svg_4"/>
|
||||
<path d="m1433.81946,699.44318c-10.35339,42.15222 -21.04688,61.64111 -21.04688,61.64111l-257.48474,0.12805s-11.97717,-19.03912 -23.44238,-61.76917l301.97034,0l0.00366,0zm-148.0741,-563.92407c29.49854,3.24754 65.3678,44.81464 96.30725,104.79909l-199.95435,0c30.93213,-59.98447 66.79773,-101.55154 96.2926,-104.79909l7.35449,0z" fill="#87c7ff" id="svg_5"/>
|
||||
<path d="m1346.19897,451.0296l-67.89795,67.25177a9.46171,9.37161 0 0 1 -11.55005,1.45557a12.50625,12.38715 0 0 1 -1.88916,-1.45557l-39.06079,-38.68652a9.52734,9.43661 0 0 1 13.43884,-13.38077l32.34399,32.10074l61.17163,-60.58926a9.50391,9.41339 0 0 1 13.43909,13.31107l0.00439,-0.00702zm-60.19897,-77.0296c-57.96106,0 -105,46.59109 -105,104s47.03894,104 105,104s105,-46.59106 105,-104s-47.03894,-104 -105,-104z" stroke-dasharray="null" fill="#0fc27c" id="svg_7"/>
|
||||
<path d="m599.77142,305.37143c31.30518,0 56.68573,-25.38055 56.68573,-56.68571c0,-31.30515 -25.38055,-56.6857 -56.68573,-56.6857c-31.30511,0 -56.68573,25.38057 -56.68573,56.6857c0,31.30516 25.38062,56.68571 56.68573,56.68571zm0,-10.97144c-25.2489,0 -45.71429,-20.46536 -45.71429,-45.71428s20.46539,-45.71428 45.71429,-45.71428s45.71429,20.46535 45.71429,45.71428s-20.46539,45.71428 -45.71429,45.71428zm1316.57135,199.3143c20.19836,0 36.57153,-16.37305 36.57153,-36.57144s-16.37317,-36.57141 -36.57153,-36.57141s-36.57141,16.37302 -36.57141,36.57141s16.37305,36.57144 36.57141,36.57144zm-1316.57135,-213.94287a21.94286,21.94286 0 1 1 0,-43.88571a21.94286,21.94286 0 0 1 0,43.88571z" fill-opacity="0.2" fill="#87c7ff" id="svg_8"/>
|
||||
<path d="m422.39999,744.22858m-107.88571,0a107.88571,107.88571 0 1 0 215.77142,0a107.88571,107.88571 0 1 0 -215.77142,0z" fill-opacity="0.2" fill="#87c7ff" id="svg_9"/>
|
||||
<path d="m199.31429,199.31429m-27.42856,0a27.42857,27.42857 0 1 0 54.85715,0a27.42857,27.42857 0 1 0 -54.85715,0z" fill-opacity="0.2" fill="#87c7ff" id="svg_10"/>
|
||||
<path d="m2302.17139,378.51428m-78.62866,0a78.62857,78.62857 0 1 0 157.25732,0a78.62857,78.62857 0 1 0 -157.25732,0z" fill-opacity="0.204" fill="#87c7ff" id="svg_11"/>
|
||||
<path d="m212.11429,544.91431m-14.62857,0a14.62857,14.62857 0 1 0 29.25714,0a14.62857,14.62857 0 1 0 -29.25714,0z" fill-opacity="0.2" fill="#87c7ff" id="svg_12"/>
|
||||
<path d="m1982.17139,746.05713m-14.62854,0a14.62857,14.62857 0 1 0 29.25708,0a14.62857,14.62857 0 1 0 -29.25708,0z" fill-opacity="0.2" fill="#87c7ff" id="svg_13"/>
|
||||
<path d="m2172.34277,135.31429m-18.28564,0a18.28571,18.28571 0 1 0 36.57129,0a18.28571,18.28571 0 1 0 -36.57129,0z" fill-opacity="0.2" fill="#87c7ff" id="svg_14"/>
|
||||
<path d="m1649.37146,618.05713m-18.28577,0a18.28571,18.28571 0 1 0 36.57153,0a18.28571,18.28571 0 1 0 -36.57153,0z" fill-opacity="0.2" fill="#87c7ff" id="svg_15"/>
|
||||
<path d="m849.1593,452.19839l11.00067,0l0,23.99084l23.99084,0l0,11.0007l-23.99084,0l0,24.10788l-11.00067,0l0,-24.10788l-24.10785,0l0,-11.0007l24.10791,0l-0.00006,-23.99084zm796.90613,-160.27063l5.50037,0l0,11.99542l11.99536,0l0,5.50037l-11.99536,0l0,12.05392l-5.50037,0l0,-12.05392l-12.05396,0l0,-5.50037l12.05396,0l0,-11.99542z" fill="#289bff" id="svg_16"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 5.2 KiB |
BIN
assets/images/users/avatar-1.jpg
Normal file
|
After Width: | Height: | Size: 2.7 KiB |
BIN
assets/images/waves.png
Normal file
|
After Width: | Height: | Size: 2.4 KiB |
BIN
assets/images/wxgzh.jpg
Normal file
|
After Width: | Height: | Size: 7.6 KiB |
3
assets/js/app.min.js
vendored
Normal file
1
assets/js/eruyi.min.js
vendored
Normal file
253
assets/js/inpitassembly-2.0.js
Normal file
@ -0,0 +1,253 @@
|
||||
// * =====================================================================
|
||||
// * 插件名:inpit_assembly
|
||||
// * 作者:cababgelol
|
||||
// * 技术支持:cababgelol.net/inpit-assembly/2.0/
|
||||
// * =====================================================================
|
||||
(function(w) {
|
||||
var inpit_assembly = function(ele, opt) {
|
||||
this.$ele = ele,
|
||||
this.defaults = {
|
||||
selected : "active", // 默认记号
|
||||
selected_data:[],
|
||||
ischeck_ : true, // 是否在设置最少值初始最少选择数量
|
||||
ischeck_class : false, //
|
||||
max:function(e,max){},
|
||||
min:function(e,min){}
|
||||
},
|
||||
this.options = $.extend({}, this.defaults, opt);
|
||||
};
|
||||
inpit_assembly.prototype = {
|
||||
fun: function() {
|
||||
var $this = this,
|
||||
$fun = this.options,
|
||||
$check_ = this.$ele,
|
||||
$check_formname= "formname",
|
||||
$check_class = (function(val){
|
||||
var val = $fun.selected;
|
||||
if(val == undefined){
|
||||
val = "active"
|
||||
}
|
||||
return val;
|
||||
})(),
|
||||
$check_index = 0;
|
||||
|
||||
$fun.selected = this.options.selected;
|
||||
$fun.selected_data = this.options.selected_data;
|
||||
$fun.ischeck_ = this.options.ischeck_;
|
||||
$fun.ischeck_class = this.options.ischeck_class;
|
||||
|
||||
//初始
|
||||
$check_.find("div[radio],div[checkbox]").each(function(){
|
||||
var this_ = $(this);
|
||||
this_.attr("index",$check_index);
|
||||
|
||||
// * ===============
|
||||
// * radio - 复选
|
||||
// * 初始值
|
||||
// * ================
|
||||
|
||||
if(this_.attr("radio") != undefined){
|
||||
if($fun.ischeck_ && this_.attr("min") != undefined){
|
||||
//存在min
|
||||
var obj = $check_.find(" > div[index]").eq($check_index);
|
||||
if($fun.ischeck_class && $(this).find("div[name]").eq(i).hasClass('ack')){
|
||||
for(var i = 0 ; i < $(this).find("div[name]").length ; i++){
|
||||
for(var i = 0 ; i < this_.attr("min") ; i++){
|
||||
|
||||
// * ===============
|
||||
// * ischeck_class
|
||||
// * ischeck_class的作用是在标签中已经加入二个calss="ack"默认值与min="2"情况下,关闭初始值,这防止出现默认选项应该是D/F,而不是变成A/B/D/F
|
||||
// * 因此如果ischeck_和ischeck_class同时true将出现多个初始值
|
||||
// * 1.若已有默认选项,在inpit/assembly渲染之前,请设置ischeck_= true,ischeck_class = false
|
||||
// * 2.若已没有默认选项,设置ischeck_= false,ischeck_class = true
|
||||
// * ================
|
||||
|
||||
obj.find("> div").eq(i).addClass($check_class)
|
||||
}
|
||||
}
|
||||
}
|
||||
else if($fun.ischeck_class == false){
|
||||
for(var i = 0 ; i < this_.attr("min") ; i++){
|
||||
obj.find("> div").eq(i).addClass($check_class)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// * ===============
|
||||
// * checkbox - 单选
|
||||
// * 初始值
|
||||
// * ================
|
||||
|
||||
if(this_.attr("checkbox") != undefined){
|
||||
obj = $check_.find(" > div[index]").eq($check_index);
|
||||
obj.find("> div").eq(0).addClass($check_class);
|
||||
}
|
||||
|
||||
// * ===============
|
||||
// * selected_data的初始值
|
||||
// * ================
|
||||
|
||||
var obj_selected_data = $fun.selected_data[0];
|
||||
if(obj_selected_data != undefined){
|
||||
let obj;
|
||||
for(let i = 0 ; i < $fun.selected_data.length ; i++){
|
||||
for(let x = 0 ; x < $fun.selected_data[i].data.length ; x++){
|
||||
if(typeof obj_selected_data.data == "object"){
|
||||
obj = $("[formname=" + $fun.selected_data[i].name + "] [name][value=" + $fun.selected_data[i].data[x] + "]");
|
||||
}
|
||||
if(typeof obj_selected_data.data == "string" && obj_selected_data.data === "all"){
|
||||
obj = $("[formname=" + $fun.selected_data[i].name + "] [name][value]");
|
||||
}
|
||||
obj.addClass($check_class);
|
||||
}
|
||||
}
|
||||
}
|
||||
++$check_index;
|
||||
});
|
||||
|
||||
//单选
|
||||
$check_.on("click","[checkbox] *[name][value]",function(event) {
|
||||
event.stopPropagation();
|
||||
var this_ = $(this),
|
||||
// * ===============
|
||||
// * 我忘记这是干嘛的
|
||||
// * this_siblings = this_.siblings(),
|
||||
// * ================
|
||||
this_obj = this_.attr("name"),
|
||||
this_ack = $check_.find(" *[name=" + this_obj + "]." + $check_class);
|
||||
|
||||
if(this_.attr("disabled") != undefined ){ return }
|
||||
|
||||
if( this_ack.length > 0){
|
||||
this_ack.removeClass($check_class)
|
||||
}
|
||||
add_Class(this_,$check_class);
|
||||
});
|
||||
|
||||
//多选
|
||||
$check_.on("click","[radio] *[name][value]",$fun.ischeck_ = function(event,t,max,min) {
|
||||
event.stopPropagation();
|
||||
var this_ = $(this),
|
||||
this_siblings = this_.siblings(),
|
||||
this_obj = this_siblings.attr("name"),
|
||||
this_ack = $check_.find(" *[name=" + this_obj + "]." + $check_class);
|
||||
this_max = (function(){
|
||||
var max = this_.parent().attr("max");
|
||||
if(max == undefined)
|
||||
max = this_.parents().find("div[name]").length + 1;
|
||||
return max;
|
||||
})();
|
||||
this_min = this_.parent().attr("min");
|
||||
|
||||
if( this_.hasClass($check_class) ) {
|
||||
//至少
|
||||
removeClass(this_,$check_class);
|
||||
if( this_ack.length == this_min ){
|
||||
add_Class(this_,$check_class);
|
||||
$fun.min($check_,this_min);
|
||||
}
|
||||
}else{
|
||||
//最大
|
||||
if( this_max != undefined ){
|
||||
if(this_ack.length <= this_max){
|
||||
add_Class(this_,$check_class);
|
||||
if(this_ack.length == this_max){
|
||||
removeClass(this_,$check_class);
|
||||
$fun.max($check_,this_max);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return [this_,this_max,this_min];
|
||||
});
|
||||
|
||||
// * ================
|
||||
// * 删除记号
|
||||
// * ================
|
||||
|
||||
function removeClass(e,selected){
|
||||
if( e.attr("class").length <= selected.length )
|
||||
e.removeAttr("class")
|
||||
else
|
||||
e.removeClass(selected)
|
||||
}
|
||||
|
||||
// * ================
|
||||
// * 添加记号
|
||||
// * ================
|
||||
|
||||
function add_Class(e,selected){
|
||||
if(e.attr("disabled") == undefined){
|
||||
e.addClass(selected);
|
||||
}
|
||||
}
|
||||
|
||||
// * ===============
|
||||
// * 取type='inpit/assembly'内选择值
|
||||
// * val则最后结果
|
||||
// * ================
|
||||
|
||||
+(w.check_result = function (obj){
|
||||
var val = [];
|
||||
if(obj != undefined){
|
||||
$("[" + $check_formname + "=" + (function(){
|
||||
if(typeof obj == "string"){
|
||||
return obj;
|
||||
}
|
||||
if(typeof obj == "object"){
|
||||
return obj.parents("[formname]").attr($check_formname);
|
||||
}
|
||||
|
||||
})() + "] [index]").each(function(){
|
||||
|
||||
// * ===============
|
||||
// * checkbox - 单选
|
||||
// * ================
|
||||
|
||||
if( $(this).is("[checkbox]") ){
|
||||
val.push( $(this).find(" *." + $check_class).attr("value") );
|
||||
}
|
||||
|
||||
// * ===============
|
||||
// * radio - 复选
|
||||
// * ================
|
||||
|
||||
if( $(this).is("[radio]") ){
|
||||
$(this).find("*." + $check_class).each(function(){
|
||||
val.push(
|
||||
$(this).attr("value") //context.attributes.value.value
|
||||
);
|
||||
})
|
||||
}
|
||||
});
|
||||
}else{
|
||||
console.log("向check_result传入$(this)")
|
||||
}
|
||||
|
||||
// * ===============
|
||||
// * 筛选重复
|
||||
// * ===============
|
||||
|
||||
Array.prototype.del = function() {
|
||||
var a = {}, c = [], l = this.length;
|
||||
for (var i = 0; i < l; i++) {
|
||||
var b = this[i];
|
||||
var d = (typeof b) + b;
|
||||
if (a[d] === undefined) {
|
||||
c.push(b);
|
||||
a[d] = 1;
|
||||
}
|
||||
}
|
||||
return c;
|
||||
}
|
||||
return [{"data":val.del()},{"parameter":$fun},{"obj":$check_}]
|
||||
});
|
||||
}
|
||||
};
|
||||
$.fn.inpitassembly = function(options) {
|
||||
var drag = new inpit_assembly(this,options);
|
||||
drag.fun();
|
||||
return this;
|
||||
};
|
||||
})(window);
|
||||
541
assets/js/modal_dialog.js
Normal file
@ -0,0 +1,541 @@
|
||||
// 封装模态框_提示框
|
||||
// 提示框
|
||||
|
||||
// 图标 base64 码 全局变量
|
||||
// 默认图标
|
||||
var info_modal = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAADlUlEQVRYR82XS4hbdRjFz7l3ZsARamzryCQ31lft5A64qErFhYKK9bFwxmJRu/CxKbjzAXYmdyS0yYwu1J3oqt2otNQ+wEKxogiC+GgX0t44vlDnTqJW7LRoK53ce+SmTUw6j/wTRmq295zz/e6Xf/75PuIif9hOfTenHvWU76fC2wBeQahfYkjguMCyLH7Wu6L/wOHNnDXNNQJYs+2Xa7pYeV7UJoKXLR6uExDfka3X/JH0d61AFgUYmChfbYXhVgCbSFitwhqfCwghvC1YY0Uv+dNC3gUB3G3BnaTeBZlop/AcrTQjcYM/5nw4X868AO54sBkRXm/3rRcClRDBwtP+qPPmhZo5AG4huAvC+0tVvFYwhpC4vjiW+qARognAfal0FcLwq9YHrbMvRdBJ2PaN/pbkz7WEZoBCsJPARtN4AZ9SuA5En7FH2Ol7ziNzADKF6bUWdNg4CJjws84odsl2v51+mcBzpt6KrFsmveSXsb7eATc/tYfkcCcha/Klm7sYfWHqlbTX99IP1QGcV6cuWXYaMyR7jEOAV/zVqRewkaFbCMYJjJh7dQazTsLP8Wy1A5nx0pClaK9pQMPJ/h3E9wTWte/lkO+l9lcB3HxQIDFqGiLhDVC/1vXCOpL3mvpjnYCCn3W8KsBgPtgB4nGjAGnmmJe+vFHrbi0P0g6PGvnPiwTs8LPOk7UOHCJxt1GAcJrsvvZo9sp6B24YLw10Kyoa+f8FOORnnXvOdaAwdRDgetOA+EL527501Q9blp+MPR0BSAd9L33fuQ4Ugu0EnjAFiHWViAOTY6nJzgGw3fecpzo6hEsC0HgIM/nSsMVoj3EHhPdU6XnUz/X9We1ArrSyqzv8mKBrmhHRGi6OJvdVO5DMlXoTXeEJo4tonl9BtahEtxDEl9myVhCSzp7qRSJ4Nn2m8SreR/LBVmYAfx2bTSWQY6VJu0v24DfTp0D0tsqQtN/30kOxrg7Qzn0uyAdwvKmQsJLkYKvi8fMIvKmYTR1pAjh/Ie0GscEkpFONgN1+1nm45m+aBzL50ioiPEJyeacFFvNJ+kOw1zYOqXNGsky+dDsRffRfjGSAdYfvJT9phPz/DaU1uos6ltcg6osJ8RgBu51zUVtMItt+8euR/h8X8hqtZu7E1PUM+YzJahb/UVF8a0lWswupq8tpV/kBC+GtIvuqyykQUfytupyCn7PSfyAetUy7ZdQB07BOdP8AHHSWMKZhltwAAAAASUVORK5CYII=';
|
||||
// 成功图标
|
||||
var success_modal = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAADd0lEQVRYR82X328UVRzFz5ntRgj4K+rOLtEAUV80MUENINhfs/iAxl+J8UFejCaW3emDiS/6D/gs4k4J8cXgiwkmICH60J2xpSj6IjEaY4yx+GumLdCAUdN2d46Zku3+mmV3yxact5m595zPnPu9c+8lbvDFG+yPzgG8l9dltHEQ0JOCtgM0KWwStQRwhtKfAr4SjE9nbl08hUcPL3XycR0BpLz8vkTIAyDu6EQUwO9CuD+wxk62a39VgDsnX8skl5IfgHiinVDce0Ef/ZtU7lL/2Hyr/i0B0m7uKYJHAN6+GvNKH0F+mXhxbtiZitOJBTCL+acN8pNrMa7tKyEMyYFZ673TjZpNAJmivVnUdwQ39gog0pEw87fw4F97ChdqdZsA0q59hsCOXpqvDId0Isg6z7QEWK528cO1MK/WRDgUWGMTlftqAgIzXv4cwHt6ASDhsoA3SLxJ4N6qps76lrOtCSDlju5OQLGV2i1QZF42NDg37JzNePkRiIdqNcoy7pvNHvw5eraSQMa13wbwVrdmje1rzc2J0a1GOZxoTDWkXp8Zdg7UAxTzp0HuuhaAWvO7JkbuT5QSUyRTTZrSMT/rPF8HkC7a0yQ2rx5A8yXCimJPj488QPZNtvp1S/g6yBaWZ9qVIRCY9uxFAn2rA9C8wP7AKnyfGs89lDCMqMpva6kl/eFnnbsbAPILBJNxnSQdFXmK0DsEG/4dVfOMm3tEMlwSt1z1Q5oAAKTd/C8Et8R1LFHbomij/4QhHKlCVM1NL7eToTFOYkO7FKNlO7AKOxuLcBJkf2wCkL+YwI6Lg85vpmu/Quh9AhcEDkWxm66dNYATANa3M78y4vg4sAovdDUNBU2X+kq7zg8c9k0v/2pZmjpvjf2YLub2gjzeavjigGKnYepz+7FEiC/ajN1PSiZ2BwMH56J2pms/S+Bot8UrlrcGw4em6xKIZkLGs38FsFydrS5JP/yzfuHxDQs3bVfIkySMTmJfaSN942edhyv3dRXd6WIk4RyoTd3EXgXAoJ8tTMYCRA/XcjkGdNy3nOdqE2veD3j7t0DGtwRv7iraNo073pBUissAjvUKQEApNDAwO1T4slHzumxKEWJfsMfx4j7o/7str6U13dGXDOnd634wqYuscjRTuFeMNq0xRzPyjMTPen4061Uxdl0Da2lc0f4PeKyXMJXpyrIAAAAASUVORK5CYII=';
|
||||
// 警告图标
|
||||
var warning_modal = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAC8ElEQVRYR8WXTUhUURTHf0fToEWQfbmoKKjIRSotCiwoiDCqTWCCRkGl84aEllmLQgqkWpbVvBlxIRUxfay0j00fEGSr1CIi0igMhCRpE0k5J+4bJsdxPu4bhzzb9///z/+de++55wo+Qq+xiGLqUdYDS4DlCDGUb8AYwgcmicpxxm1lJRdQoxTznQaEQ8BOoDgrR/mD8AQlIkHu5tLPaEDbKKKcJoQzwIpcQhm+v0IISoD+TPy0BtRlAcp9hNo8EyfTFDglDpfSac0woFcpZx6PgcoCJJ+SULop46jUM5msO82AupQAfcAmy+RfgBGgxhJ/TxzqshnoAFqsxIRjEqDLYDXEaYR2Kx6cF4ezCey/CqjLXqDHSkQZlyBlCaxeZiHz+WHFNSBhtwS8ZcYz4JVeGUJYaSkyJA5rp+00F7PZ7EIZkCDVyQZOAhft2B5qdgbimRskwO14BUJ8Qlj9Xw0oLyVIjWiECmK885G8MBXAW7Jloi5+y18oA8ZCkzFgjtKROaiASemKhnhojsWcGFB6jIF+hKo5MvDaLMFAHn1/9scw/seDpgK9CHt8VmBEnKmmpVFKGWfCp4bZhI9MBVwg4JtcRJU0M+j1kTD7vevbf3QZA01AxDdX+YrQiVKJePdIqW8NaBXtYDEl3kyXczzLI0F2Sow1iVb8AmGrrwTKBEIUGEZpRFjniw/vxaEibuA6Bynihg+BX8BmcXjj8ePX8UdgqQ+NVjOmJc8DZkNttBS4Iw71yVh1uQk0WvGVYYQN4vB7ykCYWnMsrATguTjsSDHwDNhuyd8nDr0GmzoTngNvDM8diiNBwt4SuDhAKDfJgLkiQU4ksDOnYj+lBDOUmlhlmbyPMrYlT8bpDJjxrBPhsJWoLUh5yyS7pIXRZErml1F8TrhQkP6gPEA4IA4/U/1mbT4aphr11naL7Y+m4D6jtOMQEUk/tFp1Pw1Rh9Bs/TiFp0A3o9ySNmLZzFsZSAikeZ6bJ7qJsXyf538B0n8BZanHYR0AAAAASUVORK5CYII=';
|
||||
// 错误图标
|
||||
var error_modal = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAADd0lEQVRYR9WXS4gcVRSG/79qEnGjk3vLhc+4FBVd6CJIpqsmEXyShUpcZCGO+AqIqOALUdSFgqAJGEUxKIgujAoSHyQg0z2jC4UEYkCEREQiI2jd7owmIdpT9Uu16Xl0V1f1tNMEa9X0veec75zz31O3iNP88DTHx/8PoDE+emWS+jeSWivxPJIegF8F/YwEe4Np9+1yqtpXBQR4jSi4W9DjAC8uCiBphuTLBvF2VjFXBlMKkGWcyn8P4GVlzhavSzjkecmdZrLxdZFdIYCLzO2S9zaJM5cTfH6v1CTwoKm513vZ9wSIK/YWevxooMAdRoSeMFX3Yp6vXIA4spdA3D9w5nmRlG62tfquzqVcABcGB0BcsRLZL/iQM6vdWu7F8cV+uwBcxUzA83Z2BRd2kfgyBbYTOCM3SeF3j3pY4L0A1nf7SJ+xtfpzxQA9smeKLWYqfv9oxW5IiC9Arl4SQGqIuCaouh9cGDwL4ulOgOyIBjV3fk+A42PBuSd9zOSWXjriay4cnZr9yUXmeoC7AY609koNKg3NVOOgi8w6iHtAnpXnx0+aV41Oz+5vry1pgYvMXYD3Vq/eS/htlf5ef/bUH4calWBT6uljAMeYpmNZ8Hq4ZiyFv6dIvJKeDGruhR4A9nmATxWLTw6JKna6/r2rmM2+ksNZRvG43Qjxs176WJgNeNPW4kwjrWdpBUK7E+REufp1lEkamunGd9neerjmBsH7BOSqUlvhc1uLb/pPAAKOjSTNsN3LhXbQLwOQtDuouU0Dt0DCCXjaEEy6b9y4uVXgL63fkbkN4gcgS94v6Ru2Wr9vUBGe8JhcZ6qNr9onQeDJdjXqUbBF0rtFECUiNBcA3pHcIQP85SG5dj64mPX81CzQ7PxJKIHwiatHJ+N9uRXI/nSRPQjw8k4ISluzt1o/gygO7Q6SW3MSiW01PqdwEtZDe7/I17qN9SHBbBRvKxrFPvRIQtxBcGN3EnjU1OKXCgEUYaQu+yPIi8oUvZx1AYftn/Gl3IdmIcC/bWiN2k+B8mPVF4TU9NO5dYtHcE8NtBfiyGZlfKevACWbBD0QVN2reduGfiUT8VBQdTt6MQ73UspkIju2RQUqBciMT13L7xH0WJ/X8lcM4m0rci3vpG99mMi/mdCFrQ+TTKjEzFA/TFZCiANrYJjBM999aWCYEP8A7TSkMOyQWnEAAAAASUVORK5CYII=';
|
||||
// 关闭图标
|
||||
var close_modal = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAACFElEQVRYR+2WTWsTQRjH/08mLxepKIoHQcRLBRX0IPhCay2ih/opQpYJCeSQjxLIy7Ahn8KTivZVhB4aqEJ70V5FUSwlkmSHRyZYWJZtd3YDWQ/d487M8//Nf5555iGk/FHK+jgD+H8dcF33wWg0+lStVo+myZNms3kun8/fdhznY1icUAeUUs8BvALQ9zxvOSmEEc9ms+8A3AXwUkr5OghxEsB5Zn5PRPcAbA+Hw2e1Wu0wjhONRmOuUCi8BXCfmXeI6KmU8rcVgJmklPJD9LXWy5VK5ZcNRKvVuiCEmOz8NHET69QkNBAANgDcAfBZa70QBaGUugRgFcCtKPFIADOh2+1e1FqbgBMIAEtSyh9hThhxZt4konkAuwAWwmz3r7W6hn4IZt4XQjxxHOebP5Drule01mvH4kKIpVKp9DPqyKwAgk4w8xchxKNjiHa7fZWI1onohtm5rbjVEfh38M+JLQA3DQQzL5rxTCbzAcC1uOKxAcyCXq93eTwerxsIAF8BiKTiiQBCIMyvWLbHTsJgIgVcMMN7uVxusVgsfo9KOutCdFIgvzgzH0xsJLpuIIQQj20yP7EDqSZhoBbM9hqmWohSLcVB8Zk+RgHx2T7HgWd4moZkLaoniGrJtj3Pe5G0JfN1RaYxWSmXy2+sC1Gn03k4GAz69Xr9T9zq5p+fqCmdRjDuWut+IG5g2/lnAKk78Bd192wwo+7w4AAAAABJRU5ErkJggg==';
|
||||
// 问号按钮
|
||||
var question_modal = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAADlUlEQVRYR72XXWhUVxDHf7MJpYlCjdWkUloLVWmgvhSCUigUffADioqyIuapJd5NUwQxxra2Nf1AaQWp4EfWbygWTH0RQhUUNWqhhbRNihhEUjWCDZiEpCGka7I75dw9m+xudu+9m9Se1/Of//zPnDlzZoSAS/dTQimrgI3AQoTnUSqABEIf0AvcRjjHP/woW4kFoRY/kJ5kLqPsQdmMUOKHt/vDKN8xxifygSsu78orQBsp5gW2I3wKzAjoOBs2BHzOXxyQRsZyceQUoIcpo4gW4M0pOs40U34lzjqp42E23yQBGuVVlMsIr/wnzidIBhHWyBZa03kzBGiUOSjtCC/6Olc6EAZcnLq5sThAjvRTzGJ5j0cp/nEBbpbP4CbwRl7nygjCV4RokRr+SMdpM88wQDXKfuA5jwP8BiwVh1GDmRAQ5WugwcN5H0UsSzl2k3QelShxhLspQj3OAuL8Asz24PpYIuwdF6BHKCfEA+BZD+XLxOGqG/EjhAkRBWZZ/CBQLw7H3f0mViJc8BDwN8LL4jDoRkCjNAGOh0GbRKiy2NeAW0DRJLyyViKct7iffF7RPnFoEPfu+hnwSaDPxOFLe7ofEDbkEdsqDm9bAd8AOzwi2k8Z5aJHWYFy0SfrT6J8j9AB7lWV5sQrPRJhnhWwG2j05BVWi0Y5CNT5PrsgAOWKRFhuI2UEb/I0U06INnEVSYZtmmuIEEukhk49xEyK6fEt4co1E4FOwCTWdNZjEqyQWn63pz+LEPYlVO4aAaaaeRUOP55uwDzRLut8H0K9n5G7r4yYKxhCmBnIYDKonzhV8j5/2sQzVXBbYC4lZiJwB1gU2CgdmKBaajlT8MknOLqmk4TDlDFbwjzRo7yLcmIKh2g1ETgM1BZsnPnkriO8VTAHnDIR8K7b+ViVMxKh2oa/G+GlggUIG4KW4lzc7ZCs+ygNAXqBbI4nDDMr9RmZn21LwSeYjoHSLBE2JgUco4IE932+42x39wBTA0wEKhHKA+tRYsRZaHrE9IbENAgfBiaBXeKwx+aAf91PJ1a+kAjms0rriIK0ZJnqpiogd0tmK9kcoA2Y7xsJ5QrCDXsF6xFe97WB/E1pytjt6ca49FTa8hDvSI0VbR3+X4PJz8QJBxpMxiOR7Hp3Ah/5/uv5Y58czcr4VsLEc8Ge3nAKpxll95SH02y14+O5aTSURe54DiZpzepF3Sk4OZ7HuBB0PP8X+s83WFbJv84AAAAASUVORK5CYII=';
|
||||
|
||||
function $modal(data) { // data 必传 且为对象
|
||||
// 赋值默认参数
|
||||
if (data === undefined) {
|
||||
data = {}
|
||||
}
|
||||
|
||||
// 弹框类型不传默认为 alert
|
||||
if (data.type === undefined) {
|
||||
data.type = 'alert'
|
||||
}
|
||||
|
||||
tipIconImg = ''; //提示显示小图标
|
||||
// 提示类型 默认不传为 info
|
||||
if (data.icon === 'success') {
|
||||
tipIconImg = success_modal
|
||||
} else if (data.icon === 'warning') {
|
||||
tipIconImg = warning_modal
|
||||
} else if (data.icon === 'error') {
|
||||
tipIconImg = error_modal
|
||||
} else if (data.icon === 'question') {
|
||||
tipIconImg = question_modal
|
||||
} else {
|
||||
tipIconImg = info_modal
|
||||
}
|
||||
|
||||
// 弹框显示时长 confirm 下无效
|
||||
if (data.timeout === undefined && data.type != 'confirm') {
|
||||
data.timeout = 2000;
|
||||
} else {
|
||||
// 最短显示时间为500
|
||||
data.timeout < 500 ? data.timeout = 500 : data.timeout = data.timeout;
|
||||
}
|
||||
|
||||
// 过渡动画
|
||||
if (data.transition === undefined) {
|
||||
data.transition = 200
|
||||
}
|
||||
|
||||
// 遮罩层参数
|
||||
if (data.mask === undefined) {
|
||||
data.mask
|
||||
}
|
||||
|
||||
// 最小宽度
|
||||
if (data.width === undefined) {
|
||||
data.width = 300
|
||||
}
|
||||
|
||||
// 禁止页面滚动
|
||||
if (data.pageScroll === undefined) {
|
||||
data.pageScroll = true
|
||||
}
|
||||
|
||||
// 提示框标题
|
||||
if (data.title === undefined) {
|
||||
data.title = '提示'
|
||||
}
|
||||
|
||||
// 遮罩层关闭
|
||||
if (data.maskClose === undefined) {
|
||||
data.maskClose = false
|
||||
}
|
||||
|
||||
// 取消按钮文字
|
||||
if (data.cancelText === undefined) {
|
||||
data.cancelText = '取消'
|
||||
}
|
||||
|
||||
// 确认按钮文字
|
||||
if (data.confirmText === undefined) {
|
||||
data.confirmText = "确认"
|
||||
}
|
||||
|
||||
// 距离顶部距离
|
||||
if (data.top === undefined) {
|
||||
data.top = 100
|
||||
}
|
||||
|
||||
// 是否绝对剧中
|
||||
if (data.center === undefined) {
|
||||
data.center = false
|
||||
}
|
||||
|
||||
// 公共计算当前元剧中top 值
|
||||
function calculate(e, sun) {
|
||||
if (data.center) {
|
||||
var tipHeight = e.height() + sun;
|
||||
console.log(tipHeight)
|
||||
var windowHeight = $(window).height();
|
||||
console.log((windowHeight / 2) - (tipHeight / 2))
|
||||
data.top = (windowHeight / 2) - (tipHeight / 2)
|
||||
}
|
||||
}
|
||||
|
||||
// 生成相对唯一id 保证弹框绑定id唯一 保证事件绑定不重复 (此处用于保证弹框内层 继续 弹框 不出现事件绑定重复)
|
||||
var idText = "modailItem";
|
||||
var date = (new Date().getTime() * Math.random() + '').substr(0, 10)
|
||||
idText += date;
|
||||
|
||||
var titleSize = 16; //标题文字大小
|
||||
var fontSize = 14; //字体大小
|
||||
// 创建最外层元素
|
||||
if ($('#modail-dialog-box').index() < 0) {
|
||||
var modelBox = '<div id="modail-dialog-box"></div>'
|
||||
$('body').append(modelBox)
|
||||
// 设置样式
|
||||
$('#modail-dialog-box').css({
|
||||
fontFamily: '微软雅黑',
|
||||
fontSize: fontSize + 'px',
|
||||
color: '#666666',
|
||||
})
|
||||
}
|
||||
|
||||
// 生成 message 提示
|
||||
if (data.type === 'message') {
|
||||
$('#modail_message_box').html('');
|
||||
$('#modail-dialog-box').append('<div id="modail_message_box"></div>')
|
||||
// 设置message提示框长度
|
||||
var width_s = 40 + (fontSize * data.content.length) + fontSize + 4;
|
||||
// 不需要遮罩层
|
||||
$('#modail_message_box').append('<div id="' + idText + '_box"></div>');
|
||||
// 添加左侧图标
|
||||
$('#' + idText + '_box').append('<div class="' + idText + '_item item1"><img src="' + tipIconImg + '" /></div>');
|
||||
// 提示内容
|
||||
$('#' + idText + '_box').append('<div class="' + idText + '_item item2">' + data.content + '</div>');
|
||||
if (data.closable) {
|
||||
// 右侧关闭图标
|
||||
width_s += fontSize + 4;
|
||||
$('#' + idText + '_box').append('<div class="' + idText + '_item item3"><img src="' + close_modal + '" /></div>');
|
||||
}
|
||||
// 设置外层框样式
|
||||
$('#' + idText + '_box').css({
|
||||
width: width_s + 'px',
|
||||
padding: '10px 15px',
|
||||
background: '#fff',
|
||||
boxShadow: '0 1px 6px rgba(0,0,0,.2)',
|
||||
borderRadius: '5px',
|
||||
position: 'fixed',
|
||||
left: '0',
|
||||
margin: 'auto',
|
||||
right: '0',
|
||||
opacity: '0',
|
||||
})
|
||||
// 设置文字内容框样式
|
||||
$('.' + idText + '_item.item2').css({
|
||||
margin: '0 8px'
|
||||
})
|
||||
// 设置文字关闭按钮靠边样式
|
||||
$('.' + idText + '_item.item3').css({
|
||||
position: 'absolute',
|
||||
right: '15px',
|
||||
cursor: 'pointer'
|
||||
})
|
||||
// 设置内层框公共样式
|
||||
$('.' + idText + '_item').css({
|
||||
display: 'inline-block'
|
||||
})
|
||||
$('.' + idText + '_item img').css({
|
||||
width: fontSize + 4 + 'px',
|
||||
verticalAlign: 'top',
|
||||
position: 'relative',
|
||||
top: '1px'
|
||||
})
|
||||
// 计算 距离顶部距离
|
||||
calculate($('#' + idText + '_box'), 20)
|
||||
$('#' + idText + '_box').css({
|
||||
top: data.top - 60,
|
||||
})
|
||||
// 显示动画
|
||||
$('#' + idText + '_box').animate({
|
||||
'top': data.top,
|
||||
'opacity': '1',
|
||||
}, data.transition)
|
||||
|
||||
// 关闭动画
|
||||
function close() {
|
||||
$('#' + idText + '_box').animate({
|
||||
'top': data.top - 60,
|
||||
'opacity': '0',
|
||||
}, data.transition)
|
||||
// 删除DOM
|
||||
setTimeout(function () {
|
||||
$('#' + idText + '_box').remove();
|
||||
}, data.transition)
|
||||
}
|
||||
// 定时关闭
|
||||
var timers;
|
||||
if (!data.manual) {
|
||||
timers = setTimeout(close, data.timeout);
|
||||
}
|
||||
// 按钮关闭
|
||||
$('.' + idText + '_item.item3').click(function () {
|
||||
// 清除定时器
|
||||
clearInterval(timers)
|
||||
close();
|
||||
})
|
||||
} else if (data.type === 'alert') {
|
||||
// 是否禁止页面滚动
|
||||
if (data.pageScroll) {
|
||||
$('body').css('overflow', 'hidden')
|
||||
}
|
||||
// alert 提示框展示
|
||||
// 添加 alert 提示框
|
||||
$('#modail-dialog-box').append('<div id="' + idText + '_box"></div>')
|
||||
// 是否添加遮罩层
|
||||
if (data.mask) {
|
||||
$('#' + idText + '_box').append('<div class="' + idText + '_mask"></div>')
|
||||
// 设置mask外层弹框样式
|
||||
$('.' + idText + '_mask').css({
|
||||
position: 'fixed',
|
||||
top: 0,
|
||||
right: 0,
|
||||
left: 0,
|
||||
bottom: 0,
|
||||
background: 'rgba(0,0,0,0.4)',
|
||||
});
|
||||
}
|
||||
// 生成中间层
|
||||
$('#' + idText + '_box').append('<div class="' + idText + 'centerBox"></div>');
|
||||
|
||||
$('.' + idText + 'centerBox').css({
|
||||
width: data.width + 'px',
|
||||
padding: '20px',
|
||||
background: '#ffffff',
|
||||
position: 'fixed',
|
||||
right: 0,
|
||||
left: 0,
|
||||
margin: 'auto',
|
||||
borderRadius: '5px',
|
||||
boxShadow: '0 1px 6px rgba(0,0,0,.2)',
|
||||
opacity: '0'
|
||||
})
|
||||
// 生成头部以及提示内容部分
|
||||
$('.' + idText + 'centerBox').append('<div class="' + idText + 'title"></div>')
|
||||
// 添加左侧图标
|
||||
$('.' + idText + 'title').append('<div class="' + idText + '_item item1"><img src="' + tipIconImg + '" /></div>');
|
||||
// 提示标题
|
||||
$('.' + idText + 'title').append('<div class="' + idText + '_item item2">' + data.title + '</div>');
|
||||
if (data.closable) {
|
||||
// 右侧关闭图标
|
||||
$('.' + idText + 'title').append('<div class="' + idText + '_item item3"><img src="' + close_modal + '" /></div>');
|
||||
}
|
||||
// 设置标题框文字样式
|
||||
$('.' + idText + '_item.item2').css({
|
||||
margin: '0 8px',
|
||||
fontSize: titleSize + 'px',
|
||||
color: '#333333'
|
||||
})
|
||||
// 设置文字关闭按钮靠边样式
|
||||
$('.' + idText + '_item.item3').css({
|
||||
position: 'absolute',
|
||||
right: '15px',
|
||||
cursor: 'pointer'
|
||||
})
|
||||
// 设置内层框公共样式
|
||||
$('.' + idText + '_item').css({
|
||||
display: 'inline-block'
|
||||
})
|
||||
$('.' + idText + '_item img').css({
|
||||
width: titleSize + 4 + 'px',
|
||||
verticalAlign: 'top',
|
||||
position: 'relative',
|
||||
top: '-1px'
|
||||
})
|
||||
// 设置提示框 box 样式
|
||||
$('.' + idText + 'title').css({
|
||||
marginBottom: '10px'
|
||||
})
|
||||
//
|
||||
$('.' + idText + 'centerBox').append('<div class="' + idText + 'body">' + data.content + '</div>')
|
||||
// 设置样式
|
||||
$('.' + idText + 'body').css({
|
||||
padding: '0 ' + (titleSize + 10) + 'px'
|
||||
})
|
||||
// 计算距离顶部距离
|
||||
calculate($('.' + idText + 'centerBox'), 40);
|
||||
$('.' + idText + 'centerBox').css({
|
||||
top: data.top + 40,
|
||||
})
|
||||
// 显示动画
|
||||
$('.' + idText + 'centerBox').animate({
|
||||
'top': data.top,
|
||||
'opacity': '1',
|
||||
}, data.transition);
|
||||
// 关闭动画
|
||||
function close() {
|
||||
$('.' + idText + 'centerBox').animate({
|
||||
'top': data.top + 40,
|
||||
'opacity': '0',
|
||||
}, data.transition)
|
||||
// 删除DOM
|
||||
setTimeout(function () {
|
||||
$('#' + idText + '_box').remove();
|
||||
if (data.pageScroll) {
|
||||
$('body').css('overflow', 'auto')
|
||||
}
|
||||
}, data.transition)
|
||||
}
|
||||
// 定时关闭
|
||||
var timers;
|
||||
if (!data.manual) {
|
||||
timers = setTimeout(close, data.timeout);
|
||||
}
|
||||
// 按钮关闭
|
||||
$('.' + idText + '_item.item3').click(function () {
|
||||
// 清除定时器
|
||||
clearInterval(timers)
|
||||
close();
|
||||
})
|
||||
// 遮罩层关闭
|
||||
if (data.maskClose) {
|
||||
$('.' + idText + '_mask').click(function () {
|
||||
// 清除定时器
|
||||
clearInterval(timers)
|
||||
close();
|
||||
})
|
||||
}
|
||||
} else if (data.type === 'confirm') {
|
||||
// 是否禁止页面滚动
|
||||
if (data.pageScroll) {
|
||||
$('body').css('overflow', 'hidden')
|
||||
}
|
||||
// alert 提示框展示
|
||||
// 添加 alert 提示框
|
||||
$('#modail-dialog-box').append('<div id="' + idText + '_box"></div>')
|
||||
// 是否添加遮罩层
|
||||
if (data.mask) {
|
||||
$('#' + idText + '_box').append('<div class="' + idText + '_mask"></div>')
|
||||
// 设置mask外层弹框样式
|
||||
$('.' + idText + '_mask').css({
|
||||
position: 'fixed',
|
||||
top: 0,
|
||||
right: 0,
|
||||
left: 0,
|
||||
bottom: 0,
|
||||
background: 'rgba(0,0,0,0.4)',
|
||||
});
|
||||
}
|
||||
// 生成中间层
|
||||
$('#' + idText + '_box').append('<div class="' + idText + 'centerBox"></div>');
|
||||
$('.' + idText + 'centerBox').css({
|
||||
width: data.width + 'px',
|
||||
padding: '20px',
|
||||
background: '#ffffff',
|
||||
position: 'fixed',
|
||||
right: 0,
|
||||
left: 0,
|
||||
margin: 'auto',
|
||||
borderRadius: '5px',
|
||||
boxShadow: '0 1px 6px rgba(0,0,0,.2)',
|
||||
opacity: '0'
|
||||
})
|
||||
|
||||
// 生成头部以及提示内容部分
|
||||
$('.' + idText + 'centerBox').append('<div class="' + idText + 'title"></div>')
|
||||
// 添加左侧图标
|
||||
$('.' + idText + 'title').append('<div class="' + idText + '_item item1"><img src="' + tipIconImg + '" /></div>');
|
||||
// 提示标题
|
||||
$('.' + idText + 'title').append('<div class="' + idText + '_item item2">' + data.title + '</div>');
|
||||
if (data.closable) {
|
||||
// 右侧关闭图标
|
||||
$('.' + idText + 'title').append('<div class="' + idText + '_item item3"><img src="' + close_modal + '" /></div>');
|
||||
}
|
||||
// 设置标题框文字样式
|
||||
$('.' + idText + '_item.item2').css({
|
||||
margin: '0 8px',
|
||||
fontSize: titleSize + 'px',
|
||||
color: '#333333'
|
||||
})
|
||||
// 设置文字关闭按钮靠边样式
|
||||
$('.' + idText + '_item.item3').css({
|
||||
position: 'absolute',
|
||||
right: '15px',
|
||||
cursor: 'pointer'
|
||||
})
|
||||
// 设置内层框公共样式
|
||||
$('.' + idText + '_item').css({
|
||||
display: 'inline-block'
|
||||
})
|
||||
$('.' + idText + '_item img').css({
|
||||
width: titleSize + 4 + 'px',
|
||||
verticalAlign: 'top',
|
||||
position: 'relative',
|
||||
top: '-1px'
|
||||
})
|
||||
// 设置提示框 box 样式
|
||||
$('.' + idText + 'title').css({
|
||||
marginBottom: '10px'
|
||||
})
|
||||
//
|
||||
$('.' + idText + 'centerBox').append('<div class="' + idText + 'body">' + data.content + '</div>')
|
||||
// 设置样式
|
||||
$('.' + idText + 'body').css({
|
||||
padding: '0 ' + (titleSize + 10) + 'px'
|
||||
})
|
||||
// 设置按钮
|
||||
$('.' + idText + 'centerBox').append('<div class="' + idText + 'footer"><button class="button_s_model ' + idText + '_confirm">' + data.confirmText + '</button><button class="button_s_model ' + idText + '_cancel">' + data.cancelText + '</button><div class="clearBoth"></div></div>')
|
||||
$('.' + idText + 'footer').css({ paddingTop: '20px' })
|
||||
// 设置样式
|
||||
$('.button_s_model').css({
|
||||
float: 'right',
|
||||
marginLeft: '20px',
|
||||
outline: 'none',
|
||||
border: 'none',
|
||||
padding: '8px 30px',
|
||||
cursor: 'pointer',
|
||||
borderRadius: '5px',
|
||||
})
|
||||
// 计算距离顶部距离
|
||||
calculate($('.' + idText + 'centerBox'), 40)
|
||||
$('.' + idText + 'centerBox').css({
|
||||
top: data.top + 40,
|
||||
})
|
||||
|
||||
// 显示动画
|
||||
$('.' + idText + 'centerBox').animate({
|
||||
'top': data.top,
|
||||
'opacity': '1',
|
||||
}, data.transition);
|
||||
|
||||
// 鼠标移入移出
|
||||
$('.button_s_model').hover(function () {
|
||||
$(this).css({ 'opacity': '.8' })
|
||||
}, function () {
|
||||
$(this).css({ 'opacity': '1' })
|
||||
})
|
||||
// 鼠标按下
|
||||
$('.button_s_model').mousedown(function () {
|
||||
$(this).css({ 'opacity': '1' })
|
||||
}).mouseup(function () {
|
||||
$(this).css({ 'opacity': '.8' })
|
||||
})
|
||||
|
||||
// 取消按钮样式
|
||||
$('.button_s_model.' + idText + '_cancel').css({
|
||||
background: '#fff',
|
||||
borderBox: 'box-sizing',
|
||||
border: '1px solid #eee',
|
||||
}).click(function () {
|
||||
data.cancel(close)
|
||||
})
|
||||
// 确认按钮样式
|
||||
$('.button_s_model.' + idText + '_confirm').css({
|
||||
background: '#2d8cf0',
|
||||
color: '#fff',
|
||||
}).click(function () {
|
||||
data.confirm(close)
|
||||
})
|
||||
|
||||
// 清除浮动
|
||||
$('.clearBoth').css({
|
||||
clear: 'both'
|
||||
})
|
||||
|
||||
// 关闭动画
|
||||
function close() {
|
||||
$('.' + idText + 'centerBox').animate({
|
||||
'top': data.top + 40,
|
||||
'opacity': '0',
|
||||
}, data.transition)
|
||||
// 删除DOM
|
||||
setTimeout(function () {
|
||||
$('#' + idText + '_box').remove();
|
||||
if (data.pageScroll) {
|
||||
$('body').css('overflow', 'auto')
|
||||
}
|
||||
}, data.transition)
|
||||
}
|
||||
// 按钮关闭
|
||||
$('.' + idText + '_item.item3').click(function () {
|
||||
close();
|
||||
})
|
||||
// 遮罩层关闭
|
||||
if (data.maskClose) {
|
||||
$('.' + idText + '_mask').click(function () {
|
||||
close();
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 错误提示
|
||||
function $error(e){
|
||||
$modal({
|
||||
type: 'message', //弹框类型 'alert' or 'confirm' or 'message' message提示(开启之前如果之前含有弹框则清除)
|
||||
icon: 'error', // 提示图标显示 'info' or 'success' or 'warning' or 'error' or 'question'
|
||||
timeout: 2000, // 单位 ms 显示多少毫秒后关闭弹框 ( confirm 下无效 | 不传默认为 2000ms | 最短显示时间为500ms)
|
||||
content: e, // 提示文字
|
||||
center: true,// 是否绝对居中 默认为false 设置true后 top无效
|
||||
top:100, //距离顶部距离 单位px
|
||||
transition: 300, //过渡动画 默认 200 单位ms
|
||||
closable: true, // 是否显示可关闭按钮 默认为 false
|
||||
})
|
||||
}
|
||||
|
||||
// 成功提示
|
||||
function $success(e){
|
||||
$modal({
|
||||
type: 'message', //弹框类型 'alert' or 'confirm' or 'message' message提示(开启之前如果之前含有弹框则清除)
|
||||
icon: 'success', // 提示图标显示 'info' or 'success' or 'warning' or 'error' or 'question'
|
||||
timeout: 2000, // 单位 ms 显示多少毫秒后关闭弹框 ( confirm 下无效 | 不传默认为 2000ms | 最短显示时间为500ms)
|
||||
content: e, // 提示文字
|
||||
center: true,// 是否绝对居中 默认为false 设置true后 top无效
|
||||
top:100, //距离顶部距离 单位px
|
||||
transition: 300, //过渡动画 默认 200 单位ms
|
||||
closable: true, // 是否显示可关闭按钮 默认为 false
|
||||
})
|
||||
}
|
||||
|
||||
function message(e,data) {
|
||||
$modal({
|
||||
type: 'message', //弹框类型 'alert' or 'confirm' or 'message' message提示(开启之前如果之前含有弹框则清除)
|
||||
icon: e, // 提示图标显示 'info' or 'success' or 'warning' or 'error' or 'question'
|
||||
timeout: 2000, // 单位 ms 显示多少毫秒后关闭弹框 ( confirm 下无效 | 不传默认为 2000ms | 最短显示时间为500ms)
|
||||
content: data, // 提示文字
|
||||
center: false,// 是否绝对居中 默认为false 设置true后 top无效
|
||||
top:100, //距离顶部距离 单位px
|
||||
transition: 300, //过渡动画 默认 200 单位ms
|
||||
closable: true, // 是否显示可关闭按钮 默认为 false
|
||||
})
|
||||
}
|
||||
$('.message').click(function () {
|
||||
message($(this).attr('data-icon'))
|
||||
})
|
||||
7
assets/js/vendor/Chart.bundle.min.js
vendored
Normal file
1
assets/js/vendor/dataList.industry.news.js
generated
vendored
Normal file
1
assets/js/vendor/dataList.software.news.js
vendored
Normal file
184
assets/js/vendor/dataTables.bootstrap4.js
vendored
Normal file
@ -0,0 +1,184 @@
|
||||
/*! DataTables Bootstrap 4 integration
|
||||
* ©2011-2017 SpryMedia Ltd - datatables.net/license
|
||||
*/
|
||||
|
||||
/**
|
||||
* DataTables integration for Bootstrap 4. This requires Bootstrap 4 and
|
||||
* DataTables 1.10 or newer.
|
||||
*
|
||||
* This file sets the defaults and adds options to DataTables to style its
|
||||
* controls using Bootstrap. See http://datatables.net/manual/styling/bootstrap
|
||||
* for further information.
|
||||
*/
|
||||
(function( factory ){
|
||||
if ( typeof define === 'function' && define.amd ) {
|
||||
// AMD
|
||||
define( ['jquery', 'datatables.net'], function ( $ ) {
|
||||
return factory( $, window, document );
|
||||
} );
|
||||
}
|
||||
else if ( typeof exports === 'object' ) {
|
||||
// CommonJS
|
||||
module.exports = function (root, $) {
|
||||
if ( ! root ) {
|
||||
root = window;
|
||||
}
|
||||
|
||||
if ( ! $ || ! $.fn.dataTable ) {
|
||||
// Require DataTables, which attaches to jQuery, including
|
||||
// jQuery if needed and have a $ property so we can access the
|
||||
// jQuery object that is used
|
||||
$ = require('datatables.net')(root, $).$;
|
||||
}
|
||||
|
||||
return factory( $, root, root.document );
|
||||
};
|
||||
}
|
||||
else {
|
||||
// Browser
|
||||
factory( jQuery, window, document );
|
||||
}
|
||||
}(function( $, window, document, undefined ) {
|
||||
'use strict';
|
||||
var DataTable = $.fn.dataTable;
|
||||
|
||||
|
||||
/* Set the defaults for DataTables initialisation */
|
||||
$.extend( true, DataTable.defaults, {
|
||||
dom:
|
||||
"<'row'<'col-sm-12 col-md-6'l><'col-sm-12 col-md-6'f>>" +
|
||||
"<'row'<'col-sm-12'tr>>" +
|
||||
"<'row'<'col-sm-12 col-md-5'i><'col-sm-12 col-md-7'p>>",
|
||||
renderer: 'bootstrap'
|
||||
} );
|
||||
|
||||
|
||||
/* Default class modification */
|
||||
$.extend( DataTable.ext.classes, {
|
||||
sWrapper: "dataTables_wrapper dt-bootstrap4",
|
||||
sFilterInput: "form-control form-control-sm",
|
||||
sLengthSelect: "custom-select custom-select-sm form-control form-control-sm",
|
||||
sProcessing: "dataTables_processing card",
|
||||
sPageButton: "paginate_button page-item"
|
||||
} );
|
||||
|
||||
|
||||
/* Bootstrap paging button renderer */
|
||||
DataTable.ext.renderer.pageButton.bootstrap = function ( settings, host, idx, buttons, page, pages ) {
|
||||
var api = new DataTable.Api( settings );
|
||||
var classes = settings.oClasses;
|
||||
var lang = settings.oLanguage.oPaginate;
|
||||
var aria = settings.oLanguage.oAria.paginate || {};
|
||||
var btnDisplay, btnClass, counter=0;
|
||||
|
||||
var attach = function( container, buttons ) {
|
||||
var i, ien, node, button;
|
||||
var clickHandler = function ( e ) {
|
||||
e.preventDefault();
|
||||
if ( !$(e.currentTarget).hasClass('disabled') && api.page() != e.data.action ) {
|
||||
api.page( e.data.action ).draw( 'page' );
|
||||
}
|
||||
};
|
||||
|
||||
for ( i=0, ien=buttons.length ; i<ien ; i++ ) {
|
||||
button = buttons[i];
|
||||
|
||||
if ( $.isArray( button ) ) {
|
||||
attach( container, button );
|
||||
}
|
||||
else {
|
||||
btnDisplay = '';
|
||||
btnClass = '';
|
||||
|
||||
switch ( button ) {
|
||||
case 'ellipsis':
|
||||
btnDisplay = '…';
|
||||
btnClass = 'disabled';
|
||||
break;
|
||||
|
||||
case 'first':
|
||||
btnDisplay = lang.sFirst;
|
||||
btnClass = button + (page > 0 ?
|
||||
'' : ' disabled');
|
||||
break;
|
||||
|
||||
case 'previous':
|
||||
btnDisplay = lang.sPrevious;
|
||||
btnClass = button + (page > 0 ?
|
||||
'' : ' disabled');
|
||||
break;
|
||||
|
||||
case 'next':
|
||||
btnDisplay = lang.sNext;
|
||||
btnClass = button + (page < pages-1 ?
|
||||
'' : ' disabled');
|
||||
break;
|
||||
|
||||
case 'last':
|
||||
btnDisplay = lang.sLast;
|
||||
btnClass = button + (page < pages-1 ?
|
||||
'' : ' disabled');
|
||||
break;
|
||||
|
||||
default:
|
||||
btnDisplay = button + 1;
|
||||
btnClass = page === button ?
|
||||
'active' : '';
|
||||
break;
|
||||
}
|
||||
|
||||
if ( btnDisplay ) {
|
||||
node = $('<li>', {
|
||||
'class': classes.sPageButton+' '+btnClass,
|
||||
'id': idx === 0 && typeof button === 'string' ?
|
||||
settings.sTableId +'_'+ button :
|
||||
null
|
||||
} )
|
||||
.append( $('<a>', {
|
||||
'href': '#',
|
||||
'aria-controls': settings.sTableId,
|
||||
'aria-label': aria[ button ],
|
||||
'data-dt-idx': counter,
|
||||
'tabindex': settings.iTabIndex,
|
||||
'class': 'page-link'
|
||||
} )
|
||||
.html( btnDisplay )
|
||||
)
|
||||
.appendTo( container );
|
||||
|
||||
settings.oApi._fnBindAction(
|
||||
node, {action: button}, clickHandler
|
||||
);
|
||||
|
||||
counter++;
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
// IE9 throws an 'unknown error' if document.activeElement is used
|
||||
// inside an iframe or frame.
|
||||
var activeEl;
|
||||
|
||||
try {
|
||||
// Because this approach is destroying and recreating the paging
|
||||
// elements, focus is lost on the select button which is bad for
|
||||
// accessibility. So we want to restore focus once the draw has
|
||||
// completed
|
||||
activeEl = $(host).find(document.activeElement).data('dt-idx');
|
||||
}
|
||||
catch (e) {}
|
||||
|
||||
attach(
|
||||
$(host).empty().html('<ul class="pagination"/>').children('ul'),
|
||||
buttons
|
||||
);
|
||||
|
||||
if ( activeEl !== undefined ) {
|
||||
$(host).find( '[data-dt-idx='+activeEl+']' ).focus();
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
return DataTable;
|
||||
}));
|
||||
5
assets/js/vendor/dataTables.checkboxes.min.js
vendored
Normal file
30
assets/js/vendor/dataTables.responsive.min.js
vendored
Normal file
@ -0,0 +1,30 @@
|
||||
/*!
|
||||
Responsive 2.2.3
|
||||
2014-2018 SpryMedia Ltd - datatables.net/license
|
||||
*/
|
||||
(function(d){"function"===typeof define&&define.amd?define(["jquery","datatables.net"],function(l){return d(l,window,document)}):"object"===typeof exports?module.exports=function(l,j){l||(l=window);if(!j||!j.fn.dataTable)j=require("datatables.net")(l,j).$;return d(j,l,l.document)}:d(jQuery,window,document)})(function(d,l,j,q){function t(a,b,c){var e=b+"-"+c;if(n[e])return n[e];for(var d=[],a=a.cell(b,c).node().childNodes,b=0,c=a.length;b<c;b++)d.push(a[b]);return n[e]=d}function r(a,b,d){var e=b+
|
||||
"-"+d;if(n[e]){for(var a=a.cell(b,d).node(),d=n[e][0].parentNode.childNodes,b=[],f=0,g=d.length;f<g;f++)b.push(d[f]);d=0;for(f=b.length;d<f;d++)a.appendChild(b[d]);n[e]=q}}var o=d.fn.dataTable,i=function(a,b){if(!o.versionCheck||!o.versionCheck("1.10.10"))throw"DataTables Responsive requires DataTables 1.10.10 or newer";this.s={dt:new o.Api(a),columns:[],current:[]};this.s.dt.settings()[0].responsive||(b&&"string"===typeof b.details?b.details={type:b.details}:b&&!1===b.details?b.details={type:!1}:
|
||||
b&&!0===b.details&&(b.details={type:"inline"}),this.c=d.extend(!0,{},i.defaults,o.defaults.responsive,b),a.responsive=this,this._constructor())};d.extend(i.prototype,{_constructor:function(){var a=this,b=this.s.dt,c=b.settings()[0],e=d(l).width();b.settings()[0]._responsive=this;d(l).on("resize.dtr orientationchange.dtr",o.util.throttle(function(){var b=d(l).width();b!==e&&(a._resize(),e=b)}));c.oApi._fnCallbackReg(c,"aoRowCreatedCallback",function(e){-1!==d.inArray(!1,a.s.current)&&d(">td, >th",
|
||||
e).each(function(e){e=b.column.index("toData",e);!1===a.s.current[e]&&d(this).css("display","none")})});b.on("destroy.dtr",function(){b.off(".dtr");d(b.table().body()).off(".dtr");d(l).off("resize.dtr orientationchange.dtr");d.each(a.s.current,function(b,e){!1===e&&a._setColumnVis(b,!0)})});this.c.breakpoints.sort(function(a,b){return a.width<b.width?1:a.width>b.width?-1:0});this._classLogic();this._resizeAuto();c=this.c.details;!1!==c.type&&(a._detailsInit(),b.on("column-visibility.dtr",function(){a._timer&&
|
||||
clearTimeout(a._timer);a._timer=setTimeout(function(){a._timer=null;a._classLogic();a._resizeAuto();a._resize();a._redrawChildren()},100)}),b.on("draw.dtr",function(){a._redrawChildren()}),d(b.table().node()).addClass("dtr-"+c.type));b.on("column-reorder.dtr",function(){a._classLogic();a._resizeAuto();a._resize()});b.on("column-sizing.dtr",function(){a._resizeAuto();a._resize()});b.on("preXhr.dtr",function(){var e=[];b.rows().every(function(){this.child.isShown()&&e.push(this.id(true))});b.one("draw.dtr",
|
||||
function(){a._resizeAuto();a._resize();b.rows(e).every(function(){a._detailsDisplay(this,false)})})});b.on("init.dtr",function(){a._resizeAuto();a._resize();d.inArray(false,a.s.current)&&b.columns.adjust()});this._resize()},_columnsVisiblity:function(a){var b=this.s.dt,c=this.s.columns,e,f,g=c.map(function(a,b){return{columnIdx:b,priority:a.priority}}).sort(function(a,b){return a.priority!==b.priority?a.priority-b.priority:a.columnIdx-b.columnIdx}),h=d.map(c,function(e,c){return!1===b.column(c).visible()?
|
||||
"not-visible":e.auto&&null===e.minWidth?!1:!0===e.auto?"-":-1!==d.inArray(a,e.includeIn)}),m=0;e=0;for(f=h.length;e<f;e++)!0===h[e]&&(m+=c[e].minWidth);e=b.settings()[0].oScroll;e=e.sY||e.sX?e.iBarWidth:0;m=b.table().container().offsetWidth-e-m;e=0;for(f=h.length;e<f;e++)c[e].control&&(m-=c[e].minWidth);var s=!1;e=0;for(f=g.length;e<f;e++){var k=g[e].columnIdx;"-"===h[k]&&(!c[k].control&&c[k].minWidth)&&(s||0>m-c[k].minWidth?(s=!0,h[k]=!1):h[k]=!0,m-=c[k].minWidth)}g=!1;e=0;for(f=c.length;e<f;e++)if(!c[e].control&&
|
||||
!c[e].never&&!1===h[e]){g=!0;break}e=0;for(f=c.length;e<f;e++)c[e].control&&(h[e]=g),"not-visible"===h[e]&&(h[e]=!1);-1===d.inArray(!0,h)&&(h[0]=!0);return h},_classLogic:function(){var a=this,b=this.c.breakpoints,c=this.s.dt,e=c.columns().eq(0).map(function(a){var b=this.column(a),e=b.header().className,a=c.settings()[0].aoColumns[a].responsivePriority;a===q&&(b=d(b.header()).data("priority"),a=b!==q?1*b:1E4);return{className:e,includeIn:[],auto:!1,control:!1,never:e.match(/\bnever\b/)?!0:!1,priority:a}}),
|
||||
f=function(a,b){var c=e[a].includeIn;-1===d.inArray(b,c)&&c.push(b)},g=function(d,c,g,k){if(g)if("max-"===g){k=a._find(c).width;c=0;for(g=b.length;c<g;c++)b[c].width<=k&&f(d,b[c].name)}else if("min-"===g){k=a._find(c).width;c=0;for(g=b.length;c<g;c++)b[c].width>=k&&f(d,b[c].name)}else{if("not-"===g){c=0;for(g=b.length;c<g;c++)-1===b[c].name.indexOf(k)&&f(d,b[c].name)}}else e[d].includeIn.push(c)};e.each(function(a,e){for(var c=a.className.split(" "),f=!1,i=0,l=c.length;i<l;i++){var j=d.trim(c[i]);
|
||||
if("all"===j){f=!0;a.includeIn=d.map(b,function(a){return a.name});return}if("none"===j||a.never){f=!0;return}if("control"===j){f=!0;a.control=!0;return}d.each(b,function(a,b){var d=b.name.split("-"),c=j.match(RegExp("(min\\-|max\\-|not\\-)?("+d[0]+")(\\-[_a-zA-Z0-9])?"));c&&(f=!0,c[2]===d[0]&&c[3]==="-"+d[1]?g(e,b.name,c[1],c[2]+c[3]):c[2]===d[0]&&!c[3]&&g(e,b.name,c[1],c[2]))})}f||(a.auto=!0)});this.s.columns=e},_detailsDisplay:function(a,b){var c=this,e=this.s.dt,f=this.c.details;if(f&&!1!==f.type){var g=
|
||||
f.display(a,b,function(){return f.renderer(e,a[0],c._detailsObj(a[0]))});(!0===g||!1===g)&&d(e.table().node()).triggerHandler("responsive-display.dt",[e,a,g,b])}},_detailsInit:function(){var a=this,b=this.s.dt,c=this.c.details;"inline"===c.type&&(c.target="td:first-child, th:first-child");b.on("draw.dtr",function(){a._tabIndexes()});a._tabIndexes();d(b.table().body()).on("keyup.dtr","td, th",function(a){a.keyCode===13&&d(this).data("dtr-keyboard")&&d(this).click()});var e=c.target;d(b.table().body()).on("click.dtr mousedown.dtr mouseup.dtr",
|
||||
"string"===typeof e?e:"td, th",function(c){if(d(b.table().node()).hasClass("collapsed")&&d.inArray(d(this).closest("tr").get(0),b.rows().nodes().toArray())!==-1){if(typeof e==="number"){var g=e<0?b.columns().eq(0).length+e:e;if(b.cell(this).index().column!==g)return}g=b.row(d(this).closest("tr"));c.type==="click"?a._detailsDisplay(g,false):c.type==="mousedown"?d(this).css("outline","none"):c.type==="mouseup"&&d(this).blur().css("outline","")}})},_detailsObj:function(a){var b=this,c=this.s.dt;return d.map(this.s.columns,
|
||||
function(e,d){if(!e.never&&!e.control)return{title:c.settings()[0].aoColumns[d].sTitle,data:c.cell(a,d).render(b.c.orthogonal),hidden:c.column(d).visible()&&!b.s.current[d],columnIndex:d,rowIndex:a}})},_find:function(a){for(var b=this.c.breakpoints,c=0,e=b.length;c<e;c++)if(b[c].name===a)return b[c]},_redrawChildren:function(){var a=this,b=this.s.dt;b.rows({page:"current"}).iterator("row",function(c,e){b.row(e);a._detailsDisplay(b.row(e),!0)})},_resize:function(){var a=this,b=this.s.dt,c=d(l).width(),
|
||||
e=this.c.breakpoints,f=e[0].name,g=this.s.columns,h,m=this.s.current.slice();for(h=e.length-1;0<=h;h--)if(c<=e[h].width){f=e[h].name;break}var i=this._columnsVisiblity(f);this.s.current=i;e=!1;h=0;for(c=g.length;h<c;h++)if(!1===i[h]&&!g[h].never&&!g[h].control&&!1===!b.column(h).visible()){e=!0;break}d(b.table().node()).toggleClass("collapsed",e);var k=!1,j=0;b.columns().eq(0).each(function(b,c){!0===i[c]&&j++;i[c]!==m[c]&&(k=!0,a._setColumnVis(b,i[c]))});k&&(this._redrawChildren(),d(b.table().node()).trigger("responsive-resize.dt",
|
||||
[b,this.s.current]),0===b.page.info().recordsDisplay&&d("td",b.table().body()).eq(0).attr("colspan",j))},_resizeAuto:function(){var a=this.s.dt,b=this.s.columns;if(this.c.auto&&-1!==d.inArray(!0,d.map(b,function(a){return a.auto}))){d.isEmptyObject(n)||d.each(n,function(b){b=b.split("-");r(a,1*b[0],1*b[1])});a.table().node();var c=a.table().node().cloneNode(!1),e=d(a.table().header().cloneNode(!1)).appendTo(c),f=d(a.table().body()).clone(!1,!1).empty().appendTo(c),g=a.columns().header().filter(function(b){return a.column(b).visible()}).to$().clone(!1).css("display",
|
||||
"table-cell").css("min-width",0);d(f).append(d(a.rows({page:"current"}).nodes()).clone(!1)).find("th, td").css("display","");if(f=a.table().footer()){var f=d(f.cloneNode(!1)).appendTo(c),h=a.columns().footer().filter(function(b){return a.column(b).visible()}).to$().clone(!1).css("display","table-cell");d("<tr/>").append(h).appendTo(f)}d("<tr/>").append(g).appendTo(e);"inline"===this.c.details.type&&d(c).addClass("dtr-inline collapsed");d(c).find("[name]").removeAttr("name");d(c).css("position","relative");
|
||||
c=d("<div/>").css({width:1,height:1,overflow:"hidden",clear:"both"}).append(c);c.insertBefore(a.table().node());g.each(function(c){c=a.column.index("fromVisible",c);b[c].minWidth=this.offsetWidth||0});c.remove()}},_setColumnVis:function(a,b){var c=this.s.dt,e=b?"":"none";d(c.column(a).header()).css("display",e);d(c.column(a).footer()).css("display",e);c.column(a).nodes().to$().css("display",e);d.isEmptyObject(n)||c.cells(null,a).indexes().each(function(a){r(c,a.row,a.column)})},_tabIndexes:function(){var a=
|
||||
this.s.dt,b=a.cells({page:"current"}).nodes().to$(),c=a.settings()[0],e=this.c.details.target;b.filter("[data-dtr-keyboard]").removeData("[data-dtr-keyboard]");"number"===typeof e?a.cells(null,e,{page:"current"}).nodes().to$().attr("tabIndex",c.iTabIndex).data("dtr-keyboard",1):("td:first-child, th:first-child"===e&&(e=">td:first-child, >th:first-child"),d(e,a.rows({page:"current"}).nodes()).attr("tabIndex",c.iTabIndex).data("dtr-keyboard",1))}});i.breakpoints=[{name:"desktop",width:Infinity},{name:"tablet-l",
|
||||
width:1024},{name:"tablet-p",width:768},{name:"mobile-l",width:480},{name:"mobile-p",width:320}];i.display={childRow:function(a,b,c){if(b){if(d(a.node()).hasClass("parent"))return a.child(c(),"child").show(),!0}else{if(a.child.isShown())return a.child(!1),d(a.node()).removeClass("parent"),!1;a.child(c(),"child").show();d(a.node()).addClass("parent");return!0}},childRowImmediate:function(a,b,c){if(!b&&a.child.isShown()||!a.responsive.hasHidden())return a.child(!1),d(a.node()).removeClass("parent"),
|
||||
!1;a.child(c(),"child").show();d(a.node()).addClass("parent");return!0},modal:function(a){return function(b,c,e){if(c)d("div.dtr-modal-content").empty().append(e());else{var f=function(){g.remove();d(j).off("keypress.dtr")},g=d('<div class="dtr-modal"/>').append(d('<div class="dtr-modal-display"/>').append(d('<div class="dtr-modal-content"/>').append(e())).append(d('<div class="dtr-modal-close">×</div>').click(function(){f()}))).append(d('<div class="dtr-modal-background"/>').click(function(){f()})).appendTo("body");
|
||||
d(j).on("keyup.dtr",function(a){27===a.keyCode&&(a.stopPropagation(),f())})}a&&a.header&&d("div.dtr-modal-content").prepend("<h2>"+a.header(b)+"</h2>")}}};var n={};i.renderer={listHiddenNodes:function(){return function(a,b,c){var e=d('<ul data-dtr-index="'+b+'" class="dtr-details"/>'),f=!1;d.each(c,function(b,c){c.hidden&&(d('<li data-dtr-index="'+c.columnIndex+'" data-dt-row="'+c.rowIndex+'" data-dt-column="'+c.columnIndex+'"><span class="dtr-title">'+c.title+"</span> </li>").append(d('<span class="dtr-data"/>').append(t(a,
|
||||
c.rowIndex,c.columnIndex))).appendTo(e),f=!0)});return f?e:!1}},listHidden:function(){return function(a,b,c){return(a=d.map(c,function(a){return a.hidden?'<li data-dtr-index="'+a.columnIndex+'" data-dt-row="'+a.rowIndex+'" data-dt-column="'+a.columnIndex+'"><span class="dtr-title">'+a.title+'</span> <span class="dtr-data">'+a.data+"</span></li>":""}).join(""))?d('<ul data-dtr-index="'+b+'" class="dtr-details"/>').append(a):!1}},tableAll:function(a){a=d.extend({tableClass:""},a);return function(b,
|
||||
c,e){b=d.map(e,function(a){return'<tr data-dt-row="'+a.rowIndex+'" data-dt-column="'+a.columnIndex+'"><td>'+a.title+":</td> <td>"+a.data+"</td></tr>"}).join("");return d('<table class="'+a.tableClass+' dtr-details" width="100%"/>').append(b)}}};i.defaults={breakpoints:i.breakpoints,auto:!0,details:{display:i.display.childRow,renderer:i.renderer.listHidden(),target:0,type:"inline"},orthogonal:"display"};var p=d.fn.dataTable.Api;p.register("responsive()",function(){return this});p.register("responsive.index()",
|
||||
function(a){a=d(a);return{column:a.data("dtr-index"),row:a.parent().data("dtr-index")}});p.register("responsive.rebuild()",function(){return this.iterator("table",function(a){a._responsive&&a._responsive._classLogic()})});p.register("responsive.recalc()",function(){return this.iterator("table",function(a){a._responsive&&(a._responsive._resizeAuto(),a._responsive._resize())})});p.register("responsive.hasHidden()",function(){var a=this.context[0];return a._responsive?-1!==d.inArray(!1,a._responsive.s.current):
|
||||
!1});p.registerPlural("columns().responsiveHidden()","column().responsiveHidden()",function(){return this.iterator("column",function(a,b){return a._responsive?a._responsive.s.current[b]:!1},1)});i.version="2.2.3";d.fn.dataTable.Responsive=i;d.fn.DataTable.Responsive=i;d(j).on("preInit.dt.dtr",function(a,b){if("dt"===a.namespace&&(d(b.nTable).hasClass("responsive")||d(b.nTable).hasClass("dt-responsive")||b.oInit.responsive||o.defaults.responsive)){var c=b.oInit.responsive;!1!==c&&new i(b,d.isPlainObject(c)?
|
||||
c:{})}});return i});
|
||||
8
assets/js/vendor/jquery-jvectormap-1.2.2.min.js
vendored
Normal file
1
assets/js/vendor/jquery-jvectormap-au-mill-en.js
vendored
Normal file
1
assets/js/vendor/jquery-jvectormap-us-il-chicago-mill-en.js
vendored
Normal file
1
assets/js/vendor/jquery-jvectormap-world-mill-en.js
vendored
Normal file
166
assets/js/vendor/jquery.dataTables.min.js
vendored
Normal file
@ -0,0 +1,166 @@
|
||||
/*!
|
||||
DataTables 1.10.19
|
||||
©2008-2018 SpryMedia Ltd - datatables.net/license
|
||||
*/
|
||||
(function(h){"function"===typeof define&&define.amd?define(["jquery"],function(E){return h(E,window,document)}):"object"===typeof exports?module.exports=function(E,H){E||(E=window);H||(H="undefined"!==typeof window?require("jquery"):require("jquery")(E));return h(H,E,E.document)}:h(jQuery,window,document)})(function(h,E,H,k){function Z(a){var b,c,d={};h.each(a,function(e){if((b=e.match(/^([^A-Z]+?)([A-Z])/))&&-1!=="a aa ai ao as b fn i m o s ".indexOf(b[1]+" "))c=e.replace(b[0],b[2].toLowerCase()),
|
||||
d[c]=e,"o"===b[1]&&Z(a[e])});a._hungarianMap=d}function J(a,b,c){a._hungarianMap||Z(a);var d;h.each(b,function(e){d=a._hungarianMap[e];if(d!==k&&(c||b[d]===k))"o"===d.charAt(0)?(b[d]||(b[d]={}),h.extend(!0,b[d],b[e]),J(a[d],b[d],c)):b[d]=b[e]})}function Ca(a){var b=n.defaults.oLanguage,c=b.sDecimal;c&&Da(c);if(a){var d=a.sZeroRecords;!a.sEmptyTable&&(d&&"No data available in table"===b.sEmptyTable)&&F(a,a,"sZeroRecords","sEmptyTable");!a.sLoadingRecords&&(d&&"Loading..."===b.sLoadingRecords)&&F(a,
|
||||
a,"sZeroRecords","sLoadingRecords");a.sInfoThousands&&(a.sThousands=a.sInfoThousands);(a=a.sDecimal)&&c!==a&&Da(a)}}function fb(a){A(a,"ordering","bSort");A(a,"orderMulti","bSortMulti");A(a,"orderClasses","bSortClasses");A(a,"orderCellsTop","bSortCellsTop");A(a,"order","aaSorting");A(a,"orderFixed","aaSortingFixed");A(a,"paging","bPaginate");A(a,"pagingType","sPaginationType");A(a,"pageLength","iDisplayLength");A(a,"searching","bFilter");"boolean"===typeof a.sScrollX&&(a.sScrollX=a.sScrollX?"100%":
|
||||
"");"boolean"===typeof a.scrollX&&(a.scrollX=a.scrollX?"100%":"");if(a=a.aoSearchCols)for(var b=0,c=a.length;b<c;b++)a[b]&&J(n.models.oSearch,a[b])}function gb(a){A(a,"orderable","bSortable");A(a,"orderData","aDataSort");A(a,"orderSequence","asSorting");A(a,"orderDataType","sortDataType");var b=a.aDataSort;"number"===typeof b&&!h.isArray(b)&&(a.aDataSort=[b])}function hb(a){if(!n.__browser){var b={};n.__browser=b;var c=h("<div/>").css({position:"fixed",top:0,left:-1*h(E).scrollLeft(),height:1,width:1,
|
||||
overflow:"hidden"}).append(h("<div/>").css({position:"absolute",top:1,left:1,width:100,overflow:"scroll"}).append(h("<div/>").css({width:"100%",height:10}))).appendTo("body"),d=c.children(),e=d.children();b.barWidth=d[0].offsetWidth-d[0].clientWidth;b.bScrollOversize=100===e[0].offsetWidth&&100!==d[0].clientWidth;b.bScrollbarLeft=1!==Math.round(e.offset().left);b.bBounding=c[0].getBoundingClientRect().width?!0:!1;c.remove()}h.extend(a.oBrowser,n.__browser);a.oScroll.iBarWidth=n.__browser.barWidth}
|
||||
function ib(a,b,c,d,e,f){var g,j=!1;c!==k&&(g=c,j=!0);for(;d!==e;)a.hasOwnProperty(d)&&(g=j?b(g,a[d],d,a):a[d],j=!0,d+=f);return g}function Ea(a,b){var c=n.defaults.column,d=a.aoColumns.length,c=h.extend({},n.models.oColumn,c,{nTh:b?b:H.createElement("th"),sTitle:c.sTitle?c.sTitle:b?b.innerHTML:"",aDataSort:c.aDataSort?c.aDataSort:[d],mData:c.mData?c.mData:d,idx:d});a.aoColumns.push(c);c=a.aoPreSearchCols;c[d]=h.extend({},n.models.oSearch,c[d]);ka(a,d,h(b).data())}function ka(a,b,c){var b=a.aoColumns[b],
|
||||
d=a.oClasses,e=h(b.nTh);if(!b.sWidthOrig){b.sWidthOrig=e.attr("width")||null;var f=(e.attr("style")||"").match(/width:\s*(\d+[pxem%]+)/);f&&(b.sWidthOrig=f[1])}c!==k&&null!==c&&(gb(c),J(n.defaults.column,c),c.mDataProp!==k&&!c.mData&&(c.mData=c.mDataProp),c.sType&&(b._sManualType=c.sType),c.className&&!c.sClass&&(c.sClass=c.className),c.sClass&&e.addClass(c.sClass),h.extend(b,c),F(b,c,"sWidth","sWidthOrig"),c.iDataSort!==k&&(b.aDataSort=[c.iDataSort]),F(b,c,"aDataSort"));var g=b.mData,j=S(g),i=b.mRender?
|
||||
S(b.mRender):null,c=function(a){return"string"===typeof a&&-1!==a.indexOf("@")};b._bAttrSrc=h.isPlainObject(g)&&(c(g.sort)||c(g.type)||c(g.filter));b._setter=null;b.fnGetData=function(a,b,c){var d=j(a,b,k,c);return i&&b?i(d,b,a,c):d};b.fnSetData=function(a,b,c){return N(g)(a,b,c)};"number"!==typeof g&&(a._rowReadObject=!0);a.oFeatures.bSort||(b.bSortable=!1,e.addClass(d.sSortableNone));a=-1!==h.inArray("asc",b.asSorting);c=-1!==h.inArray("desc",b.asSorting);!b.bSortable||!a&&!c?(b.sSortingClass=d.sSortableNone,
|
||||
b.sSortingClassJUI=""):a&&!c?(b.sSortingClass=d.sSortableAsc,b.sSortingClassJUI=d.sSortJUIAscAllowed):!a&&c?(b.sSortingClass=d.sSortableDesc,b.sSortingClassJUI=d.sSortJUIDescAllowed):(b.sSortingClass=d.sSortable,b.sSortingClassJUI=d.sSortJUI)}function $(a){if(!1!==a.oFeatures.bAutoWidth){var b=a.aoColumns;Fa(a);for(var c=0,d=b.length;c<d;c++)b[c].nTh.style.width=b[c].sWidth}b=a.oScroll;(""!==b.sY||""!==b.sX)&&la(a);r(a,null,"column-sizing",[a])}function aa(a,b){var c=ma(a,"bVisible");return"number"===
|
||||
typeof c[b]?c[b]:null}function ba(a,b){var c=ma(a,"bVisible"),c=h.inArray(b,c);return-1!==c?c:null}function V(a){var b=0;h.each(a.aoColumns,function(a,d){d.bVisible&&"none"!==h(d.nTh).css("display")&&b++});return b}function ma(a,b){var c=[];h.map(a.aoColumns,function(a,e){a[b]&&c.push(e)});return c}function Ga(a){var b=a.aoColumns,c=a.aoData,d=n.ext.type.detect,e,f,g,j,i,h,l,q,t;e=0;for(f=b.length;e<f;e++)if(l=b[e],t=[],!l.sType&&l._sManualType)l.sType=l._sManualType;else if(!l.sType){g=0;for(j=d.length;g<
|
||||
j;g++){i=0;for(h=c.length;i<h;i++){t[i]===k&&(t[i]=B(a,i,e,"type"));q=d[g](t[i],a);if(!q&&g!==d.length-1)break;if("html"===q)break}if(q){l.sType=q;break}}l.sType||(l.sType="string")}}function jb(a,b,c,d){var e,f,g,j,i,m,l=a.aoColumns;if(b)for(e=b.length-1;0<=e;e--){m=b[e];var q=m.targets!==k?m.targets:m.aTargets;h.isArray(q)||(q=[q]);f=0;for(g=q.length;f<g;f++)if("number"===typeof q[f]&&0<=q[f]){for(;l.length<=q[f];)Ea(a);d(q[f],m)}else if("number"===typeof q[f]&&0>q[f])d(l.length+q[f],m);else if("string"===
|
||||
typeof q[f]){j=0;for(i=l.length;j<i;j++)("_all"==q[f]||h(l[j].nTh).hasClass(q[f]))&&d(j,m)}}if(c){e=0;for(a=c.length;e<a;e++)d(e,c[e])}}function O(a,b,c,d){var e=a.aoData.length,f=h.extend(!0,{},n.models.oRow,{src:c?"dom":"data",idx:e});f._aData=b;a.aoData.push(f);for(var g=a.aoColumns,j=0,i=g.length;j<i;j++)g[j].sType=null;a.aiDisplayMaster.push(e);b=a.rowIdFn(b);b!==k&&(a.aIds[b]=f);(c||!a.oFeatures.bDeferRender)&&Ha(a,e,c,d);return e}function na(a,b){var c;b instanceof h||(b=h(b));return b.map(function(b,
|
||||
e){c=Ia(a,e);return O(a,c.data,e,c.cells)})}function B(a,b,c,d){var e=a.iDraw,f=a.aoColumns[c],g=a.aoData[b]._aData,j=f.sDefaultContent,i=f.fnGetData(g,d,{settings:a,row:b,col:c});if(i===k)return a.iDrawError!=e&&null===j&&(K(a,0,"Requested unknown parameter "+("function"==typeof f.mData?"{function}":"'"+f.mData+"'")+" for row "+b+", column "+c,4),a.iDrawError=e),j;if((i===g||null===i)&&null!==j&&d!==k)i=j;else if("function"===typeof i)return i.call(g);return null===i&&"display"==d?"":i}function kb(a,
|
||||
b,c,d){a.aoColumns[c].fnSetData(a.aoData[b]._aData,d,{settings:a,row:b,col:c})}function Ja(a){return h.map(a.match(/(\\.|[^\.])+/g)||[""],function(a){return a.replace(/\\\./g,".")})}function S(a){if(h.isPlainObject(a)){var b={};h.each(a,function(a,c){c&&(b[a]=S(c))});return function(a,c,f,g){var j=b[c]||b._;return j!==k?j(a,c,f,g):a}}if(null===a)return function(a){return a};if("function"===typeof a)return function(b,c,f,g){return a(b,c,f,g)};if("string"===typeof a&&(-1!==a.indexOf(".")||-1!==a.indexOf("[")||
|
||||
-1!==a.indexOf("("))){var c=function(a,b,f){var g,j;if(""!==f){j=Ja(f);for(var i=0,m=j.length;i<m;i++){f=j[i].match(ca);g=j[i].match(W);if(f){j[i]=j[i].replace(ca,"");""!==j[i]&&(a=a[j[i]]);g=[];j.splice(0,i+1);j=j.join(".");if(h.isArray(a)){i=0;for(m=a.length;i<m;i++)g.push(c(a[i],b,j))}a=f[0].substring(1,f[0].length-1);a=""===a?g:g.join(a);break}else if(g){j[i]=j[i].replace(W,"");a=a[j[i]]();continue}if(null===a||a[j[i]]===k)return k;a=a[j[i]]}}return a};return function(b,e){return c(b,e,a)}}return function(b){return b[a]}}
|
||||
function N(a){if(h.isPlainObject(a))return N(a._);if(null===a)return function(){};if("function"===typeof a)return function(b,d,e){a(b,"set",d,e)};if("string"===typeof a&&(-1!==a.indexOf(".")||-1!==a.indexOf("[")||-1!==a.indexOf("("))){var b=function(a,d,e){var e=Ja(e),f;f=e[e.length-1];for(var g,j,i=0,m=e.length-1;i<m;i++){g=e[i].match(ca);j=e[i].match(W);if(g){e[i]=e[i].replace(ca,"");a[e[i]]=[];f=e.slice();f.splice(0,i+1);g=f.join(".");if(h.isArray(d)){j=0;for(m=d.length;j<m;j++)f={},b(f,d[j],g),
|
||||
a[e[i]].push(f)}else a[e[i]]=d;return}j&&(e[i]=e[i].replace(W,""),a=a[e[i]](d));if(null===a[e[i]]||a[e[i]]===k)a[e[i]]={};a=a[e[i]]}if(f.match(W))a[f.replace(W,"")](d);else a[f.replace(ca,"")]=d};return function(c,d){return b(c,d,a)}}return function(b,d){b[a]=d}}function Ka(a){return D(a.aoData,"_aData")}function oa(a){a.aoData.length=0;a.aiDisplayMaster.length=0;a.aiDisplay.length=0;a.aIds={}}function pa(a,b,c){for(var d=-1,e=0,f=a.length;e<f;e++)a[e]==b?d=e:a[e]>b&&a[e]--; -1!=d&&c===k&&a.splice(d,
|
||||
1)}function da(a,b,c,d){var e=a.aoData[b],f,g=function(c,d){for(;c.childNodes.length;)c.removeChild(c.firstChild);c.innerHTML=B(a,b,d,"display")};if("dom"===c||(!c||"auto"===c)&&"dom"===e.src)e._aData=Ia(a,e,d,d===k?k:e._aData).data;else{var j=e.anCells;if(j)if(d!==k)g(j[d],d);else{c=0;for(f=j.length;c<f;c++)g(j[c],c)}}e._aSortData=null;e._aFilterData=null;g=a.aoColumns;if(d!==k)g[d].sType=null;else{c=0;for(f=g.length;c<f;c++)g[c].sType=null;La(a,e)}}function Ia(a,b,c,d){var e=[],f=b.firstChild,g,
|
||||
j,i=0,m,l=a.aoColumns,q=a._rowReadObject,d=d!==k?d:q?{}:[],t=function(a,b){if("string"===typeof a){var c=a.indexOf("@");-1!==c&&(c=a.substring(c+1),N(a)(d,b.getAttribute(c)))}},G=function(a){if(c===k||c===i)j=l[i],m=h.trim(a.innerHTML),j&&j._bAttrSrc?(N(j.mData._)(d,m),t(j.mData.sort,a),t(j.mData.type,a),t(j.mData.filter,a)):q?(j._setter||(j._setter=N(j.mData)),j._setter(d,m)):d[i]=m;i++};if(f)for(;f;){g=f.nodeName.toUpperCase();if("TD"==g||"TH"==g)G(f),e.push(f);f=f.nextSibling}else{e=b.anCells;
|
||||
f=0;for(g=e.length;f<g;f++)G(e[f])}if(b=b.firstChild?b:b.nTr)(b=b.getAttribute("id"))&&N(a.rowId)(d,b);return{data:d,cells:e}}function Ha(a,b,c,d){var e=a.aoData[b],f=e._aData,g=[],j,i,m,l,q;if(null===e.nTr){j=c||H.createElement("tr");e.nTr=j;e.anCells=g;j._DT_RowIndex=b;La(a,e);l=0;for(q=a.aoColumns.length;l<q;l++){m=a.aoColumns[l];i=c?d[l]:H.createElement(m.sCellType);i._DT_CellIndex={row:b,column:l};g.push(i);if((!c||m.mRender||m.mData!==l)&&(!h.isPlainObject(m.mData)||m.mData._!==l+".display"))i.innerHTML=
|
||||
B(a,b,l,"display");m.sClass&&(i.className+=" "+m.sClass);m.bVisible&&!c?j.appendChild(i):!m.bVisible&&c&&i.parentNode.removeChild(i);m.fnCreatedCell&&m.fnCreatedCell.call(a.oInstance,i,B(a,b,l),f,b,l)}r(a,"aoRowCreatedCallback",null,[j,f,b,g])}e.nTr.setAttribute("role","row")}function La(a,b){var c=b.nTr,d=b._aData;if(c){var e=a.rowIdFn(d);e&&(c.id=e);d.DT_RowClass&&(e=d.DT_RowClass.split(" "),b.__rowc=b.__rowc?qa(b.__rowc.concat(e)):e,h(c).removeClass(b.__rowc.join(" ")).addClass(d.DT_RowClass));
|
||||
d.DT_RowAttr&&h(c).attr(d.DT_RowAttr);d.DT_RowData&&h(c).data(d.DT_RowData)}}function lb(a){var b,c,d,e,f,g=a.nTHead,j=a.nTFoot,i=0===h("th, td",g).length,m=a.oClasses,l=a.aoColumns;i&&(e=h("<tr/>").appendTo(g));b=0;for(c=l.length;b<c;b++)f=l[b],d=h(f.nTh).addClass(f.sClass),i&&d.appendTo(e),a.oFeatures.bSort&&(d.addClass(f.sSortingClass),!1!==f.bSortable&&(d.attr("tabindex",a.iTabIndex).attr("aria-controls",a.sTableId),Ma(a,f.nTh,b))),f.sTitle!=d[0].innerHTML&&d.html(f.sTitle),Na(a,"header")(a,d,
|
||||
f,m);i&&ea(a.aoHeader,g);h(g).find(">tr").attr("role","row");h(g).find(">tr>th, >tr>td").addClass(m.sHeaderTH);h(j).find(">tr>th, >tr>td").addClass(m.sFooterTH);if(null!==j){a=a.aoFooter[0];b=0;for(c=a.length;b<c;b++)f=l[b],f.nTf=a[b].cell,f.sClass&&h(f.nTf).addClass(f.sClass)}}function fa(a,b,c){var d,e,f,g=[],j=[],i=a.aoColumns.length,m;if(b){c===k&&(c=!1);d=0;for(e=b.length;d<e;d++){g[d]=b[d].slice();g[d].nTr=b[d].nTr;for(f=i-1;0<=f;f--)!a.aoColumns[f].bVisible&&!c&&g[d].splice(f,1);j.push([])}d=
|
||||
0;for(e=g.length;d<e;d++){if(a=g[d].nTr)for(;f=a.firstChild;)a.removeChild(f);f=0;for(b=g[d].length;f<b;f++)if(m=i=1,j[d][f]===k){a.appendChild(g[d][f].cell);for(j[d][f]=1;g[d+i]!==k&&g[d][f].cell==g[d+i][f].cell;)j[d+i][f]=1,i++;for(;g[d][f+m]!==k&&g[d][f].cell==g[d][f+m].cell;){for(c=0;c<i;c++)j[d+c][f+m]=1;m++}h(g[d][f].cell).attr("rowspan",i).attr("colspan",m)}}}}function P(a){var b=r(a,"aoPreDrawCallback","preDraw",[a]);if(-1!==h.inArray(!1,b))C(a,!1);else{var b=[],c=0,d=a.asStripeClasses,e=
|
||||
d.length,f=a.oLanguage,g=a.iInitDisplayStart,j="ssp"==y(a),i=a.aiDisplay;a.bDrawing=!0;g!==k&&-1!==g&&(a._iDisplayStart=j?g:g>=a.fnRecordsDisplay()?0:g,a.iInitDisplayStart=-1);var g=a._iDisplayStart,m=a.fnDisplayEnd();if(a.bDeferLoading)a.bDeferLoading=!1,a.iDraw++,C(a,!1);else if(j){if(!a.bDestroying&&!mb(a))return}else a.iDraw++;if(0!==i.length){f=j?a.aoData.length:m;for(j=j?0:g;j<f;j++){var l=i[j],q=a.aoData[l];null===q.nTr&&Ha(a,l);var t=q.nTr;if(0!==e){var G=d[c%e];q._sRowStripe!=G&&(h(t).removeClass(q._sRowStripe).addClass(G),
|
||||
q._sRowStripe=G)}r(a,"aoRowCallback",null,[t,q._aData,c,j,l]);b.push(t);c++}}else c=f.sZeroRecords,1==a.iDraw&&"ajax"==y(a)?c=f.sLoadingRecords:f.sEmptyTable&&0===a.fnRecordsTotal()&&(c=f.sEmptyTable),b[0]=h("<tr/>",{"class":e?d[0]:""}).append(h("<td />",{valign:"top",colSpan:V(a),"class":a.oClasses.sRowEmpty}).html(c))[0];r(a,"aoHeaderCallback","header",[h(a.nTHead).children("tr")[0],Ka(a),g,m,i]);r(a,"aoFooterCallback","footer",[h(a.nTFoot).children("tr")[0],Ka(a),g,m,i]);d=h(a.nTBody);d.children().detach();
|
||||
d.append(h(b));r(a,"aoDrawCallback","draw",[a]);a.bSorted=!1;a.bFiltered=!1;a.bDrawing=!1}}function T(a,b){var c=a.oFeatures,d=c.bFilter;c.bSort&&nb(a);d?ga(a,a.oPreviousSearch):a.aiDisplay=a.aiDisplayMaster.slice();!0!==b&&(a._iDisplayStart=0);a._drawHold=b;P(a);a._drawHold=!1}function ob(a){var b=a.oClasses,c=h(a.nTable),c=h("<div/>").insertBefore(c),d=a.oFeatures,e=h("<div/>",{id:a.sTableId+"_wrapper","class":b.sWrapper+(a.nTFoot?"":" "+b.sNoFooter)});a.nHolding=c[0];a.nTableWrapper=e[0];a.nTableReinsertBefore=
|
||||
a.nTable.nextSibling;for(var f=a.sDom.split(""),g,j,i,m,l,q,k=0;k<f.length;k++){g=null;j=f[k];if("<"==j){i=h("<div/>")[0];m=f[k+1];if("'"==m||'"'==m){l="";for(q=2;f[k+q]!=m;)l+=f[k+q],q++;"H"==l?l=b.sJUIHeader:"F"==l&&(l=b.sJUIFooter);-1!=l.indexOf(".")?(m=l.split("."),i.id=m[0].substr(1,m[0].length-1),i.className=m[1]):"#"==l.charAt(0)?i.id=l.substr(1,l.length-1):i.className=l;k+=q}e.append(i);e=h(i)}else if(">"==j)e=e.parent();else if("l"==j&&d.bPaginate&&d.bLengthChange)g=pb(a);else if("f"==j&&
|
||||
d.bFilter)g=qb(a);else if("r"==j&&d.bProcessing)g=rb(a);else if("t"==j)g=sb(a);else if("i"==j&&d.bInfo)g=tb(a);else if("p"==j&&d.bPaginate)g=ub(a);else if(0!==n.ext.feature.length){i=n.ext.feature;q=0;for(m=i.length;q<m;q++)if(j==i[q].cFeature){g=i[q].fnInit(a);break}}g&&(i=a.aanFeatures,i[j]||(i[j]=[]),i[j].push(g),e.append(g))}c.replaceWith(e);a.nHolding=null}function ea(a,b){var c=h(b).children("tr"),d,e,f,g,j,i,m,l,q,k;a.splice(0,a.length);f=0;for(i=c.length;f<i;f++)a.push([]);f=0;for(i=c.length;f<
|
||||
i;f++){d=c[f];for(e=d.firstChild;e;){if("TD"==e.nodeName.toUpperCase()||"TH"==e.nodeName.toUpperCase()){l=1*e.getAttribute("colspan");q=1*e.getAttribute("rowspan");l=!l||0===l||1===l?1:l;q=!q||0===q||1===q?1:q;g=0;for(j=a[f];j[g];)g++;m=g;k=1===l?!0:!1;for(j=0;j<l;j++)for(g=0;g<q;g++)a[f+g][m+j]={cell:e,unique:k},a[f+g].nTr=d}e=e.nextSibling}}}function ra(a,b,c){var d=[];c||(c=a.aoHeader,b&&(c=[],ea(c,b)));for(var b=0,e=c.length;b<e;b++)for(var f=0,g=c[b].length;f<g;f++)if(c[b][f].unique&&(!d[f]||
|
||||
!a.bSortCellsTop))d[f]=c[b][f].cell;return d}function sa(a,b,c){r(a,"aoServerParams","serverParams",[b]);if(b&&h.isArray(b)){var d={},e=/(.*?)\[\]$/;h.each(b,function(a,b){var c=b.name.match(e);c?(c=c[0],d[c]||(d[c]=[]),d[c].push(b.value)):d[b.name]=b.value});b=d}var f,g=a.ajax,j=a.oInstance,i=function(b){r(a,null,"xhr",[a,b,a.jqXHR]);c(b)};if(h.isPlainObject(g)&&g.data){f=g.data;var m="function"===typeof f?f(b,a):f,b="function"===typeof f&&m?m:h.extend(!0,b,m);delete g.data}m={data:b,success:function(b){var c=
|
||||
b.error||b.sError;c&&K(a,0,c);a.json=b;i(b)},dataType:"json",cache:!1,type:a.sServerMethod,error:function(b,c){var d=r(a,null,"xhr",[a,null,a.jqXHR]);-1===h.inArray(!0,d)&&("parsererror"==c?K(a,0,"Invalid JSON response",1):4===b.readyState&&K(a,0,"Ajax error",7));C(a,!1)}};a.oAjaxData=b;r(a,null,"preXhr",[a,b]);a.fnServerData?a.fnServerData.call(j,a.sAjaxSource,h.map(b,function(a,b){return{name:b,value:a}}),i,a):a.sAjaxSource||"string"===typeof g?a.jqXHR=h.ajax(h.extend(m,{url:g||a.sAjaxSource})):
|
||||
"function"===typeof g?a.jqXHR=g.call(j,b,i,a):(a.jqXHR=h.ajax(h.extend(m,g)),g.data=f)}function mb(a){return a.bAjaxDataGet?(a.iDraw++,C(a,!0),sa(a,vb(a),function(b){wb(a,b)}),!1):!0}function vb(a){var b=a.aoColumns,c=b.length,d=a.oFeatures,e=a.oPreviousSearch,f=a.aoPreSearchCols,g,j=[],i,m,l,k=X(a);g=a._iDisplayStart;i=!1!==d.bPaginate?a._iDisplayLength:-1;var t=function(a,b){j.push({name:a,value:b})};t("sEcho",a.iDraw);t("iColumns",c);t("sColumns",D(b,"sName").join(","));t("iDisplayStart",g);t("iDisplayLength",
|
||||
i);var G={draw:a.iDraw,columns:[],order:[],start:g,length:i,search:{value:e.sSearch,regex:e.bRegex}};for(g=0;g<c;g++)m=b[g],l=f[g],i="function"==typeof m.mData?"function":m.mData,G.columns.push({data:i,name:m.sName,searchable:m.bSearchable,orderable:m.bSortable,search:{value:l.sSearch,regex:l.bRegex}}),t("mDataProp_"+g,i),d.bFilter&&(t("sSearch_"+g,l.sSearch),t("bRegex_"+g,l.bRegex),t("bSearchable_"+g,m.bSearchable)),d.bSort&&t("bSortable_"+g,m.bSortable);d.bFilter&&(t("sSearch",e.sSearch),t("bRegex",
|
||||
e.bRegex));d.bSort&&(h.each(k,function(a,b){G.order.push({column:b.col,dir:b.dir});t("iSortCol_"+a,b.col);t("sSortDir_"+a,b.dir)}),t("iSortingCols",k.length));b=n.ext.legacy.ajax;return null===b?a.sAjaxSource?j:G:b?j:G}function wb(a,b){var c=ta(a,b),d=b.sEcho!==k?b.sEcho:b.draw,e=b.iTotalRecords!==k?b.iTotalRecords:b.recordsTotal,f=b.iTotalDisplayRecords!==k?b.iTotalDisplayRecords:b.recordsFiltered;if(d){if(1*d<a.iDraw)return;a.iDraw=1*d}oa(a);a._iRecordsTotal=parseInt(e,10);a._iRecordsDisplay=parseInt(f,
|
||||
10);d=0;for(e=c.length;d<e;d++)O(a,c[d]);a.aiDisplay=a.aiDisplayMaster.slice();a.bAjaxDataGet=!1;P(a);a._bInitComplete||ua(a,b);a.bAjaxDataGet=!0;C(a,!1)}function ta(a,b){var c=h.isPlainObject(a.ajax)&&a.ajax.dataSrc!==k?a.ajax.dataSrc:a.sAjaxDataProp;return"data"===c?b.aaData||b[c]:""!==c?S(c)(b):b}function qb(a){var b=a.oClasses,c=a.sTableId,d=a.oLanguage,e=a.oPreviousSearch,f=a.aanFeatures,g='<input type="search" class="'+b.sFilterInput+'"/>',j=d.sSearch,j=j.match(/_INPUT_/)?j.replace("_INPUT_",
|
||||
g):j+g,b=h("<div/>",{id:!f.f?c+"_filter":null,"class":b.sFilter}).append(h("<label/>").append(j)),f=function(){var b=!this.value?"":this.value;b!=e.sSearch&&(ga(a,{sSearch:b,bRegex:e.bRegex,bSmart:e.bSmart,bCaseInsensitive:e.bCaseInsensitive}),a._iDisplayStart=0,P(a))},g=null!==a.searchDelay?a.searchDelay:"ssp"===y(a)?400:0,i=h("input",b).val(e.sSearch).attr("placeholder",d.sSearchPlaceholder).on("keyup.DT search.DT input.DT paste.DT cut.DT",g?Oa(f,g):f).on("keypress.DT",function(a){if(13==a.keyCode)return!1}).attr("aria-controls",
|
||||
c);h(a.nTable).on("search.dt.DT",function(b,c){if(a===c)try{i[0]!==H.activeElement&&i.val(e.sSearch)}catch(d){}});return b[0]}function ga(a,b,c){var d=a.oPreviousSearch,e=a.aoPreSearchCols,f=function(a){d.sSearch=a.sSearch;d.bRegex=a.bRegex;d.bSmart=a.bSmart;d.bCaseInsensitive=a.bCaseInsensitive};Ga(a);if("ssp"!=y(a)){xb(a,b.sSearch,c,b.bEscapeRegex!==k?!b.bEscapeRegex:b.bRegex,b.bSmart,b.bCaseInsensitive);f(b);for(b=0;b<e.length;b++)yb(a,e[b].sSearch,b,e[b].bEscapeRegex!==k?!e[b].bEscapeRegex:e[b].bRegex,
|
||||
e[b].bSmart,e[b].bCaseInsensitive);zb(a)}else f(b);a.bFiltered=!0;r(a,null,"search",[a])}function zb(a){for(var b=n.ext.search,c=a.aiDisplay,d,e,f=0,g=b.length;f<g;f++){for(var j=[],i=0,m=c.length;i<m;i++)e=c[i],d=a.aoData[e],b[f](a,d._aFilterData,e,d._aData,i)&&j.push(e);c.length=0;h.merge(c,j)}}function yb(a,b,c,d,e,f){if(""!==b){for(var g=[],j=a.aiDisplay,d=Pa(b,d,e,f),e=0;e<j.length;e++)b=a.aoData[j[e]]._aFilterData[c],d.test(b)&&g.push(j[e]);a.aiDisplay=g}}function xb(a,b,c,d,e,f){var d=Pa(b,
|
||||
d,e,f),f=a.oPreviousSearch.sSearch,g=a.aiDisplayMaster,j,e=[];0!==n.ext.search.length&&(c=!0);j=Ab(a);if(0>=b.length)a.aiDisplay=g.slice();else{if(j||c||f.length>b.length||0!==b.indexOf(f)||a.bSorted)a.aiDisplay=g.slice();b=a.aiDisplay;for(c=0;c<b.length;c++)d.test(a.aoData[b[c]]._sFilterRow)&&e.push(b[c]);a.aiDisplay=e}}function Pa(a,b,c,d){a=b?a:Qa(a);c&&(a="^(?=.*?"+h.map(a.match(/"[^"]+"|[^ ]+/g)||[""],function(a){if('"'===a.charAt(0))var b=a.match(/^"(.*)"$/),a=b?b[1]:a;return a.replace('"',
|
||||
"")}).join(")(?=.*?")+").*$");return RegExp(a,d?"i":"")}function Ab(a){var b=a.aoColumns,c,d,e,f,g,j,i,h,l=n.ext.type.search;c=!1;d=0;for(f=a.aoData.length;d<f;d++)if(h=a.aoData[d],!h._aFilterData){j=[];e=0;for(g=b.length;e<g;e++)c=b[e],c.bSearchable?(i=B(a,d,e,"filter"),l[c.sType]&&(i=l[c.sType](i)),null===i&&(i=""),"string"!==typeof i&&i.toString&&(i=i.toString())):i="",i.indexOf&&-1!==i.indexOf("&")&&(va.innerHTML=i,i=Wb?va.textContent:va.innerText),i.replace&&(i=i.replace(/[\r\n]/g,"")),j.push(i);
|
||||
h._aFilterData=j;h._sFilterRow=j.join(" ");c=!0}return c}function Bb(a){return{search:a.sSearch,smart:a.bSmart,regex:a.bRegex,caseInsensitive:a.bCaseInsensitive}}function Cb(a){return{sSearch:a.search,bSmart:a.smart,bRegex:a.regex,bCaseInsensitive:a.caseInsensitive}}function tb(a){var b=a.sTableId,c=a.aanFeatures.i,d=h("<div/>",{"class":a.oClasses.sInfo,id:!c?b+"_info":null});c||(a.aoDrawCallback.push({fn:Db,sName:"information"}),d.attr("role","status").attr("aria-live","polite"),h(a.nTable).attr("aria-describedby",
|
||||
b+"_info"));return d[0]}function Db(a){var b=a.aanFeatures.i;if(0!==b.length){var c=a.oLanguage,d=a._iDisplayStart+1,e=a.fnDisplayEnd(),f=a.fnRecordsTotal(),g=a.fnRecordsDisplay(),j=g?c.sInfo:c.sInfoEmpty;g!==f&&(j+=" "+c.sInfoFiltered);j+=c.sInfoPostFix;j=Eb(a,j);c=c.fnInfoCallback;null!==c&&(j=c.call(a.oInstance,a,d,e,f,g,j));h(b).html(j)}}function Eb(a,b){var c=a.fnFormatNumber,d=a._iDisplayStart+1,e=a._iDisplayLength,f=a.fnRecordsDisplay(),g=-1===e;return b.replace(/_START_/g,c.call(a,d)).replace(/_END_/g,
|
||||
c.call(a,a.fnDisplayEnd())).replace(/_MAX_/g,c.call(a,a.fnRecordsTotal())).replace(/_TOTAL_/g,c.call(a,f)).replace(/_PAGE_/g,c.call(a,g?1:Math.ceil(d/e))).replace(/_PAGES_/g,c.call(a,g?1:Math.ceil(f/e)))}function ha(a){var b,c,d=a.iInitDisplayStart,e=a.aoColumns,f;c=a.oFeatures;var g=a.bDeferLoading;if(a.bInitialised){ob(a);lb(a);fa(a,a.aoHeader);fa(a,a.aoFooter);C(a,!0);c.bAutoWidth&&Fa(a);b=0;for(c=e.length;b<c;b++)f=e[b],f.sWidth&&(f.nTh.style.width=v(f.sWidth));r(a,null,"preInit",[a]);T(a);e=
|
||||
y(a);if("ssp"!=e||g)"ajax"==e?sa(a,[],function(c){var f=ta(a,c);for(b=0;b<f.length;b++)O(a,f[b]);a.iInitDisplayStart=d;T(a);C(a,!1);ua(a,c)},a):(C(a,!1),ua(a))}else setTimeout(function(){ha(a)},200)}function ua(a,b){a._bInitComplete=!0;(b||a.oInit.aaData)&&$(a);r(a,null,"plugin-init",[a,b]);r(a,"aoInitComplete","init",[a,b])}function Ra(a,b){var c=parseInt(b,10);a._iDisplayLength=c;Sa(a);r(a,null,"length",[a,c])}function pb(a){for(var b=a.oClasses,c=a.sTableId,d=a.aLengthMenu,e=h.isArray(d[0]),f=
|
||||
e?d[0]:d,d=e?d[1]:d,e=h("<select/>",{name:c+"_length","aria-controls":c,"class":b.sLengthSelect}),g=0,j=f.length;g<j;g++)e[0][g]=new Option("number"===typeof d[g]?a.fnFormatNumber(d[g]):d[g],f[g]);var i=h("<div><label/></div>").addClass(b.sLength);a.aanFeatures.l||(i[0].id=c+"_length");i.children().append(a.oLanguage.sLengthMenu.replace("_MENU_",e[0].outerHTML));h("select",i).val(a._iDisplayLength).on("change.DT",function(){Ra(a,h(this).val());P(a)});h(a.nTable).on("length.dt.DT",function(b,c,d){a===
|
||||
c&&h("select",i).val(d)});return i[0]}function ub(a){var b=a.sPaginationType,c=n.ext.pager[b],d="function"===typeof c,e=function(a){P(a)},b=h("<div/>").addClass(a.oClasses.sPaging+b)[0],f=a.aanFeatures;d||c.fnInit(a,b,e);f.p||(b.id=a.sTableId+"_paginate",a.aoDrawCallback.push({fn:function(a){if(d){var b=a._iDisplayStart,i=a._iDisplayLength,h=a.fnRecordsDisplay(),l=-1===i,b=l?0:Math.ceil(b/i),i=l?1:Math.ceil(h/i),h=c(b,i),k,l=0;for(k=f.p.length;l<k;l++)Na(a,"pageButton")(a,f.p[l],l,h,b,i)}else c.fnUpdate(a,
|
||||
e)},sName:"pagination"}));return b}function Ta(a,b,c){var d=a._iDisplayStart,e=a._iDisplayLength,f=a.fnRecordsDisplay();0===f||-1===e?d=0:"number"===typeof b?(d=b*e,d>f&&(d=0)):"first"==b?d=0:"previous"==b?(d=0<=e?d-e:0,0>d&&(d=0)):"next"==b?d+e<f&&(d+=e):"last"==b?d=Math.floor((f-1)/e)*e:K(a,0,"Unknown paging action: "+b,5);b=a._iDisplayStart!==d;a._iDisplayStart=d;b&&(r(a,null,"page",[a]),c&&P(a));return b}function rb(a){return h("<div/>",{id:!a.aanFeatures.r?a.sTableId+"_processing":null,"class":a.oClasses.sProcessing}).html(a.oLanguage.sProcessing).insertBefore(a.nTable)[0]}
|
||||
function C(a,b){a.oFeatures.bProcessing&&h(a.aanFeatures.r).css("display",b?"block":"none");r(a,null,"processing",[a,b])}function sb(a){var b=h(a.nTable);b.attr("role","grid");var c=a.oScroll;if(""===c.sX&&""===c.sY)return a.nTable;var d=c.sX,e=c.sY,f=a.oClasses,g=b.children("caption"),j=g.length?g[0]._captionSide:null,i=h(b[0].cloneNode(!1)),m=h(b[0].cloneNode(!1)),l=b.children("tfoot");l.length||(l=null);i=h("<div/>",{"class":f.sScrollWrapper}).append(h("<div/>",{"class":f.sScrollHead}).css({overflow:"hidden",
|
||||
position:"relative",border:0,width:d?!d?null:v(d):"100%"}).append(h("<div/>",{"class":f.sScrollHeadInner}).css({"box-sizing":"content-box",width:c.sXInner||"100%"}).append(i.removeAttr("id").css("margin-left",0).append("top"===j?g:null).append(b.children("thead"))))).append(h("<div/>",{"class":f.sScrollBody}).css({position:"relative",overflow:"auto",width:!d?null:v(d)}).append(b));l&&i.append(h("<div/>",{"class":f.sScrollFoot}).css({overflow:"hidden",border:0,width:d?!d?null:v(d):"100%"}).append(h("<div/>",
|
||||
{"class":f.sScrollFootInner}).append(m.removeAttr("id").css("margin-left",0).append("bottom"===j?g:null).append(b.children("tfoot")))));var b=i.children(),k=b[0],f=b[1],t=l?b[2]:null;if(d)h(f).on("scroll.DT",function(){var a=this.scrollLeft;k.scrollLeft=a;l&&(t.scrollLeft=a)});h(f).css(e&&c.bCollapse?"max-height":"height",e);a.nScrollHead=k;a.nScrollBody=f;a.nScrollFoot=t;a.aoDrawCallback.push({fn:la,sName:"scrolling"});return i[0]}function la(a){var b=a.oScroll,c=b.sX,d=b.sXInner,e=b.sY,b=b.iBarWidth,
|
||||
f=h(a.nScrollHead),g=f[0].style,j=f.children("div"),i=j[0].style,m=j.children("table"),j=a.nScrollBody,l=h(j),q=j.style,t=h(a.nScrollFoot).children("div"),n=t.children("table"),o=h(a.nTHead),p=h(a.nTable),s=p[0],r=s.style,u=a.nTFoot?h(a.nTFoot):null,x=a.oBrowser,U=x.bScrollOversize,Xb=D(a.aoColumns,"nTh"),Q,L,R,w,Ua=[],y=[],z=[],A=[],B,C=function(a){a=a.style;a.paddingTop="0";a.paddingBottom="0";a.borderTopWidth="0";a.borderBottomWidth="0";a.height=0};L=j.scrollHeight>j.clientHeight;if(a.scrollBarVis!==
|
||||
L&&a.scrollBarVis!==k)a.scrollBarVis=L,$(a);else{a.scrollBarVis=L;p.children("thead, tfoot").remove();u&&(R=u.clone().prependTo(p),Q=u.find("tr"),R=R.find("tr"));w=o.clone().prependTo(p);o=o.find("tr");L=w.find("tr");w.find("th, td").removeAttr("tabindex");c||(q.width="100%",f[0].style.width="100%");h.each(ra(a,w),function(b,c){B=aa(a,b);c.style.width=a.aoColumns[B].sWidth});u&&I(function(a){a.style.width=""},R);f=p.outerWidth();if(""===c){r.width="100%";if(U&&(p.find("tbody").height()>j.offsetHeight||
|
||||
"scroll"==l.css("overflow-y")))r.width=v(p.outerWidth()-b);f=p.outerWidth()}else""!==d&&(r.width=v(d),f=p.outerWidth());I(C,L);I(function(a){z.push(a.innerHTML);Ua.push(v(h(a).css("width")))},L);I(function(a,b){if(h.inArray(a,Xb)!==-1)a.style.width=Ua[b]},o);h(L).height(0);u&&(I(C,R),I(function(a){A.push(a.innerHTML);y.push(v(h(a).css("width")))},R),I(function(a,b){a.style.width=y[b]},Q),h(R).height(0));I(function(a,b){a.innerHTML='<div class="dataTables_sizing">'+z[b]+"</div>";a.childNodes[0].style.height=
|
||||
"0";a.childNodes[0].style.overflow="hidden";a.style.width=Ua[b]},L);u&&I(function(a,b){a.innerHTML='<div class="dataTables_sizing">'+A[b]+"</div>";a.childNodes[0].style.height="0";a.childNodes[0].style.overflow="hidden";a.style.width=y[b]},R);if(p.outerWidth()<f){Q=j.scrollHeight>j.offsetHeight||"scroll"==l.css("overflow-y")?f+b:f;if(U&&(j.scrollHeight>j.offsetHeight||"scroll"==l.css("overflow-y")))r.width=v(Q-b);(""===c||""!==d)&&K(a,1,"Possible column misalignment",6)}else Q="100%";q.width=v(Q);
|
||||
g.width=v(Q);u&&(a.nScrollFoot.style.width=v(Q));!e&&U&&(q.height=v(s.offsetHeight+b));c=p.outerWidth();m[0].style.width=v(c);i.width=v(c);d=p.height()>j.clientHeight||"scroll"==l.css("overflow-y");e="padding"+(x.bScrollbarLeft?"Left":"Right");i[e]=d?b+"px":"0px";u&&(n[0].style.width=v(c),t[0].style.width=v(c),t[0].style[e]=d?b+"px":"0px");p.children("colgroup").insertBefore(p.children("thead"));l.scroll();if((a.bSorted||a.bFiltered)&&!a._drawHold)j.scrollTop=0}}function I(a,b,c){for(var d=0,e=0,
|
||||
f=b.length,g,j;e<f;){g=b[e].firstChild;for(j=c?c[e].firstChild:null;g;)1===g.nodeType&&(c?a(g,j,d):a(g,d),d++),g=g.nextSibling,j=c?j.nextSibling:null;e++}}function Fa(a){var b=a.nTable,c=a.aoColumns,d=a.oScroll,e=d.sY,f=d.sX,g=d.sXInner,j=c.length,i=ma(a,"bVisible"),m=h("th",a.nTHead),l=b.getAttribute("width"),k=b.parentNode,t=!1,n,o,p=a.oBrowser,d=p.bScrollOversize;(n=b.style.width)&&-1!==n.indexOf("%")&&(l=n);for(n=0;n<i.length;n++)o=c[i[n]],null!==o.sWidth&&(o.sWidth=Fb(o.sWidthOrig,k),t=!0);if(d||
|
||||
!t&&!f&&!e&&j==V(a)&&j==m.length)for(n=0;n<j;n++)i=aa(a,n),null!==i&&(c[i].sWidth=v(m.eq(n).width()));else{j=h(b).clone().css("visibility","hidden").removeAttr("id");j.find("tbody tr").remove();var s=h("<tr/>").appendTo(j.find("tbody"));j.find("thead, tfoot").remove();j.append(h(a.nTHead).clone()).append(h(a.nTFoot).clone());j.find("tfoot th, tfoot td").css("width","");m=ra(a,j.find("thead")[0]);for(n=0;n<i.length;n++)o=c[i[n]],m[n].style.width=null!==o.sWidthOrig&&""!==o.sWidthOrig?v(o.sWidthOrig):
|
||||
"",o.sWidthOrig&&f&&h(m[n]).append(h("<div/>").css({width:o.sWidthOrig,margin:0,padding:0,border:0,height:1}));if(a.aoData.length)for(n=0;n<i.length;n++)t=i[n],o=c[t],h(Gb(a,t)).clone(!1).append(o.sContentPadding).appendTo(s);h("[name]",j).removeAttr("name");o=h("<div/>").css(f||e?{position:"absolute",top:0,left:0,height:1,right:0,overflow:"hidden"}:{}).append(j).appendTo(k);f&&g?j.width(g):f?(j.css("width","auto"),j.removeAttr("width"),j.width()<k.clientWidth&&l&&j.width(k.clientWidth)):e?j.width(k.clientWidth):
|
||||
l&&j.width(l);for(n=e=0;n<i.length;n++)k=h(m[n]),g=k.outerWidth()-k.width(),k=p.bBounding?Math.ceil(m[n].getBoundingClientRect().width):k.outerWidth(),e+=k,c[i[n]].sWidth=v(k-g);b.style.width=v(e);o.remove()}l&&(b.style.width=v(l));if((l||f)&&!a._reszEvt)b=function(){h(E).on("resize.DT-"+a.sInstance,Oa(function(){$(a)}))},d?setTimeout(b,1E3):b(),a._reszEvt=!0}function Fb(a,b){if(!a)return 0;var c=h("<div/>").css("width",v(a)).appendTo(b||H.body),d=c[0].offsetWidth;c.remove();return d}function Gb(a,
|
||||
b){var c=Hb(a,b);if(0>c)return null;var d=a.aoData[c];return!d.nTr?h("<td/>").html(B(a,c,b,"display"))[0]:d.anCells[b]}function Hb(a,b){for(var c,d=-1,e=-1,f=0,g=a.aoData.length;f<g;f++)c=B(a,f,b,"display")+"",c=c.replace(Yb,""),c=c.replace(/ /g," "),c.length>d&&(d=c.length,e=f);return e}function v(a){return null===a?"0px":"number"==typeof a?0>a?"0px":a+"px":a.match(/\d$/)?a+"px":a}function X(a){var b,c,d=[],e=a.aoColumns,f,g,j,i;b=a.aaSortingFixed;c=h.isPlainObject(b);var m=[];f=function(a){a.length&&
|
||||
!h.isArray(a[0])?m.push(a):h.merge(m,a)};h.isArray(b)&&f(b);c&&b.pre&&f(b.pre);f(a.aaSorting);c&&b.post&&f(b.post);for(a=0;a<m.length;a++){i=m[a][0];f=e[i].aDataSort;b=0;for(c=f.length;b<c;b++)g=f[b],j=e[g].sType||"string",m[a]._idx===k&&(m[a]._idx=h.inArray(m[a][1],e[g].asSorting)),d.push({src:i,col:g,dir:m[a][1],index:m[a]._idx,type:j,formatter:n.ext.type.order[j+"-pre"]})}return d}function nb(a){var b,c,d=[],e=n.ext.type.order,f=a.aoData,g=0,j,i=a.aiDisplayMaster,h;Ga(a);h=X(a);b=0;for(c=h.length;b<
|
||||
c;b++)j=h[b],j.formatter&&g++,Ib(a,j.col);if("ssp"!=y(a)&&0!==h.length){b=0;for(c=i.length;b<c;b++)d[i[b]]=b;g===h.length?i.sort(function(a,b){var c,e,g,j,i=h.length,k=f[a]._aSortData,n=f[b]._aSortData;for(g=0;g<i;g++)if(j=h[g],c=k[j.col],e=n[j.col],c=c<e?-1:c>e?1:0,0!==c)return"asc"===j.dir?c:-c;c=d[a];e=d[b];return c<e?-1:c>e?1:0}):i.sort(function(a,b){var c,g,j,i,k=h.length,n=f[a]._aSortData,o=f[b]._aSortData;for(j=0;j<k;j++)if(i=h[j],c=n[i.col],g=o[i.col],i=e[i.type+"-"+i.dir]||e["string-"+i.dir],
|
||||
c=i(c,g),0!==c)return c;c=d[a];g=d[b];return c<g?-1:c>g?1:0})}a.bSorted=!0}function Jb(a){for(var b,c,d=a.aoColumns,e=X(a),a=a.oLanguage.oAria,f=0,g=d.length;f<g;f++){c=d[f];var j=c.asSorting;b=c.sTitle.replace(/<.*?>/g,"");var i=c.nTh;i.removeAttribute("aria-sort");c.bSortable&&(0<e.length&&e[0].col==f?(i.setAttribute("aria-sort","asc"==e[0].dir?"ascending":"descending"),c=j[e[0].index+1]||j[0]):c=j[0],b+="asc"===c?a.sSortAscending:a.sSortDescending);i.setAttribute("aria-label",b)}}function Va(a,
|
||||
b,c,d){var e=a.aaSorting,f=a.aoColumns[b].asSorting,g=function(a,b){var c=a._idx;c===k&&(c=h.inArray(a[1],f));return c+1<f.length?c+1:b?null:0};"number"===typeof e[0]&&(e=a.aaSorting=[e]);c&&a.oFeatures.bSortMulti?(c=h.inArray(b,D(e,"0")),-1!==c?(b=g(e[c],!0),null===b&&1===e.length&&(b=0),null===b?e.splice(c,1):(e[c][1]=f[b],e[c]._idx=b)):(e.push([b,f[0],0]),e[e.length-1]._idx=0)):e.length&&e[0][0]==b?(b=g(e[0]),e.length=1,e[0][1]=f[b],e[0]._idx=b):(e.length=0,e.push([b,f[0]]),e[0]._idx=0);T(a);"function"==
|
||||
typeof d&&d(a)}function Ma(a,b,c,d){var e=a.aoColumns[c];Wa(b,{},function(b){!1!==e.bSortable&&(a.oFeatures.bProcessing?(C(a,!0),setTimeout(function(){Va(a,c,b.shiftKey,d);"ssp"!==y(a)&&C(a,!1)},0)):Va(a,c,b.shiftKey,d))})}function wa(a){var b=a.aLastSort,c=a.oClasses.sSortColumn,d=X(a),e=a.oFeatures,f,g;if(e.bSort&&e.bSortClasses){e=0;for(f=b.length;e<f;e++)g=b[e].src,h(D(a.aoData,"anCells",g)).removeClass(c+(2>e?e+1:3));e=0;for(f=d.length;e<f;e++)g=d[e].src,h(D(a.aoData,"anCells",g)).addClass(c+
|
||||
(2>e?e+1:3))}a.aLastSort=d}function Ib(a,b){var c=a.aoColumns[b],d=n.ext.order[c.sSortDataType],e;d&&(e=d.call(a.oInstance,a,b,ba(a,b)));for(var f,g=n.ext.type.order[c.sType+"-pre"],j=0,i=a.aoData.length;j<i;j++)if(c=a.aoData[j],c._aSortData||(c._aSortData=[]),!c._aSortData[b]||d)f=d?e[j]:B(a,j,b,"sort"),c._aSortData[b]=g?g(f):f}function xa(a){if(a.oFeatures.bStateSave&&!a.bDestroying){var b={time:+new Date,start:a._iDisplayStart,length:a._iDisplayLength,order:h.extend(!0,[],a.aaSorting),search:Bb(a.oPreviousSearch),
|
||||
columns:h.map(a.aoColumns,function(b,d){return{visible:b.bVisible,search:Bb(a.aoPreSearchCols[d])}})};r(a,"aoStateSaveParams","stateSaveParams",[a,b]);a.oSavedState=b;a.fnStateSaveCallback.call(a.oInstance,a,b)}}function Kb(a,b,c){var d,e,f=a.aoColumns,b=function(b){if(b&&b.time){var g=r(a,"aoStateLoadParams","stateLoadParams",[a,b]);if(-1===h.inArray(!1,g)&&(g=a.iStateDuration,!(0<g&&b.time<+new Date-1E3*g)&&!(b.columns&&f.length!==b.columns.length))){a.oLoadedState=h.extend(!0,{},b);b.start!==k&&
|
||||
(a._iDisplayStart=b.start,a.iInitDisplayStart=b.start);b.length!==k&&(a._iDisplayLength=b.length);b.order!==k&&(a.aaSorting=[],h.each(b.order,function(b,c){a.aaSorting.push(c[0]>=f.length?[0,c[1]]:c)}));b.search!==k&&h.extend(a.oPreviousSearch,Cb(b.search));if(b.columns){d=0;for(e=b.columns.length;d<e;d++)g=b.columns[d],g.visible!==k&&(f[d].bVisible=g.visible),g.search!==k&&h.extend(a.aoPreSearchCols[d],Cb(g.search))}r(a,"aoStateLoaded","stateLoaded",[a,b])}}c()};if(a.oFeatures.bStateSave){var g=
|
||||
a.fnStateLoadCallback.call(a.oInstance,a,b);g!==k&&b(g)}else c()}function ya(a){var b=n.settings,a=h.inArray(a,D(b,"nTable"));return-1!==a?b[a]:null}function K(a,b,c,d){c="DataTables warning: "+(a?"table id="+a.sTableId+" - ":"")+c;d&&(c+=". For more information about this error, please see http://datatables.net/tn/"+d);if(b)E.console&&console.log&&console.log(c);else if(b=n.ext,b=b.sErrMode||b.errMode,a&&r(a,null,"error",[a,d,c]),"alert"==b)alert(c);else{if("throw"==b)throw Error(c);"function"==
|
||||
typeof b&&b(a,d,c)}}function F(a,b,c,d){h.isArray(c)?h.each(c,function(c,d){h.isArray(d)?F(a,b,d[0],d[1]):F(a,b,d)}):(d===k&&(d=c),b[c]!==k&&(a[d]=b[c]))}function Xa(a,b,c){var d,e;for(e in b)b.hasOwnProperty(e)&&(d=b[e],h.isPlainObject(d)?(h.isPlainObject(a[e])||(a[e]={}),h.extend(!0,a[e],d)):a[e]=c&&"data"!==e&&"aaData"!==e&&h.isArray(d)?d.slice():d);return a}function Wa(a,b,c){h(a).on("click.DT",b,function(b){h(a).blur();c(b)}).on("keypress.DT",b,function(a){13===a.which&&(a.preventDefault(),c(a))}).on("selectstart.DT",
|
||||
function(){return!1})}function z(a,b,c,d){c&&a[b].push({fn:c,sName:d})}function r(a,b,c,d){var e=[];b&&(e=h.map(a[b].slice().reverse(),function(b){return b.fn.apply(a.oInstance,d)}));null!==c&&(b=h.Event(c+".dt"),h(a.nTable).trigger(b,d),e.push(b.result));return e}function Sa(a){var b=a._iDisplayStart,c=a.fnDisplayEnd(),d=a._iDisplayLength;b>=c&&(b=c-d);b-=b%d;if(-1===d||0>b)b=0;a._iDisplayStart=b}function Na(a,b){var c=a.renderer,d=n.ext.renderer[b];return h.isPlainObject(c)&&c[b]?d[c[b]]||d._:"string"===
|
||||
typeof c?d[c]||d._:d._}function y(a){return a.oFeatures.bServerSide?"ssp":a.ajax||a.sAjaxSource?"ajax":"dom"}function ia(a,b){var c=[],c=Lb.numbers_length,d=Math.floor(c/2);b<=c?c=Y(0,b):a<=d?(c=Y(0,c-2),c.push("ellipsis"),c.push(b-1)):(a>=b-1-d?c=Y(b-(c-2),b):(c=Y(a-d+2,a+d-1),c.push("ellipsis"),c.push(b-1)),c.splice(0,0,"ellipsis"),c.splice(0,0,0));c.DT_el="span";return c}function Da(a){h.each({num:function(b){return za(b,a)},"num-fmt":function(b){return za(b,a,Ya)},"html-num":function(b){return za(b,
|
||||
a,Aa)},"html-num-fmt":function(b){return za(b,a,Aa,Ya)}},function(b,c){x.type.order[b+a+"-pre"]=c;b.match(/^html\-/)&&(x.type.search[b+a]=x.type.search.html)})}function Mb(a){return function(){var b=[ya(this[n.ext.iApiIndex])].concat(Array.prototype.slice.call(arguments));return n.ext.internal[a].apply(this,b)}}var n=function(a){this.$=function(a,b){return this.api(!0).$(a,b)};this._=function(a,b){return this.api(!0).rows(a,b).data()};this.api=function(a){return a?new s(ya(this[x.iApiIndex])):new s(this)};
|
||||
this.fnAddData=function(a,b){var c=this.api(!0),d=h.isArray(a)&&(h.isArray(a[0])||h.isPlainObject(a[0]))?c.rows.add(a):c.row.add(a);(b===k||b)&&c.draw();return d.flatten().toArray()};this.fnAdjustColumnSizing=function(a){var b=this.api(!0).columns.adjust(),c=b.settings()[0],d=c.oScroll;a===k||a?b.draw(!1):(""!==d.sX||""!==d.sY)&&la(c)};this.fnClearTable=function(a){var b=this.api(!0).clear();(a===k||a)&&b.draw()};this.fnClose=function(a){this.api(!0).row(a).child.hide()};this.fnDeleteRow=function(a,
|
||||
b,c){var d=this.api(!0),a=d.rows(a),e=a.settings()[0],h=e.aoData[a[0][0]];a.remove();b&&b.call(this,e,h);(c===k||c)&&d.draw();return h};this.fnDestroy=function(a){this.api(!0).destroy(a)};this.fnDraw=function(a){this.api(!0).draw(a)};this.fnFilter=function(a,b,c,d,e,h){e=this.api(!0);null===b||b===k?e.search(a,c,d,h):e.column(b).search(a,c,d,h);e.draw()};this.fnGetData=function(a,b){var c=this.api(!0);if(a!==k){var d=a.nodeName?a.nodeName.toLowerCase():"";return b!==k||"td"==d||"th"==d?c.cell(a,b).data():
|
||||
c.row(a).data()||null}return c.data().toArray()};this.fnGetNodes=function(a){var b=this.api(!0);return a!==k?b.row(a).node():b.rows().nodes().flatten().toArray()};this.fnGetPosition=function(a){var b=this.api(!0),c=a.nodeName.toUpperCase();return"TR"==c?b.row(a).index():"TD"==c||"TH"==c?(a=b.cell(a).index(),[a.row,a.columnVisible,a.column]):null};this.fnIsOpen=function(a){return this.api(!0).row(a).child.isShown()};this.fnOpen=function(a,b,c){return this.api(!0).row(a).child(b,c).show().child()[0]};
|
||||
this.fnPageChange=function(a,b){var c=this.api(!0).page(a);(b===k||b)&&c.draw(!1)};this.fnSetColumnVis=function(a,b,c){a=this.api(!0).column(a).visible(b);(c===k||c)&&a.columns.adjust().draw()};this.fnSettings=function(){return ya(this[x.iApiIndex])};this.fnSort=function(a){this.api(!0).order(a).draw()};this.fnSortListener=function(a,b,c){this.api(!0).order.listener(a,b,c)};this.fnUpdate=function(a,b,c,d,e){var h=this.api(!0);c===k||null===c?h.row(b).data(a):h.cell(b,c).data(a);(e===k||e)&&h.columns.adjust();
|
||||
(d===k||d)&&h.draw();return 0};this.fnVersionCheck=x.fnVersionCheck;var b=this,c=a===k,d=this.length;c&&(a={});this.oApi=this.internal=x.internal;for(var e in n.ext.internal)e&&(this[e]=Mb(e));this.each(function(){var e={},g=1<d?Xa(e,a,!0):a,j=0,i,e=this.getAttribute("id"),m=!1,l=n.defaults,q=h(this);if("table"!=this.nodeName.toLowerCase())K(null,0,"Non-table node initialisation ("+this.nodeName+")",2);else{fb(l);gb(l.column);J(l,l,!0);J(l.column,l.column,!0);J(l,h.extend(g,q.data()));var t=n.settings,
|
||||
j=0;for(i=t.length;j<i;j++){var o=t[j];if(o.nTable==this||o.nTHead&&o.nTHead.parentNode==this||o.nTFoot&&o.nTFoot.parentNode==this){var s=g.bRetrieve!==k?g.bRetrieve:l.bRetrieve;if(c||s)return o.oInstance;if(g.bDestroy!==k?g.bDestroy:l.bDestroy){o.oInstance.fnDestroy();break}else{K(o,0,"Cannot reinitialise DataTable",3);return}}if(o.sTableId==this.id){t.splice(j,1);break}}if(null===e||""===e)this.id=e="DataTables_Table_"+n.ext._unique++;var p=h.extend(!0,{},n.models.oSettings,{sDestroyWidth:q[0].style.width,
|
||||
sInstance:e,sTableId:e});p.nTable=this;p.oApi=b.internal;p.oInit=g;t.push(p);p.oInstance=1===b.length?b:q.dataTable();fb(g);Ca(g.oLanguage);g.aLengthMenu&&!g.iDisplayLength&&(g.iDisplayLength=h.isArray(g.aLengthMenu[0])?g.aLengthMenu[0][0]:g.aLengthMenu[0]);g=Xa(h.extend(!0,{},l),g);F(p.oFeatures,g,"bPaginate bLengthChange bFilter bSort bSortMulti bInfo bProcessing bAutoWidth bSortClasses bServerSide bDeferRender".split(" "));F(p,g,["asStripeClasses","ajax","fnServerData","fnFormatNumber","sServerMethod",
|
||||
"aaSorting","aaSortingFixed","aLengthMenu","sPaginationType","sAjaxSource","sAjaxDataProp","iStateDuration","sDom","bSortCellsTop","iTabIndex","fnStateLoadCallback","fnStateSaveCallback","renderer","searchDelay","rowId",["iCookieDuration","iStateDuration"],["oSearch","oPreviousSearch"],["aoSearchCols","aoPreSearchCols"],["iDisplayLength","_iDisplayLength"]]);F(p.oScroll,g,[["sScrollX","sX"],["sScrollXInner","sXInner"],["sScrollY","sY"],["bScrollCollapse","bCollapse"]]);F(p.oLanguage,g,"fnInfoCallback");
|
||||
z(p,"aoDrawCallback",g.fnDrawCallback,"user");z(p,"aoServerParams",g.fnServerParams,"user");z(p,"aoStateSaveParams",g.fnStateSaveParams,"user");z(p,"aoStateLoadParams",g.fnStateLoadParams,"user");z(p,"aoStateLoaded",g.fnStateLoaded,"user");z(p,"aoRowCallback",g.fnRowCallback,"user");z(p,"aoRowCreatedCallback",g.fnCreatedRow,"user");z(p,"aoHeaderCallback",g.fnHeaderCallback,"user");z(p,"aoFooterCallback",g.fnFooterCallback,"user");z(p,"aoInitComplete",g.fnInitComplete,"user");z(p,"aoPreDrawCallback",
|
||||
g.fnPreDrawCallback,"user");p.rowIdFn=S(g.rowId);hb(p);var u=p.oClasses;h.extend(u,n.ext.classes,g.oClasses);q.addClass(u.sTable);p.iInitDisplayStart===k&&(p.iInitDisplayStart=g.iDisplayStart,p._iDisplayStart=g.iDisplayStart);null!==g.iDeferLoading&&(p.bDeferLoading=!0,e=h.isArray(g.iDeferLoading),p._iRecordsDisplay=e?g.iDeferLoading[0]:g.iDeferLoading,p._iRecordsTotal=e?g.iDeferLoading[1]:g.iDeferLoading);var v=p.oLanguage;h.extend(!0,v,g.oLanguage);v.sUrl&&(h.ajax({dataType:"json",url:v.sUrl,success:function(a){Ca(a);
|
||||
J(l.oLanguage,a);h.extend(true,v,a);ha(p)},error:function(){ha(p)}}),m=!0);null===g.asStripeClasses&&(p.asStripeClasses=[u.sStripeOdd,u.sStripeEven]);var e=p.asStripeClasses,x=q.children("tbody").find("tr").eq(0);-1!==h.inArray(!0,h.map(e,function(a){return x.hasClass(a)}))&&(h("tbody tr",this).removeClass(e.join(" ")),p.asDestroyStripes=e.slice());e=[];t=this.getElementsByTagName("thead");0!==t.length&&(ea(p.aoHeader,t[0]),e=ra(p));if(null===g.aoColumns){t=[];j=0;for(i=e.length;j<i;j++)t.push(null)}else t=
|
||||
g.aoColumns;j=0;for(i=t.length;j<i;j++)Ea(p,e?e[j]:null);jb(p,g.aoColumnDefs,t,function(a,b){ka(p,a,b)});if(x.length){var w=function(a,b){return a.getAttribute("data-"+b)!==null?b:null};h(x[0]).children("th, td").each(function(a,b){var c=p.aoColumns[a];if(c.mData===a){var d=w(b,"sort")||w(b,"order"),e=w(b,"filter")||w(b,"search");if(d!==null||e!==null){c.mData={_:a+".display",sort:d!==null?a+".@data-"+d:k,type:d!==null?a+".@data-"+d:k,filter:e!==null?a+".@data-"+e:k};ka(p,a)}}})}var U=p.oFeatures,
|
||||
e=function(){if(g.aaSorting===k){var a=p.aaSorting;j=0;for(i=a.length;j<i;j++)a[j][1]=p.aoColumns[j].asSorting[0]}wa(p);U.bSort&&z(p,"aoDrawCallback",function(){if(p.bSorted){var a=X(p),b={};h.each(a,function(a,c){b[c.src]=c.dir});r(p,null,"order",[p,a,b]);Jb(p)}});z(p,"aoDrawCallback",function(){(p.bSorted||y(p)==="ssp"||U.bDeferRender)&&wa(p)},"sc");var a=q.children("caption").each(function(){this._captionSide=h(this).css("caption-side")}),b=q.children("thead");b.length===0&&(b=h("<thead/>").appendTo(q));
|
||||
p.nTHead=b[0];b=q.children("tbody");b.length===0&&(b=h("<tbody/>").appendTo(q));p.nTBody=b[0];b=q.children("tfoot");if(b.length===0&&a.length>0&&(p.oScroll.sX!==""||p.oScroll.sY!==""))b=h("<tfoot/>").appendTo(q);if(b.length===0||b.children().length===0)q.addClass(u.sNoFooter);else if(b.length>0){p.nTFoot=b[0];ea(p.aoFooter,p.nTFoot)}if(g.aaData)for(j=0;j<g.aaData.length;j++)O(p,g.aaData[j]);else(p.bDeferLoading||y(p)=="dom")&&na(p,h(p.nTBody).children("tr"));p.aiDisplay=p.aiDisplayMaster.slice();
|
||||
p.bInitialised=true;m===false&&ha(p)};g.bStateSave?(U.bStateSave=!0,z(p,"aoDrawCallback",xa,"state_save"),Kb(p,g,e)):e()}});b=null;return this},x,s,o,u,Za={},Nb=/[\r\n]/g,Aa=/<.*?>/g,Zb=/^\d{2,4}[\.\/\-]\d{1,2}[\.\/\-]\d{1,2}([T ]{1}\d{1,2}[:\.]\d{2}([\.:]\d{2})?)?$/,$b=RegExp("(\\/|\\.|\\*|\\+|\\?|\\||\\(|\\)|\\[|\\]|\\{|\\}|\\\\|\\$|\\^|\\-)","g"),Ya=/[',$£€¥%\u2009\u202F\u20BD\u20a9\u20BArfkɃΞ]/gi,M=function(a){return!a||!0===a||"-"===a?!0:!1},Ob=function(a){var b=parseInt(a,10);return!isNaN(b)&&
|
||||
isFinite(a)?b:null},Pb=function(a,b){Za[b]||(Za[b]=RegExp(Qa(b),"g"));return"string"===typeof a&&"."!==b?a.replace(/\./g,"").replace(Za[b],"."):a},$a=function(a,b,c){var d="string"===typeof a;if(M(a))return!0;b&&d&&(a=Pb(a,b));c&&d&&(a=a.replace(Ya,""));return!isNaN(parseFloat(a))&&isFinite(a)},Qb=function(a,b,c){return M(a)?!0:!(M(a)||"string"===typeof a)?null:$a(a.replace(Aa,""),b,c)?!0:null},D=function(a,b,c){var d=[],e=0,f=a.length;if(c!==k)for(;e<f;e++)a[e]&&a[e][b]&&d.push(a[e][b][c]);else for(;e<
|
||||
f;e++)a[e]&&d.push(a[e][b]);return d},ja=function(a,b,c,d){var e=[],f=0,g=b.length;if(d!==k)for(;f<g;f++)a[b[f]][c]&&e.push(a[b[f]][c][d]);else for(;f<g;f++)e.push(a[b[f]][c]);return e},Y=function(a,b){var c=[],d;b===k?(b=0,d=a):(d=b,b=a);for(var e=b;e<d;e++)c.push(e);return c},Rb=function(a){for(var b=[],c=0,d=a.length;c<d;c++)a[c]&&b.push(a[c]);return b},qa=function(a){var b;a:{if(!(2>a.length)){b=a.slice().sort();for(var c=b[0],d=1,e=b.length;d<e;d++){if(b[d]===c){b=!1;break a}c=b[d]}}b=!0}if(b)return a.slice();
|
||||
b=[];var e=a.length,f,g=0,d=0;a:for(;d<e;d++){c=a[d];for(f=0;f<g;f++)if(b[f]===c)continue a;b.push(c);g++}return b};n.util={throttle:function(a,b){var c=b!==k?b:200,d,e;return function(){var b=this,g=+new Date,j=arguments;d&&g<d+c?(clearTimeout(e),e=setTimeout(function(){d=k;a.apply(b,j)},c)):(d=g,a.apply(b,j))}},escapeRegex:function(a){return a.replace($b,"\\$1")}};var A=function(a,b,c){a[b]!==k&&(a[c]=a[b])},ca=/\[.*?\]$/,W=/\(\)$/,Qa=n.util.escapeRegex,va=h("<div>")[0],Wb=va.textContent!==k,Yb=
|
||||
/<.*?>/g,Oa=n.util.throttle,Sb=[],w=Array.prototype,ac=function(a){var b,c,d=n.settings,e=h.map(d,function(a){return a.nTable});if(a){if(a.nTable&&a.oApi)return[a];if(a.nodeName&&"table"===a.nodeName.toLowerCase())return b=h.inArray(a,e),-1!==b?[d[b]]:null;if(a&&"function"===typeof a.settings)return a.settings().toArray();"string"===typeof a?c=h(a):a instanceof h&&(c=a)}else return[];if(c)return c.map(function(){b=h.inArray(this,e);return-1!==b?d[b]:null}).toArray()};s=function(a,b){if(!(this instanceof
|
||||
s))return new s(a,b);var c=[],d=function(a){(a=ac(a))&&(c=c.concat(a))};if(h.isArray(a))for(var e=0,f=a.length;e<f;e++)d(a[e]);else d(a);this.context=qa(c);b&&h.merge(this,b);this.selector={rows:null,cols:null,opts:null};s.extend(this,this,Sb)};n.Api=s;h.extend(s.prototype,{any:function(){return 0!==this.count()},concat:w.concat,context:[],count:function(){return this.flatten().length},each:function(a){for(var b=0,c=this.length;b<c;b++)a.call(this,this[b],b,this);return this},eq:function(a){var b=
|
||||
this.context;return b.length>a?new s(b[a],this[a]):null},filter:function(a){var b=[];if(w.filter)b=w.filter.call(this,a,this);else for(var c=0,d=this.length;c<d;c++)a.call(this,this[c],c,this)&&b.push(this[c]);return new s(this.context,b)},flatten:function(){var a=[];return new s(this.context,a.concat.apply(a,this.toArray()))},join:w.join,indexOf:w.indexOf||function(a,b){for(var c=b||0,d=this.length;c<d;c++)if(this[c]===a)return c;return-1},iterator:function(a,b,c,d){var e=[],f,g,j,h,m,l=this.context,
|
||||
n,o,u=this.selector;"string"===typeof a&&(d=c,c=b,b=a,a=!1);g=0;for(j=l.length;g<j;g++){var r=new s(l[g]);if("table"===b)f=c.call(r,l[g],g),f!==k&&e.push(f);else if("columns"===b||"rows"===b)f=c.call(r,l[g],this[g],g),f!==k&&e.push(f);else if("column"===b||"column-rows"===b||"row"===b||"cell"===b){o=this[g];"column-rows"===b&&(n=Ba(l[g],u.opts));h=0;for(m=o.length;h<m;h++)f=o[h],f="cell"===b?c.call(r,l[g],f.row,f.column,g,h):c.call(r,l[g],f,g,h,n),f!==k&&e.push(f)}}return e.length||d?(a=new s(l,a?
|
||||
e.concat.apply([],e):e),b=a.selector,b.rows=u.rows,b.cols=u.cols,b.opts=u.opts,a):this},lastIndexOf:w.lastIndexOf||function(a,b){return this.indexOf.apply(this.toArray.reverse(),arguments)},length:0,map:function(a){var b=[];if(w.map)b=w.map.call(this,a,this);else for(var c=0,d=this.length;c<d;c++)b.push(a.call(this,this[c],c));return new s(this.context,b)},pluck:function(a){return this.map(function(b){return b[a]})},pop:w.pop,push:w.push,reduce:w.reduce||function(a,b){return ib(this,a,b,0,this.length,
|
||||
1)},reduceRight:w.reduceRight||function(a,b){return ib(this,a,b,this.length-1,-1,-1)},reverse:w.reverse,selector:null,shift:w.shift,slice:function(){return new s(this.context,this)},sort:w.sort,splice:w.splice,toArray:function(){return w.slice.call(this)},to$:function(){return h(this)},toJQuery:function(){return h(this)},unique:function(){return new s(this.context,qa(this))},unshift:w.unshift});s.extend=function(a,b,c){if(c.length&&b&&(b instanceof s||b.__dt_wrapper)){var d,e,f,g=function(a,b,c){return function(){var d=
|
||||
b.apply(a,arguments);s.extend(d,d,c.methodExt);return d}};d=0;for(e=c.length;d<e;d++)f=c[d],b[f.name]="function"===typeof f.val?g(a,f.val,f):h.isPlainObject(f.val)?{}:f.val,b[f.name].__dt_wrapper=!0,s.extend(a,b[f.name],f.propExt)}};s.register=o=function(a,b){if(h.isArray(a))for(var c=0,d=a.length;c<d;c++)s.register(a[c],b);else for(var e=a.split("."),f=Sb,g,j,c=0,d=e.length;c<d;c++){g=(j=-1!==e[c].indexOf("()"))?e[c].replace("()",""):e[c];var i;a:{i=0;for(var m=f.length;i<m;i++)if(f[i].name===g){i=
|
||||
f[i];break a}i=null}i||(i={name:g,val:{},methodExt:[],propExt:[]},f.push(i));c===d-1?i.val=b:f=j?i.methodExt:i.propExt}};s.registerPlural=u=function(a,b,c){s.register(a,c);s.register(b,function(){var a=c.apply(this,arguments);return a===this?this:a instanceof s?a.length?h.isArray(a[0])?new s(a.context,a[0]):a[0]:k:a})};o("tables()",function(a){var b;if(a){b=s;var c=this.context;if("number"===typeof a)a=[c[a]];else var d=h.map(c,function(a){return a.nTable}),a=h(d).filter(a).map(function(){var a=h.inArray(this,
|
||||
d);return c[a]}).toArray();b=new b(a)}else b=this;return b});o("table()",function(a){var a=this.tables(a),b=a.context;return b.length?new s(b[0]):a});u("tables().nodes()","table().node()",function(){return this.iterator("table",function(a){return a.nTable},1)});u("tables().body()","table().body()",function(){return this.iterator("table",function(a){return a.nTBody},1)});u("tables().header()","table().header()",function(){return this.iterator("table",function(a){return a.nTHead},1)});u("tables().footer()",
|
||||
"table().footer()",function(){return this.iterator("table",function(a){return a.nTFoot},1)});u("tables().containers()","table().container()",function(){return this.iterator("table",function(a){return a.nTableWrapper},1)});o("draw()",function(a){return this.iterator("table",function(b){"page"===a?P(b):("string"===typeof a&&(a="full-hold"===a?!1:!0),T(b,!1===a))})});o("page()",function(a){return a===k?this.page.info().page:this.iterator("table",function(b){Ta(b,a)})});o("page.info()",function(){if(0===
|
||||
this.context.length)return k;var a=this.context[0],b=a._iDisplayStart,c=a.oFeatures.bPaginate?a._iDisplayLength:-1,d=a.fnRecordsDisplay(),e=-1===c;return{page:e?0:Math.floor(b/c),pages:e?1:Math.ceil(d/c),start:b,end:a.fnDisplayEnd(),length:c,recordsTotal:a.fnRecordsTotal(),recordsDisplay:d,serverSide:"ssp"===y(a)}});o("page.len()",function(a){return a===k?0!==this.context.length?this.context[0]._iDisplayLength:k:this.iterator("table",function(b){Ra(b,a)})});var Tb=function(a,b,c){if(c){var d=new s(a);
|
||||
d.one("draw",function(){c(d.ajax.json())})}if("ssp"==y(a))T(a,b);else{C(a,!0);var e=a.jqXHR;e&&4!==e.readyState&&e.abort();sa(a,[],function(c){oa(a);for(var c=ta(a,c),d=0,e=c.length;d<e;d++)O(a,c[d]);T(a,b);C(a,!1)})}};o("ajax.json()",function(){var a=this.context;if(0<a.length)return a[0].json});o("ajax.params()",function(){var a=this.context;if(0<a.length)return a[0].oAjaxData});o("ajax.reload()",function(a,b){return this.iterator("table",function(c){Tb(c,!1===b,a)})});o("ajax.url()",function(a){var b=
|
||||
this.context;if(a===k){if(0===b.length)return k;b=b[0];return b.ajax?h.isPlainObject(b.ajax)?b.ajax.url:b.ajax:b.sAjaxSource}return this.iterator("table",function(b){h.isPlainObject(b.ajax)?b.ajax.url=a:b.ajax=a})});o("ajax.url().load()",function(a,b){return this.iterator("table",function(c){Tb(c,!1===b,a)})});var ab=function(a,b,c,d,e){var f=[],g,j,i,m,l,n;i=typeof b;if(!b||"string"===i||"function"===i||b.length===k)b=[b];i=0;for(m=b.length;i<m;i++){j=b[i]&&b[i].split&&!b[i].match(/[\[\(:]/)?b[i].split(","):
|
||||
[b[i]];l=0;for(n=j.length;l<n;l++)(g=c("string"===typeof j[l]?h.trim(j[l]):j[l]))&&g.length&&(f=f.concat(g))}a=x.selector[a];if(a.length){i=0;for(m=a.length;i<m;i++)f=a[i](d,e,f)}return qa(f)},bb=function(a){a||(a={});a.filter&&a.search===k&&(a.search=a.filter);return h.extend({search:"none",order:"current",page:"all"},a)},cb=function(a){for(var b=0,c=a.length;b<c;b++)if(0<a[b].length)return a[0]=a[b],a[0].length=1,a.length=1,a.context=[a.context[b]],a;a.length=0;return a},Ba=function(a,b){var c,
|
||||
d,e,f=[],g=a.aiDisplay;e=a.aiDisplayMaster;var j=b.search;c=b.order;d=b.page;if("ssp"==y(a))return"removed"===j?[]:Y(0,e.length);if("current"==d){c=a._iDisplayStart;for(d=a.fnDisplayEnd();c<d;c++)f.push(g[c])}else if("current"==c||"applied"==c)if("none"==j)f=e.slice();else if("applied"==j)f=g.slice();else{if("removed"==j){var i={};c=0;for(d=g.length;c<d;c++)i[g[c]]=null;f=h.map(e,function(a){return!i.hasOwnProperty(a)?a:null})}}else if("index"==c||"original"==c){c=0;for(d=a.aoData.length;c<d;c++)"none"==
|
||||
j?f.push(c):(e=h.inArray(c,g),(-1===e&&"removed"==j||0<=e&&"applied"==j)&&f.push(c))}return f};o("rows()",function(a,b){a===k?a="":h.isPlainObject(a)&&(b=a,a="");var b=bb(b),c=this.iterator("table",function(c){var e=b,f;return ab("row",a,function(a){var b=Ob(a),i=c.aoData;if(b!==null&&!e)return[b];f||(f=Ba(c,e));if(b!==null&&h.inArray(b,f)!==-1)return[b];if(a===null||a===k||a==="")return f;if(typeof a==="function")return h.map(f,function(b){var c=i[b];return a(b,c._aData,c.nTr)?b:null});if(a.nodeName){var b=
|
||||
a._DT_RowIndex,m=a._DT_CellIndex;if(b!==k)return i[b]&&i[b].nTr===a?[b]:[];if(m)return i[m.row]&&i[m.row].nTr===a?[m.row]:[];b=h(a).closest("*[data-dt-row]");return b.length?[b.data("dt-row")]:[]}if(typeof a==="string"&&a.charAt(0)==="#"){b=c.aIds[a.replace(/^#/,"")];if(b!==k)return[b.idx]}b=Rb(ja(c.aoData,f,"nTr"));return h(b).filter(a).map(function(){return this._DT_RowIndex}).toArray()},c,e)},1);c.selector.rows=a;c.selector.opts=b;return c});o("rows().nodes()",function(){return this.iterator("row",
|
||||
function(a,b){return a.aoData[b].nTr||k},1)});o("rows().data()",function(){return this.iterator(!0,"rows",function(a,b){return ja(a.aoData,b,"_aData")},1)});u("rows().cache()","row().cache()",function(a){return this.iterator("row",function(b,c){var d=b.aoData[c];return"search"===a?d._aFilterData:d._aSortData},1)});u("rows().invalidate()","row().invalidate()",function(a){return this.iterator("row",function(b,c){da(b,c,a)})});u("rows().indexes()","row().index()",function(){return this.iterator("row",
|
||||
function(a,b){return b},1)});u("rows().ids()","row().id()",function(a){for(var b=[],c=this.context,d=0,e=c.length;d<e;d++)for(var f=0,g=this[d].length;f<g;f++){var h=c[d].rowIdFn(c[d].aoData[this[d][f]]._aData);b.push((!0===a?"#":"")+h)}return new s(c,b)});u("rows().remove()","row().remove()",function(){var a=this;this.iterator("row",function(b,c,d){var e=b.aoData,f=e[c],g,h,i,m,l;e.splice(c,1);g=0;for(h=e.length;g<h;g++)if(i=e[g],l=i.anCells,null!==i.nTr&&(i.nTr._DT_RowIndex=g),null!==l){i=0;for(m=
|
||||
l.length;i<m;i++)l[i]._DT_CellIndex.row=g}pa(b.aiDisplayMaster,c);pa(b.aiDisplay,c);pa(a[d],c,!1);0<b._iRecordsDisplay&&b._iRecordsDisplay--;Sa(b);c=b.rowIdFn(f._aData);c!==k&&delete b.aIds[c]});this.iterator("table",function(a){for(var c=0,d=a.aoData.length;c<d;c++)a.aoData[c].idx=c});return this});o("rows.add()",function(a){var b=this.iterator("table",function(b){var c,f,g,h=[];f=0;for(g=a.length;f<g;f++)c=a[f],c.nodeName&&"TR"===c.nodeName.toUpperCase()?h.push(na(b,c)[0]):h.push(O(b,c));return h},
|
||||
1),c=this.rows(-1);c.pop();h.merge(c,b);return c});o("row()",function(a,b){return cb(this.rows(a,b))});o("row().data()",function(a){var b=this.context;if(a===k)return b.length&&this.length?b[0].aoData[this[0]]._aData:k;var c=b[0].aoData[this[0]];c._aData=a;h.isArray(a)&&c.nTr.id&&N(b[0].rowId)(a,c.nTr.id);da(b[0],this[0],"data");return this});o("row().node()",function(){var a=this.context;return a.length&&this.length?a[0].aoData[this[0]].nTr||null:null});o("row.add()",function(a){a instanceof h&&
|
||||
a.length&&(a=a[0]);var b=this.iterator("table",function(b){return a.nodeName&&"TR"===a.nodeName.toUpperCase()?na(b,a)[0]:O(b,a)});return this.row(b[0])});var db=function(a,b){var c=a.context;if(c.length&&(c=c[0].aoData[b!==k?b:a[0]])&&c._details)c._details.remove(),c._detailsShow=k,c._details=k},Ub=function(a,b){var c=a.context;if(c.length&&a.length){var d=c[0].aoData[a[0]];if(d._details){(d._detailsShow=b)?d._details.insertAfter(d.nTr):d._details.detach();var e=c[0],f=new s(e),g=e.aoData;f.off("draw.dt.DT_details column-visibility.dt.DT_details destroy.dt.DT_details");
|
||||
0<D(g,"_details").length&&(f.on("draw.dt.DT_details",function(a,b){e===b&&f.rows({page:"current"}).eq(0).each(function(a){a=g[a];a._detailsShow&&a._details.insertAfter(a.nTr)})}),f.on("column-visibility.dt.DT_details",function(a,b){if(e===b)for(var c,d=V(b),f=0,h=g.length;f<h;f++)c=g[f],c._details&&c._details.children("td[colspan]").attr("colspan",d)}),f.on("destroy.dt.DT_details",function(a,b){if(e===b)for(var c=0,d=g.length;c<d;c++)g[c]._details&&db(f,c)}))}}};o("row().child()",function(a,b){var c=
|
||||
this.context;if(a===k)return c.length&&this.length?c[0].aoData[this[0]]._details:k;if(!0===a)this.child.show();else if(!1===a)db(this);else if(c.length&&this.length){var d=c[0],c=c[0].aoData[this[0]],e=[],f=function(a,b){if(h.isArray(a)||a instanceof h)for(var c=0,k=a.length;c<k;c++)f(a[c],b);else a.nodeName&&"tr"===a.nodeName.toLowerCase()?e.push(a):(c=h("<tr><td/></tr>").addClass(b),h("td",c).addClass(b).html(a)[0].colSpan=V(d),e.push(c[0]))};f(a,b);c._details&&c._details.detach();c._details=h(e);
|
||||
c._detailsShow&&c._details.insertAfter(c.nTr)}return this});o(["row().child.show()","row().child().show()"],function(){Ub(this,!0);return this});o(["row().child.hide()","row().child().hide()"],function(){Ub(this,!1);return this});o(["row().child.remove()","row().child().remove()"],function(){db(this);return this});o("row().child.isShown()",function(){var a=this.context;return a.length&&this.length?a[0].aoData[this[0]]._detailsShow||!1:!1});var bc=/^([^:]+):(name|visIdx|visible)$/,Vb=function(a,b,
|
||||
c,d,e){for(var c=[],d=0,f=e.length;d<f;d++)c.push(B(a,e[d],b));return c};o("columns()",function(a,b){a===k?a="":h.isPlainObject(a)&&(b=a,a="");var b=bb(b),c=this.iterator("table",function(c){var e=a,f=b,g=c.aoColumns,j=D(g,"sName"),i=D(g,"nTh");return ab("column",e,function(a){var b=Ob(a);if(a==="")return Y(g.length);if(b!==null)return[b>=0?b:g.length+b];if(typeof a==="function"){var e=Ba(c,f);return h.map(g,function(b,f){return a(f,Vb(c,f,0,0,e),i[f])?f:null})}var k=typeof a==="string"?a.match(bc):
|
||||
"";if(k)switch(k[2]){case "visIdx":case "visible":b=parseInt(k[1],10);if(b<0){var n=h.map(g,function(a,b){return a.bVisible?b:null});return[n[n.length+b]]}return[aa(c,b)];case "name":return h.map(j,function(a,b){return a===k[1]?b:null});default:return[]}if(a.nodeName&&a._DT_CellIndex)return[a._DT_CellIndex.column];b=h(i).filter(a).map(function(){return h.inArray(this,i)}).toArray();if(b.length||!a.nodeName)return b;b=h(a).closest("*[data-dt-column]");return b.length?[b.data("dt-column")]:[]},c,f)},
|
||||
1);c.selector.cols=a;c.selector.opts=b;return c});u("columns().header()","column().header()",function(){return this.iterator("column",function(a,b){return a.aoColumns[b].nTh},1)});u("columns().footer()","column().footer()",function(){return this.iterator("column",function(a,b){return a.aoColumns[b].nTf},1)});u("columns().data()","column().data()",function(){return this.iterator("column-rows",Vb,1)});u("columns().dataSrc()","column().dataSrc()",function(){return this.iterator("column",function(a,b){return a.aoColumns[b].mData},
|
||||
1)});u("columns().cache()","column().cache()",function(a){return this.iterator("column-rows",function(b,c,d,e,f){return ja(b.aoData,f,"search"===a?"_aFilterData":"_aSortData",c)},1)});u("columns().nodes()","column().nodes()",function(){return this.iterator("column-rows",function(a,b,c,d,e){return ja(a.aoData,e,"anCells",b)},1)});u("columns().visible()","column().visible()",function(a,b){var c=this.iterator("column",function(b,c){if(a===k)return b.aoColumns[c].bVisible;var f=b.aoColumns,g=f[c],j=b.aoData,
|
||||
i,m,l;if(a!==k&&g.bVisible!==a){if(a){var n=h.inArray(!0,D(f,"bVisible"),c+1);i=0;for(m=j.length;i<m;i++)l=j[i].nTr,f=j[i].anCells,l&&l.insertBefore(f[c],f[n]||null)}else h(D(b.aoData,"anCells",c)).detach();g.bVisible=a;fa(b,b.aoHeader);fa(b,b.aoFooter);b.aiDisplay.length||h(b.nTBody).find("td[colspan]").attr("colspan",V(b));xa(b)}});a!==k&&(this.iterator("column",function(c,e){r(c,null,"column-visibility",[c,e,a,b])}),(b===k||b)&&this.columns.adjust());return c});u("columns().indexes()","column().index()",
|
||||
function(a){return this.iterator("column",function(b,c){return"visible"===a?ba(b,c):c},1)});o("columns.adjust()",function(){return this.iterator("table",function(a){$(a)},1)});o("column.index()",function(a,b){if(0!==this.context.length){var c=this.context[0];if("fromVisible"===a||"toData"===a)return aa(c,b);if("fromData"===a||"toVisible"===a)return ba(c,b)}});o("column()",function(a,b){return cb(this.columns(a,b))});o("cells()",function(a,b,c){h.isPlainObject(a)&&(a.row===k?(c=a,a=null):(c=b,b=null));
|
||||
h.isPlainObject(b)&&(c=b,b=null);if(null===b||b===k)return this.iterator("table",function(b){var d=a,e=bb(c),f=b.aoData,g=Ba(b,e),j=Rb(ja(f,g,"anCells")),i=h([].concat.apply([],j)),l,m=b.aoColumns.length,n,o,u,s,r,v;return ab("cell",d,function(a){var c=typeof a==="function";if(a===null||a===k||c){n=[];o=0;for(u=g.length;o<u;o++){l=g[o];for(s=0;s<m;s++){r={row:l,column:s};if(c){v=f[l];a(r,B(b,l,s),v.anCells?v.anCells[s]:null)&&n.push(r)}else n.push(r)}}return n}if(h.isPlainObject(a))return a.column!==
|
||||
k&&a.row!==k&&h.inArray(a.row,g)!==-1?[a]:[];c=i.filter(a).map(function(a,b){return{row:b._DT_CellIndex.row,column:b._DT_CellIndex.column}}).toArray();if(c.length||!a.nodeName)return c;v=h(a).closest("*[data-dt-row]");return v.length?[{row:v.data("dt-row"),column:v.data("dt-column")}]:[]},b,e)});var d=this.columns(b),e=this.rows(a),f,g,j,i,m;this.iterator("table",function(a,b){f=[];g=0;for(j=e[b].length;g<j;g++){i=0;for(m=d[b].length;i<m;i++)f.push({row:e[b][g],column:d[b][i]})}},1);var l=this.cells(f,
|
||||
c);h.extend(l.selector,{cols:b,rows:a,opts:c});return l});u("cells().nodes()","cell().node()",function(){return this.iterator("cell",function(a,b,c){return(a=a.aoData[b])&&a.anCells?a.anCells[c]:k},1)});o("cells().data()",function(){return this.iterator("cell",function(a,b,c){return B(a,b,c)},1)});u("cells().cache()","cell().cache()",function(a){a="search"===a?"_aFilterData":"_aSortData";return this.iterator("cell",function(b,c,d){return b.aoData[c][a][d]},1)});u("cells().render()","cell().render()",
|
||||
function(a){return this.iterator("cell",function(b,c,d){return B(b,c,d,a)},1)});u("cells().indexes()","cell().index()",function(){return this.iterator("cell",function(a,b,c){return{row:b,column:c,columnVisible:ba(a,c)}},1)});u("cells().invalidate()","cell().invalidate()",function(a){return this.iterator("cell",function(b,c,d){da(b,c,a,d)})});o("cell()",function(a,b,c){return cb(this.cells(a,b,c))});o("cell().data()",function(a){var b=this.context,c=this[0];if(a===k)return b.length&&c.length?B(b[0],
|
||||
c[0].row,c[0].column):k;kb(b[0],c[0].row,c[0].column,a);da(b[0],c[0].row,"data",c[0].column);return this});o("order()",function(a,b){var c=this.context;if(a===k)return 0!==c.length?c[0].aaSorting:k;"number"===typeof a?a=[[a,b]]:a.length&&!h.isArray(a[0])&&(a=Array.prototype.slice.call(arguments));return this.iterator("table",function(b){b.aaSorting=a.slice()})});o("order.listener()",function(a,b,c){return this.iterator("table",function(d){Ma(d,a,b,c)})});o("order.fixed()",function(a){if(!a){var b=
|
||||
this.context,b=b.length?b[0].aaSortingFixed:k;return h.isArray(b)?{pre:b}:b}return this.iterator("table",function(b){b.aaSortingFixed=h.extend(!0,{},a)})});o(["columns().order()","column().order()"],function(a){var b=this;return this.iterator("table",function(c,d){var e=[];h.each(b[d],function(b,c){e.push([c,a])});c.aaSorting=e})});o("search()",function(a,b,c,d){var e=this.context;return a===k?0!==e.length?e[0].oPreviousSearch.sSearch:k:this.iterator("table",function(e){e.oFeatures.bFilter&&ga(e,
|
||||
h.extend({},e.oPreviousSearch,{sSearch:a+"",bRegex:null===b?!1:b,bSmart:null===c?!0:c,bCaseInsensitive:null===d?!0:d}),1)})});u("columns().search()","column().search()",function(a,b,c,d){return this.iterator("column",function(e,f){var g=e.aoPreSearchCols;if(a===k)return g[f].sSearch;e.oFeatures.bFilter&&(h.extend(g[f],{sSearch:a+"",bRegex:null===b?!1:b,bSmart:null===c?!0:c,bCaseInsensitive:null===d?!0:d}),ga(e,e.oPreviousSearch,1))})});o("state()",function(){return this.context.length?this.context[0].oSavedState:
|
||||
null});o("state.clear()",function(){return this.iterator("table",function(a){a.fnStateSaveCallback.call(a.oInstance,a,{})})});o("state.loaded()",function(){return this.context.length?this.context[0].oLoadedState:null});o("state.save()",function(){return this.iterator("table",function(a){xa(a)})});n.versionCheck=n.fnVersionCheck=function(a){for(var b=n.version.split("."),a=a.split("."),c,d,e=0,f=a.length;e<f;e++)if(c=parseInt(b[e],10)||0,d=parseInt(a[e],10)||0,c!==d)return c>d;return!0};n.isDataTable=
|
||||
n.fnIsDataTable=function(a){var b=h(a).get(0),c=!1;if(a instanceof n.Api)return!0;h.each(n.settings,function(a,e){var f=e.nScrollHead?h("table",e.nScrollHead)[0]:null,g=e.nScrollFoot?h("table",e.nScrollFoot)[0]:null;if(e.nTable===b||f===b||g===b)c=!0});return c};n.tables=n.fnTables=function(a){var b=!1;h.isPlainObject(a)&&(b=a.api,a=a.visible);var c=h.map(n.settings,function(b){if(!a||a&&h(b.nTable).is(":visible"))return b.nTable});return b?new s(c):c};n.camelToHungarian=J;o("$()",function(a,b){var c=
|
||||
this.rows(b).nodes(),c=h(c);return h([].concat(c.filter(a).toArray(),c.find(a).toArray()))});h.each(["on","one","off"],function(a,b){o(b+"()",function(){var a=Array.prototype.slice.call(arguments);a[0]=h.map(a[0].split(/\s/),function(a){return!a.match(/\.dt\b/)?a+".dt":a}).join(" ");var d=h(this.tables().nodes());d[b].apply(d,a);return this})});o("clear()",function(){return this.iterator("table",function(a){oa(a)})});o("settings()",function(){return new s(this.context,this.context)});o("init()",function(){var a=
|
||||
this.context;return a.length?a[0].oInit:null});o("data()",function(){return this.iterator("table",function(a){return D(a.aoData,"_aData")}).flatten()});o("destroy()",function(a){a=a||!1;return this.iterator("table",function(b){var c=b.nTableWrapper.parentNode,d=b.oClasses,e=b.nTable,f=b.nTBody,g=b.nTHead,j=b.nTFoot,i=h(e),f=h(f),k=h(b.nTableWrapper),l=h.map(b.aoData,function(a){return a.nTr}),o;b.bDestroying=!0;r(b,"aoDestroyCallback","destroy",[b]);a||(new s(b)).columns().visible(!0);k.off(".DT").find(":not(tbody *)").off(".DT");
|
||||
h(E).off(".DT-"+b.sInstance);e!=g.parentNode&&(i.children("thead").detach(),i.append(g));j&&e!=j.parentNode&&(i.children("tfoot").detach(),i.append(j));b.aaSorting=[];b.aaSortingFixed=[];wa(b);h(l).removeClass(b.asStripeClasses.join(" "));h("th, td",g).removeClass(d.sSortable+" "+d.sSortableAsc+" "+d.sSortableDesc+" "+d.sSortableNone);f.children().detach();f.append(l);g=a?"remove":"detach";i[g]();k[g]();!a&&c&&(c.insertBefore(e,b.nTableReinsertBefore),i.css("width",b.sDestroyWidth).removeClass(d.sTable),
|
||||
(o=b.asDestroyStripes.length)&&f.children().each(function(a){h(this).addClass(b.asDestroyStripes[a%o])}));c=h.inArray(b,n.settings);-1!==c&&n.settings.splice(c,1)})});h.each(["column","row","cell"],function(a,b){o(b+"s().every()",function(a){var d=this.selector.opts,e=this;return this.iterator(b,function(f,g,h,i,m){a.call(e[b](g,"cell"===b?h:d,"cell"===b?d:k),g,h,i,m)})})});o("i18n()",function(a,b,c){var d=this.context[0],a=S(a)(d.oLanguage);a===k&&(a=b);c!==k&&h.isPlainObject(a)&&(a=a[c]!==k?a[c]:
|
||||
a._);return a.replace("%d",c)});n.version="1.10.19";n.settings=[];n.models={};n.models.oSearch={bCaseInsensitive:!0,sSearch:"",bRegex:!1,bSmart:!0};n.models.oRow={nTr:null,anCells:null,_aData:[],_aSortData:null,_aFilterData:null,_sFilterRow:null,_sRowStripe:"",src:null,idx:-1};n.models.oColumn={idx:null,aDataSort:null,asSorting:null,bSearchable:null,bSortable:null,bVisible:null,_sManualType:null,_bAttrSrc:!1,fnCreatedCell:null,fnGetData:null,fnSetData:null,mData:null,mRender:null,nTh:null,nTf:null,
|
||||
sClass:null,sContentPadding:null,sDefaultContent:null,sName:null,sSortDataType:"std",sSortingClass:null,sSortingClassJUI:null,sTitle:null,sType:null,sWidth:null,sWidthOrig:null};n.defaults={aaData:null,aaSorting:[[0,"asc"]],aaSortingFixed:[],ajax:null,aLengthMenu:[10,25,50,100],aoColumns:null,aoColumnDefs:null,aoSearchCols:[],asStripeClasses:null,bAutoWidth:!0,bDeferRender:!1,bDestroy:!1,bFilter:!0,bInfo:!0,bLengthChange:!0,bPaginate:!0,bProcessing:!1,bRetrieve:!1,bScrollCollapse:!1,bServerSide:!1,
|
||||
bSort:!0,bSortMulti:!0,bSortCellsTop:!1,bSortClasses:!0,bStateSave:!1,fnCreatedRow:null,fnDrawCallback:null,fnFooterCallback:null,fnFormatNumber:function(a){return a.toString().replace(/\B(?=(\d{3})+(?!\d))/g,this.oLanguage.sThousands)},fnHeaderCallback:null,fnInfoCallback:null,fnInitComplete:null,fnPreDrawCallback:null,fnRowCallback:null,fnServerData:null,fnServerParams:null,fnStateLoadCallback:function(a){try{return JSON.parse((-1===a.iStateDuration?sessionStorage:localStorage).getItem("DataTables_"+
|
||||
a.sInstance+"_"+location.pathname))}catch(b){}},fnStateLoadParams:null,fnStateLoaded:null,fnStateSaveCallback:function(a,b){try{(-1===a.iStateDuration?sessionStorage:localStorage).setItem("DataTables_"+a.sInstance+"_"+location.pathname,JSON.stringify(b))}catch(c){}},fnStateSaveParams:null,iStateDuration:7200,iDeferLoading:null,iDisplayLength:10,iDisplayStart:0,iTabIndex:0,oClasses:{},oLanguage:{oAria:{sSortAscending:": activate to sort column ascending",sSortDescending:": activate to sort column descending"},
|
||||
oPaginate:{sFirst:"First",sLast:"Last",sNext:"Next",sPrevious:"Previous"},sEmptyTable:"No data available in table",sInfo:"Showing _START_ to _END_ of _TOTAL_ entries",sInfoEmpty:"Showing 0 to 0 of 0 entries",sInfoFiltered:"(filtered from _MAX_ total entries)",sInfoPostFix:"",sDecimal:"",sThousands:",",sLengthMenu:"Show _MENU_ entries",sLoadingRecords:"Loading...",sProcessing:"Processing...",sSearch:"Search:",sSearchPlaceholder:"",sUrl:"",sZeroRecords:"No matching records found"},oSearch:h.extend({},
|
||||
n.models.oSearch),sAjaxDataProp:"data",sAjaxSource:null,sDom:"lfrtip",searchDelay:null,sPaginationType:"simple_numbers",sScrollX:"",sScrollXInner:"",sScrollY:"",sServerMethod:"GET",renderer:null,rowId:"DT_RowId"};Z(n.defaults);n.defaults.column={aDataSort:null,iDataSort:-1,asSorting:["asc","desc"],bSearchable:!0,bSortable:!0,bVisible:!0,fnCreatedCell:null,mData:null,mRender:null,sCellType:"td",sClass:"",sContentPadding:"",sDefaultContent:null,sName:"",sSortDataType:"std",sTitle:null,sType:null,sWidth:null};
|
||||
Z(n.defaults.column);n.models.oSettings={oFeatures:{bAutoWidth:null,bDeferRender:null,bFilter:null,bInfo:null,bLengthChange:null,bPaginate:null,bProcessing:null,bServerSide:null,bSort:null,bSortMulti:null,bSortClasses:null,bStateSave:null},oScroll:{bCollapse:null,iBarWidth:0,sX:null,sXInner:null,sY:null},oLanguage:{fnInfoCallback:null},oBrowser:{bScrollOversize:!1,bScrollbarLeft:!1,bBounding:!1,barWidth:0},ajax:null,aanFeatures:[],aoData:[],aiDisplay:[],aiDisplayMaster:[],aIds:{},aoColumns:[],aoHeader:[],
|
||||
aoFooter:[],oPreviousSearch:{},aoPreSearchCols:[],aaSorting:null,aaSortingFixed:[],asStripeClasses:null,asDestroyStripes:[],sDestroyWidth:0,aoRowCallback:[],aoHeaderCallback:[],aoFooterCallback:[],aoDrawCallback:[],aoRowCreatedCallback:[],aoPreDrawCallback:[],aoInitComplete:[],aoStateSaveParams:[],aoStateLoadParams:[],aoStateLoaded:[],sTableId:"",nTable:null,nTHead:null,nTFoot:null,nTBody:null,nTableWrapper:null,bDeferLoading:!1,bInitialised:!1,aoOpenRows:[],sDom:null,searchDelay:null,sPaginationType:"two_button",
|
||||
iStateDuration:0,aoStateSave:[],aoStateLoad:[],oSavedState:null,oLoadedState:null,sAjaxSource:null,sAjaxDataProp:null,bAjaxDataGet:!0,jqXHR:null,json:k,oAjaxData:k,fnServerData:null,aoServerParams:[],sServerMethod:null,fnFormatNumber:null,aLengthMenu:null,iDraw:0,bDrawing:!1,iDrawError:-1,_iDisplayLength:10,_iDisplayStart:0,_iRecordsTotal:0,_iRecordsDisplay:0,oClasses:{},bFiltered:!1,bSorted:!1,bSortCellsTop:null,oInit:null,aoDestroyCallback:[],fnRecordsTotal:function(){return"ssp"==y(this)?1*this._iRecordsTotal:
|
||||
this.aiDisplayMaster.length},fnRecordsDisplay:function(){return"ssp"==y(this)?1*this._iRecordsDisplay:this.aiDisplay.length},fnDisplayEnd:function(){var a=this._iDisplayLength,b=this._iDisplayStart,c=b+a,d=this.aiDisplay.length,e=this.oFeatures,f=e.bPaginate;return e.bServerSide?!1===f||-1===a?b+d:Math.min(b+a,this._iRecordsDisplay):!f||c>d||-1===a?d:c},oInstance:null,sInstance:null,iTabIndex:0,nScrollHead:null,nScrollFoot:null,aLastSort:[],oPlugins:{},rowIdFn:null,rowId:null};n.ext=x={buttons:{},
|
||||
classes:{},builder:"-source-",errMode:"alert",feature:[],search:[],selector:{cell:[],column:[],row:[]},internal:{},legacy:{ajax:null},pager:{},renderer:{pageButton:{},header:{}},order:{},type:{detect:[],search:{},order:{}},_unique:0,fnVersionCheck:n.fnVersionCheck,iApiIndex:0,oJUIClasses:{},sVersion:n.version};h.extend(x,{afnFiltering:x.search,aTypes:x.type.detect,ofnSearch:x.type.search,oSort:x.type.order,afnSortData:x.order,aoFeatures:x.feature,oApi:x.internal,oStdClasses:x.classes,oPagination:x.pager});
|
||||
h.extend(n.ext.classes,{sTable:"dataTable",sNoFooter:"no-footer",sPageButton:"paginate_button",sPageButtonActive:"current",sPageButtonDisabled:"disabled",sStripeOdd:"odd",sStripeEven:"even",sRowEmpty:"dataTables_empty",sWrapper:"dataTables_wrapper",sFilter:"dataTables_filter",sInfo:"dataTables_info",sPaging:"dataTables_paginate paging_",sLength:"dataTables_length",sProcessing:"dataTables_processing",sSortAsc:"sorting_asc",sSortDesc:"sorting_desc",sSortable:"sorting",sSortableAsc:"sorting_asc_disabled",
|
||||
sSortableDesc:"sorting_desc_disabled",sSortableNone:"sorting_disabled",sSortColumn:"sorting_",sFilterInput:"",sLengthSelect:"",sScrollWrapper:"dataTables_scroll",sScrollHead:"dataTables_scrollHead",sScrollHeadInner:"dataTables_scrollHeadInner",sScrollBody:"dataTables_scrollBody",sScrollFoot:"dataTables_scrollFoot",sScrollFootInner:"dataTables_scrollFootInner",sHeaderTH:"",sFooterTH:"",sSortJUIAsc:"",sSortJUIDesc:"",sSortJUI:"",sSortJUIAscAllowed:"",sSortJUIDescAllowed:"",sSortJUIWrapper:"",sSortIcon:"",
|
||||
sJUIHeader:"",sJUIFooter:""});var Lb=n.ext.pager;h.extend(Lb,{simple:function(){return["previous","next"]},full:function(){return["first","previous","next","last"]},numbers:function(a,b){return[ia(a,b)]},simple_numbers:function(a,b){return["previous",ia(a,b),"next"]},full_numbers:function(a,b){return["first","previous",ia(a,b),"next","last"]},first_last_numbers:function(a,b){return["first",ia(a,b),"last"]},_numbers:ia,numbers_length:7});h.extend(!0,n.ext.renderer,{pageButton:{_:function(a,b,c,d,e,
|
||||
f){var g=a.oClasses,j=a.oLanguage.oPaginate,i=a.oLanguage.oAria.paginate||{},m,l,n=0,o=function(b,d){var k,s,u,r,v=function(b){Ta(a,b.data.action,true)};k=0;for(s=d.length;k<s;k++){r=d[k];if(h.isArray(r)){u=h("<"+(r.DT_el||"div")+"/>").appendTo(b);o(u,r)}else{m=null;l="";switch(r){case "ellipsis":b.append('<span class="ellipsis">…</span>');break;case "first":m=j.sFirst;l=r+(e>0?"":" "+g.sPageButtonDisabled);break;case "previous":m=j.sPrevious;l=r+(e>0?"":" "+g.sPageButtonDisabled);break;case "next":m=
|
||||
j.sNext;l=r+(e<f-1?"":" "+g.sPageButtonDisabled);break;case "last":m=j.sLast;l=r+(e<f-1?"":" "+g.sPageButtonDisabled);break;default:m=r+1;l=e===r?g.sPageButtonActive:""}if(m!==null){u=h("<a>",{"class":g.sPageButton+" "+l,"aria-controls":a.sTableId,"aria-label":i[r],"data-dt-idx":n,tabindex:a.iTabIndex,id:c===0&&typeof r==="string"?a.sTableId+"_"+r:null}).html(m).appendTo(b);Wa(u,{action:r},v);n++}}}},s;try{s=h(b).find(H.activeElement).data("dt-idx")}catch(u){}o(h(b).empty(),d);s!==k&&h(b).find("[data-dt-idx="+
|
||||
s+"]").focus()}}});h.extend(n.ext.type.detect,[function(a,b){var c=b.oLanguage.sDecimal;return $a(a,c)?"num"+c:null},function(a){if(a&&!(a instanceof Date)&&!Zb.test(a))return null;var b=Date.parse(a);return null!==b&&!isNaN(b)||M(a)?"date":null},function(a,b){var c=b.oLanguage.sDecimal;return $a(a,c,!0)?"num-fmt"+c:null},function(a,b){var c=b.oLanguage.sDecimal;return Qb(a,c)?"html-num"+c:null},function(a,b){var c=b.oLanguage.sDecimal;return Qb(a,c,!0)?"html-num-fmt"+c:null},function(a){return M(a)||
|
||||
"string"===typeof a&&-1!==a.indexOf("<")?"html":null}]);h.extend(n.ext.type.search,{html:function(a){return M(a)?a:"string"===typeof a?a.replace(Nb," ").replace(Aa,""):""},string:function(a){return M(a)?a:"string"===typeof a?a.replace(Nb," "):a}});var za=function(a,b,c,d){if(0!==a&&(!a||"-"===a))return-Infinity;b&&(a=Pb(a,b));a.replace&&(c&&(a=a.replace(c,"")),d&&(a=a.replace(d,"")));return 1*a};h.extend(x.type.order,{"date-pre":function(a){a=Date.parse(a);return isNaN(a)?-Infinity:a},"html-pre":function(a){return M(a)?
|
||||
"":a.replace?a.replace(/<.*?>/g,"").toLowerCase():a+""},"string-pre":function(a){return M(a)?"":"string"===typeof a?a.toLowerCase():!a.toString?"":a.toString()},"string-asc":function(a,b){return a<b?-1:a>b?1:0},"string-desc":function(a,b){return a<b?1:a>b?-1:0}});Da("");h.extend(!0,n.ext.renderer,{header:{_:function(a,b,c,d){h(a.nTable).on("order.dt.DT",function(e,f,g,h){if(a===f){e=c.idx;b.removeClass(c.sSortingClass+" "+d.sSortAsc+" "+d.sSortDesc).addClass(h[e]=="asc"?d.sSortAsc:h[e]=="desc"?d.sSortDesc:
|
||||
c.sSortingClass)}})},jqueryui:function(a,b,c,d){h("<div/>").addClass(d.sSortJUIWrapper).append(b.contents()).append(h("<span/>").addClass(d.sSortIcon+" "+c.sSortingClassJUI)).appendTo(b);h(a.nTable).on("order.dt.DT",function(e,f,g,h){if(a===f){e=c.idx;b.removeClass(d.sSortAsc+" "+d.sSortDesc).addClass(h[e]=="asc"?d.sSortAsc:h[e]=="desc"?d.sSortDesc:c.sSortingClass);b.find("span."+d.sSortIcon).removeClass(d.sSortJUIAsc+" "+d.sSortJUIDesc+" "+d.sSortJUI+" "+d.sSortJUIAscAllowed+" "+d.sSortJUIDescAllowed).addClass(h[e]==
|
||||
"asc"?d.sSortJUIAsc:h[e]=="desc"?d.sSortJUIDesc:c.sSortingClassJUI)}})}}});var eb=function(a){return"string"===typeof a?a.replace(/</g,"<").replace(/>/g,">").replace(/"/g,"""):a};n.render={number:function(a,b,c,d,e){return{display:function(f){if("number"!==typeof f&&"string"!==typeof f)return f;var g=0>f?"-":"",h=parseFloat(f);if(isNaN(h))return eb(f);h=h.toFixed(c);f=Math.abs(h);h=parseInt(f,10);f=c?b+(f-h).toFixed(c).substring(2):"";return g+(d||"")+h.toString().replace(/\B(?=(\d{3})+(?!\d))/g,
|
||||
a)+f+(e||"")}}},text:function(){return{display:eb,filter:eb}}};h.extend(n.ext.internal,{_fnExternApiFunc:Mb,_fnBuildAjax:sa,_fnAjaxUpdate:mb,_fnAjaxParameters:vb,_fnAjaxUpdateDraw:wb,_fnAjaxDataSrc:ta,_fnAddColumn:Ea,_fnColumnOptions:ka,_fnAdjustColumnSizing:$,_fnVisibleToColumnIndex:aa,_fnColumnIndexToVisible:ba,_fnVisbleColumns:V,_fnGetColumns:ma,_fnColumnTypes:Ga,_fnApplyColumnDefs:jb,_fnHungarianMap:Z,_fnCamelToHungarian:J,_fnLanguageCompat:Ca,_fnBrowserDetect:hb,_fnAddData:O,_fnAddTr:na,_fnNodeToDataIndex:function(a,
|
||||
b){return b._DT_RowIndex!==k?b._DT_RowIndex:null},_fnNodeToColumnIndex:function(a,b,c){return h.inArray(c,a.aoData[b].anCells)},_fnGetCellData:B,_fnSetCellData:kb,_fnSplitObjNotation:Ja,_fnGetObjectDataFn:S,_fnSetObjectDataFn:N,_fnGetDataMaster:Ka,_fnClearTable:oa,_fnDeleteIndex:pa,_fnInvalidate:da,_fnGetRowElements:Ia,_fnCreateTr:Ha,_fnBuildHead:lb,_fnDrawHead:fa,_fnDraw:P,_fnReDraw:T,_fnAddOptionsHtml:ob,_fnDetectHeader:ea,_fnGetUniqueThs:ra,_fnFeatureHtmlFilter:qb,_fnFilterComplete:ga,_fnFilterCustom:zb,
|
||||
_fnFilterColumn:yb,_fnFilter:xb,_fnFilterCreateSearch:Pa,_fnEscapeRegex:Qa,_fnFilterData:Ab,_fnFeatureHtmlInfo:tb,_fnUpdateInfo:Db,_fnInfoMacros:Eb,_fnInitialise:ha,_fnInitComplete:ua,_fnLengthChange:Ra,_fnFeatureHtmlLength:pb,_fnFeatureHtmlPaginate:ub,_fnPageChange:Ta,_fnFeatureHtmlProcessing:rb,_fnProcessingDisplay:C,_fnFeatureHtmlTable:sb,_fnScrollDraw:la,_fnApplyToChildren:I,_fnCalculateColumnWidths:Fa,_fnThrottle:Oa,_fnConvertToWidth:Fb,_fnGetWidestNode:Gb,_fnGetMaxLenString:Hb,_fnStringToCss:v,
|
||||
_fnSortFlatten:X,_fnSort:nb,_fnSortAria:Jb,_fnSortListener:Va,_fnSortAttachListener:Ma,_fnSortingClasses:wa,_fnSortData:Ib,_fnSaveState:xa,_fnLoadState:Kb,_fnSettingsFromNode:ya,_fnLog:K,_fnMap:F,_fnBindAction:Wa,_fnCallbackReg:z,_fnCallbackFire:r,_fnLengthOverflow:Sa,_fnRenderer:Na,_fnDataSource:y,_fnRowAttributes:La,_fnExtend:Xa,_fnCalculateEnd:function(){}});h.fn.dataTable=n;n.$=h;h.fn.dataTableSettings=n.settings;h.fn.dataTableExt=n.ext;h.fn.DataTable=function(a){return h(this).dataTable(a).api()};
|
||||
h.each(n,function(a,b){h.fn.DataTable[a]=b});return h.fn.dataTable});
|
||||