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
+91
View File
@@ -0,0 +1,91 @@
<div class="layui-card">
<div class="layui-card-header">
<span>新增版本</span>
<a class="layui-btn layui-btn-sm layui-btn-primary" style="float:right;" href="/docs/backend/version?project_id={$projectId}">返回列表</a>
</div>
<div class="layui-card-body">
<form class="layui-form" style="max-width:760px;">
<div class="layui-form-item">
<label class="layui-form-label">所属项目</label>
<div class="layui-input-block">
<select name="project_id" required lay-verify="required">
{volist name="projects" id="p"}
<option value="{$p.id}" {if condition="$projectId eq $p.id"}selected{/if}>{$p.title}</option>
{/volist}
</select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">版本标识</label>
<div class="layui-input-block">
<input type="text" name="name" required lay-verify="required" placeholder="如 v1 / v2.0" autocomplete="off" class="layui-input">
<div class="docs-tip">非默认版本的访问地址为 /docs/项目标识/版本标识/文档标识</div>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">版本名称</label>
<div class="layui-input-block">
<input type="text" name="title" required lay-verify="required" placeholder="如 1.0 稳定版" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">版本说明</label>
<div class="layui-input-block">
<textarea name="intro" class="layui-textarea"></textarea>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">排序</label>
<div class="layui-input-block">
<input type="number" name="sort" value="0" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">设为默认</label>
<div class="layui-input-block">
<input type="checkbox" name="is_default" value="1" lay-skin="switch" lay-text="是|否">
<div class="docs-tip">默认版本的文档使用短地址访问,同一项目只能有一个默认版本</div>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">状态</label>
<div class="layui-input-block">
<input type="checkbox" name="status" value="1" checked lay-skin="switch" lay-text="启用|禁用">
</div>
</div>
<div class="layui-form-item">
<div class="layui-input-block">
<button class="layui-btn" lay-submit lay-filter="versionSubmit">保存</button>
<a class="layui-btn layui-btn-primary" href="/docs/backend/version?project_id={$projectId}">取消</a>
</div>
</div>
</form>
</div>
</div>
<script>
layui.use(['form', 'layer', 'jquery'], function () {
var form = layui.form;
var layer = layui.layer;
var $ = layui.$;
form.on('submit(versionSubmit)', function (data) {
var post = $.extend({}, data.field);
post.status = data.field.status ? 1 : 0;
post.is_default = data.field.is_default ? 1 : 0;
$.post('/docs/backend/version/save', post, function (res) {
if (res.code === 0) {
layer.msg(res.message, { icon: 1 }, function () {
location.href = '/docs/backend/version?project_id=' + post.project_id;
});
} else {
layer.msg(res.message || '保存失败', { icon: 2 });
}
}, 'json').fail(function () {
layer.msg('请求失败,请重试', { icon: 2 });
});
return false;
});
});
</script>
+87
View File
@@ -0,0 +1,87 @@
<div class="layui-card">
<div class="layui-card-header">
<span>编辑版本:{$item.title}</span>
<a class="layui-btn layui-btn-sm layui-btn-primary" style="float:right;" href="/docs/backend/version?project_id={$item.project_id}">返回列表</a>
</div>
<div class="layui-card-body">
<form class="layui-form" style="max-width:760px;">
<div class="layui-form-item">
<label class="layui-form-label">所属项目</label>
<div class="layui-input-block">
<select name="project_id" required lay-verify="required">
{volist name="projects" id="p"}
<option value="{$p.id}" {if condition="$item.project_id eq $p.id"}selected{/if}>{$p.title}</option>
{/volist}
</select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">版本标识</label>
<div class="layui-input-block">
<input type="text" name="name" value="{$item.name}" required lay-verify="required" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">版本名称</label>
<div class="layui-input-block">
<input type="text" name="title" value="{$item.title}" required lay-verify="required" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">版本说明</label>
<div class="layui-input-block">
<textarea name="intro" class="layui-textarea">{$item.intro}</textarea>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">排序</label>
<div class="layui-input-block">
<input type="number" name="sort" value="{$item.sort}" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">设为默认</label>
<div class="layui-input-block">
<input type="checkbox" name="is_default" value="1" {if condition="$item.is_default eq 1"}checked{/if} lay-skin="switch" lay-text="是|否">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">状态</label>
<div class="layui-input-block">
<input type="checkbox" name="status" value="1" {if condition="$item.status eq 1"}checked{/if} lay-skin="switch" lay-text="启用|禁用">
</div>
</div>
<div class="layui-form-item">
<div class="layui-input-block">
<button class="layui-btn" lay-submit lay-filter="versionSubmit">保存</button>
<a class="layui-btn layui-btn-primary" href="/docs/backend/version?project_id={$item.project_id}">取消</a>
</div>
</div>
</form>
</div>
</div>
<script>
layui.use(['form', 'layer', 'jquery'], function () {
var form = layui.form;
var layer = layui.layer;
var $ = layui.$;
form.on('submit(versionSubmit)', function (data) {
var post = $.extend({}, data.field);
post.status = data.field.status ? 1 : 0;
post.is_default = data.field.is_default ? 1 : 0;
$.post('/docs/backend/version/update/{$item.id}', post, function (res) {
if (res.code === 0) {
layer.msg(res.message, { icon: 1 });
} else {
layer.msg(res.message || '保存失败', { icon: 2 });
}
}, 'json').fail(function () {
layer.msg('请求失败,请重试', { icon: 2 });
});
return false;
});
});
</script>
@@ -0,0 +1,98 @@
<div class="layui-card">
<div class="layui-card-header">
<span>版本管理</span>
<a class="layui-btn layui-btn-sm" style="float:right;" href="/docs/backend/version/add?project_id={$projectId}">新增版本</a>
</div>
<div class="layui-card-body">
<form class="layui-form docs-scope-bar" method="get" action="/docs/backend/version">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label" style="width:70px;">所属项目</label>
<div class="layui-input-inline">
<select name="project_id" lay-filter="projectPick">
{volist name="projects" id="p"}
<option value="{$p.id}" {if condition="$projectId eq $p.id"}selected{/if}>{$p.title}</option>
{/volist}
</select>
</div>
</div>
</div>
</form>
<table class="layui-table">
<colgroup>
<col width="70"><col width="140"><col><col width="90"><col width="90"><col width="80"><col width="90"><col width="150">
</colgroup>
<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" id="item" empty="<tr><td colspan='8' class='docs-empty'>该项目暂无版本</td></tr>"}
<tr>
<td>{$item.id}</td>
<td><code>{$item.name}</code></td>
<td>
{$item.title}
{if condition="$item.intro neq ''"}<div class="docs-tip">{$item.intro}</div>{/if}
</td>
<td>
{if condition="$item.is_default eq 1"}
<span class="layui-badge layui-bg-orange">默认</span>
{else/}
<span class="docs-tip">-</span>
{/if}
</td>
<td>{$item.doc_count}</td>
<td>{$item.sort}</td>
<td>
{if condition="$item.status eq 1"}
<span class="layui-badge layui-bg-blue">启用</span>
{else/}
<span class="layui-badge layui-bg-gray">禁用</span>
{/if}
</td>
<td>
<a class="layui-btn layui-btn-xs" href="/docs/backend/version/edit/{$item.id}">编辑</a>
<a class="layui-btn layui-btn-xs layui-btn-normal" href="/docs/backend/doc?project_id={$projectId}&version_id={$item.id}">管理文档</a>
<a class="layui-btn layui-btn-xs layui-btn-danger docs-del" href="javascript:;" data-id="{$item.id}" data-title="{$item.title}">删除</a>
</td>
</tr>
{/volist}
</tbody>
</table>
</div>
</div>
<script>
layui.use(['form', 'layer', 'jquery'], function () {
var form = layui.form;
var layer = layui.layer;
var $ = layui.$;
form.on('select(projectPick)', function (data) {
location.href = '/docs/backend/version?project_id=' + data.value;
});
$('.docs-del').on('click', function () {
var id = $(this).data('id');
var title = $(this).data('title');
layer.confirm('删除版本「' + title + '」将同时删除其下所有文档,确定继续?', {
icon: 3, title: '确认删除'
}, function (index) {
layer.close(index);
$.post('/docs/backend/version/delete/' + id, {}, function (res) {
if (res.code === 0) {
layer.msg(res.message, { icon: 1 }, function () { location.reload(); });
} else {
layer.msg(res.message || '删除失败', { icon: 2 });
}
}, 'json').fail(function () {
layer.msg('请求失败,请重试', { icon: 2 });
});
});
});
});
</script>