摘要:Slide.php这里面有个DoAdd添加操作,这操作之前要先upload 做这个操作,即上传播图upload()方法,代码如下:<?php namespace app\admin\controller; use app\admin\model\SlideModel; use app\admin\controller\Common; use
Slide.php
这里面有个DoAdd添加操作,这操作之前要先upload 做这个操作,即上传播图upload()方法,代码如下:
<?php
namespace app\admin\controller;
use app\admin\model\SlideModel;
use app\admin\controller\Common;
use think\facade\Request;
use think\facade\Session;
class Slide extends Common{
public function index(){
$slides=SlideModel::all();
$this->assign('slides',$slides);
return $this->fetch();
}
public function add(){
return $this->fetch();
}
public function upload(){
$file=Request::file('file');
if($info=$file->validate(['ext'=>'jpg,jpeg,gif,png'])->move('upload')){
$fileName='/upload/'.$info->getSaveName();
return json([1,'上传成功','data'=>$fileName]);
}else{
return $file->getError();
}
}
public function DoAdd(){
$data=Request::param();
$data['time']=time();
$data['username']=Session::get('username');
$slide=new SlideModel();
$info=$slide->save($data);
if($info){
return ['res'=>1,'msg'=>'添加成功'];
}else{
return ['res'=>0,'msg'=>'添加失败'];
}
}
public function del()
{
// 获取需要删除的id
$slideId = Request::param('id');
// 实例化模型
$slide = new SlideModel();
// 删除并验证
if ($slide->destroy($slideId)) {
return ['res' => 1];
}
}
}add.html
url: "{:url('upload')}",
$.post("{:url()}",{data},function(data){})
<script>
layui.use(['form', 'layer', 'upload'], function () {
$ = layui.jquery;
var form = layui.form
, layer = layui.layer,
upload = layui.upload;
upload.render({
elem: '#upload',
url: "{:url('upload')}",
multiple: true,
before: function (obj) {
//预读本地文件示例,不支持ie8
obj.preview(function (index, file, result) {
$('#thumbnail').append('<img src="' + result + '" alt="' + file.name + '" class="layui-upload-img">')
});
},
done: function (res) {
//上传完毕
$('#thumbnail').append('<input type="hidden" name="slide_pic" id="slide_pic" value="' + res.data + '" />')
}
});
//监听提交
form.on('submit(add)', function (data) {
console.log(data);
//发异步,把数据提交给php
$.post('{:url(\'DoAdd\')}', {
'pic': $('#slide_pic').val(),
'desc': $('#desc').val(),
}, function (data) {
if (data.res == 1) {
layer.alert(data.msg, {icon: 6}, function () {
// 获得frame索引
var index = parent.layer.getFrameIndex(window.name);
//关闭当前frame
parent.layer.close(index);
});
} else {
layer.alert(data.msg, {icon: 6}, function () {
// 获得frame索引
var index = parent.layer.getFrameIndex(window.name);
//关闭当前frame
parent.layer.close(index);
});
}
})
return false;
});
});
</script>index()方法的index.html展示如下:
{volist name="slides" id="slide"}
<tr>
<td>{$slide.id}</td>
<td>
<img src="{$slide.pic}">
</td>
<td>{$slide.desc}</td>
<td>{$slide.username}</td>
<td>{$slide.time|date="Y-m-d"}</td>
<td class="td-manage">
<button class="layui-btn-danger layui-btn layui-btn-xs" onclick="member_del(this,'{$slide.id}')"
href="javascript:;"><i class="layui-icon"></i>删除
</button>
</td>
</tr>
{/volist}