1 Star 0 Fork 1.5K

逸_风 / SwiftAdmin

forked from meystack / SwiftAdmin 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
Apache-2.0

前言

基于ThinkPHP6版本开发, 学习本手册有利于您快速的掌握本框架的开发架构!

价值源自分享

官方平台 在线演示 在线使用手册

开源不易,右上角请点击stars,感谢

请注意,框架安装成功后会自动删除安装脚本文件!!!如权限问题未删除,请手动删除!

后台演示 http://demo.swiftadmin.net/admin.php
管理账号 admin admin888
测试账号 ceshi admin888 如正式运营环境请删除测试账号;

开发环境:Windows服务器版 PhpStorm Apache MySQL5.7 PHP >= 7.3 支持PHP8 [最低支持PHP7.3]

swiftadmin thinkphp layui star fork 一群 二群 三群

💡 软件介绍

swiftadmin框架开发的初衷,主要是为了减少自己在开发过程中重复的造轮子,在自己这几年建站的过程中,都是用一些开源的CMS系统制作自己的网站,后期因为扩展和二次开发的问题,导致觉得很多东西并不是那么简单易用,比如后台的很多JS代码封装的不是很好,而且界面可操作性很差,所以自己开发这款框架封装了很多常用的特性,足以满足日常后台的开发需要,在使用的过程中你会发现,SAPHP框架里面用的最多的是属性而不是对象,一是为了在书写HTML标签的时候方便。二是为了和layui本身区分开!这样让你更容易在这个上面进行扩展!

💻 系统架构

swiftadmin极速后台开发框架采用PHP+MYSQL的基础架构,秉承着代码最精简、逻辑最清晰的设计理念、只要你熟悉ThinkPHP layui完全可以达到开箱即用的效果

并且界面基于ant design的设计,可操作性很强、控制器和栏目支持前后端鉴权,减少Ajax的请求、封装了大量常用的组件和快捷属性、

支持全文索引XS/ElasticSearch轻松支持PB级数据、并且采用了基于ThinkPHP的原生插件模式,可以轻松迁移其他TP插件;

📛 安全模块

系统在全局中间件内置了扫描过滤的代码,如果你购买过宝塔或者其他防火墙的情况下,可以关闭这个状态

如果你没有使用的话,请保持打开这个,防止注入,当前这个模块期望你可以提交更好的PR,让代码本身的安全性更高

文件 app/common/middleware/Security.php 内置了一些安全的扫描规则,
当然目前根据生产环境下各种AJAX的数据提交会产生一定的弊端。你可以根据这个规则扩展或者提交PR

我们的建议是:在默认情况下,用户是用不到这些数据的,这些数据的接口基本上就是搜索、添加,编辑的时候使用
你可以在这个基础上增加函数的过滤,这样来说,至少安全会更好一些;

🔥 集成功能

  • API模块 支持token鉴权,支持细分规则
  • 用户管理 用户是系统操作者,该功能主要完成系统用户配置。
  • 公司管理 设置公司常用信息,前端标签调用
  • 部门管理 配置系统组织机构(部门、小组),树结构展现支持数据权限。
  • 岗位管理 配置系统用户所属担任职务。
  • 菜单管理 配置系统菜单,操作权限,按钮、栏目等权限标识等。
  • 角色管理 角色菜单权限分配、设置角色按机构进行数据范围权限划分。
  • 插件管理 可开发定制属于自己的插件,可安装升级社区插件!!!
  • 导航管理 支持导航定制,小分类导航配置适合SEO
  • 内容管理 系统默认模型数据已完成后端数据录入,可快速二次开发!!!!
  • 广告管理 运营必选功能,获取广告代码自动校验过期时间
  • 数据字典 对系统中经常使用的一些较为固定的数据进行维护。
  • 操作日志 用户后台操作日志,全局异常、SQL注入等记录
  • TAG过滤 支持违规词、敏感词配置
  • 短信平台 支持阿里云、腾讯云短信发送
  • 附件上传 支持FTP、阿里云、腾讯云OSS附件上传
  • 全文检索 支持XunSearch、ElasticSearch集群PB级全文检索
  • 代码生成 前后端代码的生成(php、html、layui、sql)支持一键CRUD 。
  • 网站安全 拦截恶意扫描的SQL注入语句,危险函数等
  • 服务监控 服务监控:监视当前系统CPU、内存、磁盘、堆栈等相关信息。
  • 定时任务 在线(添加、修改、删除)任务调度包含执行结果日志。

自带管理功能太多就不一一列举了,更多功能请下载安装后体验。 注意:框架默认集成了第三方社会化登录、前端用户注册/登录 邮件发送、点击、评论、评分等功能。

✨ 组件属性

本框架封装了layui前端页面的很多属性,比如:

 表单提交,时间组件、滑块、评分、开关、下拉框、颜色选择器
 lay-ajax/lay-open/lay-batch/lay-event/lay-upload/lay-image-hover/lay-image-click # 具体的可以参考开发文档

🛠️ 安装使用

1、首先将本框架直接clone到你本地,或者直接下载

git clone https://gitee.com/meystack/swiftadmin.git

2、以宝塔面板为例:将你的网站访问目录修改为public文件夹

请自行安装宝塔面板,并做好相关配置!

3、本地搭建好运行环境后,访问网址进行系统安装

http://www.swiftadmin.net/ # 把该域名换成你的域名

⁉️ 常见问题

在安装的过程中你可能会出现以下问题

php7.3 安装问题 ;

Warning: require(/vendor/composer/../symfony/polyfill-intl-normalizer/bootstrap.php): failed to open stream: No such file or directory in /vendor/composer/autoload_real.php on line 78

Fatal error: require(): Failed opening required '/vendor/composer/../symfony/polyfill-intl-normalizer/bootstrap.php' (include_path='.:/www/server/php/73/lib/php') in /vendor/composer/autoload_real.php on line 78

Fatal error: Uncaught Error: Failed opening required '/vendor/composer/../symfony/polyfill-intl-normalizer/bootstrap.php' (include_path='.:') in /vendor/composer/autoload_real.php:78 Stack trace: #0 /vendor/composer/autoload_real.php(61): composerRequire437c84fd425ce20384726a1e89d87a70() #1 /vendor/autoload.php(7): ComposerAutoloaderInit437c84fd425ce20384726a1e89d87a70::getLoader() #2 /public/index.php(21): require('...') #3 {main} thrown in /vendor/composer/autoload_real.php on line 78

解决方法

首先请确保你的runtime文件夹有写入权限,并且你需要在项目的根目录去执行composer update更新下资源路径,否则会出现加载错误!!!

如果你按照上述的指引仍没用解决部署的问题,请加QQ群反馈!!!

📃 征集PR

开源项目的发展,离不开您的支持、所以现征集以下PR

1、规则验证类,目前的验证器规则写的不是很全面,为了可以让当前数据更加健壮,

你可以在验证器里面增加一些验证规则补全进行PR的提交;比如限定写数据的提交的格式,非字母 数字之类

2、CSS样式类,当默认的几款皮肤,可能有些CSS没有写入到位,你可以补充CSS样式

3、代码流程 函数命名的优化,当某些函数命名规则有问题的时候,你可以重命名这个函数,使其更具有代表意义!

4、文档的编写,目前文档已经开源至项目本身,可在线编译文档进行PR提交合并。

5、控制台,分析页,监控页的AJAX数据调用,你可以写一个接口,页面定时任务去调用这些数据进行显示

6、多语言包的制作,缺少未翻译的语句可以自行翻译提交到仓库合并

7、预埋HOOK钩子,并把他同步到文档中已做说明,钩子只需要写一行就可以了!!!参考TP6事件。

8、权限类的优化,会员登录注册的流程,【目前的登录注册写在了User控制器,为了减少代码冗余,你可以将注册登录的代码,优化到Auth类】

或者将User控制器直接抽离出来,当做一个模块去给全局调用;这样方便不同的模块,共享数据;

🖼️ 软件截图

🔥 项目演示

✔️ 特别鸣谢

感谢以下的项目,排名不分先后

jQuery:http://jquery.com

layui: https://www.layuion.com

ThinkPHP:http://www.thinkphp.cn

感谢Jetbrains 免费License :https://www.jetbrains.com/

📋 如何使用?

推荐你以下两种快速使用的方法:

1、你可以在此基础上直接进行二次开发,前端已经为你准备了若干个常用的PHP接口文件

2、你可以在后台插件管理中安装你所需要的完整应用或者部分插件,注意安装完整应用的话是会直接覆盖index.php的,但是会生成一个文件冲突TXT以供查阅!

©️ 版权信息

[SwiftAdmin] 遵循Apache2开源协议发布,并提供免费使用。

使用本框架不得用于开发违反国家有关政策的相关软件和应用,否则要付法律责任!

本软件依法享有国家著作权保护,故使用本软件者不得恶意篡改本源码,包括但不限于(植入木马病毒,违法应用)进行恶意传播。

不得对本软件进行恶意篡改或倒卖,不得对本软件进行二次包装后声称为自己的产品等,请尊重国家著作权法!

本项目著作权号 2021SR0761953, 其中包含的第三方源码和二进制文件之版权信息另行标注。

版权所有Copyright © 2020-2030 by swiftadmin (https://www.swiftadmin.net)

All rights reserved。

😊 捐助我们

👍👍👍👍👍👍 您的捐助和赞赏,将会是SAPHP极速后台开发框架和社区得到更快更好的发展!
Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

简介

🔥🔥🔥基于ThinkPHP6 Layui 完美契合,在开发上采用最精简最高效的做法去完成业务系统的需求,适合开发CMS、CRM、OA等系统,是一款优秀的中后台极速开发解决方案。 展开 收起
PHP
Apache-2.0
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
PHP
1
https://gitee.com/ztao/swiftadmin.git
git@gitee.com:ztao/swiftadmin.git
ztao
swiftadmin
SwiftAdmin
master

搜索帮助