203 lines
6.7 KiB
HTML
203 lines
6.7 KiB
HTML
<!DOCTYPE html>
|
||
<html>
|
||
<head>
|
||
<meta charset="utf-8">
|
||
<title>插件管理</title>
|
||
<link rel="stylesheet" href="/static/component/pear/css/pear.css" />
|
||
</head>
|
||
<body class="pear-container">
|
||
<div class="layui-card">
|
||
<div class="layui-card-body">
|
||
<table id="addons-list" lay-filter="addons-list"></table>
|
||
</div>
|
||
</div>
|
||
|
||
<script type="text/html" id="toolbar">
|
||
<div class="layui-btn-group">
|
||
<button class="layui-btn layui-btn-sm" lay-event="allAddons">全部</button>
|
||
<button class="layui-btn layui-btn-sm" lay-event="freeAddons">免费</button>
|
||
<button class="layui-btn layui-btn-sm" lay-event="payAddons">付费</button>
|
||
<button class="layui-btn layui-btn-normal layui-btn-sm" lay-event="installed">已安装</button>
|
||
<button class="layui-btn layui-btn-danger layui-btn-sm" lay-event="add">离线安装</button>
|
||
</div>
|
||
</script>
|
||
|
||
<script type="text/html" id="addons-bar">
|
||
{{# if(d.have_newversion === 1){ }}
|
||
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="install" data-url="{:url('addon.addons/upgrade')}" data-userlogin="{:url('addon.addons/userLogin')}" data-ispay="{:url('addon.addons/isPay')}"><i class="layui-icon layui-icon-edit"></i>升级</a>
|
||
{{# } else { }}
|
||
{{# if(d.isInstall === 1) { }}
|
||
<a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="config" data-url="{:url('addon.addons/config')}"><i class="layui-icon layui-icon-set"></i>设置</a>
|
||
{{# } else { }}
|
||
<a class="layui-btn layui-btn-xs" lay-event="install" data-url="{:url('addon.addons/install')}" data-userlogin="{:url('addon.addons/userLogin')}" data-ispay="{:url('addon.addons/isPay')}"><i class="layui-icon layui-icon-edit"></i>安装</a>
|
||
<select id="vers{{d.name}}" name="sss" class="layui-border" lay-ignore lay-filter="versSelect">
|
||
{{# d.vers.forEach(function(item, index){ }}
|
||
<option value="{{ item }}">{{ item }}</option>
|
||
{{# }); }}
|
||
</select>
|
||
{{# } }}
|
||
{{# } }}
|
||
</script>
|
||
|
||
<script type="text/html" id="buttonStatus">
|
||
<input type="checkbox" name="{{d.name}}" lay-skin="switch" lay-filter="addonsStatus" lay-text="启动|禁用" {{# if(d.status == 1){ }} checked {{# } }} data-url="{:url('addon.addons/check')}">
|
||
</script>
|
||
|
||
<script type="text/html" id="addons-installed-tool">
|
||
<a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="config" data-url="{:url('addon.addons/config')}"><i class="layui-icon layui-icon-set"></i>设置</a>
|
||
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="uninstall" data-url="{:url('addon.addons/uninstall')}"><i class="layui-icon layui-icon-delete"></i>卸载</a>
|
||
</script>
|
||
|
||
|
||
{include file="public/user_login" /}
|
||
<script src="/static/component/layui/layui.js"></script>
|
||
<script src="/static/component/pear/pear.js"></script>
|
||
|
||
<script>
|
||
var addonList = "{:url('addon.addons/getList')}";
|
||
|
||
|
||
layui.use(['addons','table','form','upload','toast'], function(){
|
||
var $ = layui.jquery
|
||
,table = layui.table
|
||
,form = layui.form
|
||
,upload = layui.upload;
|
||
var toast = layui.toast;
|
||
|
||
let LIST_URL = "{:url('addon.addons/list')}";
|
||
|
||
let cols = [[
|
||
{type: 'checkbox'},
|
||
{title: '序号', type: 'numbers'},
|
||
{field: 'title', title: '插件', width: 200},
|
||
{field: 'description', title: '简介', minWidth: 200},
|
||
{field: 'author', title: '作者', width: 100},
|
||
{field: 'price', title: '价格(元)', width: 85},
|
||
{field: 'downloads', title: '下载', width: 70},
|
||
{field: 'version', title: '版本', templet: '<div>{{d.version}} {{# if(d.have_newversion == 1){ }}<span class="layui-badge-dot"></span>{{# } }}</div>', width: 75},
|
||
{field: 'status', title: '在线', width: 70},
|
||
{title: '操作', width: 165, align: 'center', toolbar: '#addons-bar'}
|
||
]];
|
||
|
||
let col = [[
|
||
{type: 'numbers'},
|
||
{field: 'name', title: '插件', width: 120},
|
||
{field: 'title',title: '标题', width: 100},
|
||
{field: 'version', title: '版本'},
|
||
{field: 'author', title: '作者', width: 80},
|
||
{field: 'description', title: '简介', minWidth: 200},
|
||
{field: 'install', title: '安装', width: 100},
|
||
{field: 'ctime', title: '到期时间', width: 100},
|
||
{field: 'status', title: '状态', width: 95, templet: '#buttonStatus'},
|
||
{title: '操作', width: 160, 'align': 'center', toolbar: '#addons-installed-tool'}
|
||
]];
|
||
|
||
//渲染表格
|
||
var addonTable = table.render({
|
||
elem: "#addons-list",
|
||
toolbar: "#toolbar",
|
||
defaultToolbar: [],
|
||
url: LIST_URL,
|
||
cols: cols,
|
||
page: true,
|
||
limit: 10,
|
||
text: "对不起,加载出现异常!",
|
||
});
|
||
|
||
// table.on('tool(addons-list)',function(obj){
|
||
// console.log(obj)
|
||
// if (obj.event === 'remove') {
|
||
// window.remove(obj);
|
||
// } else if (obj.event === 'edit') {
|
||
// window.edit(obj);
|
||
// }
|
||
// })
|
||
|
||
|
||
table.on('toolbar(addons-list)', function(obj){
|
||
if(obj.event === 'installed'){
|
||
window.installed(obj.event);
|
||
} else if(obj.event === 'add'){
|
||
//window.add();
|
||
} else {
|
||
// all,free,pay
|
||
window.all(obj.event);
|
||
}
|
||
});
|
||
|
||
window.all = function (type) {
|
||
$.post(LIST_URL,{type: type}, function (res){
|
||
if(res.code === 0) {
|
||
// 重新渲染
|
||
table.reload('addons-list',{
|
||
url: LIST_URL,
|
||
where: {
|
||
type : type
|
||
},
|
||
cols: cols,
|
||
page: {
|
||
curr: 1 //重新从第 1 页开始
|
||
}
|
||
});
|
||
|
||
}
|
||
})
|
||
}
|
||
|
||
window.installed = function (type) {
|
||
$.get(LIST_URL,{type: type}, function (res){
|
||
if(res.code === 0) {
|
||
// 重新渲染
|
||
table.reload('addons-list',{
|
||
url: LIST_URL,
|
||
where: {
|
||
type : type
|
||
},
|
||
cols: col,
|
||
page: {
|
||
curr: 1 //重新从第 1 页开始
|
||
}
|
||
});
|
||
}
|
||
})
|
||
}
|
||
|
||
window.add = function(){
|
||
layer.open({
|
||
type: 2
|
||
,title: '添加插件'
|
||
,content: 'add.html'
|
||
,area: ['400px', '300px']
|
||
});
|
||
}
|
||
|
||
|
||
|
||
form.render('select'); // 渲染所在容器内的 select 元素
|
||
//监听版本选择
|
||
form.on('select(versSelect)', function(obj){
|
||
layer.tips(this.value + ' ' + this.name + ':'+ obj.elem.checked, obj.othis);
|
||
});
|
||
|
||
|
||
// 启动禁用
|
||
form.on('switch(addonsStatus)', function(data){
|
||
var data = data.elem;
|
||
var url = $(this).data('url');
|
||
//执行帖子审核
|
||
$.post(url,{ name: data.name },function(res){
|
||
if(res.code === 0){
|
||
toast.success({title:"成功消息",message:res.msg,position: 'topRight'});
|
||
} else {
|
||
toast.error({title:"失败消息",message:res.msg,position: 'topRight'});
|
||
}
|
||
table.reloadData("addons-list",{},'deep');
|
||
});
|
||
return false;
|
||
});
|
||
|
||
|
||
});
|
||
</script>
|
||
</body>
|
||
</html> |