add addons
This commit is contained in:
parent
4f9c25ab3d
commit
f1735768ff
1
app/admin/controller/.gitignore
vendored
1
app/admin/controller/.gitignore
vendored
@ -1,3 +1,4 @@
|
|||||||
KeyAuth.php
|
KeyAuth.php
|
||||||
Version.php
|
Version.php
|
||||||
TimeLine.php
|
TimeLine.php
|
||||||
|
Plugins.php
|
122
app/admin/controller/Addons.php
Normal file
122
app/admin/controller/Addons.php
Normal file
@ -0,0 +1,122 @@
|
|||||||
|
<?php
|
||||||
|
namespace app\admin\controller;
|
||||||
|
|
||||||
|
use app\common\controller\AdminController;
|
||||||
|
use think\facade\View;
|
||||||
|
use think\facade\Db;
|
||||||
|
use think\facade\Request;
|
||||||
|
use think\facade\Config;
|
||||||
|
use think\exception\ValidateException;
|
||||||
|
use app\admin\model\Addons as AddonsModel;
|
||||||
|
use taoler\com\Files;
|
||||||
|
|
||||||
|
class Addons extends AdminController
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* 显示资源列表
|
||||||
|
*
|
||||||
|
* @return \think\Response
|
||||||
|
*/
|
||||||
|
public function index()
|
||||||
|
{
|
||||||
|
if(Request::isAjax()){
|
||||||
|
|
||||||
|
var_dump(Files::getDirName('../addons/'));
|
||||||
|
|
||||||
|
}
|
||||||
|
return View::fetch();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 显示创建资源表单页.
|
||||||
|
*
|
||||||
|
* @return \think\Response
|
||||||
|
*/
|
||||||
|
public function add()
|
||||||
|
{
|
||||||
|
//添加版本
|
||||||
|
if(Request::isAjax()){
|
||||||
|
$data = Request::param();
|
||||||
|
$result = AddonsModel::create($data);
|
||||||
|
if($result){
|
||||||
|
$res = ['code'=>0,'msg'=>'添加成功'];
|
||||||
|
}else{
|
||||||
|
$res = ['code'=>-1,'msg'=>'添加失败'];
|
||||||
|
}
|
||||||
|
return json($res);
|
||||||
|
}
|
||||||
|
|
||||||
|
return View::fetch();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 编辑版本
|
||||||
|
*
|
||||||
|
* @param int $id
|
||||||
|
* @return \think\Response
|
||||||
|
*/
|
||||||
|
public function edit($id)
|
||||||
|
{
|
||||||
|
$addons = AddonsModel::find($id);
|
||||||
|
|
||||||
|
if(Request::isAjax()){
|
||||||
|
$data = Request::only(['id','addons_name','addons_version','addons_auther','addons_resume','addons_price','addons_src']);
|
||||||
|
$result = $addons->where('id',$id)->save($data);
|
||||||
|
if($result){
|
||||||
|
$res = ['code'=>0,'msg'=>'编辑成功'];
|
||||||
|
}else{
|
||||||
|
$res = ['code'=>-1,'msg'=>'编辑失败'];
|
||||||
|
}
|
||||||
|
return json($res);
|
||||||
|
}
|
||||||
|
View::assign('addons',$addons);
|
||||||
|
return View::fetch();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 上传版本的zip资源
|
||||||
|
*
|
||||||
|
* @param
|
||||||
|
* @param int $id
|
||||||
|
* @return \think\Response
|
||||||
|
*/
|
||||||
|
public function uploadZip()
|
||||||
|
{
|
||||||
|
$id = Request::param();
|
||||||
|
$file = request()->file('file');
|
||||||
|
try {
|
||||||
|
validate(['file'=>'filesize:2048|fileExt:zip,rar,7z'])
|
||||||
|
->check(array($file));
|
||||||
|
$savename = \think\facade\Filesystem::disk('public')->putFile('addons',$file);
|
||||||
|
} catch (think\exception\ValidateException $e) {
|
||||||
|
echo $e->getMessage();
|
||||||
|
}
|
||||||
|
$upload = Config::get('filesystem.disks.public.url');
|
||||||
|
|
||||||
|
if($savename){
|
||||||
|
$name_path =str_replace('\\',"/",$upload.'/'.$savename);
|
||||||
|
$res = ['code'=>0,'msg'=>'插件上传成功','src'=>$name_path];
|
||||||
|
} else {
|
||||||
|
$res = ['code'=>-1,'msg'=>'上传错误'];
|
||||||
|
}
|
||||||
|
return json($res);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除指定资源
|
||||||
|
*
|
||||||
|
* @param int $id
|
||||||
|
* @return \think\Response
|
||||||
|
*/
|
||||||
|
public function delete($id)
|
||||||
|
{
|
||||||
|
$version = AddonsModel::find($id);
|
||||||
|
$res = $version->delete();
|
||||||
|
if($res){
|
||||||
|
return json(['code'=>0,'msg'=>'删除成功']);
|
||||||
|
} else {
|
||||||
|
return json(['code'=>-1,'msg'=>'删除失败']);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
1
app/admin/model/.gitignore
vendored
1
app/admin/model/.gitignore
vendored
@ -1 +1,2 @@
|
|||||||
Version.php
|
Version.php
|
||||||
|
Plugins.php
|
1
app/admin/view/.gitignore
vendored
1
app/admin/view/.gitignore
vendored
@ -1,3 +1,4 @@
|
|||||||
/keyauth
|
/keyauth
|
||||||
/time_line
|
/time_line
|
||||||
/version
|
/version
|
||||||
|
/plugins
|
125
app/admin/view/addons/index.html
Normal file
125
app/admin/view/addons/index.html
Normal file
@ -0,0 +1,125 @@
|
|||||||
|
{extend name="public/base" /}
|
||||||
|
|
||||||
|
{block name="body"}
|
||||||
|
<div class="layui-fluid">
|
||||||
|
<div class="layui-card">
|
||||||
|
<div class="layui-card-header">插件管理</div>
|
||||||
|
<div class="layui-card-body">
|
||||||
|
<div style="padding-bottom: 10px;">
|
||||||
|
<!--button class="layui-btn layuiadmin-btn-admin" data-type="batchdel">删除</button-->
|
||||||
|
<button class="layui-btn layuiadmin-btn-admin" data-type="add">添加</button>
|
||||||
|
</div>
|
||||||
|
<table id="addons-list" lay-filter="addons-list"></table>
|
||||||
|
<script type="text/html" id="addons-tool">
|
||||||
|
|
||||||
|
<a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="install"><i class="layui-icon layui-icon-edit"></i>安装</a>
|
||||||
|
<a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="edit"><i class="layui-icon layui-icon-edit"></i>卸载</a>
|
||||||
|
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del"><i class="layui-icon layui-icon-delete"></i>删除</a>
|
||||||
|
|
||||||
|
</script>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{/block}
|
||||||
|
{block name="js"}
|
||||||
|
<script>
|
||||||
|
var addonsIndex = "{:url('Addons/index')}",
|
||||||
|
addonsDelete = "{:url('Addons/delete')}",
|
||||||
|
addonsEdit = "{:url('Addons/edit')}";
|
||||||
|
layui.config({
|
||||||
|
base: '/static/admin/' //静态资源所在路径
|
||||||
|
}).extend({
|
||||||
|
index: 'lib/index' //主入口模块
|
||||||
|
}).use(['index', 'addons','table','form','upload'], function(){
|
||||||
|
var $ = layui.jquery
|
||||||
|
,table = layui.table
|
||||||
|
,form = layui.form
|
||||||
|
,upload = layui.upload;
|
||||||
|
|
||||||
|
//事件
|
||||||
|
var active = {
|
||||||
|
batchdel: function(){
|
||||||
|
var checkStatus = table.checkStatus('addons-list')
|
||||||
|
,checkData = checkStatus.data; //得到选中的数据
|
||||||
|
|
||||||
|
if(checkData.length === 0){
|
||||||
|
return layer.msg('请选择数据');
|
||||||
|
}
|
||||||
|
|
||||||
|
layer.prompt({
|
||||||
|
formType: 1
|
||||||
|
,title: '敏感操作,请验证口令'
|
||||||
|
}, function(value, index){
|
||||||
|
layer.close(index);
|
||||||
|
|
||||||
|
layer.confirm('确定删除吗?', function(index) {
|
||||||
|
|
||||||
|
//执行 Ajax 后重载
|
||||||
|
/*
|
||||||
|
admin.req({
|
||||||
|
url: 'xxx'
|
||||||
|
//,……
|
||||||
|
});
|
||||||
|
*/
|
||||||
|
table.reload('addons-list');
|
||||||
|
layer.msg('已删除');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
,add: function(){
|
||||||
|
layer.open({
|
||||||
|
type: 2
|
||||||
|
,title: '添加插件'
|
||||||
|
,content: 'add.html'
|
||||||
|
,area: ['400px', '620px']
|
||||||
|
,btn: ['确定', '取消']
|
||||||
|
,yes: function(index, layero){
|
||||||
|
var iframeWindow = window['layui-layer-iframe'+ index]
|
||||||
|
,submitID = 'LAY-addons-submit'
|
||||||
|
,submit = layero.find('iframe').contents().find('#'+ submitID);
|
||||||
|
|
||||||
|
//监听提交
|
||||||
|
iframeWindow.layui.form.on('submit('+ submitID +')', function(data){
|
||||||
|
var field = data.field; //获取提交的字段
|
||||||
|
|
||||||
|
//提交 Ajax 成功后,静态更新表格中的数据
|
||||||
|
$.ajax({
|
||||||
|
type:"post",
|
||||||
|
url:"{:url('admin/Addons/add')}",
|
||||||
|
data:field,
|
||||||
|
daType:"json",
|
||||||
|
success:function (data){
|
||||||
|
if (data.code == 0) {
|
||||||
|
layer.msg(data.msg,{
|
||||||
|
icon:6,
|
||||||
|
time:2000
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
layer.open({
|
||||||
|
tiele:'添加失败',
|
||||||
|
content:data.msg,
|
||||||
|
icon:5,
|
||||||
|
anim:6
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
table.reload('addons-list'); //数据刷新
|
||||||
|
layer.close(index); //关闭弹层
|
||||||
|
});
|
||||||
|
|
||||||
|
submit.trigger('click');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$('.layui-btn.layuiadmin-btn-admin').on('click', function(){
|
||||||
|
var type = $(this).data('type');
|
||||||
|
active[type] ? active[type].call(this) : '';
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
{/block}
|
20
app/admin/view/public/auth.html
Normal file
20
app/admin/view/public/auth.html
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>{block name="title"}TaoLer后台管理模板系统{/block}</title>
|
||||||
|
<meta name="renderer" content="webkit">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
|
||||||
|
<link rel="stylesheet" href="/static/layui/css/layui.css" media="all">
|
||||||
|
<link rel="stylesheet" href="/static/admin/style/admin.css" media="all">
|
||||||
|
{block name="css"}{/block}
|
||||||
|
</head>
|
||||||
|
<body {if($Request.url=='/admin/index/index')}class="layui-layout-body"{/if}>
|
||||||
|
<a>无操作权限!</a>
|
||||||
|
<script src="/static/layui/jquery.min.js" charset="utf-8"></script>
|
||||||
|
<script src="/static/layui/layui.js"></script>
|
||||||
|
<script type="text/javascript" charset="utf-8">
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -33,7 +33,8 @@ class Auth
|
|||||||
$admin_id = Session::get('admin_id'); //登录用户的id
|
$admin_id = Session::get('admin_id'); //登录用户的id
|
||||||
|
|
||||||
if (!$auth->check($app . '/' . $controller . '/' . $action, $admin_id) && $admin_id != 1) {
|
if (!$auth->check($app . '/' . $controller . '/' . $action, $admin_id) && $admin_id != 1) {
|
||||||
return json(['code'=>-1,'msg'=>'没有权限!']);
|
//return json(['code'=>-1,'msg'=>'没有权限!']);
|
||||||
|
return view('public/auth');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -20,7 +20,8 @@ class Files
|
|||||||
$arr[] = strtolower($value);
|
$arr[] = strtolower($value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return array_merge(array_diff($arr, array('install')));
|
//return array_merge(array_diff($arr, array('install')));
|
||||||
|
return $arr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
3
public/static/admin/modules/.gitignore
vendored
Normal file
3
public/static/admin/modules/.gitignore
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
plugins.js
|
||||||
|
version.js
|
||||||
|
appset.js
|
@ -20,7 +20,7 @@ layui.define(['table', 'form','upload'], function(exports){
|
|||||||
{field: 'addons_price',title: '价格(元)'},
|
{field: 'addons_price',title: '价格(元)'},
|
||||||
{field: 'addons_status',title: '状态', width: 100},
|
{field: 'addons_status',title: '状态', width: 100},
|
||||||
{field: 'ctime',title: '时间', width: 150},
|
{field: 'ctime',title: '时间', width: 150},
|
||||||
{title: '操作', width: 150, align:'center', fixed: 'right', toolbar: '#addons-tool'}
|
{title: '操作', width: 250, align:'center', fixed: 'right', toolbar: '#addons-tool'}
|
||||||
]]
|
]]
|
||||||
,page: true
|
,page: true
|
||||||
,limit: 10
|
,limit: 10
|
||||||
|
Loading…
Reference in New Issue
Block a user