代码拉取完成,页面将自动刷新
同步操作将从 邓振华/caozha-CEPCS(新冠肺炎疫情防控系统) 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
caozha-admin 1.0.0 使用手册
【快速安装】
1、PHP版本必须7.1及以上。
2、上传目录/Src/内所有源码到服务器,并设置网站的根目录指向目录/Src/public/。(TP6.0要求)
3、将/Database/目录里的.sql文件导入到MYSQL数据库。
4、修改文件/Src/config/database.php,配置您的数据库信息(如果是本地测试,还需要修改文件/Src/.env,本地测试会优先使用此配置文件)。
5、后台访问地址:http://您的域名/index.php/admin/index/login
**伪静态设置**
1、ThinkPHP框架必须在根目录下设置伪静态才能正常访问,否则会显示404错误。
2、如果您使用的是Apache,伪静态设置为(.htaccess):
<IfModule mod_rewrite.c>
Options +FollowSymlinks -Multiviews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?s=$1 [QSA,PT,L]
</IfModule>
3、如果您使用的是Nginx,伪静态设置为:
location / {
index index.php;
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=/$1 last;
break;
}
}
4、在网站根目录下,有两个文件:.htaccess和nginx.htaccess,分别是Apache和Nginx的伪静态文件,您可以直接拿来使用。
【开发】
准备
使用本源码之前,建议先熟悉ThinkPHP6.0的多应用模式和LayUI框架。
ThinkPHP 6.0 开发手册:https://www.kancloud.cn/manual/thinkphp6_0/1037479
LayUI 2.x 开发手册:https://www.layui.com/doc/
正式
一、数据库配置
打开Src/config/database.php,设置数据库各项。
注意:此为全局配置,是对所有应用起效的,如需要只对应用admin单独起效,则将此文件移动到Src/app/admin/config/即可。
二、应用配置
配置文件:Src/app/admin/config/目录下所有文件均为配置文件。其中app.php是应用的基础配置文件。
三、开发
1、后台权限的配置
打开Src/app/admin/config/app.php,找到项“caozha_role_auths”,如下:
'caozha_role_auths' => array(
//格式为:'标识符' => array('name'=>'权限名','remarks'=>'权限说明'),
'config' => array('name'=>'网站配置','remarks'=>'管理网站名称、备案号等一些配置'),
'roles' => array('name'=>'权限组管理','remarks'=>'可以增删改权限组(拥有此权限相当于超级管理员)'),
'admin' => array('name'=>'管理员管理','remarks'=>'可以增删改管理员(拥有此权限相当于超级管理员)'),
'log_view' => array('name'=>'查看系统日志','remarks'=>'可以查看系统日志'),
'log_del' => array('name'=>'删除系统日志','remarks'=>'可以删除系统日志'),
'mine' => array('name'=>'修改自己资料','remarks'=>'可以查看修改自己的资料和密码'),
'article' => array('name'=>'文章管理','remarks'=>'可以增删改文章'),
),
如上,在开发过程中,必须把所有权限都用数组的方式列出来并与程序内部设定一致,以便验证。
标识符是用来判定权限的依据,必须保持唯一性,不能相同。
2、权限在控制器中的应用
引入控制器中间件:
protected $middleware = [
'caozha_auth' => ['except' => '' ],//验证是否管理员
];
此中间件对该控制器下所有方法都起效,是判断是否后台管理员的。这个适合后台所有页面,只要是管理员就能查看。
通过构造函数判断当前登录账户是否拥有操作该控制器的权限:
public function __construct(){
cz_auth("admin");//检测是否有权限
}
此函数对该控制器下的所有方法都起效。其中,admin是权限标识符,是与刚才app.php里匹配的。
在控制器方法内部使用:
cz_auth("admin"); //admin是权限标识符
如果没有权限,自动终止程序的运行并报错。
判断是否拥有某个标识符的权限:
if(is_cz_auth("log_del")==false){
return json(array("code"=>0,"del_num"=>0,"msg"=>"删除失败,您没有删除系统日志的权限"));
}
其中log_del是权限标识符。
3、写入系统日志
支持在任何地方记录系统日志,方法:
write_syslog($array)
其中$array为数组,格式:array("log_content"=>"","log_user"=>"","log_ip"=>"","log_datetime"=>""),除log_content必填外其他可省略。省略时会自动获取当前登录用户的信息填入。
示例:
write_syslog(array("log_content"=>"删除系统日志"));//记录系统日志
更多使用方法,请参考源码内的示例。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。