common.php
<?php
// +----------------------------------------------------------------------
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
// +----------------------------------------------------------------------
// | Copyright (c) 2006-2016 http://thinkphp.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: 流年 <liu21st@gmail.com>
// +----------------------------------------------------------------------
// 应用公共文件
//function pagination($obj)
//{
// if (!$obj) {
// return '';
// }
// $param = request()->param();
// return '<div class="imooc-app">' . $obj->appends($param)->render() . '</div>';
//}
function getCatName($catId)
{
if (!$catId) {
return '';
}
$cats = config('cat.list');
return !empty($cats[$catId] ? $cats[$catId] : '');
}
function isYesNo($str)
{
return $str ? '<span style="color:red">是</span>' : '<span>否</span>';
}
/**
* 状态
* @param $id
* @param $status
*/
function status($id, $status)
{
$controller = request()->controller();
$sta = $status == 1 ? 0 : 1;
// /index.php/admin/news/status/id/4/status/1.html
$url = url($controller . '/status', ['id' => $id, 'status' => $sta]);
if ($status === 1) {
$str = "<a href='javascript:;' title='修改状态' status_url='" . $url . "'
onclick='app_status(this)'><span class='label label-success radius'>正常</span></a>";
} else if ($status === 0) {
$str = "<a href='javascript:;' title='修改状态' status_url='" . $url . "'
onclick='app_status(this)'><span class='label label-danger radius'>待审</span></a>";
}
return $str;
}
/**
* 状态
* @param $id
* @param $status
*/
function status($id, $status)
{
$controller = request()->controller();
$sta = $status == 1 ? 0 : 1;
// /index.php/admin/news/status/id/4/status/1.html
$url = url($controller . '/status', ['id' => $id, 'status' => $sta]);
if ($status === 1) {
$str = "<a href='javascript:;' title='修改状态' status_url='" . $url . "'
onclick='app_status(this)'><span class='label label-success radius'>正常</span></a>";
} else if ($status === 0) {
$str = "<a href='javascript:;' title='修改状态' status_url='" . $url . "'
onclick='app_status(this)'><span class='label label-danger radius'>待审</span></a>";
}
return $str;
}
index.html
<!--header-->
{include file="public/_meta" title="娱乐资讯"/}
<nav class="breadcrumb"><i class="Hui-iconfont"></i> 首页 <span class="c-gray en">></span> 资讯管理 <span
class="c-gray en">></span> 资讯列表 <a class="btn btn-success radius r" style="line-height:1.6em;margin-top:3px"
href="javascript:location.replace(location.href);" title="刷新"><i
class="Hui-iconfont"></i></a></nav>
<div class="page-container">
<div class="text-c">
<form action="{:url('news/index')}" method="get">
<span class="select-box inline">
<select name="catid" class="select">
<option value="0">全部分类</option>
{volist name="cats" id="vo"}
<option value="{$key}" {if condition="$key eq $catid" } selected="selected" {/if}>{$vo}</option>
{/volist}
</select>
</span> 日期范围:
<input type="text" name="start_time" class="input-text" id="countTimestart" onfocus="selecttime(1)"
value="{$start_time}"
style="width:120px;">
-
<input type="text" name="end_time" class="input-text" id="countTimestart" onfocus="selecttime(1)"
value="{$end_time}"
style="width:120px;">
<input type="text" name="title" id="" value="{$title}" placeholder=" 资讯名称" style="width:250px"
class="input-text">
<button name="" id="" class="btn btn-success" type="submit"><i class="Hui-iconfont"></i> 搜资讯</button>
</form>
</div>
<div class="mt-20">
<table class="table table-border table-bordered table-bg table-hover table-sort table-responsive">
<thead>
<tr class="text-c">
<th width="25"><input type="checkbox" name="" value=""></th>
<th width="80">ID</th>
<th>标题</th>
<th width="80">分类</th>
<th width="80">缩图</th>
<th width="120">更新时间</th>
<th width="40">是否推荐</th>
<th width="60">发布状态</th>
<th width="120">操作</th>
</tr>
</thead>
<tbody>
{volist name="news" id="vo"}
<tr class="text-c">
<td><input type="checkbox" value="" name=""></td>
<td>{$vo.id}</td>
<td class="text-l"><u style="cursor:pointer" class="text-primary" title="查看">{$vo.title}</u></td>
<td>{$vo.catid|getCatName}</td>
<td><img width="60" height="60" class="picture-thumb" src="{$vo.image}"></td>
<td>{$vo.update_time}</td>
<td>{$vo.is_position|isYesNo}</td>
<td class="td-status">{$vo.status|status=$vo.id,###}</td>
<td class="f-14 td-manage"><a style="text-decoration:none" class="ml-5"
onClick="article_edit('资讯编辑','article-add.html','10001')"
href="javascript:;" title="编辑"><i class="Hui-iconfont"></i></a> <a
style="text-decoration:none" class="ml-5" onClick="app_del(this)" href="javascript:;" title="删除"
del_url="{:url('news/delete',['id'=>$vo.id])}"><i class="Hui-iconfont"></i></a></td>
</tr>
{/volist}
</tbody>
</table>
<div id="laypage"></div>
</div>
</div>
<!--header-->
{include file="public/_footer" /}
<!--请在下方写此页面业务相关的脚本-->
<script type="text/javascript" src="__STATIC__/hadmin/lib/My97DatePicker/4.8/WdatePicker.js"></script>
<script type="text/javascript" src="__STATIC__/hadmin/lib/laypage/1.2/laypage.js"></script>
<script type="text/javascript">
var url = '{url("news/index")}' + '?{$query}';
//alert(url);
laypage({
cont: 'laypage',
pages: '{$pageTotal}',
skin: '#5FB878',
curr: '{$curr}',
jump: function (e, first) {
if (!first) {
location.href = url + '&page=' + e.curr;
}
}
});
</script>
<style>
.imooc-app .pagination li {
display: inline;
padding-left: 10px;
}
.pagination .active {
color: red
}
.pagination .disabled {
color: #888888
}
</style>
</body>
</html>
<td class="td-status">{$vo.status|status=$vo.id,###}</td>
common.js
function singwaapp_save(form) {
var data = $(form).serialize();
url = $(form).attr('url');
$.post(url, data, function (result) {
if (result.code == 0) {
layer.msg(result.msg, {icon: 5, time: 2000});
} else if (result.code == 1) {
self.location = result.data.jump_url;
}
}, 'JSON');
}
function selecttime(flag) {
if (flag == 1) {
var endTime = $("#countTimeend").val();
if (endTime != "") {
WdatePicker({dateFmt: 'yyyy-MM-dd HH:mm', maxDate: endTime})
} else {
WdatePicker({dateFmt: 'yyyy-MM-dd HH:mm'})
}
} else {
var startTime = $("#countTimestart").val();
if (startTime != "") {
WdatePicker({dateFmt: 'yyyy-MM-dd HH:mm', minDate: startTime})
} else {
WdatePicker({dateFmt: 'yyyy-MM-dd HH:mm'})
}
}
}
function app_del(obj) {
url = $(obj).attr('del_url');
layer.confirm('确认要删除吗?', function (index) {
$.ajax({
type: 'POST',
url: url,
dataType: 'json',
success: function (data) {
if (data.code == 1) {
self.location = data.data.jump_url;
} else if (data.code == 0) {
layer.msg(data.msg, {icon: 2, time: 2000});
}
},
error: function (data) {
console.log(data.msg);
}
});
});
}
function app_status(obj) {
url = $(obj).attr('status_url');
layer.confirm('确认要修改吗?', function (index) {
$.ajax(
{
type: 'POST',
url: url,
dataType: 'json',
success: function (data) {
if (data.code == 1) {
self.location = data.data.jump_url;
} else if (data.code == 0) {
layer.msg(data.msg, {icon: 2, time: 2000});
}
},
error: function (data) {
console.log(data.msg);
}
}
)
});
}
function app_status(obj) {
url = $(obj).attr('status_url');
layer.confirm('确认要修改吗?', function (index) {
$.ajax(
{
type: 'POST',
url: url,
dataType: 'json',
success: function (data) {
if (data.code == 1) {
self.location = data.data.jump_url;
} else if (data.code == 0) {
layer.msg(data.msg, {icon: 2, time: 2000});
}
},
error: function (data) {
console.log(data.msg);
}
}
)
});
}
Base.php
<?php
/**
* Created by PhpStorm.
* User: tong
* Date: 2017/11/10
* Time: 11:11
*/
namespace app\admin\controller;
use think\Controller;
class Base extends Controller
{
public $page = "";
public $size = "";
public $from = 0;
public $model = '';
protected function _initialize()
{
$isLogin = $this->isLogin();
if (!$isLogin) {
$this->redirect('login/index');
}
}
public function isLogin()
{
$user = session(config('admin.session_user'), '', config('admin.session_user_scope'));
if ($user && $user->id) {
return true;
}
return false;
}
public function getPageAndSize($data)
{
$this->page = !empty($data['page']) ? $data['page'] : 1;
$this->size = !empty($data['size']) ? $data['size'] : config('paginate.list_rows');
$this->from = ($this->page - 1) * $this->size;
}
public function delete($id = 0)
{
if (!intval($id)) {
return $this->result('', 0, 'ID不合法');
}
$model = $this->model ? $this->model : request()->controller();
try {
$res = model($model)->save(['status' => -1], ['id' => $id]);
} catch (\Exception $e) {
$this->result('', 0, $e->getMessage());
}
if ($res) {
return $this->result(['jump_url' => $_SERVER['HTTP_REFERER']], 1, 'OK');
}
return $this->result('', 0, '删除失败');
}
/**
* 通用化修改状态
*/
public function status()
{
$data = input('param.');
//tp5 validate 机制校验 自行完成 id status
//通过id 去库中查询是否存在
$id = model('News')->get(['id' => $data['id']]);
if (!$id) {
return $this->result('', 0, 'id不存在');
}
$model = $this->model ? $this->model : request()->controller();
try {
$res = model($model)->save(['status' => $data['status']], ['id' => $data['id']]);
} catch (\Exception $e) {
return $this->result('', 0, $e->getMessage());
}
if ($res) {
return $this->result(['jump_url' => $_SERVER['HTTP_REFERER']], 1, 'OK');
}
return $this->result('', 0, '失败');
}
}
/**
* 通用化修改状态
*/
public function status()
{
$data = input('param.');
//tp5 validate 机制校验 自行完成 id status
//通过id 去库中查询是否存在
$id = model('News')->get(['id' => $data['id']]);
if (!$id) {
return $this->result('', 0, 'id不存在');
}
$model = $this->model ? $this->model : request()->controller();
try {
$res = model($model)->save(['status' => $data['status']], ['id' => $data['id']]);
} catch (\Exception $e) {
return $this->result('', 0, $e->getMessage());
}
if ($res) {
return $this->result(['jump_url' => $_SERVER['HTTP_REFERER']], 1, 'OK');
}
return $this->result('', 0, '失败');
}
}