Commit 6ac8bb08 authored by wangtao's avatar wangtao

修改展示页

parent 7b9173db
Pipeline #885 canceled with stages
![](https://www.veitool.com/file/demo/logo.png) 凡骄网络科技
\ No newline at end of file
Veitool V2.2.3 正式版
===============
Veitool 是一款PHP开发的框架系统,基于ThinkPHP8.x + Layui2.9.x架构,拥有完善的菜单、角色、权限管理机制,集成了常用的管理构建模块,用户可快速便捷的在此基础上进行二次开发、配置、扩展功能,以及可通过安装插件快捷实现系统功能。
## 官方网址
https://www.veitool.com
## 官方社区
https://www.veitool.com/ask
## 演示地址
https://demo.veitool.com/admin
## 反馈邮箱
veitoolphp@gmail.com
## 系统要求
运行环境支持Nginx、Apache、IIS,要求PHP>=8.1。
## 系统特点
#### 安全高效
严谨的验证安全机制,秉承高效的设计理念,我们采用了尽可能代码复用的设计,异步防重载局部解析运行,以及视图模板解析尽量终端处理以提高请求呈现高效稳定。跨平台可运行在Linux、Windows、MacOSX等多种平台上。
#### 应用灵活
模块化设计,我们尽可能的实现代码逻辑最优化处理,降低冗余代码注重细节以求更完美的结合。完善的菜单、角色、权限管理机制,服务端程序逻辑清晰、低冗余、模块化设计,应用构建灵活,界面简约美观,前后端均无需编译低运维成本,利于全栈开发。
#### 快捷构建
内置常用基础应用模块,方便初步接触者参考快速入手,在线窗口化快速生成相关模块以及配置相关参数、亦可安装拖拽插件实现可视化布局。丰富的在线插件安装满足多方应用需求。组件化接口便于二次开发,迭代分享更快捷、丰富。
#### 请作者喝咖啡☕️
<img src="https://www.veitool.com/file/pay/wepay.jpg" width="200"/>
<img src="https://www.veitool.com/file/pay/alipay.jpg" width="200"/>
<p>如果您觉得 Veitool 框架对您有所帮助,欢迎捐赠。<b><a href="https://www.veitool.com/donate">【捐赠列表】</a></b></p>
## 版权信息
Veitool 采用 [Apache2.0](https://opensource.org/license/apache-2-0/) 开源协议发布,并免费提供使用《[免责声明](https://gitee.com/veitool/veitool/blob/master/DISCLAIMER.md)》。
版权所有Copyright © 2025 by https://www.veitool.com All rights reserved。
\ No newline at end of file
*.lock
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
This diff is collapsed.
<div class="main">
<div class="progress"><ul class="p-1"><li><span>许可协议</span></li><li><span>环境检测</span></li><li><span>设定配置</span></li><li><span>安装完成</span></li></ul></div>
<div class="text">
<h1>软件许可协议(软件著作权登记号:2022SR0502416)</h1>
<h3>尊敬的用户:</h3>
<p>感谢您选择使用VEITOOL快捷开发框架系统(以下简称“本系统”),希望我们的努力能为您提供一款适用于企业级快速便捷开发的利器,本系统官网为: <a href="https://www.veitool.com" target="_blank">https://www.veitool.com</a>,设有问答社区和相关使用文档。
使用者无论个人或组织、盈利与否、用途如何(包括以学习和研究为目的),均需仔细阅读本协议,在理解、同意、并遵守本协议的全部条款后,方可开始使用本系统。本授权协议适用且仅适用于本产品,Veitool官方拥有对本授权协议的最终解释权。</p>
<h3>一. 协议许可的权利</h3>
<p>您可以在完全遵守本最终用户授权协议的基础上,安装和使用本系统提供的全部功能,而不必支付软件版权授权费用。</p>
<p>您可以在协议规定的约束和限制范围内修改本系统源代码或界面风格以适应您的使用要求,但需保留本系统的<b>版权信息</b><b>链接</b></p>
<p>您拥有使用本系统构建的应用中全部资料、内容及相关信息的所有权,并独立承担相关法律义务。</p>
<h3>二. 协议规定的约束和限制</h3>
<p>未经我们书面许可,您不得删除或修改本系统页面中的版权信息及相应的官方链接(无论用途如何、是否经过修改或美化、修改程度如何)。</p>
<p>您不得在本系统的整体或任何部分基础上以发展任何派生版本、修改版本或第三方版本用于重新分发。</p>
<p>您不得通过分解软件,把不同功能或把软件的不同部分嵌入到其他软件系统。</p>
<p>如果您未能遵守本协议的条款,您的授权将被终止,所被许可的权利将被收回,并承担相应法律责任。</p>
<h3>三. 有限担保和免责声明</h3>
<p>本系统及所附带的文件是作为不提供任何明确的或隐含的赔偿或担保的形式提供的。用户出于自愿而使用本系统,您必须了解使用本系统的风险,在尚未购买产品技术服务之前,我们不承诺提供任何形式的技术支持、使用担保,也不承担任何因使用本系统而产生问题的相关责任。Veitool官方不对使用本系统构建的网站和应用中的内容或信息承担责任。</p>
<p>本系统受著作权法、国际著作权条约和其他的知识产权法律或国际条约保护。根据本协议,在此仅许可您非独占性的、非排他性的一般许可使用该软件的权利,而不是出售或转让。</p>
<p>有关本系统最终用户授权协议、商业授权与技术服务的详细内容,均由Veitool官方网站独家提供。Veitool官方拥有在不事先通知的情况下,修改授权协议和服务价目表的权力,修改后的协议对自改变之日起的新授权用户生效。</p>
<p>电子文本形式的授权协议如同双方书面签署的协议一样,具有完全的和等同的法律效力。您一旦开始安装本系统,即被视为完全理解并接受本协议的各项条款,在享有上述条款授予的权力的同时,受到相关的约束和限制。协议许可范围以外的行为,将直接违反本授权协议并构成侵权,我们有权随时终止授权,责令停止损害,并保留追究相关责任的权力。</p>
</div>
</div>
<div class="footer">
<span class="copyright"><?php echo $copyright;?></span>
<span class="formBtn"> <a href="javascript:void(0);" class="layui-btn layui-btn-primary">不同意</a> <a href="?s=2" class="layui-btn">同 意</a></span>
</div>
\ No newline at end of file
<div class="main">
<div class="progress"><ul class="p-2"><li><span>许可协议</span></li><li><span>环境检测</span></li><li><span>设定配置</span></li><li><span>安装完成</span></li></ul></div>
<div>
<table class="layui-table" lay-even lay-skin="nob" lay-size="sm">
<tr><th width="30%">项目</th><th width="30%">所需配置</th><th width="15%">推荐配置</th><th width="25%">当前服务器</th></tr>
<tr><td>操作系统</td><td>不限制</td><td>Linux</td><td><?php echo PHP_OS; ?></td></tr>
<tr><td>PHP 版本</td><td>8.1.0</td><td>8.1.0</td><td><?php echo PHP_VERSION; ?></td></tr>
<tr><td>附件上传</td><td>2Mb</td><td>20Mb</td><td><?php echo get_cfg_var("upload_max_filesize") ? get_cfg_var("upload_max_filesize").'b' : '不允许上传附件'; ?></td></tr>
<tr><td>GD 库</td><td>2.0</td><td>2.1</td><td>
<?php
$tmp = function_exists('gd_info') ? gd_info() : array();
@$env_items[$key]['current'] = empty($tmp['GD Version']) ? 'noext' : $tmp['GD Version'];
echo @$env_items[$key]['current'];
unset($tmp);
?>
</td>
</tr>
<tr><td>磁盘空间</td><td>100Mb</td><td>不限制</td><td>
<?php
if(function_exists('disk_free_space')){
@$env_items[$key]['current'] = floor(disk_free_space('../') / (1024 * 1024)) . 'Mb';
}else{
$env_items[$key]['current'] = 'unknow';
}
echo @$env_items[$key]['current'];
?>
</td>
</tr>
</table>
<table class="layui-table" lay-even lay-skin="nob" lay-size="sm">
<tr><th width="60%">扩展要求</th><th width="25%">检查结果</th><th>建议</th></tr>
<?php foreach($extendArray as $item){?>
<tr><td><?= $item['name'] ?></td><td><?= $item['status'] ? '支持' : '不支持' ?></td><td><?= $item['status'] ? '<b class="layui-icon green">&#xe697;</b>' : '<span>需安装</span>' ?></td></tr>
<?php }?>
</table>
<table class="layui-table" lay-even lay-skin="nob" lay-size="sm">
<tr><th width="60%">函数名称</th><th width="25%">检查结果</th><th>建议</th></tr>
<?php foreach ($exists_array as $v){?>
<tr><td><?php echo $v; ?>()</td><td><?= isFunExists($v) ? '支持' : '不支持' ?></td><td><?= isFunExistsTxt($v) ?></td></tr>
<?php }?>
</table>
<table class="layui-table" lay-even lay-skin="nob" lay-size="sm">
<tr><th width="60%">文件权限检测</th><th width="25%">所需状态</th><th>当前状态</th></tr>
<?php foreach ($iswrite_array as $v){?>
<tr><td><?php echo $v; ?></td><td>可写</td><td><?php isWrite($v); ?></td></tr>
<?php }?>
</table>
</div>
</div>
<div class="footer">
<span class="copyright"><?php echo $copyright;?></span>
<span class="formBtn">
<form class="iform" method="post" action="index.php?s=3">
<a href="javascript:void(0);" onclick="history.go(-1);return false;" class="layui-btn layui-btn-primary">返 回</a>
<a href="javascript:void(0);" class="layui-btn Btn">下一步</a>
<input type="hidden" name="isOK" value="<?php echo $isOK;?>">
</form>
</span>
</div>
<script>
layui.use('layer',function(){
var layer = layui.layer;
var isOK = <?php echo $isOK ? 'true' : 'false';?>;
// 表单提交
$('.Btn').click(function(){
if(isOK){
$('.iform').submit();
}else{
layer.msg('环境检测未通过,请先修复',{icon:2,shade:[0.5,'#000'],time:2000,anim:6});
}
});
});
</script>
\ No newline at end of file
<form class="layui-form" action="?s=4">
<div class="main">
<div class="progress"><ul class="p-3"><li><span>许可协议</span></li><li><span>环境检测</span></li><li><span>设定配置</span></li><li><span>安装完成</span></li></ul></div>
<div class="upform">
<h2>数据库信息</h2>
<div class="layui-form-item">
<label class="layui-form-label"><font color="red">*</font> 数据库地址</label>
<div class="layui-input-inline"><input type="text" class="layui-input" name="dbhost" id="dbhost" autocomplete="off" lay-verify="required" lay-reqtext="请输入数据库地址" value="127.0.0.1"/></div>
<div class="layui-form-mid layui-word-aux">请输入数据库服务器地址,一般为:localhost</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"><font color="red">*</font> 数据库端口</label>
<div class="layui-input-inline"><input type="text" class="layui-input" name="dbport" id="dbport" autocomplete="off" lay-verify="required" lay-reqtext="请输入数据库端口" value="3306"/></div>
<div class="layui-form-mid layui-word-aux">请输入数据库端口号,一般为:3306</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"><font color="red">*</font> 数据库名称</label>
<div class="layui-input-inline"><input type="text" class="layui-input" name="dbname" id="dbname" autocomplete="off" lay-verify="required" lay-reqtext="请输入数据库名称" value="veitool_db"/></div>
<div class="layui-form-mid layui-word-aux">请输入数据库的名称,如果没有请先新增</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"><font color="red">*</font> 数据库账号</label>
<div class="layui-input-inline"><input type="text" class="layui-input" name="dbuser" id="dbuser" autocomplete="off" lay-verify="required" lay-reqtext="请输入数据库账号" value="root"/></div>
<div class="layui-form-mid layui-word-aux">请输入数据库账号,默认为:root</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"> 数据表前缀</label>
<div class="layui-input-inline"><input type="text" class="layui-input" name="dbpre" id="dbpre" autocomplete="off" value="vt_"/></div>
<div class="layui-form-mid layui-word-aux">请输入数据表前缀,默认为:vt_</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"><font color="red">*</font> 数据库密码</label>
<div class="layui-input-inline"><input type="password" class="layui-input" name="dbpwd" id="dbpwd" autocomplete="off" lay-verify="required" lay-reqtext="请输入数据库密码" lay-affix="eye" value=""/></div>
<div class="layui-form-mid layui-word-aux">请输入连接数据库账号的密码</div>
</div>
<h2>管理信息</h2>
<div class="layui-form-item">
<label class="layui-form-label"><font color="red">*</font> 后台的入口</label>
<div class="layui-input-inline"><input type="text" class="layui-input" name="adminmap" id="adminmap" autocomplete="off" lay-verify="required" value="admin"/></div>
<div class="layui-form-mid layui-word-aux">请输入后台管理入口地址:<?php echo $currentHost;?><span id="admin_map">admin</span></div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"><font color="red">*</font> 管理员账号</label>
<div class="layui-input-inline"><input type="text" class="layui-input" name="adminuser" autocomplete="off" lay-verify="required" value="admin"/></div>
<div class="layui-form-mid layui-word-aux">请输入后台管理员的登录账号</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"><font color="red">*</font> 管理员密码</label>
<div class="layui-input-inline"><input type="password" class="layui-input" name="adminpass" autocomplete="off" lay-verify="required" lay-affix="eye" value=""/></div>
<div class="layui-form-mid layui-word-aux">请输入后台管理员的登录密码</div>
</div>
</div>
</div>
<div class="footer">
<span class="copyright"><?php echo $copyright;?></span>
<span class="formBtn">
<a href="javascript:void(0);" onclick="history.go(-1);return false;" class="layui-btn layui-btn-primary">返 回</a>
<a href="javascript:void(0);" class="layui-btn" lay-filter="install" lay-submit>开始安装</a>
</span>
</div>
</form>
<script>
layui.use(['form', 'layer'],function(){
var form = layui.form, layer = layui.layer;
/*检测数据库密码*/
$("#dbpwd").on('blur',function(){
var $this = $(this); if(!$this.val()) return;
$.get("index.php",{s:6,dbhost:$("#dbhost").val(),dbport:$("#dbport").val(),dbuser:$("#dbuser").val(),dbpwd:$("#dbpwd").val()},function(data){
if(data === 'false'){
$this.addClass('layui-form-danger');
layer.tips('数据库连接失败,请检查密码或其他是否正确!', $this, {tips:[1,'#ff5722'],maxWidth:'auto'});
}else{
layer.closeAll();
}
});
})/**/
/*后台入口变动提示*/
$("#adminmap").bind("input propertychange",function(){
$("#admin_map").html($(this).val());
});/**/
/*安装触发*/
form.on('submit(install)',function(data){
if($(this).hasClass('layui-btn-disabled')) return false;
var d = data.field;
var url = '?s=4&dbhost='+d.dbhost+'&dbname='+d.dbname+'&dbpre='+d.dbpre+'&dbuser='+d.dbuser+'&dbpwd='+encodeURIComponent(d.dbpwd)+'&dbport='+d.dbport+'&adminmap='+d.adminmap+'&adminuser='+d.adminuser+'&adminpass='+d.adminpass;
layer.open({
type: 1,
area: ['500px', '300px'],
title: '安装处理中,请勿关闭...',
closeBtn: 1,
content: '<div style="width:456px;margin:20px;color:#666;border:0;" id="install"></div>',
success: function(){
var xhr = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");
xhr.onreadystatechange = function () {
if (xhr.readyState === 4 && xhr.status === 200) {
layer.msg('安装成功',{icon:1,shade:0.2,time:3000},function(){top.location.href = '?s=5&adminmap='+ d.adminmap;});
}else if(xhr.readyState === 3){
$("#install").html(xhr.responseText);
var parent = $("#install").parent();
parent.scrollTop(parent[0].scrollHeight);
}
};
xhr.open('GET', url)
xhr.send();
}
});
return false;
});/**/
});
</script>
\ No newline at end of file
<div class="main" >
<div class="progress"><ul class="p-4"><li><span>许可协议</span></li><li><span>环境检测</span></li><li><span>设定配置</span></li><li><span>安装完成</span></li></ul></div>
<div class="note">
<div class="isok">
<p><a href="../" class="layui-btn">访问首页</a> <a href="../<?php echo $_GET['adminmap'] ?? 'admin' ?>/" class="layui-btn layui-btn-normal">登录后台</a> <a href="https://www.veitool.com/" target="_blank" class="layui-btn layui-btn-warm">VEITOOL官网</a></p>
<p>温馨提示:生产环境下,安装好后请将install目录删除。</p>
</div>
</div>
</div>
<div class="footer"><span class="copyright"><?php echo $copyright;?></span></div>
\ No newline at end of file
.red{color:red}
.green{color:#16b777;}
/*滚动条*/
::-webkit-scrollbar{width:5px;height:8px}
::-webkit-scrollbar-button:vertical{display:none}
::-webkit-scrollbar-track:vertical{background:#000}
::-webkit-scrollbar-track-piece{background:#f6f6f6}
::-webkit-scrollbar-thumb:vertical{background:#d0d0d0}
::-webkit-scrollbar-thumb:vertical:hover{background:#3b3b3b}
::-webkit-scrollbar-corner:vertical{background:#535353}
::-webkit-scrollbar-resizer:vertical{background:#ff6e00}
/*进度条*/
.progress{width:100%;}
.progress ul{height:26px;line-height:26px;background:#f8f8f8;border-radius:13px;font-size:14px;text-align:center;position:relative;margin-bottom:30px}
.progress ul li{list-style:none;padding:0;margin:0;width:25%;float:left;border-radius:13px;position:relative;z-index:3}
.progress ul li .tip{font-size:13px;padding-top:10px;color:#8c8c8c}
.progress ul:after,.progress ul:before{content:"";position:absolute;z-index:2;left:0;top:0;bottom:0;border-radius:13px;background:#009688}
.progress ul:after{background:#00c5b3;z-index:1}
.progress ul.p-1:before{width:0}.progress ul.p-1:after{width:25%}
.progress ul.p-2:before{width:25%}.progress ul.p-2:after{width:50%}
.progress ul.p-3:before{width:50%}.progress ul.p-3:after{width:75%}
.progress ul.p-4:before{width:75%}.progress ul.p-4:after{width:100%}
.progress ul.p-5:before{width:100%}.progress ul.p-5:after{width:100%}
.progress ul.p-1 li:nth-child(-n+1){color:#fff}
.progress ul.p-2 li:nth-child(-n+2){color:#fff}
.progress ul.p-3 li:nth-child(-n+3){color:#fff}
.progress ul.p-4 li:nth-child(-n+4){color:#fff}
.progress ul.p-5 li{color:#fff}
/*主样式*/
.footer,.header,.main{width:960px;margin:0 auto}
.header{height:90px;margin-bottom:20px;background:url(logo.png) no-repeat 0 center;background-size:35%;}
.main{padding:0 10px}
.main .layui-table th{font-weight:700;font-size:14px}
.main .layui-table th:last-child,.main .layui-table td:last-child{padding-right:5px;text-align:right}
.main .layui-table td span{color:red;font-weight:bold;}
.main .upform{padding-left:80px;}
.main .upform h2{padding:20px 10px;font-size:16px;font-weight:bold;margin-left:-50px;}
.main .upform .layui-form-item .layui-input-inline{width:300px;}
.main .text{line-height:25px;color:#666;}
.main .text h1{text-align:center;font-size:20px;color:#333;}
.main .text h3{margin:6px 0;font-size:16px;color:#333;}
.main .note{width:400px;margin:100px auto 0}
.main .note .isok{width:400px;padding:150px 0 0 0;line-height:50px;background:url(ok.png) no-repeat;text-align:center;}
.footer{margin-top:20px;height:100px;border-top:1px solid #d2d2d2;background:#fff;position:relative}
.footer .copyright{float:left;line-height:60px;font-family:"Verdana";color:#aaa;font-size:13px;}
.footer .formBtn{width:200px;float:right;margin-top:15px;text-align:right}
.layui-form-label{width:90px;}
\ No newline at end of file
*
!.gitignore
\ No newline at end of file
*
!.gitignore
\ No newline at end of file
*
!.gitignore
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment