OpenCenterV3開發文檔 2019.1.24

OC3.0開發文檔php

總體概述

功能介紹

OpenCenter3.0是一款基於ThinkPHP5.1和LayUIAdmin開發的後臺管理系統。主要功能包括管理員和用戶管理、權限和權限組、行爲日誌、積分系統、廣告管理等。sql

系統運行介紹

環境要求

  • PHP >= 5.6.0 (推薦PHP7.1以上版本)
  • MySQL >= 5.0.0 (須要支持InnoDB引擎)
  • Apache 或 Nginx
  • PDO PHP Extension
  • MBstring PHP Extension
  • CURL PHP Extension

推薦安裝

  • Composer 第三方包管理工具
系統安裝

運行根目錄需指向public文件夾。訪問網站後填寫相關參數便可進行系統安裝。thinkphp

數據庫文檔

SQL存放路徑

系統安裝所需的SQL文件是在/application/admin/command/Install/install.sql。數據庫

數據庫設計習慣

  • 全部數據表默認使用InnoDB引擎
  • 因使用了第二表前綴,須要在模型類中定義綁定的表名
  • 字段類型應在知足要求的前提下佔用最小的空間
  • 數據表默認的字段包括id,create_time,update_time,status等
  • create_time和update_time使用int(11),status使用tinyint(1),範圍在-1,0,1,2之間

全部數據內容

數據表

  • 目前主要包含如下表: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

二次開發

數據庫

  • 數據表的命名方式:表前綴_模塊名_表名。
  • 系統內置表的模塊名有admin、user、common。請開發者在建立模塊的時候注意區分。

系統功能

登陸

  • 管理員登陸、記住密碼、驗證碼刷新

首頁

  • 首頁右上角管理員能夠切換身份或者退出系統
  • 首頁主題色切換和清除緩存
  • 首頁頂部搜索菜單
  • 首頁頂部非admin模塊做下拉菜單顯示

管理員管理

  • 管理員列表能夠多選權限分組,支持無限極分組
  • 管理權限支持菜單圖標選擇,綁定權限節點,和菜單顯示配置
  • 管理分組支持多級權限樹選擇
  • 管理日誌

用戶管理

  • 註冊配置和註冊開關
  • 用戶管理
  • 用戶角色,支持無限極分組
  • 用戶權限
  • 用戶日誌

運營

  • 廣告位置和廣告管理

1.廣告位的使用

廣告位的添加須要在頁面上加入一段代碼引入廣告位的組件,而後再後臺運營-廣告位置處添加相對應的廣告信息,主要是路徑,類型能夠是單圖、多圖、文字連接或者是代碼,而且能夠設置廣告的寬度、高度、邊緣留白和內部留白。  
複製代碼

2.權限的使用

在後臺管理員管理-管理權限能夠對權限進行添加、編輯、刪除操做。在添加和編輯頁面,能夠設置權限的名稱、模塊名、URL、從屬的父級權限、權限的圖標、說明文字、排序、是否做爲菜單、是否顯示等。

在後臺管理員管理-管理分組能夠對權限分組進行添加、編輯、刪除操做。在添加和編輯頁面,能夠設置權限組的名稱、所屬的應用或者模塊、從屬的父級權限組、描述信息、有效期、狀態並能夠從權限樹中分配權限給該權限組。注意:編號爲1的默認是超級管理員所屬權限組,是不能進行刪除操做的。一樣,編號爲1的管理員是超級管理員,也是不能夠刪除的。

在以上操做完成以後,就能夠在管理員列表對管理員分配權限組了。一個帳號能夠有多個權限組,擁有的權限取並集,可是爲了防止多個權限組的混用使得權限變得不分明,在菜單的顯示上只顯示當前角色所擁有的菜單列表,管理員依然能夠經過URL進行直接跳轉。

用戶管理的權限配置也是遵循上述的步驟,這裏再也不贅述。
複製代碼
  • 積分管理

    在後臺運營-積分管理分爲積分類型管理、積分規則、積分日誌三大功能。

1.積分類型管理

積分類型管理支持對積分的新增、編輯、刪除操做。能夠設置積分的名稱、積分單位、積分說明以及設置該類積分的啓用狀態。注意:系統預置的id爲1-4的積分類型是不支持刪除的。
複製代碼

2.積分規則

積分規則能夠設置規則標題、綁定權限節點、變更方式、變更數量、變更積分類型、頻次和啓用狀態等。
複製代碼

3.積分日誌

積分日誌用於顯示用戶積分變更狀況。主要是顯示用戶id、IP、積分類型、變化量、最終積分、模塊、積分規則id和建立時間。
複製代碼

安全

  • 行爲限制

    在後檯安全-行爲限制能夠對用戶行爲進行管理。主要能夠編輯標題、綁定權限節點、設置限制的頻次和週期、設置處罰方式以及是否啓用該行爲限制等。

其餘

1.菜單機制

  • 菜單的顯示依賴於當前登陸用戶所用的權限組(或稱爲角色)所擁有的權限,而且是設置爲處於顯示狀態的菜單才能顯示
  • admin模塊下的權限會在左側菜單欄顯示,而非admin模塊下的權限會在頂部導航欄顯示
  • 支持菜單的搜索功能
  • 在配置好權限,分配好權限組以後須要清除緩存刷新頁面就能夠看到設置以後的菜單效果了
  • 切換登陸角色以後能夠直接切換菜單的顯示
相關文章
相關標籤/搜索