OC3.0开发文档php
OpenCenter3.0是一款基于ThinkPHP5.1和LayUIAdmin开发的后台管理系统。主要功能包括管理员和用户管理、权限和权限组、行为日志、积分系统、广告管理等。sql
运行根目录需指向public文件夹。访问网站后填写相关参数便可进行系统安装。thinkphp
系统安装所需的SQL文件是在/application/admin/command/Install/install.sql。数据库
目前主要包含如下表:apache
管理员表 oc_adminjson
管理员权限组表 oc_admin_auth_group缓存
管理员权限表 oc_admin_auth_rule安全
管理员日志表 oc_admin_logcookie
广告表 oc_common_advsession
广告位置表 oc_common_adv_pos
配置表 oc_common_config
IP黑名单表 oc_common_ip_black_list
图片表 oc_common_picture
用户表 oc_user
用户行为限制表 oc_user_action_limit
用户行为日志表 oc_user_action_log
用户统计表 oc_user_count
用户日志表 oc_user_log
用户角色表 oc_user_role
用户权限表 oc_user_rule
用户积分变更表 oc_user_score_log
积分规则表 oc_user_score_rule
积分类型表 oc_user_score_type
详见OpenCenter3.0数据字典
#程序源码文档
ThinkPHP5.1遵循PSR-2命名规范和PSR-4自动加载规范,而且注意以下规范:
目录和文件
目录使用小写+下划线;
类库、函数文件统一以.php为后缀;
类的文件名均以命名空间定义,而且命名空间的路径和类库文件所在路径一致;
类文件采用驼峰法命名(首字母大写),其它文件采用小写+下划线命名;
类名和类文件名保持一致,统一采用驼峰法命名(首字母大写);
复制代码
函数和类、属性命名
类的命名采用驼峰法(首字母大写),例如 User、UserType,默认不须要添加后缀,例如UserController应该直接命名为User;
函数的命名使用小写字母和下划线(小写字母开头)的方式,例如 get_client_ip;
方法的命名使用驼峰法(首字母小写),例如 getUserName;
属性的命名使用驼峰法(首字母小写),例如 tableName、instance;
特例:以双下划线__打头的函数或方法做为魔术方法,例如 __call 和 __autoload;
复制代码
常量和配置
常量以大写字母和下划线命名,例如 APP_PATH;
配置参数以小写字母和下划线命名,例如 url_route_on 和url_convert;
环境变量定义使用大写字母和下划线命名,例如APP_DEBUG;
复制代码
数据表和字段
数据表和字段采用小写加下划线方式命名,并注意字段名不要如下划线开头,例如 think_user 表和 user_name字段,不建议使用驼峰和中文做为数据表及字段命名。
复制代码
请理解并尽可能遵循以上命名规范,能够减小在开发过程当中出现没必要要的错误。
www WEB部署目录(或者子目录)
├─application 应用目录
│ ├─common 公共模块目录(能够更改)
│ ├─module_name 模块目录
│ │ ├─common.php 模块函数文件
│ │ ├─controller 控制器目录
│ │ ├─model 模型目录
│ │ ├─view 视图目录
│ │ ├─config 配置目录
│ │ └─ ... 更多类库目录
│ │
│ ├─command.php 命令行定义文件
│ ├─common.php 公共函数文件
│ └─tags.php 应用行为扩展定义文件
│
├─config 应用配置目录
│ ├─module_name 模块配置目录
│ │ ├─database.php 数据库配置
│ │ ├─cache 缓存配置
│ │ └─ ...
│ │
│ ├─app.php 应用配置
│ ├─cache.php 缓存配置
│ ├─cookie.php Cookie配置
│ ├─database.php 数据库配置
│ ├─log.php 日志配置
│ ├─session.php Session配置
│ ├─template.php 模板引擎配置
│ └─trace.php Trace配置
│
├─route 路由定义目录
│ ├─route.php 路由定义
│ └─... 更多
│
├─public WEB目录(对外访问目录)
│ ├─index.php 入口文件
│ ├─router.php 快速测试文件
│ └─.htaccess 用于apache的重写
│
├─thinkphp 框架系统目录
│ ├─lang 语言文件目录
│ ├─library 框架类库目录
│ │ ├─think Think类库包目录
│ │ └─traits 系统Trait目录
│ │
│ ├─tpl 系统模板目录
│ ├─base.php 基础定义文件
│ ├─convention.php 框架惯例配置文件
│ ├─helper.php 助手函数文件
│ └─logo.png 框架LOGO文件
│
├─extend 扩展类库目录
├─runtime 应用的运行时目录(可写,可定制)
├─vendor 第三方类库目录(Composer依赖库)
├─build.php 自动生成定义文件(参考)
├─composer.json composer 定义文件
├─LICENSE.txt 受权说明文件
├─README.md README 文件
├─think 命令行入口文件
目前用到的函数库统一存放在application/common.php下,后续单个模块须要用到可在模块文件夹下写入common.php
1.广告位的使用
广告位的添加须要在页面上加入一段代码引入广告位的组件,而后再后台运营-广告位置处添加相对应的广告信息,主要是路径,类型能够是单图、多图、文字连接或者是代码,而且能够设置广告的宽度、高度、边缘留白和内部留白。
复制代码
2.权限的使用
在后台管理员管理-管理权限能够对权限进行添加、编辑、删除操做。在添加和编辑页面,能够设置权限的名称、模块名、URL、从属的父级权限、权限的图标、说明文字、排序、是否做为菜单、是否显示等。
在后台管理员管理-管理分组能够对权限分组进行添加、编辑、删除操做。在添加和编辑页面,能够设置权限组的名称、所属的应用或者模块、从属的父级权限组、描述信息、有效期、状态并能够从权限树中分配权限给该权限组。注意:编号为1的默认是超级管理员所属权限组,是不能进行删除操做的。一样,编号为1的管理员是超级管理员,也是不能够删除的。
在以上操做完成以后,就能够在管理员列表对管理员分配权限组了。一个帐号能够有多个权限组,拥有的权限取并集,可是为了防止多个权限组的混用使得权限变得不分明,在菜单的显示上只显示当前角色所拥有的菜单列表,管理员依然能够经过URL进行直接跳转。
用户管理的权限配置也是遵循上述的步骤,这里再也不赘述。
复制代码
积分管理
在后台运营-积分管理分为积分类型管理、积分规则、积分日志三大功能。
1.积分类型管理
积分类型管理支持对积分的新增、编辑、删除操做。能够设置积分的名称、积分单位、积分说明以及设置该类积分的启用状态。注意:系统预置的id为1-4的积分类型是不支持删除的。
复制代码
2.积分规则
积分规则能够设置规则标题、绑定权限节点、变更方式、变更数量、变更积分类型、频次和启用状态等。
复制代码
3.积分日志
积分日志用于显示用户积分变更状况。主要是显示用户id、IP、积分类型、变化量、最终积分、模块、积分规则id和建立时间。
复制代码
行为限制
在后台安全-行为限制能够对用户行为进行管理。主要能够编辑标题、绑定权限节点、设置限制的频次和周期、设置处罚方式以及是否启用该行为限制等。
1.菜单机制