first commit

This commit is contained in:
2025-11-28 14:28:58 +08:00
commit 6ef96e6370
314 changed files with 40282 additions and 0 deletions
+321
View File
@@ -0,0 +1,321 @@
<?php
/*
Sort:1
Hidden:false
Name:应用管理
Url:app_adm
Right:app
Version:1.0
Author:易如意
Author QQ:51154393
Author Url:www.eruyi.cn
*/
if (!isset($islogin)) header("Location: /"); //非法访问
$nums = Db::table('app')->count(); //获取用户总数
$page = isset($_GET['page']) ? intval($_GET['page']) : 1;
$url = "./?app_adm&page=";
$bnums = ($page - 1) * $ENUMS;
?>
<!-- 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="javascript: void(0);">首页</a></li>
<li class="breadcrumb-item active">应用</li>
</ol>
</div>
<h4 class="page-title"><?php echo $title; ?></h4>
</div> <!-- end page-title-box -->
</div> <!-- end col-->
</div>
<!-- end page title -->
<div class="row">
<div class="col-12">
<div class="card">
<div class="card-body">
<div class="row mb-2">
<div class="col-lg-8">
<button type="button" class="btn btn-danger mb-2 mr-2" data-toggle="modal" data-target="#add"><i class="mdi mdi-cube-outline mr-1"></i>添加应用</button>
</div>
<div class="col-lg-4">
<div class="text-lg-right">
<form action="" method="post">
<div class="input-group">
<input type="text" class="form-control" name="so" placeholder="搜索应用名称、ID" value='<?php echo $so; ?>'>
<span class="mdi mdi-magnify"></span>
<div class="input-group-append">
<button class="btn btn-primary" type="submit">搜索</button>
</div>
</div>
</form>
</div>
</div><!-- end col-->
</div>
<form action="" method="post" name="form_log" id="form_log">
<div class="table-responsive">
<table class="table table-centered table-striped dt-responsive nowrap w-100">
<thead>
<tr>
<th style="width: 20px;">
<div class="custom-control custom-checkbox">
<input type="checkbox" class="custom-control-input" id="all" onclick="checkAll();">
<label class="custom-control-label" for="all">&nbsp;</label>
</div>
</th>
<th style="width: 20px;">
<center><span class="badge badge-light-lighten">APPID</span></center>
</th>
<th><span class="badge badge-light-lighten">应用名</span></th>
<th style="width: 150px;">
<center><span class="badge badge-light-lighten">版本号</span></center>
</th>
<th style="width: 150px;">
<center><span class="badge badge-light-lighten">用户量</span></center>
</th>
<th style="width: 150px;">
<center><span class="badge badge-light-lighten">签到数</span></center>
</th>
<th style="width: 150px;">
<center><span class="badge badge-light-lighten">在线数</span></center>
</th>
<th style="width: 150px;">
<center><span class="badge badge-light-lighten">模式</span></center>
</th>
<th style="width: 150px;">
<center><span class="badge badge-light-lighten">状态</span></center>
</th>
<th style="width: 75px;">
<center><span class="badge badge-light-lighten">管理</span></center>
</th>
</tr>
</thead>
<tbody>
<?php
$app = Db::table('app', 'as A')->field('A.id,A.name,A.state,A.mode,A.app_bb,IFNULL(U.us,0) as unum,IFNULL(Q.qs,0) as qnum,IFNULL(L.zx,0) as znum')->JOIN("(SELECT appid,COUNT(*) AS us FROM {$DP}user GROUP BY appid) AS U", 'A.id=U.appid')->JOIN("(SELECT appid,COUNT(*) AS qs FROM {$DP}log where `type` = 'clock' GROUP BY appid) AS Q", 'A.id=Q.appid')->JOIN("(SELECT appid,COUNT(*) AS zx FROM {$DP}user_logon where `last_t` > {$UTT} GROUP BY appid) AS L", 'A.id=L.appid');
if ($so) {
$app = $app->where('A.id', 'like', "%{$so}%")->whereOr('A.name', 'like', "%{$so}%")->whereOr('A.appkey', 'like', "%{$so}%")->order('id desc');
} else {
$app = $app->order('id desc')->limit($bnums, $ENUMS);
}
$res = $app->select(); //false
//die($sql);
foreach ($res as $k => $v) {
$rows = $res[$k];
?>
<tr>
<td>
<div class="custom-control custom-checkbox">
<input type="checkbox" class="custom-control-input" name="ids[]" value="<?php echo $rows['id']; ?>" id="<?php echo 'check_' . $rows['id']; ?>">
<label class="custom-control-label" for="<?php echo 'check_' . $rows['id']; ?>"></label>
</div>
</td>
<td>
<center><?php echo $rows['id']; ?></center>
</td>
<td>
<span class="badge badge-primary">
<i class="mdi mdi-cube-outline"></i>
<?php echo $rows['name']; ?>
</span>
</td>
<td>
<center><span class="badge badge-primary">
<?php echo $rows['app_bb']; ?>
</span></center>
</td>
<td>
<center><span class="badge badge-secondary-lighten">
<i class="mdi mdi-account"></i>
<?php echo $rows['unum']; ?>
</span></center>
</td>
<td>
<center><span class="badge badge-secondary-lighten">
<i class="mdi mdi-calendar-check-outline"></i>
<?php echo $rows['qnum']; ?>
</span></center>
</td>
<td>
<center><span class="badge badge-secondary-lighten">
<i class="mdi mdi-airplane"></i>
<?php echo $rows['znum']; ?>
</span></center>
</td>
<td>
<center><?php if ($rows['mode'] == 'n') : ?>
<span class="badge badge-success-lighten">免费
<?php else : ?><span class="badge badge-danger-lighten">收费
<?php endif; ?></span>
</center>
</td>
<td>
<center><?php if ($rows['state'] == 'n') : ?><span class="badge badge-danger">关闭<?php else : ?><span class="badge badge-success">正常<?php endif; ?></span></center>
</td>
<td>
<center><a href="./?app_edit&id=<?php echo $rows['id']; ?>" class="action-icon"> <i class="mdi mdi-border-color"></i></a></center>
</td>
</tr>
<?php } ?>
</tbody>
</table>
</div>
<div class="progress-w-percent-s"></div>
<div class="form-row">
<div class="form-group col-md-6 mt-2">
<div class="col-sm-4">
<div class="list_footer">
选中项:<a href="javascript:void(0);" onclick="delsubmit()" id="delsubmit">删除</a>
</div>
</div>
</div>
<div class="col-md-6">
<nav aria-label="Page navigation example">
<ul class="pagination justify-content-end">
<?php if (!$so) {
echo pagination($nums, $ENUMS, $page, $url);
} ?>
</ul>
</nav>
</div>
</div>
</form>
</div> <!-- end card-body-->
</div> <!-- end card-->
</div> <!-- end col -->
</div>
<!-- end row -->
<div id="add" class="modal fade" tabindex="-1" role="dialog" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title" id="add">添加应用</h4>
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
</div>
<div class="modal-body">
<form class="pl-3 pr-3" method="post">
<div class="form-group">
<label class="col-form-label">应用名称</label>
<input class="form-control" type="text" id="add_name" name="add_name" placeholder="应用名称" required>
</div>
<div class="form-group">
<label>应用版本</label>
<input class="form-control" type="text" id="add_bb" name="add_bb" placeholder="1.0.0" value="" required>
</div>
<?php if ($app_num > 0) : ?>
<div class="form-group">
<label>继承应用设置</label>
<select class="form-control" name="add_appid" id="add_appid">
<option value="null">不继承</option>
<?php
$res = Db::table('app')->order('id desc')->select();
foreach ($res as $k => $v) {
$rows = $res[$k];
?>
<option value="<?php echo $rows['id']; ?>"><?php echo $rows['name']; ?></option>
<?php } ?>
</select>
</div>
<?php endif; ?>
<div class="form-group text-center">
<button class="btn btn-primary" type="submit" name="add_submit" id="add_submit" value="确定">确认添加</button>
</div>
</form>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->
<script>
$('#add_submit').click(function() {
let t = window.jQuery;
var add_name = $("input[name='add_name']").val();
var add_bb = $("input[name='add_bb']").val();
var add_appid = $("select[name='add_appid']").val();
document.getElementById('add_submit').innerHTML = "<span class=\"spinner-border spinner-border-sm mr-1\" role=\"status\" aria-hidden=\"true\"></span>正在添加";
document.getElementById('add_submit').disabled = true;
$.ajax({
cache: false,
type: "POST", //请求的方式
url: "ajax.php?act=app_add", //请求的文件名
data: {
bb: add_bb,
name: add_name,
appid: add_appid
},
dataType: 'json',
success: function(data) {
console.log(data);
document.getElementById('add_submit').disabled = false;
document.getElementById('add_submit').innerHTML = "确认添加";
if (data.code == 200) {
t.NotificationApp.send("成功", data.msg, "top-center", "rgba(0,0,0,0.2)", "success")
window.setTimeout("window.location='" + window.location.href + "'", 1000);
} else {
t.NotificationApp.send("失败", data.msg, "top-center", "rgba(0,0,0,0.2)", "error")
}
}
});
return false; //重要语句:如果是像a链接那种有href属性注册的点击事件,可以阻止它跳转。
});
function checkAll() {
var code_Values = document.getElementsByTagName("input");
var all = document.getElementById("all");
if (code_Values.length) {
for (i = 0; i < code_Values.length; i++) {
if (code_Values[i].type == "checkbox") {
code_Values[i].checked = all.checked;
}
}
} else {
if (code_Values.type == "checkbox") {
code_Values.checked = all.checked;
}
}
}
function delsubmit() {
var id_array = new Array();
$("input[name='ids[]']:checked").each(function() {
id_array.push($(this).val()); //向数组中添加元素
}); //获取界面复选框的所有值
//ar chapterstr = id_array.join(',');//把复选框的值以数组形式存放
var url = window.location.href;
let t = window.jQuery;
if (id_array.length <= 0) {
t.NotificationApp.send("提示", "请选择要删除的项目", "top-center", "rgba(0,0,0,0.2)", "warning")
return false;
}
document.getElementById("delsubmit").innerHTML = "<div class=\"spinner-border spinner-border-sm mr-1\" style=\"margin-bottom:2px!important\" role=\"status\"></div>删除中";
document.getElementById("delsubmit").className = "text-title";
$("#delsubmit").attr("disabled", true).css("pointer-events", "none");
console.log(id_array);
$.ajax({
cache: false,
type: "POST", //请求的方式
url: "ajax.php?act=app_del", //请求的文件名
data: {
id: id_array
},
dataType: 'json',
success: function(data) {
if (data.code == 200) {
t.NotificationApp.send("成功", data.msg, "top-center", "rgba(0,0,0,0.2)", "success")
} else {
t.NotificationApp.send("失败", data.msg, "top-center", "rgba(0,0,0,0.2)", "error")
}
//console.log(data);
window.setTimeout("window.location='" + url + "'", 1000);
}
});
return false; //重要语句:如果是像a链接那种有href属性注册的点击事件,可以阻止它跳转。
}
</script>
File diff suppressed because it is too large Load Diff
+397
View File
@@ -0,0 +1,397 @@
<?php
/*
Sort:3
Hidden:false
Name:扩展接口
Url:app_exten
Right:app_exten
Version:1.0
Author:易如意
Author QQ:51154393
Author Url:www.eruyi.cn
*/
if (!isset($islogin)) header("Location: /"); //非法访问
$nums = Db::table('app_exten')->count();
$page = isset($_GET['page']) ? intval($_GET['page']) : 1;
$url = "./?app_exten&page=";
$bnums = ($page - 1) * $ENUMS;
?>
<!-- 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="javascript: void(0);">首页</a></li>
<li class="breadcrumb-item active">应用</li>
</ol>
</div>
<h4 class="page-title"><?php echo $title; ?></h4>
</div> <!-- end page-title-box -->
</div> <!-- end col-->
</div>
<!-- end page title -->
<div class="row">
<div class="col-12">
<div class="card">
<div class="card-body">
<div class="row mb-2">
<div class="col-lg-8">
<button type="button" onclick="modal_cut('add',0,0,0,0)" class="btn btn-danger mb-2 mr-2" data-toggle="modal" data-target="#modal"><i class="mdi mdi-briefcase-plus-outline mr-1"></i>添加扩展配置</button>
</div>
<div class="col-lg-4">
<div class="text-lg-right">
<form action="" method="post">
<div class="input-group">
<input type="text" class="form-control" name="so" placeholder="搜索配置" value='<?php echo $so; ?>'>
<span class="mdi mdi-magnify"></span>
<div class="input-group-append">
<button class="btn btn-primary" type="submit">搜索</button>
</div>
</div>
</form>
</div>
</div><!-- end col-->
</div>
<form action="" method="post" name="form_log" id="form_log">
<div class="table-responsive">
<table class="table table-centered table-striped dt-responsive nowrap w-100">
<thead>
<tr>
<th style="width: 20px;">
<div class="custom-control custom-checkbox">
<input type="checkbox" class="custom-control-input" id="all" onclick="checkAll();">
<label class="custom-control-label" for="all">&nbsp;</label>
</div>
</th>
<th style="width: 100px;">
<center><span class="badge badge-light-lighten">变量名</span></center>
</th>
<th><span class="badge badge-light-lighten">配置内容</span></th>
<th style="width: 150px;">
<center><span class="badge badge-light-lighten">应用名称</span></center>
</th>
<th style="width: 75px;">
<center><span class="badge badge-light-lighten">编辑</span></center>
</th>
</tr>
</thead>
<tbody>
<?php
$app = Db::table('app_exten', 'as K')->field('K.*,A.name as appname')->JOIN('app', 'as A', 'K.appid=A.id');
if ($so) {
$app = $app->where('K.name', 'like', "%{$so}%")->whereOr('K.data', 'like', "%{$so}%")->order('id desc');
} else {
$app = $app->order('id desc')->limit($bnums, $ENUMS);
}
$res = $app->select(); //false
//die($res);
foreach ($res as $k => $v) {
$rows = $res[$k];
?>
<tr>
<td>
<div class="custom-control custom-checkbox">
<input type="checkbox" class="custom-control-input" name="ids[]" value="<?php echo $rows['id']; ?>" id="<?php echo 'check_' . $rows['id']; ?>">
<label class="custom-control-label" for="<?php echo 'check_' . $rows['id']; ?>"></label>
</div>
</td>
<td>
<center><?php echo $rows['name']; ?></center>
</td>
<td>
<?php echo mb_substr($rows['data'], 0, 50, 'utf-8') . "..." ?>
</td>
<td>
<center>
<?php if (empty($rows['appname'])) : ?><span class="badge badge-danger"><i class="mdi mdi-close-circle"></i> 应用不存在
<?php else : ?><span class="badge badge-primary"><i class="mdi mdi-cube-outline"></i> <?php echo $rows['appname']; ?>
<?php endif; ?>
</span></center>
</td>
<td>
<center><a href="javascript:void(0);" onclick="modal_cut('edit',<?php echo $rows['id']; ?>,'<?php echo $rows['api']; ?>','<?php echo $rows['name']; ?>','<?php echo $rows['data']; ?>',<?php echo $rows['appid']; ?>,'<?php echo $rows['state']; ?>','<?php echo $rows['type']; ?>')" class="action-icon"> <i class="mdi mdi-border-color" data-toggle="modal" data-target="#modal"></i></a></center>
</td>
</tr>
<?php } ?>
</tbody>
</table>
</div>
<div class="progress-w-percent-s"></div>
<div class="form-row">
<div class="form-group col-md-6 mt-2">
<div class="col-sm-4">
<div class="list_footer">
选中项:<a href="javascript:void(0);" onclick="delsubmit()" id="delsubmit">删除</a>
</div>
</div>
</div>
<div class="col-md-6">
<nav aria-label="Page navigation example">
<ul class="pagination justify-content-end">
<?php if (!$so) {
echo pagination($nums, $ENUMS, $page, $url);
} ?>
</ul>
</nav>
</div>
</div>
</form>
</div> <!-- end card-body-->
</div> <!-- end card-->
</div> <!-- end col -->
</div>
<!-- end row -->
<div id="modal" class="modal fade" tabindex="-1" role="dialog" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title" id="modal_title">添加应用扩展配置</h4>
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
</div>
<div class="modal-body">
<?php if ($app_num > 0) : ?>
<form class="pl-6 pr-6" method="post">
<input class="form-control" type="number" id="exten_id" name="exten_id" value="" placeholder="配置ID" hidden>
<div class="form-row">
<div class="form-group col-md-4">
<label>接口类型</label>
<select class="form-control" name="exten_type" id="exten_type">
<option value="0">XML</option>
<option value="1">JSON</option>
<option value="2">多JSON</option>
<option value="3">聚合接口</option>
</select>
</div>
<div class="form-group col-md-4">
<label>接口名称</label>
<input type="text" id="exten_name" name="exten_name" class="form-control" placeholder="扩展名称" value="" required>
</div>
</div>
<div class="form-group">
<label class="col-form-label">扩展接口【多个用英文(,)隔开】</label>
<input class="form-control" type="text" id="exten_api" name="exten_api" placeholder="第三方接口" required>
</div>
<div class="form-group">
<label>扩展内容【要应用的flag,多个用英文(,)隔开】</label>
<textarea id="exten_data" name="exten_data" class="form-control" maxlength="255" rows="3" placeholder="如:youku,优酷,mgtv"><?php echo $res['exten_data']; ?></textarea>
</div>
<div class="form-group">
<label>绑定应用</label>
<select class="form-control" name="exten_appid" id="exten_appid">
<?php
$res = Db::table('app')->order('id desc')->select();
foreach ($res as $k => $v) {
$rows = $res[$k];
?>
<option value="<?php echo $rows['id']; ?>"><?php echo $rows['name']; ?></option>
<?php } ?>
</select>
</div>
<div class="eruyi-checkbox">
<label class="eruyi-label">状态</label>&nbsp;&nbsp;
<input type="checkbox" id="state" <?php if ($rows['state'] == 'y') : ?>checked<?php endif; ?> data-switch="success" onchange="" />
<label for="state" data-on-label="开启" data-off-label="关闭"></label>
</div>
<div id="add" class="form-group text-center">
<button class="btn btn-primary" type="submit" name="add_submit" id="add_submit" value="确定">确认添加</button>
</div>
<div id="edit" class="form-group text-center" hidden>
<button class="btn btn-primary" type="submit" name="edit_submit" id="edit_submit" value="确定">确认编辑</button>
</div>
</form>
<?php else : ?>
<div class="text-center" style="margin-top:4rem!important;margin-bottom:6rem!important">
<img src="../assets/images/no-app.svg" height="120" alt="File not found Image">
<h4 class="text-uppercase mt-3 mb-3">需要添加应用后开启该功能</h4>
<a href="./?app_adm"><button type="button" class="btn btn-dark">添加应用</button></a>
</div>
<?php endif; ?>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->
<script>
$('#add_submit').click(function() {
var state = document.getElementById("state").checked;
if (state) {
state = 'y';
} else {
state = 'n';
}
let t = window.jQuery;
var exten_api = $("input[name='exten_api']").val();
var exten_type = $("select[name='exten_type']").val();
var exten_name = $("input[name='exten_name']").val();
var exten_data = $("textarea[name='exten_data']").val();
var exten_appid = $("select[name='exten_appid']").val();
document.getElementById('add_submit').innerHTML = "<span class=\"spinner-border spinner-border-sm mr-1\" role=\"status\" aria-hidden=\"true\"></span>正在添加";
document.getElementById('add_submit').disabled = true;
$.ajax({
cache: false,
type: "POST", //请求的方式
url: "ajax.php?act=app_exten_add", //请求的文件名
data: {
api: exten_api,
name: exten_name,
data: exten_data,
appid: exten_appid,
state: state,
type: exten_type
},
dataType: 'json',
success: function(data) {
console.log(data);
document.getElementById('add_submit').disabled = false;
document.getElementById('add_submit').innerHTML = "确认添加";
if (data.code == 200) {
t.NotificationApp.send("成功", data.msg, "top-center", "rgba(0,0,0,0.2)", "success")
window.setTimeout("window.location='" + window.location.href + "'", 1000);
} else {
t.NotificationApp.send("失败", data.msg, "top-center", "rgba(0,0,0,0.2)", "error")
}
}
});
return false; //重要语句:如果是像a链接那种有href属性注册的点击事件,可以阻止它跳转。
});
$('#edit_submit').click(function() {
var state = document.getElementById("state").checked;
if (state) {
state = 'y';
} else {
state = 'n';
}
let t = window.jQuery;
var exten_id = $("input[name='exten_id']").val();
var exten_api = $("input[name='exten_api']").val();
var exten_type = $("select[name='exten_type']").val();
var exten_name = $("input[name='exten_name']").val();
var exten_data = $("textarea[name='exten_data']").val();
var exten_appid = $("select[name='exten_appid']").val();
document.getElementById('edit_submit').innerHTML = "<span class=\"spinner-border spinner-border-sm mr-1\" role=\"status\" aria-hidden=\"true\"></span>正在编辑";
document.getElementById('edit_submit').disabled = true;
$.ajax({
cache: false,
type: "POST", //请求的方式
url: "ajax.php?act=app_exten_edit", //请求的文件名
data: {
id: exten_id,
api: exten_api,
name: exten_name,
data: exten_data,
appid: exten_appid,
state: state,
type: exten_type
},
dataType: 'json',
success: function(data) {
console.log(data);
document.getElementById('edit_submit').disabled = false;
document.getElementById('edit_submit').innerHTML = "确认编辑";
if (data.code == 200) {
t.NotificationApp.send("成功", data.msg, "top-center", "rgba(0,0,0,0.2)", "success")
window.setTimeout("window.location='" + window.location.href + "'", 1000);
} else {
t.NotificationApp.send("失败", data.msg, "top-center", "rgba(0,0,0,0.2)", "error")
}
}
});
return false; //重要语句:如果是像a链接那种有href属性注册的点击事件,可以阻止它跳转。
});
function modal_cut(type, id, api, name, data, appid, state, apitype) {
if (type == 'add') {
document.getElementById("modal_title").innerHTML = "添加应用扩展配置";
document.getElementById("add").removeAttribute("hidden");
document.getElementById("edit").setAttribute("hidden", true);
document.getElementById("exten_id").value = '';
document.getElementById("exten_api").value = '';
document.getElementById("exten_name").value = '';
document.getElementById("exten_data").value = '';
document.getElementById("state").value = '';
document.getElementById("exten_type")[apitype].selected = true;
} else {
document.getElementById("modal_title").innerHTML = "编辑应用扩展配置";
document.getElementById("edit").removeAttribute("hidden");
document.getElementById("add").setAttribute("hidden", true);
document.getElementById("exten_id").value = id;
document.getElementById("exten_api").value = api;
document.getElementById("exten_name").value = name;
document.getElementById("exten_data").value = data;
document.getElementById("exten_appid").value = appid;
if (state == 'y') {
document.getElementById("state").checked = true;
} else {
document.getElementById("state").checked = false;
}
document.getElementById("exten_type")[apitype].selected = true;
}
}
function checkAll() {
var code_Values = document.getElementsByTagName("input");
var all = document.getElementById("all");
if (code_Values.length) {
for (i = 0; i < code_Values.length; i++) {
if (code_Values[i].type == "checkbox") {
code_Values[i].checked = all.checked;
}
}
} else {
if (code_Values.type == "checkbox") {
code_Values.checked = all.checked;
}
}
}
function delsubmit() {
var id_array = new Array();
$("input[name='ids[]']:checked").each(function() {
id_array.push($(this).val()); //向数组中添加元素
}); //获取界面复选框的所有值
//ar chapterstr = id_array.join(',');//把复选框的值以数组形式存放
var url = window.location.href;
let t = window.jQuery;
if (id_array.length <= 0) {
t.NotificationApp.send("提示", "请选择要删除的项目", "top-center", "rgba(0,0,0,0.2)", "warning")
return false;
}
document.getElementById("delsubmit").innerHTML = "<div class=\"spinner-border spinner-border-sm mr-1\" style=\"margin-bottom:2px!important\" role=\"status\"></div>删除中";
document.getElementById("delsubmit").className = "text-title";
$("#delsubmit").attr("disabled", true).css("pointer-events", "none");
console.log(id_array);
$.ajax({
cache: false,
type: "POST", //请求的方式
url: "ajax.php?act=app_exten_del", //请求的文件名
data: {
id: id_array
},
dataType: 'json',
success: function(data) {
if (data.code == 200) {
t.NotificationApp.send("成功", data.msg, "top-center", "rgba(0,0,0,0.2)", "success")
} else {
t.NotificationApp.send("失败", data.msg, "top-center", "rgba(0,0,0,0.2)", "error")
}
//console.log(data);
window.setTimeout("window.location='" + url + "'", 1000);
}
});
return false; //重要语句:如果是像a链接那种有href属性注册的点击事件,可以阻止它跳转。
}
</script>
+371
View File
@@ -0,0 +1,371 @@
<?php
/*
Sort:4
Hidden:false
Name:首页广告
Url:app_homead
Right:app_homead
Version:1.0
Author:易如意
Author QQ:51154393
Author Url:www.eruyi.cn
*/
if (!isset($islogin)) header("Location: /"); //非法访问
$nums = Db::table('app_homead')->count();
$page = isset($_GET['page']) ? intval($_GET['page']) : 1;
$url = "./?app_homead&page=";
$bnums = ($page - 1) * $ENUMS;
?>
<!-- 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="javascript: void(0);">首页</a></li>
<li class="breadcrumb-item active">应用</li>
</ol>
</div>
<h4 class="page-title"><?php echo $title; ?></h4>
</div> <!-- end page-title-box -->
</div> <!-- end col-->
</div>
<!-- end page title -->
<div class="row">
<div class="col-12">
<div class="card">
<div class="card-body">
<div class="row mb-2">
<div class="col-lg-8">
<button type="button" onclick="modal_cut('add',0,0,0,0)" class="btn btn-danger mb-2 mr-2" data-toggle="modal" data-target="#modal"><i class="mdi mdi-briefcase-plus-outline mr-1"></i>添加扩展配置</button>
</div>
<div class="col-lg-4">
<div class="text-lg-right">
<form action="" method="post">
<div class="input-group">
<input type="text" class="form-control" name="so" placeholder="搜索配置" value='<?php echo $so; ?>'>
<span class="mdi mdi-magnify"></span>
<div class="input-group-append">
<button class="btn btn-primary" type="submit">搜索</button>
</div>
</div>
</form>
</div>
</div><!-- end col-->
</div>
<form action="" method="post" name="form_log" id="form_log">
<div class="table-responsive">
<table class="table table-centered table-striped dt-responsive nowrap w-100">
<thead>
<tr>
<th style="width: 20px;">
<div class="custom-control custom-checkbox">
<input type="checkbox" class="custom-control-input" id="all" onclick="checkAll();">
<label class="custom-control-label" for="all">&nbsp;</label>
</div>
</th>
<th style="width: 100px;">
<center><span class="badge badge-light-lighten">名称</span></center>
</th>
<th style="width: 150px;">
<center><span class="badge badge-light-lighten">可否搜索</span></center>
</th>
<th style="width: 150px;">
<center><span class="badge badge-light-lighten">应用名称</span></center>
</th>
<th style="width: 75px;">
<center><span class="badge badge-light-lighten">编辑</span></center>
</th>
</tr>
</thead>
<tbody>
<?php
$app = Db::table('app_homead', 'as K')->field('K.*,A.name as appname')->JOIN('app', 'as A', 'K.appid=A.id');
if ($so) {
$app = $app->where('K.name', 'like', "%{$so}%")->whereOr('K.data', 'like', "%{$so}%")->order('id desc');
} else {
$app = $app->order('id desc')->limit($bnums, $ENUMS);
}
$res = $app->select(); //false
//die($res);
foreach ($res as $k => $v) {
$rows = $res[$k];
?>
<tr>
<td>
<div class="custom-control custom-checkbox">
<input type="checkbox" class="custom-control-input" name="ids[]" value="<?php echo $rows['id']; ?>" id="<?php echo 'check_' . $rows['id']; ?>">
<label class="custom-control-label" for="<?php echo 'check_' . $rows['id']; ?>"></label>
</div>
</td>
<td>
<center><?php echo $rows['name']; ?></center>
</td>
<td>
<center><?php if ($rows['searchable'] == '0') : ?><span class="badge badge-danger">关闭<?php else : ?><span class="badge badge-success">开启<?php endif; ?></span></center>
</td>
<td>
<center>
<?php if (empty($rows['appname'])) : ?><span class="badge badge-danger"><i class="mdi mdi-close-circle"></i> 应用不存在
<?php else : ?><span class="badge badge-primary"><i class="mdi mdi-cube-outline"></i> <?php echo $rows['appname']; ?>
<?php endif; ?>
</span></center>
</td>
<td>
<center><a href="javascript:void(0);" onclick="modal_cut('edit',<?php echo $rows['id']; ?>,'<?php echo $rows['name']; ?>','<?php echo $rows['data']; ?>',<?php echo $rows['appid']; ?>,'<?php echo $rows['searchable']; ?>')" class="action-icon"> <i class="mdi mdi-border-color" data-toggle="modal" data-target="#modal"></i></a></center>
</td>
</tr>
<?php } ?>
</tbody>
</table>
</div>
<div class="progress-w-percent-s"></div>
<div class="form-row">
<div class="form-group col-md-6 mt-2">
<div class="col-sm-4">
<div class="list_footer">
选中项:<a href="javascript:void(0);" onclick="delsubmit()" id="delsubmit">删除</a>
</div>
</div>
</div>
<div class="col-md-6">
<nav aria-label="Page navigation example">
<ul class="pagination justify-content-end">
<?php if (!$so) {
echo pagination($nums, $ENUMS, $page, $url);
} ?>
</ul>
</nav>
</div>
</div>
</form>
</div> <!-- end card-body-->
</div> <!-- end card-->
</div> <!-- end col -->
</div>
<!-- end row -->
<div id="modal" class="modal fade" tabindex="-1" role="dialog" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title" id="modal_title">添加应用扩展配置</h4>
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
</div>
<div class="modal-body">
<?php if ($app_num > 0) : ?>
<form class="pl-6 pr-6" method="post">
<input class="form-control" type="number" id="homead_id" name="homead_id" value="" placeholder="配置ID" hidden>
<!--style="display:none" -->
<div class="form-group">
<label class="col-form-label">扩展变量</label>
<input class="form-control" type="text" id="homead_name" name="homead_name" placeholder="变量名称仅限字母加数字" required>
</div>
<div class="form-group">
<label>扩展内容</label>
<textarea id="homead_data" name="homead_data" class="form-control" maxlength="255" rows="4" placeholder="扩展内容"><?php echo $res['homead_data']; ?></textarea>
</div>
<div class="form-group">
<label>绑定应用</label>
<select class="form-control" name="homead_appid" id="homead_appid">
<?php
$res = Db::table('app')->order('id desc')->select();
foreach ($res as $k => $v) {
$rows = $res[$k];
?>
<option value="<?php echo $rows['id']; ?>"><?php echo $rows['name']; ?></option>
<?php } ?>
</select>
</div>
<div class="eruyi-checkbox">
<label class="eruyi-label">按OK键搜索</label>&nbsp;&nbsp;
<input type="checkbox" id="searchable" <?php if ($rows['searchable'] == 'y') : ?>checked<?php endif; ?> data-switch="success" onchange="" />
<label for="searchable" data-on-label="开启" data-off-label="关闭"></label>
</div>
<div id="add" class="form-group text-center">
<button class="btn btn-primary" type="submit" name="add_submit" id="add_submit" value="确定">确认添加</button>
</div>
<div id="edit" class="form-group text-center" hidden>
<button class="btn btn-primary" type="submit" name="edit_submit" id="edit_submit" value="确定">确认编辑</button>
</div>
</form>
<?php else : ?>
<div class="text-center" style="margin-top:4rem!important;margin-bottom:6rem!important">
<img src="../assets/images/no-app.svg" height="120" alt="File not found Image">
<h4 class="text-uppercase mt-3 mb-3">需要添加应用后开启该功能</h4>
<a href="./?app_adm"><button type="button" class="btn btn-dark">添加应用</button></a>
</div>
<?php endif; ?>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->
<script>
$('#add_submit').click(function() {
var searchable = document.getElementById("searchable").checked;
if (searchable) {
searchable = 1;
} else {
searchable = 0;
}
let t = window.jQuery;
var homead_name = $("input[name='homead_name']").val();
var homead_data = $("textarea[name='homead_data']").val();
var homead_appid = $("select[name='homead_appid']").val();
document.getElementById('add_submit').innerHTML = "<span class=\"spinner-border spinner-border-sm mr-1\" role=\"status\" aria-hidden=\"true\"></span>正在添加";
document.getElementById('add_submit').disabled = true;
$.ajax({
cache: false,
type: "POST", //请求的方式
url: "ajax.php?act=app_homead_add", //请求的文件名
data: {
name: homead_name,
data: homead_data,
appid: homead_appid,
searchable: searchable
},
dataType: 'json',
success: function(data) {
console.log(data);
document.getElementById('add_submit').disabled = false;
document.getElementById('add_submit').innerHTML = "确认添加";
if (data.code == 200) {
t.NotificationApp.send("成功", data.msg, "top-center", "rgba(0,0,0,0.2)", "success")
window.setTimeout("window.location='" + window.location.href + "'", 1000);
} else {
t.NotificationApp.send("失败", data.msg, "top-center", "rgba(0,0,0,0.2)", "error")
}
}
});
return false; //重要语句:如果是像a链接那种有href属性注册的点击事件,可以阻止它跳转。
});
$('#edit_submit').click(function() {
var searchable = document.getElementById("searchable").checked;
if (searchable) {
searchable = 1;
} else {
searchable = 0;
}
let t = window.jQuery;
var homead_id = $("input[name='homead_id']").val();
var homead_name = $("input[name='homead_name']").val();
var homead_data = $("textarea[name='homead_data']").val();
var homead_appid = $("select[name='homead_appid']").val();
document.getElementById('edit_submit').innerHTML = "<span class=\"spinner-border spinner-border-sm mr-1\" role=\"status\" aria-hidden=\"true\"></span>正在编辑";
document.getElementById('edit_submit').disabled = true;
$.ajax({
cache: false,
type: "POST", //请求的方式
url: "ajax.php?act=app_homead_edit", //请求的文件名
data: {
id: homead_id,
name: homead_name,
data: homead_data,
appid: homead_appid,
searchable: searchable
},
dataType: 'json',
success: function(data) {
console.log(data);
document.getElementById('edit_submit').disabled = false;
document.getElementById('edit_submit').innerHTML = "确认编辑";
if (data.code == 200) {
t.NotificationApp.send("成功", data.msg, "top-center", "rgba(0,0,0,0.2)", "success")
window.setTimeout("window.location='" + window.location.href + "'", 1000);
} else {
t.NotificationApp.send("失败", data.msg, "top-center", "rgba(0,0,0,0.2)", "error")
}
}
});
return false; //重要语句:如果是像a链接那种有href属性注册的点击事件,可以阻止它跳转。
});
function modal_cut(type, id, name, data, appid, searchable) {
if (type == 'add') {
document.getElementById("modal_title").innerHTML = "添加应用扩展配置";
document.getElementById("add").removeAttribute("hidden");
document.getElementById("edit").setAttribute("hidden", true);
document.getElementById("homead_id").value = '';
document.getElementById("homead_name").value = '';
document.getElementById("homead_data").value = '';
} else {
document.getElementById("modal_title").innerHTML = "编辑应用扩展配置";
document.getElementById("edit").removeAttribute("hidden");
document.getElementById("add").setAttribute("hidden", true);
document.getElementById("homead_id").value = id;
document.getElementById("homead_name").value = name;
document.getElementById("homead_data").value = data;
document.getElementById("homead_appid").value = appid;
if (searchable == 1) {
document.getElementById("searchable").checked = true;
} else {
document.getElementById("searchable").checked = false;
}
}
}
function checkAll() {
var code_Values = document.getElementsByTagName("input");
var all = document.getElementById("all");
if (code_Values.length) {
for (i = 0; i < code_Values.length; i++) {
if (code_Values[i].type == "checkbox") {
code_Values[i].checked = all.checked;
}
}
} else {
if (code_Values.type == "checkbox") {
code_Values.checked = all.checked;
}
}
}
function delsubmit() {
var id_array = new Array();
$("input[name='ids[]']:checked").each(function() {
id_array.push($(this).val()); //向数组中添加元素
}); //获取界面复选框的所有值
//ar chapterstr = id_array.join(',');//把复选框的值以数组形式存放
var url = window.location.href;
let t = window.jQuery;
if (id_array.length <= 0) {
t.NotificationApp.send("提示", "请选择要删除的项目", "top-center", "rgba(0,0,0,0.2)", "warning")
return false;
}
document.getElementById("delsubmit").innerHTML = "<div class=\"spinner-border spinner-border-sm mr-1\" style=\"margin-bottom:2px!important\" role=\"status\"></div>删除中";
document.getElementById("delsubmit").className = "text-title";
$("#delsubmit").attr("disabled", true).css("pointer-events", "none");
console.log(id_array);
$.ajax({
cache: false,
type: "POST", //请求的方式
url: "ajax.php?act=app_homead_del", //请求的文件名
data: {
id: id_array
},
dataType: 'json',
success: function(data) {
if (data.code == 200) {
t.NotificationApp.send("成功", data.msg, "top-center", "rgba(0,0,0,0.2)", "success")
} else {
t.NotificationApp.send("失败", data.msg, "top-center", "rgba(0,0,0,0.2)", "error")
}
//console.log(data);
window.setTimeout("window.location='" + url + "'", 1000);
}
});
return false; //重要语句:如果是像a链接那种有href属性注册的点击事件,可以阻止它跳转。
}
</script>
+371
View File
@@ -0,0 +1,371 @@
<?php
/*
Sort:4
Hidden:false
Name:屏保设置
Url:app_level
Right:app_level
Version:1.0
Author:易如意
Author QQ:51154393
Author Url:www.eruyi.cn
*/
if (!isset($islogin)) header("Location: /"); //非法访问
$nums = Db::table('app_level')->count();
$page = isset($_GET['page']) ? intval($_GET['page']) : 1;
$url = "./?app_level&page=";
$bnums = ($page - 1) * $ENUMS;
?>
<!-- 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="javascript: void(0);">首页</a></li>
<li class="breadcrumb-item active">应用</li>
</ol>
</div>
<h4 class="page-title"><?php echo $title; ?></h4>
</div> <!-- end page-title-box -->
</div> <!-- end col-->
</div>
<!-- end page title -->
<div class="row">
<div class="col-12">
<div class="card">
<div class="card-body">
<div class="row mb-2">
<div class="col-lg-8">
<button type="button" onclick="modal_cut('add',0,0,0,0)" class="btn btn-danger mb-2 mr-2" data-toggle="modal" data-target="#modal"><i class="mdi mdi-briefcase-plus-outline mr-1"></i>添加扩展配置</button>
</div>
<div class="col-lg-4">
<div class="text-lg-right">
<form action="" method="post">
<div class="input-group">
<input type="text" class="form-control" name="so" placeholder="搜索配置" value='<?php echo $so; ?>'>
<span class="mdi mdi-magnify"></span>
<div class="input-group-append">
<button class="btn btn-primary" type="submit">搜索</button>
</div>
</div>
</form>
</div>
</div><!-- end col-->
</div>
<form action="" method="post" name="form_log" id="form_log">
<div class="table-responsive">
<table class="table table-centered table-striped dt-responsive nowrap w-100">
<thead>
<tr>
<th style="width: 20px;">
<div class="custom-control custom-checkbox">
<input type="checkbox" class="custom-control-input" id="all" onclick="checkAll();">
<label class="custom-control-label" for="all">&nbsp;</label>
</div>
</th>
<th style="width: 100px;">
<center><span class="badge badge-light-lighten">名称</span></center>
</th>
<th style="width: 150px;">
<center><span class="badge badge-light-lighten">可否搜索</span></center>
</th>
<th style="width: 150px;">
<center><span class="badge badge-light-lighten">应用名称</span></center>
</th>
<th style="width: 75px;">
<center><span class="badge badge-light-lighten">编辑</span></center>
</th>
</tr>
</thead>
<tbody>
<?php
$app = Db::table('app_level', 'as K')->field('K.*,A.name as appname')->JOIN('app', 'as A', 'K.appid=A.id');
if ($so) {
$app = $app->where('K.name', 'like', "%{$so}%")->whereOr('K.data', 'like', "%{$so}%")->order('id desc');
} else {
$app = $app->order('id desc')->limit($bnums, $ENUMS);
}
$res = $app->select(); //false
//die($res);
foreach ($res as $k => $v) {
$rows = $res[$k];
?>
<tr>
<td>
<div class="custom-control custom-checkbox">
<input type="checkbox" class="custom-control-input" name="ids[]" value="<?php echo $rows['id']; ?>" id="<?php echo 'check_' . $rows['id']; ?>">
<label class="custom-control-label" for="<?php echo 'check_' . $rows['id']; ?>"></label>
</div>
</td>
<td>
<center><?php echo $rows['name']; ?></center>
</td>
<td>
<center><?php if ($rows['searchable'] == '0') : ?><span class="badge badge-danger">关闭<?php else : ?><span class="badge badge-success">开启<?php endif; ?></span></center>
</td>
<td>
<center>
<?php if (empty($rows['appname'])) : ?><span class="badge badge-danger"><i class="mdi mdi-close-circle"></i> 应用不存在
<?php else : ?><span class="badge badge-primary"><i class="mdi mdi-cube-outline"></i> <?php echo $rows['appname']; ?>
<?php endif; ?>
</span></center>
</td>
<td>
<center><a href="javascript:void(0);" onclick="modal_cut('edit',<?php echo $rows['id']; ?>,'<?php echo $rows['name']; ?>','<?php echo $rows['data']; ?>',<?php echo $rows['appid']; ?>,'<?php echo $rows['searchable']; ?>')" class="action-icon"> <i class="mdi mdi-border-color" data-toggle="modal" data-target="#modal"></i></a></center>
</td>
</tr>
<?php } ?>
</tbody>
</table>
</div>
<div class="progress-w-percent-s"></div>
<div class="form-row">
<div class="form-group col-md-6 mt-2">
<div class="col-sm-4">
<div class="list_footer">
选中项:<a href="javascript:void(0);" onclick="delsubmit()" id="delsubmit">删除</a>
</div>
</div>
</div>
<div class="col-md-6">
<nav aria-label="Page navigation example">
<ul class="pagination justify-content-end">
<?php if (!$so) {
echo pagination($nums, $ENUMS, $page, $url);
} ?>
</ul>
</nav>
</div>
</div>
</form>
</div> <!-- end card-body-->
</div> <!-- end card-->
</div> <!-- end col -->
</div>
<!-- end row -->
<div id="modal" class="modal fade" tabindex="-1" role="dialog" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title" id="modal_title">添加应用扩展配置</h4>
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
</div>
<div class="modal-body">
<?php if ($app_num > 0) : ?>
<form class="pl-6 pr-6" method="post">
<input class="form-control" type="number" id="level_id" name="level_id" value="" placeholder="配置ID" hidden>
<!--style="display:none" -->
<div class="form-group">
<label class="col-form-label">扩展变量</label>
<input class="form-control" type="text" id="level_name" name="level_name" placeholder="变量名称仅限字母加数字" required>
</div>
<div class="form-group">
<label>扩展内容</label>
<textarea id="level_data" name="level_data" class="form-control" maxlength="255" rows="4" placeholder="扩展内容"><?php echo $res['level_data']; ?></textarea>
</div>
<div class="form-group">
<label>绑定应用</label>
<select class="form-control" name="level_appid" id="level_appid">
<?php
$res = Db::table('app')->order('id desc')->select();
foreach ($res as $k => $v) {
$rows = $res[$k];
?>
<option value="<?php echo $rows['id']; ?>"><?php echo $rows['name']; ?></option>
<?php } ?>
</select>
</div>
<div class="eruyi-checkbox">
<label class="eruyi-label">按OK键搜索</label>&nbsp;&nbsp;
<input type="checkbox" id="searchable" <?php if ($rows['searchable'] == 'y') : ?>checked<?php endif; ?> data-switch="success" onchange="" />
<label for="searchable" data-on-label="开启" data-off-label="关闭"></label>
</div>
<div id="add" class="form-group text-center">
<button class="btn btn-primary" type="submit" name="add_submit" id="add_submit" value="确定">确认添加</button>
</div>
<div id="edit" class="form-group text-center" hidden>
<button class="btn btn-primary" type="submit" name="edit_submit" id="edit_submit" value="确定">确认编辑</button>
</div>
</form>
<?php else : ?>
<div class="text-center" style="margin-top:4rem!important;margin-bottom:6rem!important">
<img src="../assets/images/no-app.svg" height="120" alt="File not found Image">
<h4 class="text-uppercase mt-3 mb-3">需要添加应用后开启该功能</h4>
<a href="./?app_adm"><button type="button" class="btn btn-dark">添加应用</button></a>
</div>
<?php endif; ?>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->
<script>
$('#add_submit').click(function() {
var searchable = document.getElementById("searchable").checked;
if (searchable) {
searchable = 1;
} else {
searchable = 0;
}
let t = window.jQuery;
var level_name = $("input[name='level_name']").val();
var level_data = $("textarea[name='level_data']").val();
var level_appid = $("select[name='level_appid']").val();
document.getElementById('add_submit').innerHTML = "<span class=\"spinner-border spinner-border-sm mr-1\" role=\"status\" aria-hidden=\"true\"></span>正在添加";
document.getElementById('add_submit').disabled = true;
$.ajax({
cache: false,
type: "POST", //请求的方式
url: "ajax.php?act=app_level_add", //请求的文件名
data: {
name: level_name,
data: level_data,
appid: level_appid,
searchable: searchable
},
dataType: 'json',
success: function(data) {
console.log(data);
document.getElementById('add_submit').disabled = false;
document.getElementById('add_submit').innerHTML = "确认添加";
if (data.code == 200) {
t.NotificationApp.send("成功", data.msg, "top-center", "rgba(0,0,0,0.2)", "success")
window.setTimeout("window.location='" + window.location.href + "'", 1000);
} else {
t.NotificationApp.send("失败", data.msg, "top-center", "rgba(0,0,0,0.2)", "error")
}
}
});
return false; //重要语句:如果是像a链接那种有href属性注册的点击事件,可以阻止它跳转。
});
$('#edit_submit').click(function() {
var searchable = document.getElementById("searchable").checked;
if (searchable) {
searchable = 1;
} else {
searchable = 0;
}
let t = window.jQuery;
var level_id = $("input[name='level_id']").val();
var level_name = $("input[name='level_name']").val();
var level_data = $("textarea[name='level_data']").val();
var level_appid = $("select[name='level_appid']").val();
document.getElementById('edit_submit').innerHTML = "<span class=\"spinner-border spinner-border-sm mr-1\" role=\"status\" aria-hidden=\"true\"></span>正在编辑";
document.getElementById('edit_submit').disabled = true;
$.ajax({
cache: false,
type: "POST", //请求的方式
url: "ajax.php?act=app_level_edit", //请求的文件名
data: {
id: level_id,
name: level_name,
data: level_data,
appid: level_appid,
searchable: searchable
},
dataType: 'json',
success: function(data) {
console.log(data);
document.getElementById('edit_submit').disabled = false;
document.getElementById('edit_submit').innerHTML = "确认编辑";
if (data.code == 200) {
t.NotificationApp.send("成功", data.msg, "top-center", "rgba(0,0,0,0.2)", "success")
window.setTimeout("window.location='" + window.location.href + "'", 1000);
} else {
t.NotificationApp.send("失败", data.msg, "top-center", "rgba(0,0,0,0.2)", "error")
}
}
});
return false; //重要语句:如果是像a链接那种有href属性注册的点击事件,可以阻止它跳转。
});
function modal_cut(type, id, name, data, appid, searchable) {
if (type == 'add') {
document.getElementById("modal_title").innerHTML = "添加应用扩展配置";
document.getElementById("add").removeAttribute("hidden");
document.getElementById("edit").setAttribute("hidden", true);
document.getElementById("level_id").value = '';
document.getElementById("level_name").value = '';
document.getElementById("level_data").value = '';
} else {
document.getElementById("modal_title").innerHTML = "编辑应用扩展配置";
document.getElementById("edit").removeAttribute("hidden");
document.getElementById("add").setAttribute("hidden", true);
document.getElementById("level_id").value = id;
document.getElementById("level_name").value = name;
document.getElementById("level_data").value = data;
document.getElementById("level_appid").value = appid;
if (searchable == 1) {
document.getElementById("searchable").checked = true;
} else {
document.getElementById("searchable").checked = false;
}
}
}
function checkAll() {
var code_Values = document.getElementsByTagName("input");
var all = document.getElementById("all");
if (code_Values.length) {
for (i = 0; i < code_Values.length; i++) {
if (code_Values[i].type == "checkbox") {
code_Values[i].checked = all.checked;
}
}
} else {
if (code_Values.type == "checkbox") {
code_Values.checked = all.checked;
}
}
}
function delsubmit() {
var id_array = new Array();
$("input[name='ids[]']:checked").each(function() {
id_array.push($(this).val()); //向数组中添加元素
}); //获取界面复选框的所有值
//ar chapterstr = id_array.join(',');//把复选框的值以数组形式存放
var url = window.location.href;
let t = window.jQuery;
if (id_array.length <= 0) {
t.NotificationApp.send("提示", "请选择要删除的项目", "top-center", "rgba(0,0,0,0.2)", "warning")
return false;
}
document.getElementById("delsubmit").innerHTML = "<div class=\"spinner-border spinner-border-sm mr-1\" style=\"margin-bottom:2px!important\" role=\"status\"></div>删除中";
document.getElementById("delsubmit").className = "text-title";
$("#delsubmit").attr("disabled", true).css("pointer-events", "none");
console.log(id_array);
$.ajax({
cache: false,
type: "POST", //请求的方式
url: "ajax.php?act=app_level_del", //请求的文件名
data: {
id: id_array
},
dataType: 'json',
success: function(data) {
if (data.code == 200) {
t.NotificationApp.send("成功", data.msg, "top-center", "rgba(0,0,0,0.2)", "success")
} else {
t.NotificationApp.send("失败", data.msg, "top-center", "rgba(0,0,0,0.2)", "error")
}
//console.log(data);
window.setTimeout("window.location='" + url + "'", 1000);
}
});
return false; //重要语句:如果是像a链接那种有href属性注册的点击事件,可以阻止它跳转。
}
</script>
+191
View File
@@ -0,0 +1,191 @@
<?php
/*
Sort:5
Hidden:false
Name:应用公告
Url:app_notice
Version:1.0
Author:易如意
Author QQ:51154393
Author Url:www.eruyi.cn
*/
if (!isset($islogin)) header("Location: /"); //非法访问
if (Db::table('app_notice')->exist()) { //判断数据表是否存在
$nums = Db::table('app_notice')->count();
$page = isset($_GET['page']) ? intval($_GET['page']) : 1;
$url = "./?app_notice&page=";
$bnums = ($page - 1) * $ENUMS;
} else {
$sql = "CREATE TABLE IF NOT EXISTS `{$DP}app_notice` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`content` varchar(255) NOT NULL COMMENT '内容',
`appid` varchar(255) NOT NULL COMMENT '应用id',
`time` int(10) NOT NULL COMMENT '时间戳',
`adm` varchar(255) NOT NULL COMMENT '发布人',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;";
$res = Db::establish($sql);
if ($res) {
echo "<script>location.href='./?app_notice';</script>";
}
}
?>
<!-- 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="javascript: void(0);">首页</a></li>
<li class="breadcrumb-item active">应用</li>
</ol>
</div>
<h4 class="page-title"><?php echo $title; ?></h4>
</div> <!-- end page-title-box -->
</div> <!-- end col-->
</div>
<!-- end page title -->
<div class="row">
<div class="col-12">
<div class="card">
<div class="card-body">
<?php if ($app_num > 0) : ?>
<textarea class="form-control form-control-light mb-2" placeholder="请输入要发布的内容" id="add_content" name="add_content" rows="3"></textarea>
<div class="row mt-2">
<div class="col-lg-8">
<form class="form-inline">
<select class="form-control" name="add_appid" id="add_appid">
<?php
$res = Db::table('app')->order('id desc')->select();
foreach ($res as $k => $v) {
$rows = $res[$k];
?>
<option value="<?php echo $rows['id']; ?>"><?php echo $rows['name']; ?></option>
<?php } ?>
</select>
</form>
</div>
<div class="col-lg-4">
<div class="text-lg-right">
<div class="btn-group ml-2">
<button type="button" class="btn btn-primary btn-sm" name="add_submit" id="add_submit">发布公告</button>
</div>
</div>
</div><!-- end col-->
</div>
<?php else : ?>
<div class="text-center" style="margin-top:6rem!important;margin-bottom:10rem!important">
<img src="../assets/images/no-app.svg" height="120" alt="File not found Image">
<h4 class="text-uppercase mt-3 mb-3">需要添加应用后开启该功能</h4>
<a href="./?app_adm"><button type="button" class="btn btn-dark">添加应用</button></a>
</div>
<?php endif; ?>
</div> <!-- end card-body-->
</div> <!-- end card-->
</div> <!-- end col -->
</div>
<!-- end row -->
<?php
$res = Db::table('app_notice', 'as N')->field('N.*,A.name as appname')->JOIN('app', 'as A', 'N.appid=A.id')->order('id desc')->limit($bnums, $ENUMS)->select();
foreach ($res as $k => $v) {
$rows = $res[$k];
?>
<div class="row">
<div class="col-12">
<div class="card mb-0 mt-2">
<div class="card-body">
<div class="media">
<img src="../assets/images/users/avatar-1.jpg" alt="image" class="mr-3 d-none d-sm-block avatar-sm rounded-circle">
<div class="media-body">
<h5 class="mb-1 mt-0"><?php echo $rows['adm']; ?></h5>
<p><span class="badge badge-light"><?php echo date("Y-m-d H:i:s", $rows['time']); ?></span>
<?php if (empty($rows['appname'])) : ?><span class="badge badge-danger-lighten"><i class="mdi mdi-close-circle"></i> 应用不存在
<?php else : ?><span class="badge badge-primary-lighten"><i class="mdi mdi-cube-outline"></i> <?php echo $rows['appname']; ?>
<?php endif; ?>
</p>
<p class="mb-0 text-muted">
<span class="font-italic"><?php echo $rows['content']; ?></span>
</p>
</div> <!-- end media-body -->
<a id="delsubmit" href="javascript:void(0);" onclick="del(<?php echo $rows['id']; ?>)" class="dropdown-toggle arrow-none card-drop">
<i class="mdi mdi-delete"></i>
</a>
</div> <!-- end media -->
</div> <!-- end card-body -->
</div> <!-- end col -->
</div> <!-- end col -->
</div><!-- end row -->
<?php } ?>
<div class="mb-0 mt-2">
<nav aria-label="Page navigation example">
<ul class="pagination justify-content-end">
<?php if (!$so) {
echo pagination($nums, $ENUMS, $page, $url);
} ?>
</ul>
</nav>
</div> <!-- end card-->
<script>
$('#add_submit').click(function() {
let t = window.jQuery;
var add_name = $("input[name='exten_name']").val();
var add_content = $("textarea[name='add_content']").val();
var add_appid = $("select[name='add_appid']").val();
document.getElementById('add_submit').innerHTML = "<span class=\"spinner-border spinner-border-sm mr-1\" role=\"status\" aria-hidden=\"true\"></span>正在添加";
document.getElementById('add_submit').disabled = true;
console.log(add_content);
$.ajax({
cache: false,
type: "POST", //请求的方式
url: "ajax.php?act=app_notice_add", //请求的文件名
data: {
adm: add_name,
content: add_content,
appid: add_appid
},
dataType: 'json',
success: function(data) {
console.log(data);
document.getElementById('add_submit').disabled = false;
document.getElementById('add_submit').innerHTML = "确认添加";
if (data.code == 200) {
t.NotificationApp.send("成功", data.msg, "top-center", "rgba(0,0,0,0.2)", "success")
window.setTimeout("window.location='" + window.location.href + "'", 1000);
} else {
t.NotificationApp.send("失败", data.msg, "top-center", "rgba(0,0,0,0.2)", "error")
}
}
});
return false; //重要语句:如果是像a链接那种有href属性注册的点击事件,可以阻止它跳转。
});
function del(id) {
let t = window.jQuery;
document.getElementById("delsubmit").innerHTML = "<div class=\"spinner-border spinner-border-sm mr-1\" style=\"margin-bottom:2px!important\" role=\"status\"></div>";
$.ajax({
cache: false,
type: "POST", //请求的方式
url: "ajax.php?act=app_notice_del", //请求的文件名
data: {
id: id
},
dataType: 'json',
success: function(data) {
if (data.code == 200) {
t.NotificationApp.send("成功", data.msg, "top-center", "rgba(0,0,0,0.2)", "success")
} else {
t.NotificationApp.send("失败", data.msg, "top-center", "rgba(0,0,0,0.2)", "error")
}
//console.log(data);
window.setTimeout("window.location='" + window.location.href + "'", 1000);
}
});
return false; //重要语句:如果是像a链接那种有href属性注册的点击事件,可以阻止它跳转。
}
</script>
+393
View File
@@ -0,0 +1,393 @@
<?php
/*
Sort:2
Hidden:false
Name:添加站点
Url:app_site
Right:site
Version:1.0
Author:易如意
Author QQ:51154393
Author Url:www.eruyi.cn
*/
if (!isset($islogin)) header("Location: /"); //非法访问
$nums = Db::table('site')->count(); //获取商品总数
$page = isset($_GET['page']) ? intval($_GET['page']) : 1;
$url = "./?app_site&page=";
$bnums = ($page - 1) * $ENUMS;
?>
<!-- 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="javascript: void(0);">首页</a></li>
<li class="breadcrumb-item active">商品</li>
</ol>
</div>
<h4 class="page-title"><?php echo $title; ?></h4>
</div> <!-- end page-title-box -->
</div> <!-- end col-->
</div>
<!-- end page title -->
<div class="row">
<div class="col-12">
<div class="card">
<div class="card-body">
<div class="row mb-2">
<div class="col-lg-8">
<button type="button" class="btn btn-danger mb-2 mr-2" data-toggle="modal" data-target="#add"><i class="mdi mdi-cart-plus mr-1"></i>添加站点</button>
</div>
<div class="col-lg-4">
<div class="text-lg-right">
<form action="" method="post">
<div class="input-group">
<input type="text" class="form-control" name="so" placeholder="搜索商品" value='<?php echo $so; ?>'>
<span class="mdi mdi-magnify"></span>
<div class="input-group-append">
<button class="btn btn-primary" type="submit">搜索</button>
</div>
</div>
</form>
</div>
</div><!-- end col-->
</div>
<form action="" method="post" name="form_log" id="form_log">
<div class="table-responsive">
<table class="table table-centered table-striped dt-responsive nowrap w-100">
<thead>
<tr>
<th style="width: 20px;">
<div class="custom-control custom-checkbox">
<input type="checkbox" class="custom-control-input" id="all" onclick="checkAll();">
<label class="custom-control-label" for="all">&nbsp;</label>
</div>
</th>
<th style="width: 20px;">
<center><span class="badge badge-light-lighten">ID</span></center>
</th>
<th><span class="badge badge-light-lighten">站点名称</span></th>
<th style="width: 150px;">
<center><span class="badge badge-light-lighten">api</span></center>
</th>
<th style="width: 150px;">
<center><span class="badge badge-light-lighten">普通搜索</span></center>
</th>
<th style="width: 150px;">
<center><span class="badge badge-light-lighten">快速搜索</span></center>
</th>
<th style="width: 150px;">
<center><span class="badge badge-light-lighten">参与筛选</span></center>
</th>
<th style="width: 150px;">
<center><span class="badge badge-light-lighten">状态</span></center>
</th>
<th style="width: 150px;">
<center><span class="badge badge-light-lighten">应用名称</span></center>
</th>
<th style="width: 75px;">
<center><span class="badge badge-light-lighten">管理</span></center>
</th>
</tr>
</thead>
<tbody>
<?php
$site = Db::table('site', 'as G')->field('G.*,A.name as appname,IFNULL(D.ds,0) as dnum,IFNULL(C.sc,0) as cnum')->JOIN('app', 'as A', 'G.appid=A.id')->JOIN("(SELECT gid,COUNT(*) AS sc FROM {$DP}site_order where `state` = 2 GROUP BY gid) AS C", 'G.id=C.gid')->JOIN("(SELECT gid,COUNT(*) AS ds FROM {$DP}site_order GROUP BY gid) AS D", 'G.id=D.gid');
if ($so) {
$site = $site->where('G.name', 'like', "%{$so}%")->whereOr('G.jie', 'like', "%{$so}%")->whereOr('A.name', 'like', "%{$so}%")->order('id desc');
} else {
$site = $site->order('id desc')->limit($bnums, $ENUMS);
}
$res = $site->select();
// die(print_r($site));
foreach ($res as $k => $v) {
$rows = $res[$k];
if (empty($rows['appname'])) continue;
?>
<tr>
<td>
<div class="custom-control custom-checkbox">
<input type="checkbox" class="custom-control-input" name="ids[]" value="<?php echo $rows['id']; ?>" id="<?php echo 'check_' . $rows['id']; ?>">
<label class="custom-control-label" for="<?php echo 'check_' . $rows['id']; ?>"></label>
</div>
</td>
<td>
<center><?php echo $rows['id']; ?></center>
</td>
<td>
<?php echo $rows['name']; ?>
</td>
<td>
<center><span class="badge badge-info-lighten"><?php echo mb_substr($rows['api'], 0, 50, 'utf-8') . "..."; ?></span></center>
</td>
<td>
<center><?php if ($rows['searchable'] == '0') : ?><span class="badge badge-danger">关闭<?php else : ?><span class="badge badge-success">开启<?php endif; ?></span></center>
</td>
<td>
<center><?php if ($rows['quicksearch'] == '0') : ?><span class="badge badge-danger">关闭<?php else : ?><span class="badge badge-success">开启<?php endif; ?></span></center>
</td>
<td>
<center><?php if ($rows['filterable'] == '0') : ?><span class="badge badge-danger">关闭<?php else : ?><span class="badge badge-success">开启<?php endif; ?></span></center>
</td>
<td>
<center><?php if ($rows['state'] == 'n') : ?><span class="badge badge-danger">停用<?php else : ?><span class="badge badge-success">启动<?php endif; ?></span></center>
</td>
<td>
<center>
<?php if (empty($rows['appname'])) : ?><span class="badge badge-danger"><i class="mdi mdi-close-circle"></i> 应用不存在
<?php else : ?><span class="badge badge-primary"><i class="mdi mdi-cube-outline"></i> <?php echo $rows['appname']; ?>
<?php endif; ?>
</span></center>
</td>
<td>
<center><a href="./?app_siteedit&id=<?php echo $rows['id']; ?>" class="action-icon"> <i class="mdi mdi-border-color"></i></a></center>
</td>
</tr>
<?php } ?>
</tbody>
</table>
</div>
<div class="progress-w-percent-s"></div>
<div class="form-row">
<div class="form-group col-md-6 mt-2">
<div class="col-sm-4">
<div class="list_footer">
选中项:<a href="javascript:void(0);" onclick="delsubmit()" id="delsubmit">删除</a>
</div>
</div>
</div>
<div class="col-md-6">
<nav aria-label="Page navigation example">
<ul class="pagination justify-content-end">
<?php if (!$so) {
echo pagination($nums, $ENUMS, $page, $url);
} ?>
</ul>
</nav>
</div>
</div>
</form>
</div> <!-- end card-body-->
</div> <!-- end card-->
</div> <!-- end col -->
</div><!-- end row -->
<div id="add" class="modal fade" tabindex="-1" role="dialog" aria-hidden="true">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title" id="add">添加站点</h4>
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
</div>
<div class="modal-body">
<?php if ($app_num > 0) : ?>
<form class="pl-3 pr-3" method="post">
<div class="form-group">
<label class="col-form-label">站点名称</label>
<input class="form-control" type="text" id="add_name" name="add_name" placeholder="站点名称" required>
</div>
<div class="form-row">
<div class="form-group col-md-4">
<label>接口类型</label>
<select class="form-control" name="add_type" id="add_type" onchange="type_change()">
<option value="XML">XML</option>
<option value="JSON">JSON</option>
<option value="Spider">自定义爬虫</option>
</select>
</div>
<div class="form-group col-md-8">
<label>api</label>
<input type="text" id="add_api" name="add_api" class="form-control" placeholder="csp_AppYsV2" value="">
</div>
</div>
<div class="form-group">
<label>PlayUrl</label>
<input type="text" id="add_parse" name="add_parse" class="form-control" placeholder="解析接口" value="">
</div>
<div class="form-group">
<label id="add_extend_name" name="add_extend_name">扩展信息</label>
<input type="text" id="add_extend" name="add_extend" class="form-control" placeholder="ext" value="">
</div>
<div class="form-group">
<label>绑定应用</label>
<select class="form-control" name="add_appid" id="add_appid">
<?php
$res = Db::table('app')->order('id desc')->select();
foreach ($res as $k => $v) {
$rows = $res[$k];
?>
<option value="<?php echo $rows['id']; ?>"><?php echo $rows['name']; ?></option>
<?php } ?>
</select>
</div>
<div class="form-row">
<div class="eruyi-checkbox">
<label class="eruyi-label">普通搜索</label>&nbsp;
<input type="checkbox" id="searchable" <?php if ($res['searchable'] == 'y') : ?>checked<?php endif; ?> data-switch="success" onchange="reg_state_v(this.checked)" />
<label for="searchable" data-on-label="开启" data-off-label="关闭"></label>
</div>
<div class="eruyi-checkbox">
<label class="eruyi-label">快速搜索</label>&nbsp;
<input type="checkbox" id="quicksearch" <?php if ($res['quicksearch'] == 'y') : ?>checked<?php endif; ?> data-switch="success" onchange="reg_state_v(this.checked)" />
<label for="quicksearch" data-on-label="开启" data-off-label="关闭"></label>
</div>
<div class="eruyi-checkbox">
<label class="eruyi-label">参与筛选</label>&nbsp;
<input type="checkbox" id="filterable" <?php if ($res['filterable'] == 'y') : ?>checked<?php endif; ?> data-switch="success" onchange="reg_state_v(this.checked)" />
<label for="filterable" data-on-label="开启" data-off-label="关闭"></label>
</div>
<br /><br /><br /><br />
</div>
<div class="form-group text-center">
<button class="btn btn-primary" type="submit" name="add_submit" id="add_submit" value="确定">确认添加</button>
</div>
</form>
<?php else : ?>
<div class="text-center" style="margin-top:4rem!important;margin-bottom:6rem!important">
<img src="../assets/images/no-app.svg" height="120" alt="File not found Image">
<h4 class="text-uppercase mt-3 mb-3">需要添加应用后开启该功能</h4>
<a href="./?app_adm"><button type="button" class="btn btn-dark">添加应用</button></a>
</div>
<?php endif; ?>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->
<script>
function reg_state_v(i) {
console.log(i);
if (i == true) {
$("#reg_state_y").css("display", "block");
$("#reg_state_n").css("display", "none");
} else {
$("#reg_state_y").css("display", "none");
$("#reg_state_n").css("display", "block");
}
}
function type_change() {
if ($('#add_type').val() == 'Spider') {
// document.getElementById("add_extend_name").innerHTML = "扩展接口";
} else {
// document.getElementById("add_extend_name").innerHTML = "要显示的分类,留空全显";
}
}
$('#add_submit').click(function() {
let t = window.jQuery;
var add_name = $("input[name='add_name']").val();
var add_type = $("select[name='add_type']").val();
var add_api = $("input[name='add_api']").val();
var add_extend = $("input[name='add_extend']").val();
var add_parse = $("input[name='add_parse']").val();
var add_appid = $("select[name='add_appid']").val();
var filterable = document.getElementById("filterable").checked;
if (filterable) {
filterable = 1;
} else {
filterable = 0;
}
var searchable = document.getElementById("searchable").checked;
if (searchable) {
searchable = 1;
} else {
searchable = 0;
}
var quicksearch = document.getElementById("quicksearch").checked;
if (quicksearch) {
quicksearch = 1;
} else {
quicksearch = 0;
}
document.getElementById('add_submit').innerHTML = "<span class=\"spinner-border spinner-border-sm mr-1\" role=\"status\" aria-hidden=\"true\"></span>正在添加";
document.getElementById('add_submit').disabled = true;
$.ajax({
cache: false,
type: "POST", //请求的方式
url: "ajax.php?act=app_siteadd", //请求的文件名
data: {
name: add_name,
type: add_type,
api: add_api,
extend: add_extend,
parse: add_parse,
appid: add_appid,
filterable: filterable,
searchable: searchable,
quicksearch: quicksearch
},
dataType: 'json',
success: function(data) {
console.log(data);
document.getElementById('add_submit').disabled = false;
document.getElementById('add_submit').innerHTML = "确认添加";
if (data.code == 200) {
t.NotificationApp.send("成功", data.msg, "top-center", "rgba(0,0,0,0.2)", "success")
window.setTimeout("window.location='" + window.location.href + "'", 1000);
} else {
t.NotificationApp.send("失败", data.msg, "top-center", "rgba(0,0,0,0.2)", "error")
}
}
});
return false; //重要语句:如果是像a链接那种有href属性注册的点击事件,可以阻止它跳转。
});
function checkAll() {
var code_Values = document.getElementsByTagName("input");
var all = document.getElementById("all");
if (code_Values.length) {
for (i = 0; i < code_Values.length; i++) {
if (code_Values[i].type == "checkbox") {
code_Values[i].checked = all.checked;
}
}
} else {
if (code_Values.type == "checkbox") {
code_Values.checked = all.checked;
}
}
}
function delsubmit() {
var id_array = new Array();
$("input[name='ids[]']:checked").each(function() {
id_array.push($(this).val()); //向数组中添加元素
}); //获取界面复选框的所有值
//ar chapterstr = id_array.join(',');//把复选框的值以数组形式存放
var url = window.location.href;
let t = window.jQuery;
if (id_array.length <= 0) {
t.NotificationApp.send("提示", "请选择要删除的项目", "top-center", "rgba(0,0,0,0.2)", "warning")
return false;
}
document.getElementById("delsubmit").innerHTML = "<div class=\"spinner-border spinner-border-sm mr-1\" style=\"margin-bottom:2px!important\" role=\"status\"></div>删除中";
document.getElementById("delsubmit").className = "text-title";
$("#delsubmit").attr("disabled", true).css("pointer-events", "none");
console.log(id_array);
$.ajax({
cache: false,
type: "POST", //请求的方式
url: "ajax.php?act=app_sitedel", //请求的文件名
data: {
id: id_array
},
dataType: 'json',
success: function(data) {
if (data.code == 200) {
t.NotificationApp.send("成功", data.msg, "top-center", "rgba(0,0,0,0.2)", "success")
} else {
t.NotificationApp.send("失败", data.msg, "top-center", "rgba(0,0,0,0.2)", "error")
}
//console.log(data);
window.setTimeout("window.location='" + url + "'", 1000);
}
});
return false; //重要语句:如果是像a链接那种有href属性注册的点击事件,可以阻止它跳转。
}
</script>
+221
View File
@@ -0,0 +1,221 @@
<?php
/*
Sort:1
Hidden:true
Name:编辑站点
Url:app_siteedit
Version:1.0
Author:易如意
Author QQ:51154393
Author Url:www.eruyi.cn
*/
if (!isset($islogin)) header("Location: /"); //非法访问
$id = isset($_GET['id']) ? intval($_GET['id']) : 0;
$res = Db::table('site')->where(['id' => $id])->find();
?>
<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="javascript: void(0);">首页</a></li>
<li class="breadcrumb-item"><a href="site_adm.php">站点管理</a></li>
<li class="breadcrumb-item active">编辑站点</li>
</ol>
</div>
<h4 class="page-title"><?php echo $title; ?></h4>
</div> <!-- end page-title-box -->
</div> <!-- end col-->
</div>
<!-- end page title -->
<!-- Form row -->
<div class="row">
<div class="col-12">
<div class="card">
<div class="card-body">
<form action="" method="post" id="addimg" name="addimg">
<div class="eruyi-checkbox">
<input type="checkbox" id="state" <?php if ($res['state'] == 'y') : ?>checked<?php endif; ?> data-switch="success" onchange="state_v(this.checked)" />
<label for="state" data-on-label="正常" data-off-label="停售"></label>
<label class="eruyi-label">站点状态</label>
</div>
<div class="view" name="state_y" id="state_y" <?php if ($res['state'] == 'y') : ?> style="display: block" <?php endif; ?>>
<p class="text-muted">
正常状态情况下,可以被 <code>站点列表接口</code> 正常输出
</p>
</div>
<div class="view" name="state_n" id="state_n" <?php if ($res['state'] == 'n') : ?> style="display: block" <?php endif; ?>>
<p class="text-muted">
停售状态情况下,<code>站点列表接口</code> 不在输出此站点
</p>
</div>
<div class="form-row">
<div class="form-group col-md-12">
<label for="f_user" class="col-form-label">站点名称 *</label>
<input type="text" class="form-control" id="name" name="name" placeholder="站点名称" value="<?php echo $res['name']; ?>" required>
</div>
</div>
<div class="form-row">
<div class="form-group col-md-2">
<label class="col-form-label">接口类型</label>
<select class="form-control" name="type" id="type" onchange="type_change()">
<option value="XML" <?php if ($res['type'] == 'XML') echo 'selected = "selected"'; ?>>XML</option>
<option value="JSON" <?php if ($res['type'] == 'JSON') echo 'selected = "selected"'; ?>>JSON</option>
<option value="Spider" <?php if ($res['type'] == 'Spider') echo 'selected = "selected"'; ?>>自定义爬虫</option>
</select>
</div>
<div class="form-group col-md-10">
<label class="col-form-label">API <a href="https://docs.qq.com/doc/p/657e7d526d48833e75d7a903a6235ddb98eb241e" target="_biank">如何对接自己的苹果CMS,请联系客服</a></label>
<input type="text" class="form-control" id="api" name="api" placeholder="站点名称" value="<?php echo $res['api']; ?>" required>
</div>
</div>
<div class="form-row">
<div class="form-group col-md-12">
<label for="f_psw" class="col-form-label">PlayUrl</label>
<input type="parse" class="form-control" id="parse" name="parse" placeholder="playUrl" value="<?php echo $res['parse']; ?>" required>
</div>
</div>
<div class="form-row">
<div class="form-group col-md-12">
<label for="f_psw" class="col-form-label" id="extend_name" name="extend_name">扩展信息</label>
<input type="extend" class="form-control" id="extend" name="extend" placeholder="ext" value="<?php echo $res['extend']; ?>" required>
</div>
</div>
<div class="form-row">
<div class="form-group col-md-12">
<label for="f_vip" class="col-form-label">绑定应用 *</label>
<select class="form-control" name="appid" id="appid">
<?php
$app_res = Db::table('app')->order('id desc')->select();
foreach ($app_res as $k => $v) {
$rows = $app_res[$k];
?>
<option value="<?php echo $rows['id']; ?>" <?php if ($res['appid'] == $rows['id']) echo 'selected = "selected"'; ?>><?php echo $rows['name']; ?></option>
<?php } ?>
</select>
</div>
</div>
<div class="form-row">
<div class="custom-control custom-checkbox">
&nbsp;&nbsp;
<input type="checkbox" class="custom-control-input" id="searchable" <?php if ($res['searchable'] == '1') : ?> checked <?php endif; ?> name="searchable" value="y" required>
<label class="custom-control-label" for="searchable">普通搜索</label>
</div>
<div class="custom-control custom-checkbox">
&nbsp;&nbsp;
<input type="checkbox" class="custom-control-input" id="quicksearch" <?php if ($res['quicksearch'] == '1') : ?> checked <?php endif; ?> name="quicksearch" value="y" required>
<label class="custom-control-label" for="quicksearch">快速搜索</label>
</div>
<div class="custom-control custom-checkbox">
&nbsp;&nbsp;
<input type="checkbox" class="custom-control-input" id="filterable" <?php if ($res['filterable'] == '1') : ?> checked <?php endif; ?> name="filterable" value="y" required>
<label class="custom-control-label" for="filterable">参与筛选</label>
</div>
<br /><br />
</div>
<button type="submit" class="btn btn-block btn-primary" name="submit" id="submit" value="确认">确认编辑</button>
</form>
</div> <!-- end card-body -->
</div> <!-- end card-->
</div> <!-- end col -->
</div><!-- end row -->
<script>
$("#site_adm").addClass("active");
$('#submit').click(function() {
let t = window.jQuery;
var state = document.getElementById("state").checked;
if (state) {
state = 'y';
} else {
state = 'n';
}
var filterable = document.getElementById("filterable").checked;
if (filterable) {
filterable = 1;
} else {
filterable = 0;
}
var searchable = document.getElementById("searchable").checked;
if (searchable) {
searchable = 1;
} else {
searchable = 0;
}
var quicksearch = document.getElementById("quicksearch").checked;
if (quicksearch) {
quicksearch = 1;
} else {
quicksearch = 0;
}
var name = $("input[name='name']").val();
var type = $("select[name='type']").val();
var api = $("input[name='api']").val();
var extend = $("input[name='extend']").val();
var parse = $("input[name='parse']").val();
var appid = $("select[name='appid']").val();
document.getElementById('submit').innerHTML = "<span class=\"spinner-border spinner-border-sm mr-1\" role=\"status\" aria-hidden=\"true\"></span>正在编辑";
document.getElementById('submit').disabled = true;
$.ajax({
cache: false,
type: "POST", //请求的方式
url: "ajax.php?act=app_siteedit", //请求的文件名
data: {
id: <?php echo $id; ?>,
name: name,
type: type,
api: api,
extend: extend,
parse: parse,
state: state,
appid: appid,
filterable: filterable,
searchable: searchable,
quicksearch: quicksearch
},
dataType: 'json',
success: function(data) {
console.log(data);
document.getElementById('submit').disabled = false;
document.getElementById('submit').innerHTML = "确认添加";
if (data.code == 200) {
t.NotificationApp.send("成功", data.msg, "top-center", "rgba(0,0,0,0.2)", "success")
document.getElementById("ok").checked = false;
//window.setTimeout("window.location='"+window.location.href+"'",1000);
} else {
t.NotificationApp.send("失败", data.msg, "top-center", "rgba(0,0,0,0.2)", "error")
}
}
});
return false; //重要语句:如果是像a链接那种有href属性注册的点击事件,可以阻止它跳转。
});
function type_change() {
if ($('#type').val() == 'Spider') {
// document.getElementById("extend_name").innerHTML = "扩展接口";
} else {
// document.getElementById("extend_name").innerHTML = "要显示的分类,留空全显";
}
}
function state_v(i) {
if (i == true) {
$("#state_y").css("display", "block");
$("#state_n").css("display", "none");
} else {
$("#state_y").css("display", "none");
$("#state_n").css("display", "block");
}
}
</script>