chore: 重写初始提交(清空历史,整理后全量提交)

This commit is contained in:
ywxapp
2026-08-16 16:54:14 +08:00
commit 6c1a106bc1
1808 changed files with 238144 additions and 0 deletions
+72
View File
@@ -0,0 +1,72 @@
<div class="layui-card">
<div class="layui-card-header">编辑帖子</div>
<div class="layui-card-body">
<form class="layui-form" id="form">
<input type="hidden" name="id" value="{$row.id}">
<div class="layui-form-item">
<label class="layui-form-label">版块</label>
<div class="layui-input-block">
<select name="board_id">
{volist name="boards" id="b"}
<option value="{$b.id}" {if $row.board_id==$b.id}selected{/if}>{$b.name}</option>
{/volist}
</select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">类型</label>
<div class="layui-input-block">
<select name="type">
{foreach $typeMap as $k=>$v}
<option value="{$k}" {if $row.type==$k}selected{/if}>{$v}</option>
{/foreach}
</select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">标题</label>
<div class="layui-input-block"><input name="title" value="{$row.title}" class="layui-input" lay-verify="required"></div>
</div>
<div class="layui-form-item layui-form-text">
<label class="layui-form-label">内容</label>
<div class="layui-input-block"><textarea name="content" class="layui-textarea" style="min-height:200px;">{$row.content}</textarea></div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">置顶</label>
<div class="layui-input-block">
<input type="radio" name="is_top" value="1" title="是" {if $row.is_top==1}checked{/if}>
<input type="radio" name="is_top" value="0" title="否" {if $row.is_top==0}checked{/if}>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">加精</label>
<div class="layui-input-block">
<input type="radio" name="is_essence" value="1" title="是" {if $row.is_essence==1}checked{/if}>
<input type="radio" name="is_essence" value="0" title="否" {if $row.is_essence==0}checked{/if}>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">状态</label>
<div class="layui-input-block">
<input type="radio" name="status" value="1" title="正常" {if $row.status==1}checked{/if}>
<input type="radio" name="status" value="0" title="待审" {if $row.status==0}checked{/if}>
</div>
</div>
<div class="layui-form-item">
<button class="layui-btn" lay-submit lay-filter="save">保存</button>
</div>
</form>
</div>
</div>
<script>
layui.use(['form','jquery'], function(){
var form = layui.form, $ = layui.jquery;
form.on('submit(save)', function(data){
$.post('/forum/backend/topic/update/{$row.id}', data.field, function(res){
if (res.code === 0) { location.href = '/forum/backend/topic'; }
else { layer.msg(res.message); }
}, 'json');
return false;
});
});
</script>
+69
View File
@@ -0,0 +1,69 @@
<div class="layui-card">
<div class="layui-card-header">帖子管理(共 {$list.total} 条)</div>
<div class="layui-card-body">
<table class="layui-table">
<thead>
<tr><th>ID</th><th>标题</th><th>版块</th><th>类型</th><th>作者</th><th>回复</th><th>状态</th><th>操作</th></tr>
</thead>
<tbody>
{volist name="list.list" id="t"}
<tr>
<td>{$t.id}</td>
<td><a href="/forum/topic/{$t.id}" target="_blank">{$t.title}</a></td>
<td>{$t.board.name|default='-'}</td>
<td>{$typeMap[$t.type]|default='-'}</td>
<td>{$t.user_id}</td>
<td>{$t.reply_count}</td>
<td>
{if $t.is_top==1}<span class="layui-badge"></span>{/if}
{if $t.is_essence==1}<span class="layui-badge layui-bg-green"></span>{/if}
{if $t.status==1}正常{elseif $t.status==0}待审{else}已删{/if}
</td>
<td>
<a href="/forum/backend/topic/edit/{$t.id}" class="layui-btn layui-btn-xs">编辑</a>
{if $t.status==0}
<button class="layui-btn layui-btn-xs layui-btn-normal" data-audit="{$t.id}">通过</button>
<button class="layui-btn layui-btn-xs layui-btn-warm" data-reject="{$t.id}">驳回</button>
{/if}
<button class="layui-btn layui-btn-xs layui-btn-danger" data-del="{$t.id}">删除</button>
</td>
</tr>
{/volist}
</tbody>
</table>
<div id="pager"></div>
</div>
</div>
<script>
layui.use(['jquery','laypage'], function(){
var $ = layui.jquery, laypage = layui.laypage;
laypage.render({ elem:'pager', count:{$list.total}, limit:20,
curr:{$list.currentPage}, jump:function(obj,first){
if(!first){ location.href='?page='+obj.curr; }
}});
$('[data-del]').on('click', function(){
var id = $(this).data('del');
layer.confirm('确认删除?', function(){
$.post('/forum/backend/topic/audit/'+id+'?act=del', {}, function(res){}, 'json');
$.post('/forum/backend/topic/delete/'+id, {}, function(res){
if (res.code === 0) { location.reload(); } else { layer.msg(res.message); }
}, 'json');
});
});
$('[data-audit]').on('click', function(){
var id = $(this).data('audit');
$.post('/forum/backend/topic/audit/'+id, {}, function(res){
if (res.code === 0) { location.reload(); } else { layer.msg(res.message); }
}, 'json');
});
$('[data-reject]').on('click', function(){
var id = $(this).data('reject');
layer.prompt({title:'驳回理由', formType:2}, function(val, index){
$.post('/forum/backend/topic/reject/'+id, {reason:val}, function(res){
layer.close(index);
if (res.code === 0) { location.reload(); } else { layer.msg(res.message); }
}, 'json');
});
});
});
</script>